SPMMO20000_희귀난치등록신청서.xrw 69 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570
  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. <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. <dschprcpyn/>
  36. <prcpdd/>
  37. <age/>
  38. <frmsuppkind/>
  39. <rgstkindcd/>
  40. <burnicd10desc/>
  41. <icd10cd/>
  42. <reregyn/>
  43. <regdiagcd/>
  44. <regdiagseq/>
  45. <appspclcd/>
  46. <appdiagcd/>
  47. <appdiagseq/>
  48. </row>
  49. </serdiagappinfo>
  50. <serdiagappdetl>
  51. <row/>
  52. </serdiagappdetl>
  53. <result>
  54. <serdiagappinfo/>
  55. <serdiagyn/>
  56. <serdiagno/>
  57. </result>
  58. <diagdetlinfo>
  59. <serdiagdetllist>
  60. <serdiagdetllist>
  61. <genrdd/>
  62. <genrno/>
  63. <histno/>
  64. <diagmthdcd/>
  65. <instcd/>
  66. <diagetccnts/>
  67. <chkflag/>
  68. <cdnm/>
  69. <cdid/>
  70. </serdiagdetllist>
  71. </serdiagdetllist>
  72. </diagdetlinfo>
  73. <tmp>
  74. <item1>N</item1>
  75. <item2>N</item2>
  76. <item3>N</item3>
  77. <item4>N</item4>
  78. <item5>N</item5>
  79. <item6>N</item6>
  80. </tmp>
  81. </main>
  82. <send>
  83. <savedata/>
  84. <cond1/>
  85. <cond2/>
  86. <cond3/>
  87. <cond4/>
  88. <cond5/>
  89. <cond6/>
  90. <cond7/>
  91. <cond8/>
  92. <cond9/>
  93. <cond10/>
  94. <cond11/>
  95. </send>
  96. <init>
  97. <orddept/>
  98. <serdiagitem>
  99. <diagmthdcd/>
  100. <diagetccnts/>
  101. </serdiagitem>
  102. <items>
  103. <item1/>
  104. <item2/>
  105. <item3/>
  106. <item4/>
  107. <item5/>
  108. <item6/>
  109. <item7/>
  110. <item8/>
  111. <item9/>
  112. <item10/>
  113. <item11/>
  114. <item12/>
  115. <item13/>
  116. <item14/>
  117. <seq/>
  118. <row/>
  119. </items>
  120. <P0008/>
  121. <mthd>
  122. <mthdstr/>
  123. <mthd5txt/>
  124. <rgstbasic/>
  125. </mthd>
  126. <rgstkindnm/>
  127. <P0509/>
  128. </init>
  129. <prcpetcinfo>
  130. <saveestmspclcs/>
  131. <saveserdiagappfrm/>
  132. <savelglydis/>
  133. </prcpetcinfo>
  134. <hidden>
  135. <items/>
  136. </hidden>
  137. <temp>
  138. <hardcdno_5400/>
  139. </temp>
  140. </root>
  141. </instance>
  142. <submission id="TRZSD00109" mediatype="application/x-www-form-urlencoded" method="post" replace="instance"/>
  143. <submission id="TRMMB04101" mediatype="application/x-www-form-urlencoded" method="post"/>
  144. <script type="javascript" ev:event="xforms-ready">
  145. <![CDATA[
  146. var dd = getCurrentDate();
  147. model.setValue("/root/main/serdiagappinfo/row/genrdd", dd);
  148. mmbfGetDeptCodeComboList("/root/send/reqdata", "/root/init/orddept", "A");
  149. zbcfGetCodeList(new Array("P0509"), new Array("/root/init/P0509"));
  150. addComboInstance("/root/init/P0509", "cdnm^cdid", " 선 택 ^", "P0509"); //6번 기타 검사 항목
  151. if ( checkOpener() ) {
  152. model.setValue("/root/main/serdiagappinfo/row/pid", opener.javascript.getParameter("SPMMO20000_pid"));
  153. //★★★★★★★★★ 1. 메뉴에서 호출했고 상단정보가 있을경우.
  154. if(model.getValue("/root/main/serdiagappinfo/row/pid") == "" && getPatientInfo("pid") !=""){
  155. model.setValue("/root/main/serdiagappinfo/row/pid", getPatientInfo("pid"));
  156. model.setValue("/root/main/serdiagappinfo/row/pathngnm", getPatientInfo("pname"));
  157. model.setValue("/root/main/serdiagappinfo/row/insukind", getPatientInfoDetail("insukind"));
  158. model.setValue("/root/main/serdiagappinfo/row/anohosprgstflag", "N");
  159. model.setValue("/root/main/serdiagappinfo/row/genrflagcd", getPatientInfoDetail("ioflag"));
  160. model.setValue("/root/main/serdiagappinfo/row/cncrdiagcnfmdd", dd);
  161. model.setValue("/root/main/serdiagappinfo/row/orddeptcd", getUserInfo("dutplcecd"));
  162. model.setValue("/root/main/serdiagappinfo/row/orddrid", getUserId());
  163. model.setValue("/root/main/serdiagappinfo/row/genrcretno", getPatientInfoDetail("cretno"));
  164. model.makeValue("/root/main/serdiagappinfo/row/age", getPatientInfoDetail("age"));
  165. var prcpgenrflag = getPatientInfoDetail("ioflag");
  166. model.makeValue("/root/send/cond1", getPatientInfoDetail("ioflag"));
  167. model.makeValue("/root/send/cond2", "1");
  168. model.makeValue("/root/send/cond3", getPatientInfo("pid"));
  169. if ( prcpgenrflag == "O" || prcpgenrflag == "S" ){ //외래일때
  170. model.makeValue("/root/send/cond4", getPatientInfoDetail("orddd"));
  171. } else {
  172. model.makeValue("/root/send/cond4", getPatientInfoDetail("indd"));
  173. }
  174. model.makeValue("/root/send/cond5", getPatientInfoDetail("cretno"));
  175. model.makeValue("/root/send/cond6", getUserInfo("dutplceinstcd"));
  176. model.makeValue("/root/send/cond7", getCurrentDate());
  177. model.makeValue("/root/send/cond8", getUserInfo("dutplcecd"));
  178. model.makeValue("/root/send/cond9", getUserInfo("userid"));
  179. model.makeValue("/root/send/cond10", getPatientInfoDetail("age"));
  180. model.makeValue("/root/send/cond11", "N");
  181. submit("TRMMO00108");
  182. //101101 중증, 희귀난치 신청서 두개의 데이터 모두 들어오는 경우 위해 작업 필요 (중증 데이터 제거)
  183. model.removeNode ( "/root/prcpetcinfo/saveserdiagappfrm[frmsuppkind='06']" );
  184. model.setValue("/root/main/serdiagappinfo/row/maindiagcd", model.getValue("/root/prcpetcinfo/saveserdiagappfrm/maindiagcd"));
  185. model.setValue("/root/main/serdiagappinfo/row/icd10cd", model.getValue("/root/prcpetcinfo/saveserdiagappfrm/icd10cd"));
  186. model.setValue("/root/main/serdiagappinfo/row/frmsuppkind", model.getValue("/root/prcpetcinfo/saveserdiagappfrm/frmsuppkind"));
  187. model.setValue("/root/main/serdiagappinfo/row/rgstkindcd", model.getValue("/root/prcpetcinfo/saveserdiagappfrm/rgstkindcd") );
  188. model.setValue("/root/main/serdiagappinfo/row/reregyn", model.getValue("/root/prcpetcinfo/saveserdiagappfrm/reregyn"));
  189. model.setValue("/root/main/serdiagappinfo/row/regdiagcd", model.getValue("/root/prcpetcinfo/saveserdiagappfrm/regdiagcd"));
  190. model.setValue("/root/main/serdiagappinfo/row/regdiagseq", model.getValue("/root/prcpetcinfo/saveserdiagappfrm/regdiagseq"));
  191. if(model.getValue("/root/prcpetcinfo/saveserdiagappfrm/reregyn") == "C" || model.getValue("/root/prcpetcinfo/saveserdiagappfrm/reregyn") == "X" ){
  192. if(model.getValue("/root/prcpetcinfo/saveserdiagappfrm/reregyn") == "C" ) {
  193. messageBox(model.getValue ( "/root/prcpetcinfo/saveserdiagappfrm/reregmsg" ) + "\n\n특례 등록상병(" +model.getValue ("/root/prcpetcinfo/saveserdiagappfrm/regdiagcd" )+ ")과 현재 주진단이 동일하지 않습니다. \n\n 1. 재등록 하시려면 주진단을 수정하십시요.\n 2. 신규 등록은 특례 종료후 현재 진단으로 가능합니다.", "I999");
  194. } else if (model.getValue("/root/prcpetcinfo/saveserdiagappfrm/reregyn") == "X" ) {
  195. messageBox(model.getValue ( "/root/prcpetcinfo/saveserdiagappfrm/reregmsg" ) + "\n\n특례 등록상병이 확인되지 않아 재등록 하실수 없습니다.\n원무창구에 자격조회 후 재등록 하시기 바랍니다." , "I999");
  196. }
  197. btn_save.visible = false; //저장
  198. btn_del.visible = false; //삭제
  199. btn_upt.visible = false; //수정
  200. return;
  201. }
  202. model.setValue("/root/init/items/item13", model.getValue("/root/init/mthd/mthd5txt"));
  203. // 중증화상일 경우는 진단에 주진단(확장)을 보여주지 않고 ICD10cd(1개 또는 두개일수있음)를 보여준다.
  204. if ( model.getValue("/root/prcpetcinfo/saveserdiagappfrm/rgstkindcd") == "02" ) {
  205. ipt_diaghngnm.attribute("ref") = "/root/main/serdiagappinfo/row/burnicd10desc";
  206. model.setValue("/root/main/serdiagappinfo/row/burnicd10desc", model.getValue("/root/prcpetcinfo/saveserdiagappfrm/burnicd10desc") );
  207. caption14.value = "중증화상등록신청서";
  208. document.title = "중증화상등록신청서";
  209. model.setValue("/root/init/rgstkindnm", "중증화상");
  210. } else {
  211. model.setValue("/root/main/serdiagappinfo/row/burnicd10desc", "-");
  212. model.setValue("/root/init/rgstkindnm", "희귀난치");
  213. }
  214. cap_insukindnm.text = model.getValue("/root/prcpetcinfo/saveserdiagappfrm/insukindnm")
  215. if (model.getValue("/root/prcpetcinfo/saveserdiagappfrm/pid")==""){
  216. submit("TRMMO12201");
  217. model.setValue("/root/main/serdiagappinfo/row/genrdd", model.getValue("/root/main/result/serdiagappinfo/genrdd")); //발생일자
  218. model.setValue("/root/main/serdiagappinfo/row/genrno", model.getValue("/root/main/result/serdiagappinfo/genrno")); //발생번호
  219. model.setValue("/root/main/serdiagappinfo/row/histno", model.getValue("/root/main/result/serdiagappinfo/histno")); //이력번호
  220. model.setValue("/root/main/serdiagappinfo/row/cncrdiagcnfmdd", model.getValue("/root/main/result/serdiagappinfo/rareobstcnfmdd")); //암진단확인일
  221. model.setValue("/root/main/serdiagappinfo/row/maindiagcd", model.getValue("/root/main/result/serdiagappinfo/maindiagcd")); //진단코드
  222. model.setValue("/root/main/serdiagappinfo/row/burnicd10desc", model.getValue("/root/main/result/serdiagappinfo/burnicd10desc")); //진단코드
  223. model.setValue("/root/main/serdiagappinfo/row/icd10cd", model.getValue("/root/main/result/serdiagappinfo/icd10cd")); //ICD10
  224. model.setValue("/root/main/serdiagappinfo/row/insukind", model.getValue("/root/main/result/serdiagappinfo/insukind")); //보험유형
  225. model.setValue("/root/main/serdiagappinfo/row/reregyn", model.getValue("/root/main/result/serdiagappinfo/reregyn")); //재등록여부
  226. model.setValue("/root/main/serdiagappinfo/row/regdiagcd", model.getValue("/root/main/result/serdiagappinfo/regdiagcd")); //공단등록 상병코드
  227. model.setValue("/root/main/serdiagappinfo/row/regdiagseq", model.getValue("/root/main/result/serdiagappinfo/regdiagseq")); //공단등록 상병순번
  228. cap_insukindnm.text = getPatientInfo("insukind") + "("+getPatientInfoDetail("insukind")+")";
  229. model.refresh();
  230. if (model.getValue("/root/main/result/serdiagappinfo/genrdd")!=""){
  231. messageBox ( model.getValue("/root/init/rgstkindnm")+" 등록신청서가 이미 존재합니다.", "I" );
  232. //btn_save.disabled = true;
  233. btn_save.visible = false;
  234. submit("TRMMO12205");
  235. var chk;
  236. for( i = 1 ; i <= 13 ; i++) {
  237. chk = model.getValue("/root/init/items/item" + i);
  238. if(chk == "true") {
  239. if( i > 10) {
  240. model.setValue("/root/init/serdiagitem/diagmthdcd", i-1);
  241. }else {
  242. model.setValue("/root/init/serdiagitem/diagmthdcd", "0" + (i-1));
  243. }
  244. if(i == 5) {
  245. model.setValue("/root/init/serdiagitem/diagetccnts", ipt_etc1.value);
  246. }else if( i == 11) {
  247. model.setValue("/root/init/serdiagitem/diagetccnts", txt_etc2.value);
  248. }else {
  249. model.setValue("/root/init/serdiagitem/diagetccnts", "");
  250. }
  251. copyNodesetType("/root/main/serdiagappdetl/row", "/root/init/serdiagitem", "after");
  252. }
  253. }
  254. }else if( model.getValue("/root/main/result/serdiagappinfo/pid")==""){
  255. messageBox ( model.getValue("/root/init/rgstkindnm")+" 등록 대상이 아닙니다.", "I" );
  256. btn_upt.disabled = true;
  257. btn_del.disabled = true;
  258. btn_save.disabled = true;
  259. }
  260. }
  261. if (model.getValue("/root/prcpetcinfo/saveserdiagappfrm/pid")!="" && model.getValue("/root/main/serdiagappinfo/row/frmsuppkind")!="07") {
  262. messageBox ( model.getValue("/root/init/rgstkindnm")+" 등록 대상이 아닙니다.", "I" );
  263. btn_upt.disabled = true;
  264. btn_del.disabled = true;
  265. btn_save.disabled = true;
  266. }
  267. model.makeValue("/root/send/diagcd", model.getValue("/root/main/serdiagappinfo/row/icd10cd"));
  268. model.makeValue("/root/send/maindiagcd", model.getValue("/root/main/serdiagappinfo/row/maindiagcd"));
  269. model.makeValue("/root/send/insukind", model.getValue("/root/main/serdiagappinfo/row/insukind"));
  270. model.makeValue("/root/send/reregyn", model.getValue("/root/main/serdiagappinfo/row/reregyn"));
  271. model.makeValue("/root/send/cncrdiagcnfmdd", model.getValue("/root/main/serdiagappinfo/row/cncrdiagcnfmdd"));
  272. model.makeValue("/root/send/regdiagcd", model.getValue("/root/main/serdiagappinfo/row/regdiagcd"));
  273. model.makeValue("/root/send/regdiagseq", model.getValue("/root/main/serdiagappinfo/row/regdiagseq"));
  274. if (submit("TRMMO20001") == true) {
  275. var cnt = getNodesetCount("/root/hidden/items");
  276. if (cnt < 1 ) {
  277. } else if (cnt > 1 ) {
  278. btn_upt.disabled = true;
  279. btn_del.disabled = true;
  280. btn_save.disabled = true;
  281. btn_exit.disabled = true;
  282. } else {
  283. if (model.getValue("/root/hidden/items/cncrdiagyn") != "Y" ) {
  284. var sRgstKindCd = model.getValue("/root/main/serdiagappinfo/row/rgstkindcd");
  285. if(sRgstKindCd == "07") {
  286. model.setValue("/root/main/serdiagappinfo/row/appspclcd", "V900"); // 극희귀
  287. } else if(sRgstKindCd == "08") {
  288. model.setValue("/root/main/serdiagappinfo/row/appspclcd", "V999"); // 상세불명
  289. } else if(sRgstKindCd == "09") {
  290. model.setValue("/root/main/serdiagappinfo/row/appspclcd", "V000"); // 본인부담제외 결핵
  291. } else {
  292. model.setValue("/root/main/serdiagappinfo/row/appspclcd", model.getValue("/root/hidden/items/spclcd"));
  293. }
  294. model.setValue("/root/main/serdiagappinfo/row/appdiagcd", model.getValue("/root/hidden/items/diagcd"));
  295. model.setValue("/root/main/serdiagappinfo/row/appdiagseq", model.getValue("/root/hidden/items/seq"));
  296. var test1 = model.getValue("/root/hidden/items/test1");
  297. var test2 = model.getValue("/root/hidden/items/test2");
  298. var test3 = model.getValue("/root/hidden/items/test3");
  299. var test4 = model.getValue("/root/hidden/items/test4");
  300. var test5 = model.getValue("/root/hidden/items/test5");
  301. var test6 = model.getValue("/root/hidden/items/test6");
  302. model.makeValue( "/root/init/items/seq", model.getValue("/root/hidden/items/seq"));
  303. model.makeValue( "/root/init/items/row", "1");
  304. if (test1 =="Y" ) {
  305. bool_sono.disabled = false;
  306. bool_ct.disabled = false;
  307. bool_mri.disabled = false;
  308. bool_etc.disabled = false;
  309. } else {
  310. bool_sono.disabled = true;
  311. bool_ct.disabled = true;
  312. bool_mri.disabled = true;
  313. bool_etc.disabled = true;
  314. }
  315. if (test2 == "Y") {
  316. bool_item2.disabled = false;
  317. } else {
  318. bool_item2.disabled = true;
  319. }
  320. if (test3 == "Y") {
  321. bool_item3.disabled = false;
  322. } else {
  323. bool_item3.disabled = true;
  324. }
  325. if (test4 == "Y") {
  326. bool_item4.disabled = false;
  327. } else {
  328. bool_item4.disabled = true;
  329. }
  330. if (!isNull(test6)) {
  331. model.makeValue("/root/init/items/item14", test6);
  332. com_etc1.dispatch("xforms-value-changed");
  333. }
  334. bool_item5.disabled = false;
  335. txt_etc2.disabled = false;
  336. com_etc1.disabled = false;
  337. } else {
  338. bool_sono.disabled = false;
  339. bool_ct.disabled = false;
  340. bool_mri.disabled = false;
  341. bool_etc.disabled = false;
  342. bool_item2.disabled = false;
  343. bool_item3.disabled = false;
  344. bool_item4.disabled = false;
  345. bool_item5.disabled = false;
  346. txt_etc2.disabled = false;
  347. }
  348. }
  349. }
  350. submit("TRMMO12202");
  351. if (model.getValue("/root/init/items/item2")=="false" && model.getValue("/root/init/items/item3")=="false" && model.getValue("/root/init/items/item4")=="false" && model.getValue("/root/init/items/item5")=="false" ){
  352. model.setValue("/root/main/tmp/item1","N");
  353. } else {
  354. model.setValue("/root/main/tmp/item1","Y");
  355. }
  356. if (model.getValue("/root/init/items/item6")=="true"){
  357. model.setValue("/root/main/tmp/item2","Y");
  358. } else if (model.getValue("/root/init/items/item6")=="false"){
  359. model.setValue("/root/main/tmp/item2","N");
  360. }
  361. if (model.getValue("/root/init/items/item7")=="true"){
  362. model.setValue("/root/main/tmp/item3","Y");
  363. } else if (model.getValue("/root/init/items/item7")=="false"){
  364. model.setValue("/root/main/tmp/item3","N");
  365. }
  366. if (model.getValue("/root/init/items/item8")=="true"){
  367. model.setValue("/root/main/tmp/item4","Y");
  368. } else if (model.getValue("/root/init/items/item8")=="false"){
  369. model.setValue("/root/main/tmp/item4","N");
  370. }
  371. if (model.getValue("/root/init/items/item9")=="true"){
  372. model.setValue("/root/main/tmp/item5","Y");
  373. } else if (model.getValue("/root/init/items/item9")=="false"){
  374. model.setValue("/root/main/tmp/item5","N");
  375. }
  376. model.setValue("/root/init/mthd/mthdstr", model.getValue("/root/prcpetcinfo/saveserdiagappfrm/mthdstr") );
  377. var mthd_Array = model.getValue("/root/prcpetcinfo/saveserdiagappfrm/mthdstr").split("|");
  378. for ( var x = 0; x < mthd_Array.length; x++) {
  379. if ( mthd_Array[x] == "Y" ) {
  380. switch (x) {
  381. case 0:
  382. caption6.attribute("font-weight") = "bold";
  383. break;
  384. case 1:
  385. cap_item6.attribute("font-weight") = "bold";
  386. break;
  387. case 2:
  388. cap_item7.attribute("font-weight") = "bold";
  389. break;
  390. case 3:
  391. cap_item8.attribute("font-weight") = "bold";
  392. break;
  393. case 4:
  394. cap_item9.attribute("font-weight") = "bold";
  395. break;
  396. }
  397. }
  398. }
  399. //환자정보 : 오더일자(원무키), 생성번호(원무키), 내원구분, 서식코드
  400. var ordtype = model.getValue("/root/main/serdiagappinfo/row/genrflagcd");
  401. // O : 왜래, S : 검진
  402. if (ordtype == "O" || ordtype == "S") {
  403. dd = getPatientInfoDetail("orddd");
  404. } else {
  405. dd = getPatientInfoDetail("indd");
  406. }
  407. model.setValue("/root/main/serdiagappinfo/row/genrorddd", dd);
  408. if(model.getValue("/root/main/result/serdiagappinfo/anohosprgstflag") == "Y"){
  409. messageBox ( "타병원 "+model.getValue("/root/init/rgstkindnm")+" 등록신청서가 이미 존재합니다.", "I" );
  410. btn_save.visible = false; //저장
  411. btn_del.visible = false; //삭제
  412. btn_upt.visible = false; //수정
  413. return;
  414. }
  415. if(model.getValue("/root/main/result/serdiagappinfo/sdoayn") == "Y"){
  416. model.setValue("/root/main/serdiagappinfo/row/genrdd", model.getValue("/root/main/result/serdiagappinfo/genrdd")); //발생일자
  417. model.setValue("/root/main/serdiagappinfo/row/genrno", model.getValue("/root/main/result/serdiagappinfo/genrno")); //발생번호
  418. model.setValue("/root/main/serdiagappinfo/row/histno", model.getValue("/root/main/result/serdiagappinfo/histno")); //이력번호
  419. model.setValue("/root/main/serdiagappinfo/row/cncrdiagcnfmdd", model.getValue("/root/main/result/serdiagappinfo/cncrdiagcnfmdd")); //암진단확인일
  420. model.setValue("/root/main/serdiagappinfo/row/maindiagcd", model.getValue("/root/main/result/serdiagappinfo/diagcd")); //진단코드
  421. model.refresh();
  422. messageBox ( model.getValue("/root/init/rgstkindnm")+" 등록신청서가 이미 존재합니다.", "I" );
  423. btn_del.visible = true;
  424. var chk;
  425. for( i = 1 ; i <= 13 ; i++) {
  426. chk = model.getValue("/root/init/items/item" + i);
  427. if(chk == "true") {
  428. if( i > 10) {
  429. model.setValue("/root/init/serdiagitem/diagmthdcd", i-1);
  430. }else {
  431. model.setValue("/root/init/serdiagitem/diagmthdcd", "0" + (i-1));
  432. }
  433. if(i == 5) {
  434. model.setValue("/root/init/serdiagitem/diagetccnts", ipt_etc1.value);
  435. }else if( i == 11) {
  436. model.setValue("/root/init/serdiagitem/diagetccnts", ipt_etc2.value);
  437. }else {
  438. model.setValue("/root/init/serdiagitem/diagetccnts", "");
  439. }
  440. copyNodesetType("/root/main/serdiagappdetl/row", "/root/init/serdiagitem", "after");
  441. }
  442. }
  443. btn_save.visible = false; //저장
  444. btn_del.visible = true; //삭제
  445. btn_upt.visible = true; //수정
  446. return;
  447. }else if((model.getValue("/root/main/result/serdiagappinfo/sdoayn") == "N" && model.getValue("/root/main/result/serdiagappinfo/anohosprgstflag") == "Y")){
  448. model.setValue("/root/main/serdiagappinfo/row/genrdd", model.getValue("/root/main/result/serdiagappinfo/genrdd")); //발생일자
  449. model.setValue("/root/main/serdiagappinfo/row/genrno", model.getValue("/root/main/result/serdiagappinfo/genrno")); //발생번호
  450. model.setValue("/root/main/serdiagappinfo/row/histno", model.getValue("/root/main/result/serdiagappinfo/histno")); //이력번호
  451. model.setValue("/root/main/serdiagappinfo/row/cncrdiagcnfmdd", model.getValue("/root/main/result/serdiagappinfo/cncrdiagcnfmdd")); //암진단확인일
  452. model.setValue("/root/main/serdiagappinfo/row/maindiagcd", model.getValue("/root/main/result/serdiagappinfo/diagcd")); //진단코드
  453. model.refresh();
  454. messageBox ( "타병원 "+model.getValue("/root/init/rgstkindnm")+" 등록신청서가 이미 존재합니다.", "I" );
  455. btn_save.visible = false; //저장
  456. btn_del.visible = false; //삭제
  457. btn_upt.visible = false; //수정
  458. return;
  459. }
  460. //★★★★★★★★★ 2. 메뉴에서 호출했는데 상단정보가 없을경우.
  461. } else if (getPatientInfo("pid") ==""){
  462. messageBox ("상단정보가 필요합니다.", "I" );
  463. model.close();
  464. //★★★★★★★★★ 3. 처방에서 호출했을 경우
  465. } else{
  466. model.setValue("/root/main/serdiagappinfo/row/pid", opener.javascript.getParameter("SPMMO20000_pid"));
  467. model.setValue("/root/main/serdiagappinfo/row/pathngnm", opener.javascript.getParameter("SPMMO20000_pathngnm"));
  468. model.setValue("/root/main/serdiagappinfo/row/insukind", opener.javascript.getParameter("SPMMO20000_insukind"));
  469. model.setValue("/root/main/serdiagappinfo/row/anohosprgstflag", opener.javascript.getParameter("SPMMO20000_anohosprgstflag"));
  470. model.setValue("/root/main/serdiagappinfo/row/genrflagcd", opener.javascript.getParameter("SPMMO20000_genrflagcd"));
  471. model.setValue("/root/main/serdiagappinfo/row/cncrdiagcnfmdd", opener.javascript.getParameter("SPMMO20000_cncrdiagcnfmdd"));
  472. model.setValue("/root/main/serdiagappinfo/row/orddeptcd", getUserInfo("dutplcecd"));
  473. model.setValue("/root/main/serdiagappinfo/row/orddrid", getUserId());
  474. model.setValue("/root/main/serdiagappinfo/row/genrorddd", opener.javascript.getParameter("SPMMO20000_genrorddd"));
  475. model.setValue("/root/main/serdiagappinfo/row/genrcretno", opener.javascript.getParameter("SPMMO20000_genrcretno"));
  476. model.setValue("/root/main/serdiagappinfo/row/maindiagcd", opener.javascript.getParameter("SPMMO20000_maindiagcd"));
  477. model.makeValue("/root/prcpetcinfo/saveserdiagappfrm/rgstbasic", opener.javascript.getParameter("SPMMO20000_rgstbasic"));
  478. model.makeValue("/root/main/serdiagappinfo/row/rgstkindcd", opener.javascript.getParameter("SPMMO20000_rgstkindcd")); //중증화상 vs 희귀난치구분.
  479. model.makeValue("/root/main/serdiagappinfo/row/burnicd10desc", opener.javascript.getParameter("SPMMO20000_burnicd10desc")); //중증화상 icd10cd
  480. model.makeValue("/root/main/serdiagappinfo/row/icd10cd", opener.javascript.getParameter("SPMMO20000_icd10cd")); //중증화상 icd10cd
  481. model.makeValue("/root/main/serdiagappinfo/row/reregyn", opener.javascript.getParameter("SPMMO20000_reregyn")); //재등록 여부 2014.09.27 희귀난치 재등록 관련 추가. 엄영만
  482. model.makeValue("/root/main/serdiagappinfo/row/regdiagcd", opener.javascript.getParameter("SPMMO20000_regdiagcd")); //이전 진단코드 2014.09.27 희귀난치 재등록 관련 추가. 엄영만
  483. model.makeValue("/root/main/serdiagappinfo/row/regdiagseq", opener.javascript.getParameter("SPMMO20000_regdiagseq")); //이전 진단코드 순번 2014.09.27 희귀난치 재등록 관련 추가. 엄영만
  484. model.setValue("/root/init/mthd/mthdstr", opener.javascript.getParameter("SPMMO20000_mthdstr"));
  485. model.setValue("/root/init/mthd/mthd5txt", opener.javascript.getParameter("SPMMO20000_mthd5txt"));
  486. model.setValue("/root/init/mthd/rgstbasic", opener.javascript.getParameter("SPMMO20000_rgstbasic"));
  487. // 중증화상일 경우는 진단에 주진단(확장)을 보여주지 않고 ICD10cd(1개 또는 두개일수있음)를 보여준다.
  488. if ( model.getValue("/root/main/serdiagappinfo/row/rgstkindcd" ) == "02" ) {
  489. ipt_diaghngnm.attribute("ref") = "/root/main/serdiagappinfo/row/burnicd10desc"
  490. caption14.value = "중증화상등록신청서";
  491. document.title = "중증화상등록신청서";
  492. model.setValue("/root/init/rgstkindnm", "중증화상");
  493. } else {
  494. model.setValue("/root/init/rgstkindnm", "희귀난치");
  495. }
  496. model.makeValue("/root/send/cond1", getPatientInfoDetail("ioflag"));
  497. var mthd_Array = model.getValue("/root/init/mthd/mthdstr").split("|");
  498. for ( var x = 0; x < mthd_Array.length; x++) {
  499. if ( mthd_Array[x] == "Y" ) {
  500. switch (x) {
  501. case 0:
  502. caption6.attribute("font-weight") = "bold";
  503. break;
  504. case 1:
  505. cap_item6.attribute("font-weight") = "bold";
  506. break;
  507. case 2:
  508. cap_item7.attribute("font-weight") = "bold";
  509. break;
  510. case 3:
  511. cap_item8.attribute("font-weight") = "bold";
  512. break;
  513. case 4:
  514. cap_item9.attribute("font-weight") = "bold";
  515. break;
  516. }
  517. }
  518. }
  519. model.setValue("/root/init/items/item13", model.getValue("/root/init/mthd/mthd5txt"));
  520. cap_insukindnm.text = opener.javascript.getParameter("SPMMO20000_insukindnm");
  521. btn_del.visible = false; //삭제
  522. btn_upt.visible = false; //수정
  523. model.makeValue("/root/send/diagcd", model.getValue("/root/main/serdiagappinfo/row/icd10cd"));
  524. model.makeValue("/root/send/maindiagcd", model.getValue("/root/main/serdiagappinfo/row/maindiagcd"));
  525. model.makeValue("/root/send/insukind", model.getValue("/root/main/serdiagappinfo/row/insukind"));
  526. model.makeValue("/root/send/reregyn", model.getValue("/root/main/serdiagappinfo/row/reregyn"));
  527. model.makeValue("/root/send/cncrdiagcnfmdd", model.getValue("/root/main/serdiagappinfo/row/cncrdiagcnfmdd"));
  528. model.makeValue("/root/send/regdiagcd", model.getValue("/root/main/serdiagappinfo/row/regdiagcd"));
  529. model.makeValue("/root/send/regdiagseq", model.getValue("/root/main/serdiagappinfo/row/regdiagseq"));
  530. if (submit("TRMMO20001") == true) {
  531. var cnt = getNodesetCount("/root/hidden/items");
  532. if (cnt < 1 ) {
  533. } else if (cnt > 1 ) {
  534. btn_upt.disabled = true;
  535. btn_del.disabled = true;
  536. btn_save.disabled = true;
  537. btn_exit.disabled = true;
  538. } else {
  539. if (model.getValue("/root/hidden/items/cncrdiagyn") != "Y" ) {
  540. var sRgstKindCd = model.getValue("/root/main/serdiagappinfo/row/rgstkindcd");
  541. if(sRgstKindCd == "07") {
  542. model.setValue("/root/main/serdiagappinfo/row/appspclcd", "V900"); // 극희귀
  543. } else if(sRgstKindCd == "08") {
  544. model.setValue("/root/main/serdiagappinfo/row/appspclcd", "V999"); // 상세불명
  545. } else if(sRgstKindCd == "09") {
  546. model.setValue("/root/main/serdiagappinfo/row/appspclcd", "V000"); // 본인부담제외 결핵
  547. } else {
  548. model.setValue("/root/main/serdiagappinfo/row/appspclcd", model.getValue("/root/hidden/items/spclcd"));
  549. }
  550. model.setValue("/root/main/serdiagappinfo/row/appdiagcd", model.getValue("/root/hidden/items/diagcd"));
  551. model.setValue("/root/main/serdiagappinfo/row/appdiagseq", model.getValue("/root/hidden/items/seq"));
  552. var test1 = model.getValue("/root/hidden/items/test1");
  553. var test2 = model.getValue("/root/hidden/items/test2");
  554. var test3 = model.getValue("/root/hidden/items/test3");
  555. var test4 = model.getValue("/root/hidden/items/test4");
  556. var test5 = model.getValue("/root/hidden/items/test5");
  557. var test6 = model.getValue("/root/hidden/items/test6");
  558. model.setValue( "/root/init/items/row", "1");
  559. model.setValue( "/root/init/items/seq", model.getValue("/root/hidden/items/seq"));
  560. if (test1 =="Y" ) {
  561. bool_sono.disabled = false;
  562. bool_ct.disabled = false;
  563. bool_mri.disabled = false;
  564. bool_etc.disabled = false;
  565. } else {
  566. bool_sono.disabled = true;
  567. bool_ct.disabled = true;
  568. bool_mri.disabled = true;
  569. bool_etc.disabled = true;
  570. }
  571. if (test2 == "Y") {
  572. bool_item2.disabled = false;
  573. } else {
  574. bool_item2.disabled = true;
  575. }
  576. if (test3 == "Y") {
  577. bool_item3.disabled = false;
  578. } else {
  579. bool_item3.disabled = true;
  580. }
  581. if (test4 == "Y") {
  582. bool_item4.disabled = false;
  583. } else {
  584. bool_item4.disabled = true;
  585. }
  586. if (!isNull(test6)) {
  587. model.setValue("/root/init/items/item14", test6);
  588. com_etc1.dispatch("xforms-value-changed");
  589. }
  590. bool_item5.disabled = false;
  591. txt_etc2.disabled = false;
  592. com_etc1.disabled = false;
  593. } else {
  594. bool_sono.disabled = false;
  595. bool_ct.disabled = false;
  596. bool_mri.disabled = false;
  597. bool_etc.disabled = false;
  598. bool_item2.disabled = false;
  599. bool_item3.disabled = false;
  600. bool_item4.disabled = false;
  601. bool_item5.disabled = false;
  602. txt_etc2.disabled = false;
  603. }
  604. }
  605. }
  606. }
  607. if ( model.getValue("/root/main/serdiagappinfo/row/anohosprgstflag") == "Y") {
  608. bool_anohosprgstflag.value = "true";
  609. }
  610. model.setValue("/root/main/serdiagappinfo/row/status", "I");
  611. } else { // 오픈 화면이 없을경우
  612. model.setValue("/root/main/serdiagappinfo/row/status", "I");
  613. messageBox("환자정보를 확인", "E001");
  614. btn_save.visible = false; //저장
  615. btn_del.visible = false; //삭제
  616. btn_upt.visible = false; //수정
  617. }
  618. if (model.getValue("/root/main/serdiagappinfo/row/genrflagcd") == "O" || model.getValue("/root/main/serdiagappinfo/row/genrflagcd") == "S") {
  619. model.setValue("/root/main/serdiagappinfo/row/genrflagcd", "O");
  620. } else {
  621. model.setValue("/root/main/serdiagappinfo/row/genrflagcd", "I");
  622. if (fContainsHardCD("5400", getPatientInfoDetail("suppkind"))) { // 차상위2종 환자이면
  623. model.setValue("/root/main/serdiagappinfo/row/cncrdiagcnfmdd", getPatientInfoDetail("indd")); //입원일자
  624. }
  625. }
  626. mmbfGetHardCodeInfo("/root/send/reqdata", "/root/temp/hardcdno_5400", 5400);
  627. model.refresh();
  628. ]]>
  629. </script>
  630. <!--
  631. <submission id="TXMMO11501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/savedata"/>
  632. <submission id="TRMMO11501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/serdiagappinfo/row" resultref="/root/main/result/serdiagappinfo"/>
  633. <submission id="TRMMO11502" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/serdiagappinfo/row" resultref="/root/main/result/serdiagyn"/>
  634. <submission id="TXMMO11502" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/serdiagappinfo/row"/>
  635. <submission id="TXMMO11503" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/savedata"/>
  636. <submission id="TRMMO11503" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/result/serdiagappinfo" resultref="/root/init/items"/>
  637. -->
  638. <submission id="TXMMO20001" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/savedata" resultref="/root/main/result/serdiagappinfo"/>
  639. <submission id="TRMMO20005" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/serdiagappinfo/row" resultref="/root/main/result/serdiagappinfo"/>
  640. <submission id="TRMMO00108" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/prcpetcinfo"/>
  641. <submission id="TRMMO12201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/serdiagappinfo/row" resultref="/root/main/result/serdiagappinfo"/>
  642. <submission id="TRMMO12202" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/serdiagappinfo/row" resultref="/root/prcpetcinfo"/>
  643. <submission id="TRMMO12203" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/serdiagappinfo/row" resultref="/root/main/result/serdiagyn"/>
  644. <submission id="TRMMO12205" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/result/serdiagappinfo" resultref="/root/init/items"/>
  645. <submission id="TXMMO12205" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/savedata"/>
  646. <submission id="TXMMO12204" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/serdiagappinfo/row"/>
  647. <submission id="TRMMO20001" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/hidden"/>
  648. <submission id="TRMMO20002" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/serdiagpatinfo"/>
  649. </model>
  650. <script type="javascript">
  651. <![CDATA[
  652. function fSetSerDiagItem(boolvalue, itemcd, itemcnts) {
  653. if (boolvalue == "true") {
  654. model.setValue("/root/init/serdiagitem/diagmthdcd", itemcd);
  655. model.setValue("/root/init/serdiagitem/diagetccnts", itemcnts);
  656. copyNodesetType("/root/main/serdiagappdetl/row", "/root/init/serdiagitem", "after");
  657. } else {
  658. model.removenode("/root/main/serdiagappdetl/row[diagmthdcd='"+itemcd+"']"); }
  659. }
  660. ]]>
  661. </script>
  662. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  663. <script type="javascript" src="../../../com/departmentcodeweb/js/ZSD001.js"/>
  664. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  665. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  666. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  667. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  668. <script type="javascript" src="../../../com/userdeptinfoweb/js/ZSU001.js"/>
  669. <script type="javascript" src="../../../emr/prcpmngtweb/js/SMMMO04100.js"/>
  670. <script type="javascript" src="../../../emr/prcpmngtweb/js/SMMMO04200.js"/>
  671. <script type="javascript" src="../../../emr/prcpmngtweb/js/MMO001.js"/>
  672. </xhtml:head>
  673. <xhtml:body pagewidth="380" pageheight="700" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  674. <group id="group1" disabled="true" style="left:89px; top:18px; width:131px; height:97px; ">
  675. <input id="ipt_pid" ref="/root/main/serdiagappinfo/row/pid" disabled="true" disable.background-color="#ffffff" style="left:0px; top:5px; width:130px; height:19px; "/>
  676. <select1 id="combo1" ref="/root/main/serdiagappinfo/row/orddeptcd" disabled="true" appearance="minimal" disable.background-color="#ffffff" style="left:0px; top:52px; width:130px; height:19px; ">
  677. <choices>
  678. <itemset nodeset="/root/init/orddept/dept">
  679. <label ref="depthngnm"/>
  680. <value ref="deptcd"/>
  681. </itemset>
  682. </choices>
  683. </select1>
  684. <input id="ipt_hngnm" ref="/root/main/serdiagappinfo/row/pathngnm" disabled="true" disable.background-color="#ffffff" style="left:0px; top:27px; width:130px; height:19px; "/>
  685. <input id="ipt_diaghngnm" ref="/root/main/serdiagappinfo/row/maindiagcd" disabled="true" disable.background-color="#ffffff" style="left:0px; top:77px; width:130px; height:19px; "/>
  686. </group>
  687. <line id="line1" class="line_1" style="x1:0px; y1:15px; x2:360px; y2:15px; "/>
  688. <caption id="caption14" class="tit_2" style="left:0px; top:0px; width:152px; height:14px; vertical-align:middle; ">희귀난치등록신청서</caption>
  689. <caption id="caption26" class="cell_1" style="left:1px; top:20px; width:85px; height:23px; text-align:center; vertical-align:middle; ">등록번호</caption>
  690. <caption id="caption1" class="cell_1" style="left:1px; top:70px; width:85px; height:23px; text-align:center; vertical-align:middle; ">진료과</caption>
  691. <caption id="caption2" class="cell_1" style="left:1px; top:95px; width:85px; height:23px; text-align:center; vertical-align:middle; ">진단</caption>
  692. <caption id="caption3" class="cell_1" style="left:1px; top:120px; width:85px; height:23px; text-align:center; vertical-align:middle; ">진단확인일</caption>
  693. <caption id="caption4" class="tit_2" style="left:0px; top:185px; width:345px; height:13px; vertical-align:middle; ">최종진단방법 (중복 체크 가능)</caption>
  694. <line id="line2" class="line_1" style="x1:0px; y1:200px; x2:360px; y2:200px; "/>
  695. <caption id="caption6" style="left:22px; top:423px; width:50px; height:15px; ">영상검사</caption>
  696. <caption id="caption5" style="left:22px; top:634px; width:50px; height:15px; ">기타검사</caption>
  697. <caption id="caption7" style="left:4px; top:481px; width:15px; height:15px; ">②</caption>
  698. <caption id="caption8" style="left:4px; top:502px; width:15px; height:15px; ">③</caption>
  699. <caption id="caption9" style="left:4px; top:523px; width:15px; height:15px; ">④</caption>
  700. <caption id="caption10" style="left:4px; top:544px; width:15px; height:15px; ">⑤</caption>
  701. <caption id="caption11" style="left:4px; top:634px; width:15px; height:15px; ">⑥</caption>
  702. <button id="btn_save" class="btn4_letter2" style="left:244px; top:660px; width:56px; height:22px; ">
  703. <caption>저장</caption>
  704. <script type="javascript" ev:event="DOMActivate">
  705. <![CDATA[
  706. var cncrdiagcnfmdd = model.getValue( "/root/main/serdiagappinfo/row/cncrdiagcnfmdd" );
  707. if ( !isValidDateTime(cncrdiagcnfmdd, "YYYYMMDD")) {
  708. messageBox("진단 확인일은", "I003");
  709. return;
  710. }
  711. if(cncrdiagcnfmdd > getCurrentDate() ) {
  712. messageBox("진단 확인일을 미래일자로 입력 할 수 없습니다.", "I999");
  713. return;
  714. }
  715. if(cncrdiagcnfmdd < ((getCurrentDate().toDate()).getAddDate(-1,"M")).getDateFormat() ) {
  716. messageBox("진단 확인일을 최근 1달이내의 날짜로 입력 하셔야 합니다.", "I999");
  717. return;
  718. }
  719. if ( getNodesetCount("/root/main/serdiagappdetl/row") == 1 ) {
  720. messageBox("최종진단방법은 1개 이상", "C002");
  721. return;
  722. }
  723. var row = model.getValue ( "/root/init/items/row" );
  724. if ( !isNull(row)) {
  725. var test1 = model.getValue("/root/hidden/items[" + row + "]/test1");
  726. var test2 = model.getValue("/root/hidden/items[" + row + "]/test2");
  727. var test3 = model.getValue("/root/hidden/items[" + row + "]/test3");
  728. var test4 = model.getValue("/root/hidden/items[" + row + "]/test4");
  729. var test5 = model.getValue("/root/hidden/items[" + row + "]/test5");
  730. var test6 = model.getValue("/root/hidden/items[" + row + "]/test6");
  731. if (test1 =="Y" ) {
  732. if ( model.getValue("/root/init/items/item2") !="true"
  733. && model.getValue("/root/init/items/item3") !="true"
  734. && model.getValue("/root/init/items/item4") !="true"
  735. && model.getValue("/root/init/items/item5") !="true" ){
  736. messageBox("1번 영상검사 항목중 하나를 반드시 선택 하셔야 합니다.", "I003");
  737. return;
  738. }
  739. }
  740. if (test2 =="Y" ) {
  741. if ( model.getValue("/root/init/items/item6") !="true"){
  742. messageBox("2번 특수 생화학적 또는 면역학적 검사를 반드시 선택 하셔야 합니다.", "I003");
  743. return;
  744. }
  745. }
  746. if (test3 =="Y" ) {
  747. if ( model.getValue("/root/init/items/item7") !="true"){
  748. messageBox("3번 유전학적 검사를 반드시 선택 하셔야 합니다.", "I003");
  749. return;
  750. }
  751. }
  752. if (test4 =="Y" ) {
  753. if ( model.getValue("/root/init/items/item8") !="true"){
  754. messageBox("4번 조직학적 검사를 반드시 선택 하셔야 합니다.", "I003");
  755. return;
  756. }
  757. }
  758. if (test5 =="Y" ) {
  759. if ( model.getValue("/root/init/items/item9") !="true"){
  760. messageBox("5번 임상적 소견을 반드시 선택 하셔야 합니다.", "I003");
  761. return;
  762. }
  763. }
  764. if (!isNull(test6)) {
  765. if (model.getValue("/root/init/items/item14") == ""){
  766. messageBox("6번 기타검사을 반드시 선택 하셔야 합니다.", "I003");
  767. return;
  768. }
  769. if(test6 != model.getValue("/root/init/items/item14")) {
  770. messageBox("선택된 6번 기타검사의 항목이 등록기준 및 필수검사 항목과 서로 틀립니다.", "I003");
  771. return;
  772. }
  773. }
  774. }
  775. var yy1 = ipt_etc1.value;
  776. var yy2 = txt_etc2.value;
  777. var xx1 = 0;
  778. for(var i=0; i < yy1.length; i++) { (yy1.charCodeAt(i) > 255) ? xx1 += 2 : xx1 += 1; }
  779. var xx2 = 0;
  780. for(var i=0; i < yy2.length; i++) { (yy2.charCodeAt(i) > 255) ? xx2 += 2 : xx2 += 1; }
  781. if (bool_etc.value == "true") {
  782. if (ipt_etc1.value == "" ) {
  783. messageBox("1번의 기타항목을 선택하였으므로 해당 내용을","C001");
  784. return;
  785. } else if ( xx1 < 5 || xx1 > 40 ) {
  786. messageBox("1번 기타항목의 내용은 최소 : 한글 3자, 영어 5자 최대 : 한글 20자, 영어 40자 까지 입니다.","I");
  787. return;
  788. }
  789. model.setValue("/root/main/serdiagappdetl/row[diagmthdcd='04']/diagetccnts", ipt_etc1.value );
  790. }
  791. if (bool_item5.value == "true") {
  792. if ( txt_etc2.value == "" ) {
  793. messageBox("5번 항목을 선택하였으므로 해당 내용을","C001");
  794. return;
  795. } else if ( xx2 < 10 || xx2 > 80 ) {
  796. messageBox("5번 기타항목의 내용은 최소 : 한글 5자, 영어 10자 최대 : 한글 40자, 영어 80자 까지 입니다.","I");
  797. return;
  798. }
  799. model.setValue("/root/main/serdiagappdetl/row[diagmthdcd='08']/diagetccnts", txt_etc2.value );
  800. }
  801. if (bool_anohosprgstflag.value == "true") {
  802. model.setValue("/root/main/serdiagappinfo/row/anohosprgstflag","Y");
  803. } else {
  804. model.setValue("/root/main/serdiagappinfo/row/anohosprgstflag","N");
  805. }
  806. copyNodeListType("/root/send/savedata", "/root/main/serdiagappinfo", "replace");
  807. copyNodeListType("/root/send/savedata", "/root/main/serdiagappdetl", "after");
  808. //최종진단방법 입력 기준자료가 없을 경우
  809. if (model.getValue("/root/hidden/items/cncrdiagyn") != "Y" ) {
  810. if ( isNull(model.getValue("/root/hidden/items/diagnm")) && bool_item5.value == "false") {
  811. messageBox ( "5번 임상적 소견을 반드시 입력해야 하는 진단입니다.", "C" );
  812. return;
  813. }
  814. }
  815. var ret = submit("TXMMO20001");
  816. if (ret == true ) {
  817. var sAutpPrtYn = fGetHardCDList("Y", 272, 3);
  818. if (sAutpPrtYn == "Y") {
  819. model.removenode("/root/send/reqdata");
  820. model.makeValue("/root/send/reqdata/pid", model.getValue("/root/main/serdiagappinfo/row/pid"));
  821. var genrflagcd = model.getValue("/root/main/serdiagappinfo/row/genrflagcd")
  822. if (genrflagcd == "O" || genrflagcd == "S") {
  823. genrflagcd = "O";
  824. }
  825. model.makeValue("/root/send/reqdata/genrflagcd", genrflagcd);
  826. if (submit("TRMMO20002") == true) {
  827. var insukind = model.getValue("/root/serdiagpatinfo/serdiagpatinfo/insukind");
  828. if (insukind == "11") {
  829. exeReportPreview("RPMMO20000", "XMLSTR", "/root/serdiagpatinfo/serdiagpatinfo", "", "true", "", "", "", "", "true", "", "", "", "", "", "", "", "", "", "", "");
  830. } else {
  831. exeReportPreview("RPMMO20002", "XMLSTR", "/root/serdiagpatinfo/serdiagpatinfo", "", "true", "", "", "", "", "true", "", "", "", "", "", "", "", "", "", "", "");
  832. }
  833. }
  834. }
  835. if(opener != null) {
  836. opener.javascript.setParameter("SPMMO20000_save", "Y"); // 처방 저장시 작성 여부를 체크 하기 위해 추가. 2012.02.28 엄영만
  837. }
  838. window.close();
  839. } else {
  840. messageBox("저장", "E009");
  841. }
  842. ]]>
  843. </script>
  844. </button>
  845. <button id="btn_exit" class="btn4_letter2" style="left:304px; top:660px; width:56px; height:22px; ">
  846. <caption>종료</caption>
  847. <script type="javascript" ev:event="DOMActivate">
  848. <![CDATA[
  849. window.close();
  850. ]]>
  851. </script>
  852. </button>
  853. <caption id="caption13" class="cell_1" style="left:1px; top:45px; width:85px; height:23px; text-align:center; vertical-align:middle; ">환자명</caption>
  854. <bool id="bool_sono" ref="/root/init/items/item2" style="left:75px; top:420px; width:20px; height:15px; ">
  855. <script type="javascript" ev:event="xforms-value-changed">
  856. <![CDATA[
  857. fSetSerDiagItem(bool_sono.value,"01", "");
  858. if (model.getValue("/root/init/items/item2")=="true"
  859. || model.getValue("/root/init/items/item3")=="true"
  860. || model.getValue("/root/init/items/item4")=="true"
  861. || model.getValue("/root/init/items/item5")=="true" ){
  862. model.setValue("/root/main/tmp/item1","Y");
  863. } else {
  864. model.setValue("/root/main/tmp/item1","N");
  865. }
  866. ]]>
  867. </script>
  868. </bool>
  869. <bool id="bool_ct" ref="/root/init/items/item3" style="left:150px; top:420px; width:20px; height:15px; ">
  870. <script type="javascript" ev:event="xforms-value-changed">
  871. <![CDATA[
  872. fSetSerDiagItem(bool_ct.value,"02", "");
  873. if (model.getValue("/root/init/items/item3")=="true"
  874. || model.getValue("/root/init/items/item2")=="true"
  875. || model.getValue("/root/init/items/item4")=="true"
  876. || model.getValue("/root/init/items/item5")=="true" ){
  877. model.setValue("/root/main/tmp/item1","Y");
  878. } else {
  879. model.setValue("/root/main/tmp/item1","N");
  880. }
  881. ]]>
  882. </script>
  883. </bool>
  884. <bool id="bool_mri" ref="/root/init/items/item4" style="left:225px; top:420px; width:20px; height:15px; ">
  885. <script type="javascript" ev:event="xforms-value-changed">
  886. <![CDATA[
  887. fSetSerDiagItem(bool_mri.value,"03", "");
  888. if (model.getValue("/root/init/items/item4")=="true"
  889. || model.getValue("/root/init/items/item2")=="true"
  890. || model.getValue("/root/init/items/item3")=="true"
  891. || model.getValue("/root/init/items/item5")=="true" ){
  892. model.setValue("/root/main/tmp/item1","Y");
  893. }
  894. else {model.setValue("/root/main/tmp/item1","N");
  895. }
  896. ]]>
  897. </script>
  898. </bool>
  899. <bool id="bool_etc" ref="/root/init/items/item5" style="left:75px; top:441px; width:20px; height:15px; ">
  900. <script type="javascript" ev:event="xforms-value-changed">
  901. <![CDATA[
  902. //fSetSerDiagItem(bool_etc.value, "04", ipt_etc1.value);
  903. if (bool_etc.value == "true") {
  904. //model.setValue("/root/init/items/item12", "");
  905. //model.refresh();
  906. ipt_etc1.disabled = false;
  907. if (ipt_etc1.value == "" ) {
  908. messageBox("기타항목을 선택하였으므로 해당 내용을","C001");
  909. // return;
  910. }
  911. //model.setValue("/root/main/serdiagappdetl/row[diagmthdcd='04']/diagetccnts", ipt_etc1.value );
  912. //model.setValue("/root/main/serdiagappdetl/row[diagmthdcd='04']/diagetccnts", model.getValue("/root/init/items/item12"));
  913. } else {
  914. model.removenode("/root/main/serdiagappdetl/row[diagmthdcd='"+ "04" +"']");
  915. model.setValue("/root/init/items/item12", "");
  916. model.refresh();
  917. ipt_etc1.disabled = true;
  918. }
  919. if (model.getValue("/root/init/items/item5")=="true"
  920. || model.getValue("/root/init/items/item2")=="true"
  921. || model.getValue("/root/init/items/item3")=="true"
  922. || model.getValue("/root/init/items/item4")=="true" ){
  923. model.setValue("/root/main/tmp/item1","Y");
  924. }
  925. else {model.setValue("/root/main/tmp/item1","N");
  926. }
  927. ]]>
  928. </script>
  929. </bool>
  930. <bool id="bool_item4" ref="/root/init/items/item8" style="left:25px; top:522px; width:20px; height:15px; ">
  931. <script type="javascript" ev:event="xforms-value-changed">
  932. <![CDATA[
  933. fSetSerDiagItem(bool_item4.value, "07", "");
  934. model.refresh();
  935. if (model.getValue("/root/init/items/item8")=="true"){
  936. model.setValue("/root/main/tmp/item4","Y");
  937. }
  938. else {
  939. model.setValue("/root/main/tmp/item4","N");
  940. }
  941. ]]>
  942. </script>
  943. </bool>
  944. <bool id="bool_item3" ref="/root/init/items/item7" style="left:25px; top:501px; width:20px; height:15px; ">
  945. <script type="javascript" ev:event="xforms-value-changed">
  946. <![CDATA[
  947. fSetSerDiagItem(bool_item3.value, "06", "");
  948. model.refresh();
  949. if (model.getValue("/root/init/items/item7")=="true"){
  950. model.setValue("/root/main/tmp/item3","Y");
  951. }
  952. else {model.setValue("/root/main/tmp/item3","N");
  953. }
  954. ]]>
  955. </script>
  956. </bool>
  957. <bool id="bool_item2" ref="/root/init/items/item6" style="left:25px; top:480px; width:20px; height:15px; ">
  958. <script type="javascript" ev:event="xforms-value-changed">
  959. <![CDATA[
  960. fSetSerDiagItem(bool_item2.value, "05", "");
  961. model.refresh();
  962. if (model.getValue("/root/init/items/item6")=="true"){
  963. model.setValue("/root/main/tmp/item2","Y");
  964. }
  965. else {
  966. model.setValue("/root/main/tmp/item2","N");
  967. }
  968. ]]>
  969. </script>
  970. </bool>
  971. <bool id="bool_item5" ref="/root/init/items/item9" style="left:25px; top:543px; width:20px; height:15px; ">
  972. <script type="javascript" ev:event="xforms-value-changed">
  973. <![CDATA[
  974. fSetSerDiagItem(bool_item5.value, "08", "");
  975. model.refresh();
  976. if (bool_item5.value == "true") {
  977. txt_etc2.disabled = false;
  978. if (txt_etc2.value == "" ) {
  979. messageBox("⑤번 항목을 선택하였으므로 해당 내용을","C001");
  980. }
  981. } else {
  982. model.removenode("/root/main/serdiagappdetl/row[diagmthdcd='"+ "08" +"']");
  983. model.setValue("/root/init/items/item13", "");
  984. model.refresh();
  985. txt_etc2.disabled = true;
  986. }
  987. if (model.getValue("/root/init/items/item9")=="true"){
  988. model.setValue("/root/main/tmp/item5","Y");
  989. }else {
  990. model.setValue("/root/main/tmp/item5","N");
  991. }
  992. ]]>
  993. </script>
  994. </bool>
  995. <input id="ipt_etc1" ref="/root/init/items/item12" disabled="true" style="left:124px; top:439px; width:236px; height:19px; ">
  996. <script type="javascript" ev:event="xforms-value-changed">
  997. <![CDATA[
  998. model.removenode("/root/main/serdiagappdetl/row[diagmthdcd='04']");
  999. if(model.getValue("/root/init/items/item12") != ""){
  1000. fSetSerDiagItem(bool_etc.value, "04", ipt_etc1.value);
  1001. model.refresh();
  1002. }
  1003. ]]>
  1004. </script>
  1005. <script type="javascript" ev:event="onkeydown">
  1006. <![CDATA[
  1007. if ( event.keyCode != 8 && event.keyCode != 46 && event.keyCode != 35 && event.keyCode != 36
  1008. && event.keyCode != 16 && event.keyCode != 17
  1009. && !(event.keyCode >= 37 && event.keyCode <= 40) ) { // 백스페이스, delete,화살표, home, end 키는 이벤트제외.
  1010. var yy1 = ipt_etc1.currentText;
  1011. var xx1 = 0;
  1012. for(var i=0; i < yy1.length; i++) { (yy1.charCodeAt(i) > 255) ? xx1 += 2 : xx1 += 1; }
  1013. if ( xx1 > 40) {
  1014. messageBox("최대 한글 20자, 영어 40자 까지만 입력할 수 있습니다.", "I");
  1015. return;
  1016. }
  1017. }
  1018. ]]>
  1019. </script>
  1020. </input>
  1021. <bool id="bool_anohosprgstflag" visibility="hidden" ref="/root/init/items/item1" style="left:234px; top:126px; width:15px; height:15px; "/>
  1022. <caption id="cap_insukindnm" class="cell_1" style="left:231px; top:21px; width:128px; height:45px; font-size:11pt; font-weight:bold; text-align:center; vertical-align:middle; border-color:#000000; border-style:solid; "/>
  1023. <caption id="cap_item1" visibility="hidden" style="left:252px; top:127px; width:95px; height:15px; ">
  1024. <![CDATA[타병원등록여부]]>
  1025. <script type="javascript" ev:event="onclick">
  1026. <![CDATA[
  1027. if ( bool_anohosprgstflag.value == "true") {
  1028. bool_anohosprgstflag.value = "false";
  1029. } else {
  1030. bool_anohosprgstflag.value = "true";
  1031. }
  1032. ]]>
  1033. </script>
  1034. </caption>
  1035. <caption id="cap_item2" style="left:94px; top:421px; width:40px; height:15px; ">
  1036. <![CDATA[SONO]]>
  1037. <script type="javascript" ev:event="onclick">
  1038. <![CDATA[
  1039. if ( bool_sono.value == "true") {
  1040. bool_sono.selected = "false";
  1041. } else {
  1042. bool_sono.selected = "true";
  1043. }
  1044. ]]>
  1045. </script>
  1046. </caption>
  1047. <caption id="cap_item3" style="left:169px; top:421px; width:40px; height:15px; ">
  1048. <![CDATA[CT]]>
  1049. <script type="javascript" ev:event="onclick">
  1050. <![CDATA[
  1051. if ( bool_ct.value == "true") {
  1052. bool_ct.selected = "false"
  1053. } else {
  1054. bool_ct.selected = "true"
  1055. }
  1056. ]]>
  1057. </script>
  1058. </caption>
  1059. <caption id="cap_item4" style="left:244px; top:421px; width:40px; height:15px; ">
  1060. <![CDATA[MRI]]>
  1061. <script type="javascript" ev:event="onclick">
  1062. <![CDATA[
  1063. if ( bool_mri.value == "true") {
  1064. bool_mri.selected = "false";
  1065. } else {
  1066. bool_mri.selected = "true";
  1067. }
  1068. ]]>
  1069. </script>
  1070. </caption>
  1071. <caption id="cap_item5" style="left:94px; top:442px; width:40px; height:15px; ">
  1072. <![CDATA[기타]]>
  1073. <script type="javascript" ev:event="onclick">
  1074. <![CDATA[
  1075. if ( bool_etc.value == "true") {
  1076. bool_etc.selected = "false";
  1077. } else {
  1078. bool_etc.selected = "true";
  1079. }
  1080. if (bool_etc.value == "true") {
  1081. //model.setValue("/root/init/items/item12", "");
  1082. //model.refresh();
  1083. ipt_etc1.disabled = false;
  1084. } else {
  1085. //model.setValue("/root/init/items/item12", "");
  1086. //model.refresh();
  1087. ipt_etc1.disabled = true;
  1088. }
  1089. ]]>
  1090. </script>
  1091. </caption>
  1092. <caption id="cap_item6" style="left:45px; top:480px; width:210px; height:15px; ">
  1093. <![CDATA[특수 생화학적 또는 면역학적 검사]]>
  1094. <script type="javascript" ev:event="onclick">
  1095. <![CDATA[
  1096. if ( bool_item2.value == "true") {
  1097. bool_item2.selected = "false";
  1098. } else {
  1099. bool_item2.selected = "true";
  1100. }
  1101. ]]>
  1102. </script>
  1103. </caption>
  1104. <caption id="cap_item7" style="left:45px; top:501px; width:186px; height:15px; ">
  1105. <![CDATA[유전학적 검사]]>
  1106. <script type="javascript" ev:event="onclick">
  1107. <![CDATA[
  1108. if ( bool_item3.value == "true") {
  1109. bool_item3.selected = "false";
  1110. } else {
  1111. bool_item3.selected = "true";
  1112. }
  1113. ]]>
  1114. </script>
  1115. </caption>
  1116. <caption id="cap_item8" style="left:45px; top:522px; width:160px; height:15px; ">
  1117. <![CDATA[조직학적 검사]]>
  1118. <script type="javascript" ev:event="onclick">
  1119. <![CDATA[
  1120. if ( bool_item4.value == "true") {
  1121. bool_item4.selected = "false";
  1122. } else {
  1123. bool_item4.selected = "true";
  1124. }
  1125. ]]>
  1126. </script>
  1127. </caption>
  1128. <caption id="cap_item9" style="left:45px; top:543px; width:215px; height:15px; ">
  1129. <![CDATA[임상적 소견으로 최종 진단 시 기재]]>
  1130. <script type="javascript" ev:event="onclick">
  1131. <![CDATA[
  1132. if ( bool_item5.value == "true") {
  1133. bool_item5.selected = "false";
  1134. } else {
  1135. bool_item5.selected = "true";
  1136. }
  1137. if (bool_item5.value == "true") {
  1138. txt_etc2.disabled = false;
  1139. } else {
  1140. txt_etc2.disabled = true;
  1141. }
  1142. ]]>
  1143. </script>
  1144. </caption>
  1145. <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:89px; top:120px; width:130px; height:19px; "/>
  1146. <button id="btn_del" class="btn4_letter2" style="left:184px; top:660px; width:56px; height:22px; ">
  1147. <caption>삭제</caption>
  1148. <script type="javascript" ev:event="DOMActivate">
  1149. <![CDATA[
  1150. var a =getUserInfo("dutplcecd");
  1151. var b =getUserInfo("jobkindcd");
  1152. var c =getUserInfo("jobposcd");
  1153. if((model.getValue("/root/main/serdiagappinfo/row/orddeptcd") == getUserInfo("dutplcecd")) && (getUserInfo("jobkindcd") == "0330") && (getUserInfo("jobposcd") != "1799")){ // 0330 : 의사
  1154. submit("TRMMO12203");
  1155. if((model.getValue("/root/main/result/serdiagyn/histcd") == "O") && (model.getValue("/root/main/result/serdiagyn/prntyn") == "N") && (model.getValue("/root/main/result/serdiagyn/rareobstno") == "-")){
  1156. if(submit("TXMMO12204")){
  1157. messageBox("해당환자의 "+model.getValue("/root/init/rgstkindnm")+" 등록신청서가 삭제","I001");
  1158. btn_del.visible = false;
  1159. model.close();
  1160. }else{
  1161. messageBox("해당환자의 "+model.getValue("/root/init/rgstkindnm")+" 등록신청서 삭제를 ","E009");
  1162. window.close();
  1163. }
  1164. model.refresh();
  1165. }else{
  1166. messageBox("해당환자의 "+model.getValue("/root/init/rgstkindnm")+" 등록신청서를 삭제 ","E001");
  1167. window.close();
  1168. }
  1169. }else{
  1170. messageBox("삭제할 수 있는 ","E002");
  1171. btn_save.visible = false; //저장
  1172. btn_del.visible = false; //삭제
  1173. btn_upt.visible = false; //수정
  1174. window.close();
  1175. }
  1176. ]]>
  1177. </script>
  1178. </button>
  1179. <button id="btn_upt" class="btn4_letter2" style="left:124px; top:660px; width:56px; height:22px; ">
  1180. <caption>수정</caption>
  1181. <script type="javascript" ev:event="DOMActivate">
  1182. <![CDATA[
  1183. if ( getNodesetCount("/root/main/serdiagappdetl/row") == 1 ) {
  1184. messageBox("최종진단방법은 1개 이상", "C002");
  1185. return;
  1186. }
  1187. var row = model.getValue ( "/root/init/items/row" );
  1188. if ( !isNull(row)) {
  1189. var test1 = model.getValue("/root/hidden/items[" + row + "]/test1");
  1190. var test2 = model.getValue("/root/hidden/items[" + row + "]/test2");
  1191. var test3 = model.getValue("/root/hidden/items[" + row + "]/test3");
  1192. var test4 = model.getValue("/root/hidden/items[" + row + "]/test4");
  1193. var test5 = model.getValue("/root/hidden/items[" + row + "]/test5");
  1194. var test6 = model.getValue("/root/hidden/items[" + row + "]/test6");
  1195. if (test1 =="Y" ) {
  1196. if ( model.getValue("/root/init/items/item2") !="true"
  1197. && model.getValue("/root/init/items/item3") !="true"
  1198. && model.getValue("/root/init/items/item4") !="true"
  1199. && model.getValue("/root/init/items/item5") !="true" ){
  1200. messageBox("1번 영상검사 항목중 하나를 반드시 선택 하셔야 합니다.", "I003");
  1201. return;
  1202. }
  1203. }
  1204. if (test2 =="Y" ) {
  1205. if ( model.getValue("/root/init/items/item6") !="true"){
  1206. messageBox("2번 특수 생화학적 또는 면역학적 검사를 반드시 선택 하셔야 합니다.", "I003");
  1207. return;
  1208. }
  1209. }
  1210. if (test3 =="Y" ) {
  1211. if ( model.getValue("/root/init/items/item7") !="true"){
  1212. messageBox("3번 유전학적 검사를 반드시 선택 하셔야 합니다.", "I003");
  1213. return;
  1214. }
  1215. }
  1216. if (test4 =="Y" ) {
  1217. if ( model.getValue("/root/init/items/item8") !="true"){
  1218. messageBox("4번 조직학적 검사를 반드시 선택 하셔야 합니다.", "I003");
  1219. return;
  1220. }
  1221. }
  1222. if (test5 =="Y" ) {
  1223. if ( model.getValue("/root/init/items/item9") !="true"){
  1224. messageBox("5번 임상적 소견을 반드시 선택 하셔야 합니다.", "I003");
  1225. return;
  1226. }
  1227. }
  1228. if (!isNull(test6)) {
  1229. if (model.getValue("/root/init/items/item14") == ""){
  1230. messageBox("6번 기타검사을 반드시 선택 하셔야 합니다.", "I003");
  1231. return;
  1232. }
  1233. if(test6 != model.getValue("/root/init/items/item14")) {
  1234. messageBox("선택된 6번 기타검사의 항목이 등록기준 및 필수검사 항목과 서로 틀립니다.", "I003");
  1235. return;
  1236. }
  1237. }
  1238. }
  1239. var yy1 = ipt_etc1.value;
  1240. var yy2 = txt_etc2.value;
  1241. var xx1 = 0;
  1242. for(var i=0; i < yy1.length; i++) { (yy1.charCodeAt(i) > 255) ? xx1 += 2 : xx1 += 1; }
  1243. var xx2 = 0;
  1244. for(var i=0; i < yy2.length; i++) { (yy2.charCodeAt(i) > 255) ? xx2 += 2 : xx2 += 1; }
  1245. if (bool_etc.value == "true") {
  1246. if (ipt_etc1.value == "" ) {
  1247. messageBox("1번의 기타항목을 선택하였으므로 해당 내용을","C001");
  1248. return;
  1249. } else if ( xx1 < 5 || xx1 > 40 ) {
  1250. messageBox("1번 기타항목의 내용은 최소 : 한글 3자, 영어 5자 최대 : 한글 20자, 영어 40자 까지 입니다.","I");
  1251. return;
  1252. }
  1253. model.setValue("/root/main/serdiagappdetl/row[diagmthdcd='04']/diagetccnts", ipt_etc1.value );
  1254. }
  1255. if (bool_item5.value == "true") {
  1256. if ( txt_etc2.value == "" ) {
  1257. messageBox("5번 항목을 선택하였으므로 해당 내용을","C001");
  1258. return;
  1259. } else if ( xx2 < 10 || xx2 > 80 ) {
  1260. messageBox("5번 기타항목의 내용은 최소 : 한글 5자, 영어 10자 최대 : 한글 40자, 영어 80자 까지 입니다.","I");
  1261. return;
  1262. }
  1263. model.setValue("/root/main/serdiagappdetl/row[diagmthdcd='08']/diagetccnts", txt_etc2.value );
  1264. }
  1265. copyNodeListType("/root/send/savedata", "/root/main/serdiagappinfo", "replace");
  1266. copyNodeListType("/root/send/savedata", "/root/main/serdiagappdetl", "after");
  1267. if((model.getValue("/root/main/serdiagappinfo/row/orddeptcd") == getUserInfo("dutplcecd")) && (getUserInfo("jobkindcd") == "0330") && (getUserInfo("jobposcd") != "1799")){ // 0330 : 의사, 1799 : 인턴
  1268. submit("TRMMO12203");
  1269. if((model.getValue("/root/main/result/serdiagyn/histcd") == "O") && (model.getValue("/root/main/result/serdiagyn/prntyn") == "N") && (model.getValue("/root/main/result/serdiagyn/rareobstno") == "-")){
  1270. if(submit("TXMMO12205")){
  1271. messageBox("해당환자의 "+model.getValue("/root/init/rgstkindnm")+" 등록신청서가 수정","I001");
  1272. btn_del.visible = false;
  1273. btn_upt.visible = false;
  1274. }else{
  1275. messageBox("해당환자의 "+model.getValue("/root/init/rgstkindnm")+" 등록신청서 수정을 ","E009");
  1276. }
  1277. model.refresh();
  1278. }else{
  1279. messageBox("해당환자의 "+model.getValue("/root/init/rgstkindnm")+" 등록신청서를 수정 ","E001");
  1280. }
  1281. }else{
  1282. messageBox("수정할 수 있는 ","E002");
  1283. btn_save.visible = false; //저장
  1284. btn_del.visible = false; //삭제
  1285. btn_upt.visible = false; //수정
  1286. }
  1287. ]]>
  1288. </script>
  1289. </button>
  1290. <textarea id="txt_etc2" ref="/root/init/items/item13" style="left:45px; top:560px; width:315px; height:50px; ">
  1291. <script type="javascript" ev:event="xforms-value-changed">
  1292. <![CDATA[
  1293. model.removenode("/root/main/serdiagappdetl/row[diagmthdcd='08']");
  1294. if(model.getValue("/root/init/items/item13") != ""){
  1295. fSetSerDiagItem(bool_item5.value, "08", txt_etc2.value);
  1296. model.refresh();
  1297. }
  1298. ]]>
  1299. </script>
  1300. <script type="javascript" ev:event="onkeydown">
  1301. <![CDATA[
  1302. if ( event.keyCode != 8 && event.keyCode != 46 && event.keyCode != 35 && event.keyCode != 36
  1303. && event.keyCode != 16 && event.keyCode != 17
  1304. && !(event.keyCode >= 37 && event.keyCode <= 40) ) { // 백스페이스, delete,화살표, home, end 키는 이벤트제외.
  1305. var yy1 = txt_etc2.currentText;
  1306. var xx1 = 0;
  1307. for(var i=0; i < yy1.length; i++) { (yy1.charCodeAt(i) > 255) ? xx1 += 2 : xx1 += 1; }
  1308. if ( xx1 > 80) {
  1309. messageBox("최대 한글 40자, 영어 80자 까지만 입력할 수 있습니다.", "I");
  1310. return;
  1311. }
  1312. }
  1313. ]]>
  1314. </script>
  1315. </textarea>
  1316. <select1 id="com_etc1" ref="/root/init/items/item14" appearance="minimal" disable.background-color="#ffffff" style="left:75px; top:632px; width:285px; height:19px; ">
  1317. <choices>
  1318. <itemset nodeset="/root/init/P0509/P0509">
  1319. <label ref="cdnm"/>
  1320. <value ref="cdid"/>
  1321. </itemset>
  1322. </choices>
  1323. <script type="javascript" ev:event="xforms-value-changed">
  1324. <![CDATA[
  1325. fSetSerDiagItem("false", "09", "");
  1326. model.setValue("/root/main/tmp/item6","N");
  1327. if(model.getValue("/root/init/items/item14") != ""){
  1328. fSetSerDiagItem("true", "09", com_etc1.value);
  1329. model.setValue("/root/main/tmp/item6","Y");
  1330. }
  1331. model.refresh();
  1332. ]]>
  1333. </script>
  1334. </select1>
  1335. <caption id="caption12" style="left:5px; top:423px; width:20px; height:15px; ">①</caption>
  1336. <caption id="caption15" style="left:0px; top:210px; width:135px; height:15px; ">◈ 등록기준 및 필수검사</caption>
  1337. <caption id="caption16" style="left:20px; top:225px; width:230px; height:15px; color:#0000ff; ">(반드시 필수검사에 맞게 작성하세요)</caption>
  1338. <caption id="caption17" style="left:50px; top:457px; width:310px; height:19px; text-decoration:underline; color:#000000; ">( 최소 : 한글 3자, 영어 5자 최대 : 한글 20자, 영어 40자 )</caption>
  1339. <caption id="caption18" style="left:41px; top:612px; width:318px; height:15px; text-decoration:underline; color:#000000; ">( 최소 : 한글 5자, 영어 10자, 최대 : 한글 40자, 영어 80자 )</caption>
  1340. <datagrid id="grd_diaglist" nodeset="/root/hidden/items" autoresize="true" caption="진단명^등록기준^필수검사^seq^test1^test2^test3^test4^test5^test6" colsep="^" colwidth="95, 193, 55, 0, 0, 0, 0, 0, 0, 0" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowsep="|" tooltip="true" style="left:0px; top:240px; width:360px; height:175px; ">
  1341. <col ref="diagnm"/>
  1342. <col ref="rgstbase"/>
  1343. <col ref="essntestasso"/>
  1344. <col ref="seq" visibility="hidden"/>
  1345. <col ref="test1" visibility="hidden"/>
  1346. <col ref="test2" visibility="hidden"/>
  1347. <col ref="test3" visibility="hidden"/>
  1348. <col ref="test4" visibility="hidden"/>
  1349. <col ref="test5" visibility="hidden"/>
  1350. <col ref="test6" visibility="hidden"/>
  1351. <script type="javascript" ev:event="ondblclick">
  1352. <![CDATA[
  1353. var row = grd_diaglist.row;
  1354. var sRgstKindCd = model.getValue("/root/main/serdiagappinfo/row/rgstkindcd");
  1355. if(sRgstKindCd == "07") {
  1356. model.setValue("/root/main/serdiagappinfo/row/appspclcd", "V900"); // 극희귀
  1357. } else if(sRgstKindCd == "08") {
  1358. model.setValue("/root/main/serdiagappinfo/row/appspclcd", "V999"); // 상세불명
  1359. } else if(sRgstKindCd == "09") {
  1360. model.setValue("/root/main/serdiagappinfo/row/appspclcd", "V000"); // 본인부담제외 결핵
  1361. } else {
  1362. model.setValue("/root/main/serdiagappinfo/row/appspclcd", model.getValue("/root/hidden/items[" + row + "]/spclcd"));
  1363. }
  1364. model.setValue("/root/main/serdiagappinfo/row/appdiagcd", model.getValue("/root/hidden/items[" + row + "]/diagcd"));
  1365. model.setValue("/root/main/serdiagappinfo/row/appdiagseq", model.getValue("/root/hidden/items[" + row + "]/seq"));
  1366. var test1 = model.getValue("/root/hidden/items[" + row + "]/test1");
  1367. var test2 = model.getValue("/root/hidden/items[" + row + "]/test2");
  1368. var test3 = model.getValue("/root/hidden/items[" + row + "]/test3");
  1369. var test4 = model.getValue("/root/hidden/items[" + row + "]/test4");
  1370. var test5 = model.getValue("/root/hidden/items[" + row + "]/test5");
  1371. var test6 = model.getValue("/root/hidden/items[" + row + "]/test6");
  1372. model.makeValue( "/root/init/items/seq", model.getValue("/root/hidden/items[" + row + "]/seq"));
  1373. model.makeValue( "/root/init/items/row", row); // 선택된 행 번호 저장
  1374. if (test1 =="Y" ) {
  1375. bool_sono.disabled = false;
  1376. bool_ct.disabled = false;
  1377. bool_mri.disabled = false;
  1378. bool_etc.disabled = false;
  1379. } else {
  1380. bool_sono.disabled = true;
  1381. bool_ct.disabled = true;
  1382. bool_mri.disabled = true;
  1383. bool_etc.disabled = true;
  1384. }
  1385. if (test2 == "Y") {
  1386. bool_item2.disabled = false;
  1387. } else {
  1388. bool_item2.disabled = true;
  1389. }
  1390. if (test3 == "Y") {
  1391. bool_item3.disabled = false;
  1392. } else {
  1393. bool_item3.disabled = true;
  1394. }
  1395. if (test4 == "Y") {
  1396. bool_item4.disabled = false;
  1397. } else {
  1398. bool_item4.disabled = true;
  1399. }
  1400. if (!isNull(test6)) {
  1401. model.setValue("/root/init/items/item14", test6);
  1402. com_etc1.dispatch("xforms-value-changed");
  1403. }
  1404. bool_item5.disabled = false;
  1405. txt_etc2.disabled = false;
  1406. com_etc1.disabled = false;
  1407. btn_upt.disabled = false;
  1408. btn_del.disabled = false;
  1409. btn_exit.disabled = false;
  1410. btn_save.disabled = false;
  1411. ]]>
  1412. </script>
  1413. </datagrid>
  1414. <select1 id="combo3" ref="/root/main/serdiagappinfo/row/genrflagcd" appearance="minimal" disable.background-color="#ffffff" style="left:89px; top:145px; width:130px; height:19px; ">
  1415. <choices>
  1416. <item>
  1417. <label>외래</label>
  1418. <value>O</value>
  1419. </item>
  1420. <item>
  1421. <label>입원</label>
  1422. <value>I</value>
  1423. </item>
  1424. </choices>
  1425. </select1>
  1426. <caption id="caption19" class="cell_1" style="left:0px; top:145px; width:85px; height:23px; text-align:center; vertical-align:middle; ">외래/입원구분</caption>
  1427. <button id="button1" class="btn4_letter4" style="left:10px; top:660px; width:56px; height:22px; ">
  1428. <caption>예외환자</caption>
  1429. <script type="javascript" ev:event="DOMActivate">
  1430. <![CDATA[
  1431. modal ("SPMMO09500");
  1432. ]]>
  1433. </script>
  1434. </button>
  1435. </xhtml:body>
  1436. </xhtml:html>