SMMMO08400_혈액투석적절도관리.xrw 54 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124
  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. <condition>
  11. <srchpid/>
  12. <diafg/>
  13. <patsex/>
  14. <patage/>
  15. <patheight/>
  16. <execdt/>
  17. <dialseq/>
  18. <patname/>
  19. <patrrgstno1/>
  20. <patrrgstno2/>
  21. <todd/>
  22. <fromdd/>
  23. </condition>
  24. <dialexamlist/>
  25. <dialexaminfo>
  26. <execdt/>
  27. <bdwtval/>
  28. <serumcreatival/>
  29. <preblodbunval/>
  30. <postblodbunval/>
  31. <midblodbunval/>
  32. <dialintvlval/>
  33. <dialtims/>
  34. <filtvol/>
  35. <urinevol/>
  36. <urinetm/>
  37. <urineurea/>
  38. <urinecreatival/>
  39. <dialseq/>
  40. <instcd/>
  41. <srchpid/>
  42. <calpcr/>
  43. <calnpcr/>
  44. <calurr/>
  45. <calkrv/>
  46. <calktv/>
  47. <calresiktv/>
  48. <dialflag/>
  49. <state/>
  50. <bdhtval/>
  51. <signno/>
  52. <certflag/>
  53. <orddd/>
  54. <cretno/>
  55. <ioflag/>
  56. <orddeptcd/>
  57. <orddrid/>
  58. <recid/>
  59. <recnm/>
  60. </dialexaminfo>
  61. <caladequacy>
  62. <calpcr/>
  63. <calnpcr/>
  64. <calurr/>
  65. <calkrv/>
  66. <calktv/>
  67. <calresiktv/>
  68. </caladequacy>
  69. <patinfo>
  70. <patinfolist/>
  71. <patchosinfolist>
  72. <ordtype/>
  73. <ordddtm/>
  74. <dschdd/>
  75. <centcd/>
  76. <subdeptcd/>
  77. <depthngnm/>
  78. <diagnm/>
  79. <rsrvflag/>
  80. <orddrnm/>
  81. <orddrid/>
  82. <orddeptcd/>
  83. <pid/>
  84. <orddd/>
  85. <cretno/>
  86. </patchosinfolist>
  87. </patinfo>
  88. <patinfoht/>
  89. <paminfo/>
  90. <dialrawinfo/>
  91. </main>
  92. <hidden>
  93. <ret>
  94. <count/>
  95. </ret>
  96. </hidden>
  97. <hidden>
  98. <srchcond/>
  99. <pid/>
  100. <hngnm/>
  101. <rrgstno1/>
  102. <rrgstno2/>
  103. </hidden>
  104. <send>
  105. <req>
  106. <data1>
  107. </data1>
  108. <data2/>
  109. <signdata/>
  110. </req>
  111. <reqdata/>
  112. <cond1/>
  113. <cond2/>
  114. <cond3/>
  115. <cond99/>
  116. </send>
  117. <init>
  118. <srchcond1/>
  119. <dialfromdd/>
  120. <dialtodd/>
  121. <dialfromtm/>
  122. <dialtotm/>
  123. </init>
  124. </root>
  125. </instance>
  126. <script type="javascript" ev:event="xforms-ready">
  127. <![CDATA[
  128. //alert(getImageURL("dialexam2"));
  129. TChart1.visible = false;
  130. var localfile2 = "C:/Program Files/himed/components/TrustForm/TFViewer/dialexam2.gif";
  131. model.download(getDomain()+"/himed/webapps/emr/emrdialexamweb/images/dialexam2.gif", localfile2, false);
  132. var localfile3 = "C:/Program Files/himed/components/TrustForm/TFViewer/dialexam3.gif";
  133. model.download(getDomain()+"/himed/webapps/emr/emrdialexamweb/images/dialexam3.gif", localfile3, false);
  134. fInitialize();
  135. model.makeValue("/root/main/dialexaminfo/execdt", getCurrentDate());
  136. model.refresh();
  137. var pamInfoCvs = getGlobalVariable("paminfo"); //상단정보가 있을 경우는 검색
  138. //20130624 by kya
  139. //인증저장를 위해 상단정보가 있을 때만 인증저장/저장 버튼을 활성화시킨다.
  140. //start
  141. if ( pamInfoCvs == "" ){
  142. messageBox("상단정보가 없을 경우에는 저장기능이 제한됩니다.", "I007");
  143. button4.disabled = true;
  144. return;
  145. }
  146. //end
  147. var pid = "";
  148. //alert(pamInfoCvs);
  149. if(pamInfoCvs != "" ){ //cvs가 ""이 아닌 경우에만 처리함.
  150. model.removeNodeSet("/root/main/paminfo/list");
  151. setCSVToNode("/root/main/paminfo", pamInfoCvs);
  152. var ioflag = model.getValue("/root/main/paminfo/list/ioflag");
  153. //model.setValue("/root/hidden/condition/psnflag", ioflag);
  154. model.setValue("/root/main/condition/srchpid", model.getValue("/root/main/paminfo/list/pid") );
  155. //model.setValue("/root/main/condition/patname", model.getValue("/root/main/paminfo/list/hngnm") );
  156. //model.setValue("/root/main/condition/patrrgstno1", model.getValue("/root/main/paminfo/list/rrgstno1") );
  157. //model.setValue("/root/main/condition/patrrgstno2", model.getValue("/root/main/paminfo/list/rrgstno2") );
  158. //model.setValue("/root/main/condition/patsex", model.getValue("/root/main/paminfo/list/sex") );
  159. //model.setValue("/root/main/condition/patage", model.getValue("/root/main/paminfo/list/age") );
  160. model.refresh();
  161. model.makeValue ( "/root/send/cond1", "1");
  162. model.makeValue ( "/root/send/cond2", model.getValue ("/root/main/condition/srchpid" ));
  163. model.makeValue ( "/root/send/cond3", getUserInfo("dutplceinstcd"));
  164. model.makeValue ( "/root/send/cond99", "patchosinfo");
  165. if (!submit ( "TRMMO02501",false )) { //검색 시작 값이 없으면 clear 한다.
  166. model.resetInstanceNode ("/root/main/condition" );
  167. model.refresh();
  168. return;
  169. }
  170. var srcNodeList = model.instances(0).selectNodes("/root/patinfo/patinfolist");
  171. if ( srcNodeList.length == 1 ) { //값이 한개면 바로 화면에 보여준1다.
  172. ipt_srchpid.text = model.getValue ("/root/patinfo/patinfolist/pid");
  173. input5.text = model.getValue ("/root/patinfo/patinfolist/hngnm");
  174. output1.text = model.getValue ("/root/patinfo/patinfolist/rrgstno1");
  175. output5.text = model.getValue ("/root/patinfo/patinfolist/rrgstno2");
  176. output2.text = model.getValue ("/root/patinfo/patinfolist/sex");
  177. output3.text = model.getValue ("/root/patinfo/patinfolist/age");
  178. setHeight();
  179. doSearch("F");
  180. } else if ( srcNodeList.length > 1 ) { //값이 한개이상이면 팝업을 띄운다.
  181. searchPatinfoPop();
  182. }
  183. //setHeight();
  184. //doSearch("F");
  185. }
  186. ]]>
  187. </script>
  188. <submission id="TRMMO08403" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/main/dialexamlist"/>
  189. <submission id="TXMMO08403" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/req" replace="instance" resultref="/root/hidden/ret"/>
  190. <submission id="TRMMO08404" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/main/patinfoht"/>
  191. <submission id="TRMMO02501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/patinfo"/>
  192. <submission id="TRMMO08406" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/main/dialrawinfo"/>
  193. <script type="javascript">
  194. <![CDATA[
  195. function fInitialize() {
  196. var idate=new Date();
  197. var frDate=idate.getAddDate(-1, "M");
  198. model.setValue("/root/main/condition/fromdd", frDate.getDateFormat());
  199. model.setValue("/root/main/condition/todd", getCurrentDate());
  200. group4.visible = false;
  201. //setChartInit();
  202. }
  203. function calAdequacy() {
  204. TChart1.visible = true;
  205. if (model.getValue("/root/main/condition/patsex") == "" || model.getValue("/root/main/condition/patage") == "" || model.getValue("/root/main/condition/patheight") == "") {
  206. messageBox("적절도 계산시 성별, 나이, 신장은", "I003", "\n등록번호를 이용하여 환자정보를 조회하세요.");
  207. model.setFocus("ipt_srchpid");
  208. return;
  209. }
  210. // 계산에 필요한 항목
  211. var mid_pre_hdbun = model.getValue("/root/main/dialexaminfo/midblodbunval");
  212. var pre_hdbun = model.getValue("/root/main/dialexaminfo/preblodbunval");
  213. var post_hdbun = model.getValue("/root/main/dialexaminfo/postblodbunval");
  214. var interval = model.getValue("/root/main/dialexaminfo/dialintvlval");
  215. var weight = model.getValue("/root/main/dialexaminfo/bdwtval");
  216. var pat_sex = model.getValue("/root/main/condition/patsex");
  217. var pat_age = model.getValue("/root/main/condition/patage");
  218. var pat_height = model.getValue("/root/main/condition/patheight");
  219. var urine_vol = model.getValue("/root/main/dialexaminfo/urinevol"); // 소변량
  220. var urine_creatinine = model.getValue("/root/main/dialexaminfo/urinecreatival");
  221. var serum_creatinine = model.getValue("/root/main/dialexaminfo/serumcreatival");
  222. var urine_urea = model.getValue("/root/main/dialexaminfo/urineurea");
  223. var urine_time = model.getValue("/root/main/dialexaminfo/urinetm"); // 모은시간
  224. var ultrafilt_vol = model.getValue("/root/main/dialexaminfo/filtvol");
  225. var dial_time = model.getValue("/root/main/dialexaminfo/dialtims");
  226. var height = model.getValue("/root/main/dialexaminfo/bdhtval");
  227. var exec_dt = model.getValue("/root/main/dialexaminfo/execdt");
  228. if(exec_dt == "") { messageBox("검사일자는", "I003"); model.setFocus("ipt_execdt"); return; }
  229. if(weight == "") { messageBox("Weight는", "I003"); model.setFocus("input11"); return; }
  230. if(height == "") { messageBox("Height는", "I003"); model.setFocus("input1"); return; }
  231. if(serum_creatinine == "") { messageBox("Serum Creatinine은", "I003"); model.setFocus("input15"); return; }
  232. if(pre_hdbun == "") { messageBox("Pre HD BUN은", "I003"); model.setFocus("input3"); return; }
  233. if(post_hdbun == "") { messageBox("Post HD BUN은", "I003"); model.setFocus("input4"); return; }
  234. if(mid_pre_hdbun == "") { messageBox("MekWeek Pre HD BUN은", "I003"); model.setFocus("input16"); return; }
  235. if(interval == "") { messageBox("투석 Interval은", "I003"); model.setFocus("input6"); return; }
  236. if(dial_time == "") { messageBox("주당투석횟수는", "I003"); model.setFocus("combo1"); return; }
  237. if(ultrafilt_vol == "") { messageBox("Ultrafiltration Volume은", "I003"); model.setFocus("input17"); return; }
  238. if(urine_creatinine == "") { messageBox("Urine Creatinine은", "I003"); model.setFocus("input9"); return; }
  239. if(urine_vol == "") { messageBox("소변량은", "I003"); model.setFocus("input10"); return; }
  240. if(urine_time == "") { messageBox("모은시간은", "I003"); model.setFocus("input2"); return; }
  241. if(urine_urea == "") { messageBox("Urine Urea는", "I003"); model.setFocus("input14"); return; }
  242. //if(pat_age == "") { messageBox("나이는", "I003"); model.setFocus("weight"); return; }
  243. // Divide By Zero 관련 처리
  244. if(interval == 0) { messageBox("투석 Interval은 '0'값을 입력", "E001"); model.setFocus("input6"); return; }
  245. if(weight == 0) { messageBox("Weight는 '0'값을 입력", "E001"); model.setFocus("input11"); return; }
  246. if(pre_hdbun == 0) { messageBox("pre_hdbun은 '0'값을 입력", "E001"); model.setFocus("input3"); return; }
  247. if(urine_time == 0) { messageBox("모은시간은 '0'값을 입력", "E001"); model.setFocus("input2"); return; }
  248. if(serum_creatinine == 0) { messageBox("Serum Creatinine은 '0'값을 입력", "E001"); model.setFocus("input15"); return; }
  249. if(post_hdbun == 0) { messageBox("Post HD BUN은 '0'값을 입력", "E001"); model.setFocus("input4"); return; }
  250. if(mid_pre_hdbun == 0) { messageBox("MekWeek Pre HD BUN은 '0'값을 입력", "E001"); model.setFocus("input16"); return; }
  251. // 적절도 계산
  252. var tbw = getTBW(pat_sex, pat_age, height, weight);
  253. var pcr = getPCR(mid_pre_hdbun, post_hdbun, interval, urine_urea, weight);
  254. var npcr = getNPCR(pcr, tbw);
  255. var urr = getURR(pre_hdbun, post_hdbun);
  256. var krv = getKRV(urine_vol, urine_creatinine, serum_creatinine, urine_urea, post_hdbun, mid_pre_hdbun, urine_time);
  257. var cal_ktv = getCalKTV(post_hdbun, pre_hdbun, ultrafilt_vol, weight);
  258. var cal_resiktv = getCalResiKTV(cal_ktv, krv, tbw, dial_time);
  259. model.setValue("/root/main/caladequacy/calpcr", pcr); // PCR 계산
  260. model.setValue("/root/main/caladequacy/calnpcr", npcr); // NPCR 계산
  261. model.setValue("/root/main/caladequacy/calurr", urr); // URR 계산
  262. model.setValue("/root/main/caladequacy/calkrv", krv); // 잔여신기능 계산
  263. model.setValue("/root/main/caladequacy/calktv", cal_ktv); // 측정된 Kt/V 계산
  264. model.setValue("/root/main/caladequacy/calresiktv", cal_resiktv); // 잔여신기능을 포함한 Kt/V 계산
  265. model.refresh();
  266. fMakeChart();
  267. }
  268. function getCutNumber(num, place) {
  269. return Math.floor( num * Math.pow(10,parseInt(place,10)) ) / Math.pow(10,parseInt(place,10));
  270. }
  271. function getTBW(pat_sex, pat_age, pat_height, weight) {
  272. var this_tbw = 0;
  273. if(pat_sex == "M") { // 남자
  274. this_tbw = 2.447 - (0.09516 * pat_age) + (0.1074 * pat_height) + (0.3362 * weight);
  275. } else { // 여자
  276. this_tbw = (0.1069 * pat_height) + (0.2466 * weight) - 2.097;
  277. }
  278. return getCutNumber(this_tbw,4);
  279. }
  280. function getPCR(mid_pre_hdbun, post_hdbun, interval, urine_urea, weight) {
  281. var mid_post_interval;
  282. var urin_interval_weight;
  283. mid_post_interval = 0.036 * (mid_pre_hdbun - post_hdbun) * 24 / interval;
  284. var pcr1 = 0.22 + mid_post_interval;
  285. urin_interval_weight = 1.5 / interval / weight;
  286. var pcr2 = urine_urea * urin_interval_weight;
  287. var this_pcr = pcr1 + pcr2;
  288. return getCutNumber(this_pcr, 4);
  289. }
  290. function getNPCR(pcr, tbw) {
  291. var weight = model.getValue("/root/main/dialexaminfo/bdwtval");
  292. var this_npcr;
  293. if(tbw == 0) { this_npcr = 0; }
  294. else { this_npcr = pcr * weight / (tbw / 0.58); }
  295. return getCutNumber(this_npcr, 4);
  296. }
  297. function getURR(pre_hdbun, post_hdbun) {
  298. var this_urr;
  299. this_urr = (pre_hdbun - post_hdbun) / pre_hdbun * 100;
  300. return getCutNumber(this_urr, 4);
  301. }
  302. function getKRV(urine_vol, urine_creatinine, serum_creatinine, urine_urea, post_hdbun, mid_pre_hdbun, urine_time) { // 잔여신기능
  303. var urin_serum; var urin_post_mid; var urinTime;
  304. urin_serum = urine_creatinine/serum_creatinine;
  305. urin_serum = getCutNumber(urin_serum, 4);
  306. urin_post_mid = urine_urea/(0.25 * post_hdbun + 0.75 * mid_pre_hdbun);
  307. urin_post_mid = getCutNumber(urin_post_mid, 4);
  308. this_krv = urine_vol * (urin_serum + urin_post_mid) / (2 * urine_time * 60);
  309. return getCutNumber(this_krv, 4);
  310. }
  311. function getCalKTV(post_hdbun, pre_hdbun, ultrafilt_vol, weight) {
  312. var cal_ktv = 0;
  313. var post_pre; var ult_weight;
  314. post_pre = post_hdbun / pre_hdbun;
  315. ult_weight = ultrafilt_vol / weight;
  316. cal_ktv = -Math.log(post_pre - 0.03) + ((4 - 3.5 * (post_pre)) * ult_weight);
  317. return getCutNumber(cal_ktv, 4);
  318. }
  319. function getCalResiKTV(cal_ktv, krv, tbw, dial_time) {
  320. var cal_resiktv = 0; var krt_tbw = 0;
  321. if(dial_time == "2") {
  322. if(tbw == 0) { krt_tbw = 0; }
  323. else { krt_tbw = 9.5 * krv / tbw; }
  324. krt_tbw = getCutNumber(krt_tbw, 4);
  325. cal_resiktv = cal_ktv + krt_tbw;
  326. } else { // dial_time이 3일때
  327. if(tbw == 0) { krt_tbw = 0; }
  328. else { krt_tbw = 5.5 * krv / tbw; }
  329. krt_tbw = getCutNumber(krt_tbw, 4);
  330. cal_resiktv = cal_ktv + krt_tbw;
  331. }
  332. return getCutNumber(cal_resiktv, 4);
  333. }
  334. function viewDetInfo() {
  335. button4.disabled = false;
  336. model.setValue("/root/main/condition/srchpid", model.getValue("/root/main/dialexamlist/info[" + grd_dialexamlist.row + "]/srchpid"));
  337. model.copyNode("/root/main/dialexaminfo", "/root/main/dialexamlist/info[" + grd_dialexamlist.row + "]");
  338. if(model.getValue("/root/main/dialexaminfo/bdhtval") == "") {
  339. model.setValue("/root/main/dialexaminfo/bdhtval", model.getValue("/root/main/condition/patheight")) ;
  340. }
  341. model.refresh();
  342. calAdequacy(); // 적절도 계산
  343. //fMakeChart();
  344. }
  345. function doSearch(flag) {
  346. model.setValue("/root/main/condition/diafg", "H");
  347. model.copyNode("/root/send/reqdata", "/root/main/condition");
  348. var fromdd = model.getValue("/root/main/condition/fromdd");
  349. fromdd = fromdd.substr(0,4) + "-" + fromdd.substr(4,2) + "-" + fromdd.substr(6,2) + "-00.00.00.000000";
  350. model.setValue("/root/send/reqdata/fromdd", fromdd);
  351. var todd = model.getValue("/root/main/condition/todd");
  352. todd = todd.substr(0,4) + "-" + todd.substr(4,2) + "-" + todd.substr(6,2) + "-00.00.00.000000";
  353. model.setValue("/root/send/reqdata/todd", todd);
  354. //model.setValue("/root/send/reqdata/diafg", "D");
  355. submit("TRMMO08403");
  356. if(flag == "S"){ // 저장시
  357. } else { // 조회시
  358. model.resetInstanceNode("/root/main/dialexaminfo");
  359. model.resetInstanceNode("/root/main/caladequacy");
  360. model.refresh();
  361. setChartInit();
  362. }
  363. model.makeValue("/root/main/dialexaminfo/execdt", getCurrentDate());
  364. model.refresh();
  365. }
  366. function fMakeChart(){
  367. setChartInit();
  368. var xpoint = model.getValue("/root/main/caladequacy/calnpcr");
  369. var ypoint = model.getValue("/root/main/dialexaminfo/midblodbunval");
  370. if(xpoint == "") xpoint = 0;
  371. if(ypoint == "") ypoint = 0;
  372. if(xpoint < 0.5 || xpoint > 2.0) {
  373. messageBox("nPCR 값이 그래프 출력범위를", "E003");
  374. return;
  375. }
  376. if(ypoint < 10 || ypoint > 130) {
  377. messageBox("MidWeek Pre HD BUN 값이 그래프 축력범위를", "E003");
  378. return;
  379. }
  380. TChart1.Series(0).AddXY (xpoint, ypoint, "", TChart1.Series(0).Color);
  381. }
  382. function setChartInit() {
  383. TChart1.RemoveAllSeries();
  384. TChart1.Axis.RemoveAllCustom();
  385. //margin 값 정하기
  386. TChart1.Panel.MarginTop = 6;
  387. TChart1.Panel.MarginLeft = 16;
  388. TChart1.Panel.MarginRight = 8.5;
  389. //TChart1.Panel.MarginBottom = 8.6; // 가로 X축 보일때
  390. TChart1.Panel.MarginBottom = 13; // 가로 X축 보이지 않을때
  391. //TChart1.Panel.BorderStyle= 0;
  392. //TChart1.Axis.Bottom.TickLength = 1010;
  393. //백그라운드 이미지
  394. //alert(getDomain()+"/himed/webapps/emr/emrdialexamweb/images/97101201.gif");
  395. var examCnt = model.getValue("/root/main/dialexaminfo/dialtims") ;
  396. if(examCnt == 2) {
  397. setBackImageLoad(TChart1,"dialexam2");
  398. } else {
  399. setBackImageLoad(TChart1,"dialexam3");
  400. }
  401. //시간 생성
  402. //var stDate = new Date(2005, 2, 3, 0, 0);
  403. //var endDate = new Date(2005, 2, 10, 0, 0);
  404. //alert(Date.UTC(2005, 2, 3));
  405. //하단축 칸 수 정하기와 눈금 없애기
  406. //TChart1.Axis.Bottom.SetMinMax (0, MinTimeConst * 60 * 24 * 7 - 1);
  407. TChart1.Axis.Bottom.SetMinMax (0.5, 2.0); // 가로좌표 표현
  408. TChart1.Axis.Bottom.Increment = 0.1;
  409. TChart1.Axis.Bottom.MinorTickCount = 0.5;
  410. // TChart1.Axis.Bottom.AxisPen.Color = 0xffffff; // 가로축 아래 색 설정
  411. // TChart1.Axis.Bottom.GridPen.Color = 0xffffff // 세로 축 점선의 색 설정
  412. // TChart1.Axis.Bottom.Labels.Font.Color = 0xffffff; //하단 축 눈금 명칭 색을 하얀색으로 하여 보이지 않게 처리
  413. TChart1.Axis.Bottom.Labels.Visible = false; // 세로선 Visible
  414. TChart1.Header.Visible = false;
  415. TChart1.Header.Text(0)="혈액투석 적절도"; //헤더제목넣기
  416. TChart1.Header.Font.Bold = true; //헤더 굵게
  417. TChart1.Header.Font.Size = 10; //헤더 사이즈
  418. TChart1.Aspect.View3D = 0; //2d 로 표현하기
  419. //TChart1.Aspect.Chart3DPercent = 2;
  420. TChart1.Zoom.enable = false; // zoom 사용하지 않기
  421. TChart1.Scroll.Enable = false; // scroll 사용하지 않기
  422. TChart1.Legend.Visible = false; // 그래프 참조 박스 띄우지 않기
  423. TChart1.Environment.MouseWheelScroll = false;
  424. //TChart1.Panel.Gradient.Visible = true; // 페널에 그라디언트 적용
  425. var cus_axis1 = TChart1.Axis.AddCustom(false); // 체온축
  426. TChart1.Axis.Custom(0).AxisPen.Color = 0x0000ff; // 좌측 Y 축색 설정
  427. TChart1.Axis.Custom(0).Title.Caption = "HR";
  428. TChart1.Axis.Custom(0).Title.Font.Size = 8;
  429. // TChart1.Axis.Custom(0).Title.Font.Bold = true;
  430. TChart1.Axis.Custom(0).Title.Angle = 90;
  431. TChart1.Axis.Custom(0).PositionPercent = -8;
  432. TChart1.Axis.Custom(0).Automatic = false;
  433. TChart1.Axis.Custom(0).Maximum = 130;
  434. TChart1.Axis.Custom(0).Minimum = 10;
  435. TChart1.Axis.Custom(0).Increment = 10;
  436. TChart1.Axis.Custom(0).Visible= false; // 가로선 Visible
  437. TChart1.AddSeries (0); // 체온
  438. TChart1.Series(0).VerticalAxisCustom = cus_axis1; // Y축 기준
  439. TChart1.Series(0).asLine.LinePen.Width = 2;
  440. TChart1.Series(0).Color = 0x0000ff; // red
  441. TChart1.Series(0).asLine.Pointer.Visible = true;
  442. TChart1.Series(0).asLine.Pointer.Style = 1;
  443. TChart1.Series(0).asLine.Pointer.VerticalSize = 7; // 포인터 크기
  444. TChart1.Series(0).asLine.Pointer.HorizontalSize = 7;
  445. TChart1.Series(0).Depth = 1;
  446. }
  447. function setHeight() {
  448. model.copyNode("/root/send/reqdata", "/root/main/condition");
  449. submit("TRMMO08404");
  450. model.setValue("/root/main/condition/patheight", model.getValue("/root/main/patinfoht/info/bdht"));
  451. if(model.getValue("/root/main/condition/patheight") == ""){
  452. model.setValue("/root/main/condition/patheight", 0);
  453. }
  454. model.refresh();
  455. }
  456. function searchPatinfoPop() {
  457. if ( model.getValue ( "/root/init/srchcond1") == "1" ) { // 등록번호 검색
  458. model.makeValue("/root/temp/send/pid", model.getValue("/root/main/condition/srchpid"));
  459. model.makeValue("/root/temp/send/srchcond", "1");
  460. }
  461. if ( model.getValue ( "/root/init/srchcond1") == "2" ) { // 환자이름 검색
  462. model.makeValue("/root/temp/send/hngnm", model.getValue("/root/main/condition/patname"));
  463. model.makeValue("/root/temp/send/srchcond", "2");
  464. }
  465. var xpt = window.screenleft + 100;
  466. var ypt = window.screenTop + 100;
  467. modal("SPPMC02500", 1,150, 150, "SPPMC02500", "/root/temp/send", "/root/send");
  468. if(model.getValue("/root/main/popupendflag") != "ok") {
  469. return;
  470. }
  471. model.setValue("/root/main/condition/srchpid", model.getValue("/root/main/patinfo/patinfolist/pid"));
  472. model.setValue("/root/main/condition/patname", model.getValue("/root/main/patinfo/patinfolist/hngnm"));
  473. model.setValue("/root/main/condition/patrrgstno1", model.getValue("/root/main/patinfo/patinfolist/rrgstno1"));
  474. var patrrgstno2 = model.getValue("/root/main/patinfo/patinfolist/rrgstno2");
  475. patrrgstno2 = patrrgstno2.substr(0,1) + "******";
  476. //model.setValue("/root/main/condition/patrrgstno2", model.getValue("/root/main/patinfo/patinfolist/rrgstno2"));
  477. model.setValue("/root/main/condition/patrrgstno2", patrrgstno2);
  478. model.setValue("/root/main/condition/patsex", model.getValue("/root/main/patinfo/patinfolist/sex"));
  479. model.setValue("/root/main/condition/patage", model.getValue("/root/main/patinfo/patinfolist/age"));
  480. model.refresh();
  481. setHeight();
  482. doSearch("F");
  483. }
  484. function fMoveFocus(vCtrlID){
  485. if( event.keyCode == 13 ) {
  486. if( vCtrlID != "" ) model.setFocus(vCtrlID);
  487. }
  488. }
  489. ]]>
  490. </script>
  491. </model>
  492. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  493. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  494. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  495. <script type="javascript" src="../../../com/commonweb/js/tchartHelper.js"/>
  496. <script type="javascript" src="../../../emr/carecomweb/js/ENRSignEngine.js"/>
  497. <script type="javascript" src="../../../emr/emrdialexamweb/js/SMMMO08400.js"/>
  498. <script type="javascript" src="../../../emr/carecomweb/js/CareCom.js"/>
  499. </xhtml:head>
  500. <xhtml:body pagewidth="1240" pageheight="676" guideline="1,1194;" style="margin-left:8; margin-top:8; margin-right:8; margin-bottom:8; ">
  501. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  502. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:160px; height:13px; ">혈액투석 적절도 관리</caption>
  503. </group>
  504. <group id="group3" scroll="auto" style="left:0px; top:15px; width:1195px; height:650px; ">
  505. <group id="group2" style="left:0px; top:10px; width:1194px; height:35px; vertical-align:top; ">
  506. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:1194px; height:35px; "/>
  507. <output id="output4" ref="/root/main/condition/patheight" class="output_search" style="left:1065px; top:9px; width:30px; height:19px; "/>
  508. <output id="output5" ref="/root/main/condition/patrrgstno2" class="output_search" style="left:783px; top:9px; width:56px; height:19px; "/>
  509. <button id="button1" class="btn1_letter2" style="left:1129px; top:7px; width:56px; height:22px; ">
  510. <caption>조회</caption>
  511. <script type="javascript" ev:event="DOMActivate">
  512. <![CDATA[
  513. if(model.getValue("/root/main/condition/srchpid") ==""){
  514. messageBox("등록번호를 ", "C001");
  515. model.setFocus("ipt_srchpid");
  516. return;
  517. }
  518. doSearch("F");
  519. ]]>
  520. </script>
  521. </button>
  522. <input id="ipt_srchpid" ref="/root/main/condition/srchpid" class="input_s_essential" navindex="1" autonext="false" imemode="disabled" style="left:371px; top:9px; width:73px; height:19px; ">
  523. <script type="javascript" ev:event="onkeyup">
  524. <![CDATA[
  525. model.setValue ( "/root/init/srchcond1", "1");
  526. inputEnterKey ( "btn_bfprcpsrch", "DOMActivate" )
  527. ]]>
  528. </script>
  529. </input>
  530. <caption id="caption1" class="search_name" style="left:465px; top:9px; width:86px; height:17px; ">환자명 :</caption>
  531. <caption id="caption33" class="search_no_b" style="left:770px; top:10px; width:12px; height:17px; ">~</caption>
  532. <caption id="caption2" class="search_name" style="left:620px; top:9px; width:86px; height:17px; ">주민번호 :</caption>
  533. <caption id="caption3" class="search_name" style="left:844px; top:9px; width:93px; height:17px; ">성별/나이 :</caption>
  534. <caption id="caption5" class="search_name" style="left:986px; top:9px; width:79px; height:17px; ">Height :</caption>
  535. <line id="line1" class="line_4" style="x1:1119px; y1:7px; x2:1119px; y2:29px; "/>
  536. <input id="input5" ref="/root/main/condition/patname" class="input_s_essential" navindex="2" autonext="false" imemode="hangul" style="left:539px; top:9px; width:75px; height:19px; ">
  537. <script type="javascript" ev:event="onkeyup">
  538. <![CDATA[
  539. model.setValue ( "/root/init/srchcond1", "2");
  540. inputEnterKey ( "btn_bfprcpsrch", "DOMActivate" )
  541. ]]>
  542. </script>
  543. <script type="javascript" ev:event="xforms-value-changed">
  544. <![CDATA[]]>
  545. </script>
  546. </input>
  547. <caption id="caption7" style="left:1095px; top:13px; width:25px; height:15px; ">cm</caption>
  548. <caption id="caption16" class="search_name" style="left:284px; top:9px; width:99px; height:17px; ">등록번호 :</caption>
  549. <button id="btn_srchpid" class="icon_search" style="left:447px; top:10px; width:16px; height:16px; ">
  550. <caption/>
  551. <script type="javascript" ev:event="DOMActivate">
  552. <![CDATA[
  553. searchPatinfoPop();
  554. ]]>
  555. </script>
  556. </button>
  557. <output id="output1" ref="/root/main/condition/patrrgstno1" class="output_search" style="left:711px; top:9px; width:58px; height:19px; "/>
  558. <output id="output2" ref="/root/main/condition/patsex" class="output_search" style="left:941px; top:9px; width:20px; height:19px; "/>
  559. <output id="output3" ref="/root/main/condition/patage" class="output_search" style="left:963px; top:9px; width:20px; height:19px; "/>
  560. <caption id="caption37" class="search_name" style="left:3px; top:9px; width:116px; height:17px; ">시행일자 :</caption>
  561. <caption id="caption46" class="search_no_b" style="left:178px; top:9px; width:12px; height:17px; ">~</caption>
  562. <input id="ipt_todd" ref="/root/main/condition/todd" class="input_default" inputtype="date" style="left:192px; top:9px; width:86px; height:19px; "/>
  563. <input id="ipt_fromdd" ref="/root/main/condition/fromdd" class="input_default" inputtype="date" style="left:90px; top:9px; width:86px; height:19px; "/>
  564. </group>
  565. <caption id="caption31" class="tit_2" style="left:5px; top:53px; width:144px; height:13px; vertical-align:middle; ">혈액투석 적절도 조회</caption>
  566. <caption id="caption32" class="tit_2" style="left:455px; top:53px; width:170px; height:14px; vertical-align:middle; ">혈액투석 적절도 기본정보</caption>
  567. <button id="button2" class="btn2_letter5" style="left:1113px; top:198px; width:75px; height:19px; ">
  568. <caption>적절도 출력</caption>
  569. <script type="javascript" ev:event="DOMActivate">
  570. <![CDATA[
  571. TChart1.Export.SaveToBitmapFile(getTChartBackgroundImage("dialexamprint"));
  572. exeReportPreview("RPMMO08400", "XMLSTR", "", "", "false", "", "", "", "", "false");
  573. ]]>
  574. </script>
  575. </button>
  576. <caption id="caption50" class="cell_1" style="left:450px; top:173px; width:100px; height:23px; vertical-align:middle; ">P C R</caption>
  577. <button id="button3" class="btn2_letter5" style="left:1113px; top:175px; width:75px; height:19px; ">
  578. <caption>적절도 계산</caption>
  579. <script type="javascript" ev:event="DOMActivate">
  580. <![CDATA[
  581. calAdequacy();
  582. //fMakeChart();
  583. ]]>
  584. </script>
  585. </button>
  586. <caption id="caption40" class="cell_1" style="left:673px; top:173px; width:107px; height:23px; vertical-align:middle; ">n P C R</caption>
  587. <line id="line33" class="line_3" style="x1:450px; y1:220px; x2:1191px; y2:220px; "/>
  588. <caption id="caption41" class="cell_1" style="left:450px; top:197px; width:100px; height:23px; vertical-align:middle; ">잔여신기능</caption>
  589. <input id="input20" ref="/root/main/caladequacy/calnpcr" class="output_search" disabled="false" editable="false" style="left:783px; top:174px; width:117px; height:19px; "/>
  590. <caption id="caption30" style="left:1132px; top:75px; width:40px; height:15px; ">mg/dl</caption>
  591. <input id="input21" ref="/root/main/caladequacy/calktv" class="output_search" disabled="false" editable="false" style="left:783px; top:198px; width:117px; height:19px; "/>
  592. <caption id="caption20" style="left:636px; top:150px; width:45px; height:15px; ">mg/dl</caption>
  593. <caption id="caption42" class="cell_1" style="left:450px; top:144px; width:100px; height:23px; vertical-align:middle; ">Urine Creatinine</caption>
  594. <caption id="caption21" style="left:865px; top:127px; width:35px; height:15px; ">회</caption>
  595. <caption id="caption10" class="cell_1" style="left:673px; top:96px; width:107px; height:23px; vertical-align:middle; ">Post HD BUN</caption>
  596. <caption id="caption44" class="cell_1" style="left:903px; top:197px; width:100px; height:23px; vertical-align:middle; ">KT/V</caption>
  597. <caption id="caption22" style="left:865px; top:102px; width:40px; height:15px; ">mg/dl</caption>
  598. <caption id="caption11" class="cell_1" style="left:673px; top:120px; width:107px; height:23px; vertical-align:middle; ">주당투석횟수</caption>
  599. <input id="input24" ref="/root/main/caladequacy/calurr" class="output_search" disabled="false" editable="false" style="left:1006px; top:174px; width:104px; height:19px; "/>
  600. <caption id="caption23" style="left:761px; top:77px; width:20px; height:15px; ">kg</caption>
  601. <caption id="caption12" class="cell_1" style="left:673px; top:72px; width:46px; height:23px; vertical-align:middle; ">Weight</caption>
  602. <input id="input25" ref="/root/main/caladequacy/calresiktv" class="output_search" disabled="false" editable="false" style="left:1006px; top:198px; width:104px; height:19px; "/>
  603. <caption id="caption35" class="cell_1" style="left:673px; top:197px; width:107px; height:23px; vertical-align:middle; ">측정된 Kt/V</caption>
  604. <caption id="caption24" style="left:761px; top:150px; width:23px; height:15px; ">ml</caption>
  605. <caption id="caption13" class="cell_1" style="left:903px; top:96px; width:140px; height:23px; vertical-align:middle; ">MidWeek Pre HD BUN</caption>
  606. <caption id="caption4" class="cell_1" style="left:450px; top:96px; width:100px; height:23px; vertical-align:middle; ">Pre HD BUN</caption>
  607. <caption id="caption25" class="cell_1" style="left:783px; top:144px; width:56px; height:23px; vertical-align:middle; ">모은시간</caption>
  608. <caption id="caption14" class="cell_1" style="left:903px; top:120px; width:140px; height:23px; vertical-align:middle; ">Ultrafiltration Volume</caption>
  609. <line id="line2" class="line_1" style="x1:450px; y1:68px; x2:1191px; y2:68px; "/>
  610. <caption id="caption48" class="cell_1" style="left:903px; top:173px; width:100px; height:23px; vertical-align:middle; ">U R R</caption>
  611. <caption id="caption26" style="left:875px; top:150px; width:33px; height:15px; ">시간</caption>
  612. <caption id="caption15" class="cell_1" style="left:903px; top:72px; width:140px; height:23px; vertical-align:middle; ">Serum Creatinine</caption>
  613. <caption id="caption27" style="left:1132px; top:150px; width:40px; height:15px; ">mg/dl</caption>
  614. <line id="line4" class="line_2" style="x1:450px; y1:94px; x2:1187px; y2:94px; "/>
  615. <input id="input18" ref="/root/main/caladequacy/calpcr" class="output_search" disabled="false" editable="false" style="left:553px; top:176px; width:117px; height:19px; "/>
  616. <input id="input29" ref="/root/main/caladequacy/calkrv" class="output_search" disabled="false" editable="false" style="left:553px; top:198px; width:117px; height:19px; "/>
  617. <caption id="caption28" style="left:1132px; top:125px; width:40px; height:15px; ">l</caption>
  618. <caption id="caption17" class="cell_1" style="left:903px; top:144px; width:140px; height:23px; vertical-align:middle; ">Urine Urea</caption>
  619. <caption id="caption39" class="cell_1" style="left:450px; top:120px; width:100px; height:23px; vertical-align:middle; ">투석 Interval</caption>
  620. <caption id="caption8" class="cell_1" style="left:450px; top:72px; width:100px; height:23px; vertical-align:middle; ">검사일자</caption>
  621. <line id="line5" class="line_2" style="x1:450px; y1:118px; x2:1187px; y2:118px; "/>
  622. <caption id="caption29" style="left:1132px; top:100px; width:40px; height:15px; ">mg/dl</caption>
  623. <caption id="caption18" style="left:636px; top:102px; width:38px; height:15px; ">mg/dl</caption>
  624. <input id="ipt_execdt" ref="/root/main/dialexaminfo/execdt" class="input_essential" inputtype="date" style="left:553px; top:73px; width:117px; height:19px; ">
  625. <script type="javascript" ev:event="onkeyup">
  626. <![CDATA[
  627. fMoveFocus("input11");
  628. ]]>
  629. </script>
  630. </input>
  631. <input id="input11" ref="/root/main/dialexaminfo/bdwtval" class="input_default" imemode="disabled" format="#.#" style="left:722px; top:73px; width:38px; height:19px; ">
  632. <script type="javascript" ev:event="onkeyup">
  633. <![CDATA[
  634. fMoveFocus("input1");
  635. ]]>
  636. </script>
  637. </input>
  638. <input id="input1" ref="/root/main/dialexaminfo/bdhtval" class="input_default" imemode="disabled" format="#.#" style="left:830px; top:73px; width:44px; height:19px; ">
  639. <script type="javascript" ev:event="onkeyup">
  640. <![CDATA[
  641. fMoveFocus("input15");
  642. ]]>
  643. </script>
  644. </input>
  645. <input id="input15" ref="/root/main/dialexaminfo/serumcreatival" class="input_default" imemode="disabled" format="#.#" style="left:1046px; top:73px; width:85px; height:19px; ">
  646. <script type="javascript" ev:event="onkeyup">
  647. <![CDATA[
  648. fMoveFocus("input3");
  649. ]]>
  650. </script>
  651. </input>
  652. <input id="input3" ref="/root/main/dialexaminfo/preblodbunval" class="input_default" imemode="disabled" format="#.#" style="left:553px; top:97px; width:82px; height:19px; ">
  653. <script type="javascript" ev:event="onkeyup">
  654. <![CDATA[
  655. fMoveFocus("input4");
  656. ]]>
  657. </script>
  658. </input>
  659. <input id="input4" ref="/root/main/dialexaminfo/postblodbunval" class="input_default" imemode="disabled" format="#.#" style="left:783px; top:97px; width:81px; height:19px; ">
  660. <script type="javascript" ev:event="onkeyup">
  661. <![CDATA[
  662. fMoveFocus("input16");
  663. ]]>
  664. </script>
  665. </input>
  666. <input id="input16" ref="/root/main/dialexaminfo/midblodbunval" class="input_default" imemode="disabled" format="#.#" style="left:1046px; top:97px; width:85px; height:19px; ">
  667. <script type="javascript" ev:event="onkeyup">
  668. <![CDATA[
  669. fMoveFocus("input6");
  670. ]]>
  671. </script>
  672. </input>
  673. <input id="input6" ref="/root/main/dialexaminfo/dialintvlval" class="input_default" imemode="disabled" format="#.#" style="left:553px; top:121px; width:62px; height:19px; ">
  674. <script type="javascript" ev:event="onkeyup">
  675. <![CDATA[
  676. fMoveFocus("combo1");
  677. ]]>
  678. </script>
  679. </input>
  680. <select1 id="combo1" ref="/root/main/dialexaminfo/dialtims" appearance="minimal" style="left:783px; top:121px; width:81px; height:19px; ">
  681. <choices>
  682. <item>
  683. <label>2</label>
  684. <value>2</value>
  685. </item>
  686. <item>
  687. <label>3</label>
  688. <value>3</value>
  689. </item>
  690. </choices>
  691. <script type="javascript" ev:event="onkeyup">
  692. <![CDATA[
  693. fMoveFocus("input17");
  694. ]]>
  695. </script>
  696. </select1>
  697. <input id="input17" ref="/root/main/dialexaminfo/filtvol" class="input_default" imemode="disabled" format="#.#" style="left:1046px; top:121px; width:85px; height:19px; ">
  698. <script type="javascript" ev:event="onkeyup">
  699. <![CDATA[
  700. fMoveFocus("input9");
  701. ]]>
  702. </script>
  703. </input>
  704. <input id="input9" ref="/root/main/dialexaminfo/urinecreatival" class="input_default" imemode="disabled" format="#.#" style="left:553px; top:146px; width:82px; height:19px; ">
  705. <script type="javascript" ev:event="onkeyup">
  706. <![CDATA[
  707. fMoveFocus("input10");
  708. ]]>
  709. </script>
  710. </input>
  711. <input id="input10" ref="/root/main/dialexaminfo/urinevol" class="input_default" imemode="disabled" format="#.#" style="left:722px; top:146px; width:38px; height:19px; ">
  712. <script type="javascript" ev:event="onkeyup">
  713. <![CDATA[
  714. fMoveFocus("input2");
  715. ]]>
  716. </script>
  717. </input>
  718. <input id="input2" ref="/root/main/dialexaminfo/urinetm" class="input_default" imemode="disabled" format="#.#" style="left:842px; top:146px; width:32px; height:19px; ">
  719. <script type="javascript" ev:event="onkeyup">
  720. <![CDATA[
  721. fMoveFocus("input14");
  722. ]]>
  723. </script>
  724. </input>
  725. <input id="input14" ref="/root/main/dialexaminfo/urineurea" class="input_default" imemode="disabled" format="#.#" style="left:1046px; top:146px; width:85px; height:19px; "/>
  726. <caption id="caption9" class="cell_1" style="left:673px; top:144px; width:46px; height:23px; vertical-align:middle; ">소변량</caption>
  727. <line id="line6" class="line_2" style="x1:450px; y1:142px; x2:1187px; y2:142px; "/>
  728. <caption id="caption19" style="left:636px; top:125px; width:34px; height:15px; ">시간</caption>
  729. <line id="line7" class="line_1" style="x1:450px; y1:169px; x2:1191px; y2:169px; "/>
  730. <datagrid id="grd_dialexamlist" nodeset="/root/main/dialexamlist/info" caption="시행일자^KT/V^URR^n-PCR" colsep="^" colwidth="100, 111, 109, 100" dataheight="25" explorerbar="sort" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="25" rowsep="|" style="left:0px; top:70px; width:443px; height:548px; ">
  731. <col ref="execdt" format="yyyy-mm-dd" style="left:613px; top:32px; width:93px; height:23px; "/>
  732. <col ref="calktv"/>
  733. <col ref="calurr"/>
  734. <col ref="calpcr"/>
  735. <script type="javascript" ev:event="onclick">
  736. <![CDATA[
  737. if( grd_dialexamlist.rows- grd_dialexamlist.fixedRows > 0 && grd_dialexamlist.mouseRow != 0){
  738. viewDetInfo();
  739. }
  740. ]]>
  741. </script>
  742. </datagrid>
  743. <line id="line3" class="line_1" style="x1:0px; y1:68px; x2:443px; y2:68px; "/>
  744. <shape id="rectangle1" appearance="rectangle" style="left:450px; top:230px; width:742px; height:387px; color:transparent; border-color:#c0c0c0; "/>
  745. <group id="grp_btn" style="left:0px; top:620px; width:1194px; height:27px; ">
  746. <button id="button42" class="btn4_letter2" visibility="visible" style="left:1135px; top:3px; width:56px; height:22px; ">
  747. <caption>삭제</caption>
  748. <script type="javascript" ev:event="DOMActivate">
  749. <![CDATA[
  750. fDelKTRecInfo("C");
  751. // if ( messageBox("데이터를", "Q001") == 6 ) {
  752. // if( grd_dialexamlist.rows- grd_dialexamlist.fixedRows > 0 ){
  753. // var rowcnt = grd_dialexamlist.selectedRow(0);
  754. // if(rowcnt < 1) {
  755. // var msg = messageBox("삭제할 정보를 ", "C002");
  756. // return;
  757. // } else {
  758. // model.setValue("/root/main/dialexaminfo/state", "D");
  759. // model.copyNode("/root/send/req/data1", "/root/main/dialexaminfo");
  760. // var exec_date = model.getValue("/root/main/dialexaminfo/execdt");
  761. // exec_date = exec_date.substr(0,4) + "-" + exec_date.substr(4,2) + "-" + exec_date.substr(6,2) + "-00.00.00.000000";
  762. // model.setValue("/root/send/req/data1/execdt", exec_date);
  763. //
  764. // //submit("TXMMO08403");
  765. // setCareInfoDel("TXMMO08403"); //CareCom.js
  766. //
  767. // // 삭제후 상세정보 지우기
  768. // //model.resetInstanceNode("/root/main/condition");
  769. // model.resetInstanceNode("/root/main/dialexaminfo");
  770. // model.resetInstanceNode("/root/main/caladequacy");
  771. // model.refresh();
  772. //
  773. // doSearch("D");
  774. // }
  775. // }
  776. // }
  777. ]]>
  778. </script>
  779. </button>
  780. <button id="button8" class="btn4_letter2" visibility="hidden" style="left:705px; top:5px; width:56px; height:22px; ">
  781. <caption>저장</caption>
  782. <script type="javascript" ev:event="DOMActivate">
  783. <![CDATA[
  784. if ( messageBox("데이터를", "Q002") == 6 ) {
  785. if (model.getValue("/root/main/condition/srchpid") == "") {
  786. messageBox("등록번호 항목은", "I003");
  787. model.setFocus("ipt_srchpid");
  788. return;
  789. }
  790. if (model.getValue("/root/main/dialexaminfo/execdt") == "") {
  791. messageBox("검사일자 항목은", "I003");
  792. model.setFocus("ipt_execdt");
  793. return;
  794. }
  795. calAdequacy(); // 적절도 계산
  796. //fMakeChart();
  797. model.setValue("/root/main/dialexaminfo/srchpid", model.getValue("/root/main/condition/srchpid"));
  798. model.setValue("/root/main/dialexaminfo/calpcr", model.getValue("/root/main/caladequacy/calpcr"));
  799. model.setValue("/root/main/dialexaminfo/calurr", model.getValue("/root/main/caladequacy/calurr"));
  800. model.setValue("/root/main/dialexaminfo/calktv", model.getValue("/root/main/caladequacy/calktv"));
  801. //model.setValue("/root/main/dialexaminfo/calnpcr", model.getValue("/root/main/caladequacy/calnpcr"));
  802. //model.setValue("/root/main/dialexaminfo/calkrv", model.getValue("/root/main/caladequacy/calkrv"));
  803. //model.setValue("/root/main/dialexaminfo/calresiktv", model.getValue("/root/main/caladequacy/calresiktv"));
  804. model.setValue("/root/main/dialexaminfo/dialflag", "H");
  805. if(model.getValue("/root/main/dialexaminfo/dialseq") == ""){
  806. model.setValue("/root/main/dialexaminfo/dialseq", 0);
  807. }
  808. model.copyNode("/root/send/req/data1", "/root/main/dialexaminfo");
  809. var exec_date = model.getValue("/root/main/dialexaminfo/execdt");
  810. exec_date = exec_date.substr(0,4) + "-" + exec_date.substr(4,2) + "-" + exec_date.substr(6,2) + "-00.00.00.000000";
  811. model.setValue("/root/send/req/data1/execdt", exec_date);
  812. submit("TXMMO08403"); // 저장/수정
  813. doSearch("S");
  814. }
  815. ]]>
  816. </script>
  817. </button>
  818. <button id="button16" class="btn4_letter3" style="left:905px; top:3px; width:68px; height:22px; border-color:transparent; ">
  819. <caption>초기화</caption>
  820. <script type="javascript" ev:event="DOMActivate">
  821. <![CDATA[
  822. model.resetInstanceNode("/root/main/dialexaminfo");
  823. model.resetInstanceNode("/root/main/caladequacy");
  824. model.makeValue("/root/main/dialexaminfo/execdt", getCurrentDate());
  825. model.refresh();
  826. setChartInit();
  827. ]]>
  828. </script>
  829. </button>
  830. <button id="button4" class="btn4_letter4" style="left:1055px; top:3px; width:80px; height:22px; ">
  831. <caption>인증저장</caption>
  832. <script type="javascript" ev:event="onclick">
  833. <![CDATA[
  834. fSaveKTRecInfo("C");
  835. ]]>
  836. </script>
  837. </button>
  838. <button id="button5" class="btn4_letter4" style="left:975px; top:3px; width:80px; height:22px; ">
  839. <caption>임시저장</caption>
  840. <script type="javascript" ev:event="onclick">
  841. <![CDATA[
  842. fSaveKTRecInfo("T");
  843. ]]>
  844. </script>
  845. </button>
  846. <button id="button6" class="btn5_letter4" visibility="hidden" style="left:475px; top:5px; width:64px; height:19px; ">
  847. <caption>기록삭제</caption>
  848. <script type="javascript" ev:event="DOMActivate">
  849. <![CDATA[
  850. fDelKTRecInfo("C");
  851. ]]>
  852. </script>
  853. </button>
  854. </group>
  855. <line id="line8" class="line_3" style="x1:450px; y1:167px; x2:1191px; y2:167px; "/>
  856. <object id="TChart1" clsid="{fab9b41c-87d6-474d-ab7e-f07d78f2422e}" Top="253" Width="395" Left="316" Height="370" style="left:580px; top:240px; width:396px; height:370px; margin-left:2; margin-top:1; ">
  857. <script ev:event="OnClick">
  858. <![CDATA[
  859. ]]>
  860. </script>
  861. </object>
  862. <caption id="caption34" style="left:875px; top:77px; width:20px; height:15px; ">cm</caption>
  863. <caption id="caption36" class="cell_1" style="left:782px; top:72px; width:44px; height:23px; vertical-align:middle; ">Height</caption>
  864. <button id="btn_bfprcpsrch" class="btn1_letter2" visibility="hidden" style="left:1125px; top:45px; width:56px; height:22px; ">
  865. <caption>조회</caption>
  866. <script type="javascript" ev:event="DOMActivate">
  867. <![CDATA[
  868. model.setValue ( "/root/send/cond1", model.getValue ( "/root/init/srchcond1" ));
  869. if ( model.getValue ( "/root/send/cond1") == "1" ) {
  870. model.setValue ( "/root/send/cond2", model.getValue ("/root/main/condition/srchpid" ));
  871. } else {
  872. model.setValue ( "/root/send/cond2", model.getValue ("/root/main/condition/patname" ));
  873. }
  874. model.setValue ( "/root/send/cond3", getUserInfo("dutplceinstcd"));
  875. model.setValue ( "/root/send/cond99", "patchosinfo");
  876. if (!submit ( "TRMMO02501",false )) { //검색 시작 값이 없으면 clear 한다.
  877. model.resetInstanceNode ("/root/main/condition" );
  878. model.refresh();
  879. return;
  880. }
  881. var srcNodeList = model.instances(0).selectNodes("/root/patinfo/patinfolist");
  882. if ( srcNodeList.length == 1 ) { //값이 한개면 바로 화면에 보여준1다.
  883. ipt_srchpid.text = model.getValue ("/root/patinfo/patinfolist/pid");
  884. input5.text = model.getValue ("/root/patinfo/patinfolist/hngnm");
  885. output1.text = model.getValue ("/root/patinfo/patinfolist/rrgstno1");
  886. output5.text = model.getValue ("/root/patinfo/patinfolist/rrgstno2");
  887. output2.text = model.getValue ("/root/patinfo/patinfolist/sex");
  888. output3.text = model.getValue ("/root/patinfo/patinfolist/age");
  889. setHeight();
  890. doSearch("F");
  891. } else if ( srcNodeList.length > 1 ) { //값이 한개이상이면 팝업을 띄운다.
  892. searchPatinfoPop();
  893. }
  894. model.refresh();
  895. ]]>
  896. </script>
  897. </button>
  898. <button id="btn_get" class="btn1_letter2" style="left:810px; top:45px; width:56px; height:22px; ">
  899. <caption>수집</caption>
  900. <script type="javascript" ev:event="DOMActivate">
  901. <![CDATA[
  902. if (model.getValue("/root/main/condition/srchpid") == "") {
  903. messageBox("등록번호 항목은", "I003");
  904. model.setFocus("ipt_srchpid");
  905. return;
  906. }
  907. if (model.getValue("/root/main/dialexaminfo/execdt") == "") {
  908. messageBox("검사일자 항목은", "I003");
  909. model.setFocus("ipt_execdt");
  910. return;
  911. }
  912. model.makeValue ( "/root/send/reqdata/srchpid", model.getValue ("/root/main/condition/srchpid" ));
  913. model.makeValue ( "/root/send/reqdata/execdt", model.getValue ("/root/main/dialexaminfo/execdt").substr(0,8));
  914. model.makeValue ( "/root/send/reqdata/diafg", "H");
  915. if (submit ("TRMMO08406") ) {
  916. model.setValue("/root/main/dialexaminfo/bdwtval", model.getValue ("/root/main/dialrawinfo/info/bdwtval" ));
  917. model.setValue("/root/main/dialexaminfo/bdhtval", model.getValue ("/root/main/dialrawinfo/info/bdhtval" ));
  918. model.setValue("/root/main/dialexaminfo/serumcreatival", model.getValue ("/root/main/dialrawinfo/info/serumcreatival" ));
  919. model.setValue("/root/main/dialexaminfo/preblodbunval", model.getValue ("/root/main/dialrawinfo/info/preblodbunval" ));
  920. model.setValue("/root/main/dialexaminfo/postblodbunval", model.getValue ("/root/main/dialrawinfo/info/postblodbunval" ));
  921. model.setValue("/root/main/dialexaminfo/bdhtval", model.getValue ("/root/main/dialrawinfo/info/bdhtval" ));
  922. model.setValue("/root/main/dialexaminfo/midblodbunval", model.getValue ("/root/main/dialrawinfo/info/midblodbunval" ));
  923. model.setValue("/root/main/dialexaminfo/dialintvlval", model.getValue ("/root/main/dialrawinfo/info/dialintvlval" ));
  924. model.setValue("/root/main/dialexaminfo/dialtims", model.getValue ("/root/main/dialrawinfo/info/dialtims" ));
  925. model.setValue("/root/main/dialexaminfo/filtvol", model.getValue ("/root/main/dialrawinfo/info/filtvol" ));
  926. model.setValue("/root/main/dialexaminfo/urinecreatival", model.getValue ("/root/main/dialrawinfo/info/urinecreatival" ));
  927. model.setValue("/root/main/dialexaminfo/urineurea", model.getValue ("/root/main/dialrawinfo/info/urineurea" ));
  928. model.setValue("/root/main/dialexaminfo/urinevol", model.getValue ("/root/main/dialrawinfo/info/urinevol" ));
  929. model.setValue("/root/main/dialexaminfo/urinetm", model.getValue ("/root/main/dialrawinfo/info/urinetm" ));
  930. }
  931. model.refresh();
  932. ]]>
  933. </script>
  934. </button>
  935. <button id="btn_interval" class="btn1_letter2" style="left:615px; top:120px; width:56px; height:22px; ">
  936. <caption>시간</caption>
  937. <script type="javascript" ev:event="onclick">
  938. <![CDATA[
  939. //투석 interval 시간계산 화면
  940. model.setValue("/root/init/dialfromdd",model.getValue("/root/main/dialexaminfo/execdt"));
  941. model.setValue("/root/init/dialtodd",model.getValue("/root/main/dialexaminfo/execdt"));
  942. model.setValue("/root/init/dialfromtm","0000");
  943. model.setValue("/root/init/dialtotm", "2300");
  944. model.refresh();
  945. group4.visible = true;
  946. ]]>
  947. </script>
  948. </button>
  949. <group id="group4" style="left:510px; top:150px; width:260px; height:85px; ">
  950. <caption id="caption38" style="left:15px; top:15px; width:85px; height:15px; ">투석시작일시 :</caption>
  951. <caption id="caption43" style="left:15px; top:35px; width:85px; height:15px; ">투석종료일시 :</caption>
  952. <button id="button7" class="btn1_letter2" style="left:130px; top:60px; width:56px; height:22px; ">
  953. <caption>계산</caption>
  954. <script type="javascript" ev:event="onclick">
  955. <![CDATA[
  956. var frdd = model.getValue("/root/init/dialfromdd");
  957. var frtm = model.getValue("/root/init/dialfromtm"); //시작일자
  958. var todd = model.getValue("/root/init/dialtodd");
  959. var totm = model.getValue("/root/init/dialtotm") ; //종료일자
  960. model.refresh();
  961. if(frdd == "") {
  962. model.alert("적용시작일자를 입력해 주십시요");
  963. return false;
  964. }
  965. if(todd == "") {
  966. model.alert("적용종료일자를 입력해 주십시요");
  967. return false;
  968. }
  969. if(frdd > todd) {
  970. model.alert("적용시작일자가 적용종료일자보다 큽니다.");
  971. return false;
  972. }
  973. var term = (getDateInterval(frdd, todd) * 12 ) + (getTimeInterval(frtm, totm)/60/60) ;
  974. model.setValue("/root/main/dialexaminfo/dialintvlval",term);
  975. // alert("간격 term= " + term);
  976. input6.refresh();
  977. group4.visible = false;
  978. ]]>
  979. </script>
  980. </button>
  981. <button id="button9" class="btn1_letter2" style="left:190px; top:60px; width:56px; height:22px; ">
  982. <caption>종료</caption>
  983. <script type="javascript" ev:event="onclick">
  984. <![CDATA[
  985. group4.visible = false;
  986. ]]>
  987. </script>
  988. </button>
  989. <input id="ipt_dialfromdd" ref="/root/init/dialfromdd" inputtype="date" format="yyyy-mm-dd hh:mm" style="left:105px; top:10px; width:85px; height:19px; "/>
  990. <input id="ipt_dialtodd" ref="/root/init/dialtodd" inputtype="date" style="left:105px; top:35px; width:85px; height:19px; "/>
  991. <input id="ipt_dialfromtm" ref="/root/init/dialfromtm" maxlength="5" format="hh:nn" style="left:195px; top:10px; width:55px; height:19px; "/>
  992. <input id="ipt_dialtotm" ref="/root/init/dialtotm" maxlength="5" format="hh:nn" style="left:195px; top:35px; width:55px; height:19px; "/>
  993. <shape id="rectangle2" appearance="rectangle" style="left:5px; top:5px; width:250px; height:80px; "/>
  994. </group>
  995. </group>
  996. </xhtml:body>
  997. </xhtml:html>