SMMMO08302_복막투석적절도관리.xfdl 58 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099
  1. <?xml version="1.0" encoding="utf-8" standalone="no"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml" />
  4. <Form id="SMMMO08302" position="absolute 0 0 1240 676" titletext="복막투석적절도관리" onload="SMMMO08302_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div id="group1" position="absolute 0 0 1195 13" style="">
  8. <Layouts>
  9. <Layout>
  10. <Static id="caption6" class="tit_1" position="absolute 0 0 160 14" style="" text="복막투석 적절도 관리" />
  11. </Layout>
  12. </Layouts>
  13. </Div>
  14. <Div id="group3" scrollbars="autoboth" position="absolute 0 15 1195 665" style="">
  15. <Layouts>
  16. <Layout>
  17. <Div id="group2" position="absolute 0 10 1194 45" style="align: top;">
  18. <Layouts>
  19. <Layout>
  20. <Shape id="roundrect1" anchor="default" class="roundrect_search" type="roundrectangle" position="absolute 0 0 1194 35" style="" />
  21. <Button id="button1" class="btn1_letter2" position="absolute 1129 7 1185 29" style="" text="조회" onclick="group3_group2_button1_onclick" />
  22. <Shape id="line1" class="line_4" linetype="vertical" position="absolute 1119 7 1122 29" style="" anchor="default" />
  23. <Static id="caption1" class="search_name" position="absolute 465 9 551 26" style="" text="환자명 :" />
  24. <Edit id="ipt_patname" class="input_s_essential" taborder="2" position="absolute 539 9 614 28" style="" anchor="default" onkeyup="group3_group2_ipt_patname_onkeyup" />
  25. <Edit id="ipt_srchpid" class="input_s_essential" taborder="1" position="absolute 371 9 444 28" style="" anchor="default" onkeyup="group3_group2_ipt_srchpid_onkeyup" />
  26. <Static id="caption16" class="search_name" position="absolute 284 9 383 26" style="" text="등록번호 :" />
  27. <Button id="btn_srchpid" class="icon_search" position="absolute 447 10 463 26" style="" text="" onclick="group3_group2_btn_srchpid_onclick" />
  28. <Static id="caption2" class="search_name" position="absolute 620 9 706 26" style="" text="주민번호 :" />
  29. <Static id="caption3" class="search_name" position="absolute 844 9 937 26" style="" text="성별_나이 :" />
  30. <Static id="caption5" class="search_name" position="absolute 986 9 1065 26" style="" text="Height :" />
  31. <Static id="caption7" position="absolute 1095 13 1120 28" style="" text="cm" />
  32. <Edit id="output1" class="output_search" position="absolute 711 9 769 28" style="" anchor="default" readonly="true" />
  33. <Edit id="output2" class="output_search" position="absolute 941 9 961 28" style="" anchor="default" readonly="true" />
  34. <Edit id="output3" class="output_search" position="absolute 963 9 983 28" style="" anchor="default" readonly="true" />
  35. <Edit id="output4" class="output_search" position="absolute 1065 9 1095 28" style="" anchor="default" readonly="true" />
  36. <Edit id="output5" class="output_search" position="absolute 783 9 839 28" style="" anchor="default" readonly="true" />
  37. <Static id="caption33" class="search_no_b" position="absolute 770 10 782 27" style="" text="~" />
  38. <Static id="caption46" class="search_no_b" position="absolute 178 9 190 26" style="" text="~" />
  39. <Calendar id="ipt_todd" class="input_default" position="absolute 192 9 278 28" style="" anchor="default" />
  40. <Static id="caption44" class="search_name" position="absolute 3 9 119 26" style="" text="시행일자 :" />
  41. <Calendar id="ipt_fromdd" class="input_default" position="absolute 90 9 176 28" style="" anchor="default" />
  42. </Layout>
  43. </Layouts>
  44. </Div>
  45. <Static id="caption31" class="tit_2" position="absolute 5 53 149 67" style="align: middle;" text="복막투석 적절도 조회" />
  46. <Static id="caption32" class="tit_2" position="absolute 555 53 725 66" style="align: middle;" text="복막투석 적절도 기본정보" />
  47. <Static id="caption20" position="absolute 833 151 878 166" style="" text="mg_dl" />
  48. <Static id="caption42" class="cell_1" position="absolute 550 144 747 167" style="align: middle;" text="urine creatinine" />
  49. <Static id="caption21" position="absolute 1151 126 1186 141" style="" text="ml" />
  50. <Static id="caption11" class="cell_1" position="absolute 873 120 1067 143" style="align: middle;" text="urine volume" />
  51. <Shape id="line2" class="line_1" linetype="horizontal" position="absolute 550 68 1191 71" style="" anchor="default" />
  52. <Shape id="line4" class="line_2" linetype="horizontal" position="absolute 550 94 1191 97" style="" anchor="default" />
  53. <Static id="caption39" class="cell_1" position="absolute 550 120 747 143" style="align: middle;" text="urine collection duration" />
  54. <Static id="caption8" class="cell_1" position="absolute 550 72 747 95" style="align: middle;" text="시행일자" />
  55. <Shape id="line5" class="line_2" linetype="horizontal" position="absolute 550 118 1191 121" style="" anchor="default" />
  56. <Static id="caption9" class="cell_1" position="absolute 873 144 1067 167" style="align: middle;" text="urine urea" />
  57. <Static id="caption19" position="absolute 833 126 867 141" style="" text="hrs" />
  58. <Shape id="line7" class="line_1" linetype="horizontal" position="absolute 550 297 1191 300" style="" anchor="default" />
  59. <Grid id="grd_dialexamlist" binddataset="ds_main_dialexamlist_info" position="absolute 0 70 540 615" style="" oncellclick="group3_grd_dialexamlist_oncellclick">
  60. <Formats>
  61. <Format id="default">
  62. <Columns>
  63. <Column size="100" />
  64. <Column size="145" />
  65. <Column size="138" />
  66. <Column size="134" />
  67. </Columns>
  68. <Rows>
  69. <Row size="25" band="head" />
  70. <Row size="25" />
  71. </Rows>
  72. <Band id="head">
  73. <Cell text="시행일자" />
  74. <Cell col="1" text="Weekly KT_V" />
  75. <Cell col="2" text="Weekly Ccr" />
  76. <Cell col="3" text="nPNA" />
  77. </Band>
  78. <Band id="body">
  79. <Cell text="bind:execdt" />
  80. <Cell col="1" text="bind:calktv" />
  81. <Cell col="2" text="bind:calwccr" />
  82. <Cell col="3" text="bind:calnpna" />
  83. </Band>
  84. </Format>
  85. </Formats>
  86. </Grid>
  87. <Shape id="line3" class="line_1" linetype="horizontal" position="absolute 0 68 540 71" style="" anchor="default" />
  88. <Div id="grp_btn" position="absolute 0 620 1194 647" style="">
  89. <Layouts>
  90. <Layout>
  91. <Button id="button42" class="btn4_letter2" position="absolute 1137 3 1193 25" style="" text="삭제" onclick="group3_grp_btn_button42_onclick" />
  92. <Button id="button8" class="btn4_letter2" position="absolute 1078 3 1134 25" style="" text="저장" onclick="group3_grp_btn_button8_onclick" />
  93. <Button id="button16" class="btn4_letter3" position="absolute 1007 3 1075 25" style="" text="초기화" onclick="group3_grp_btn_button16_onclick" />
  94. </Layout>
  95. </Layouts>
  96. </Div>
  97. <Static id="caption13" position="absolute 1151 151 1186 166" style="" text="mg_dl" />
  98. <Shape id="line6" class="line_2" linetype="horizontal" position="absolute 550 142 1191 145" style="" anchor="default" />
  99. <Shape id="line8" class="line_2" linetype="horizontal" position="absolute 550 167 1191 170" style="" anchor="default" />
  100. <Shape id="line9" class="line_2" linetype="horizontal" position="absolute 550 192 1191 195" style="" anchor="default" />
  101. <Calendar id="ipt_execdt" class="input_essential" position="absolute 750 73 867 92" style="" anchor="default" onkeyup="group3_ipt_execdt_onkeyup" />
  102. <MaskEdit id="input16" class="input_default" mask="#.#" position="absolute 750 97 831 116" style="" anchor="default" onkeyup="group3_input16_onkeyup" />
  103. <MaskEdit id="input1" class="input_default" mask="#.#" position="absolute 1070 97 1151 116" style="" anchor="default" onkeyup="group3_input1_onkeyup" />
  104. <MaskEdit id="input13" class="input_default" mask="#.#" position="absolute 750 121 831 140" style="" anchor="default" onkeyup="group3_input13_onkeyup" />
  105. <MaskEdit id="input6" class="input_default" mask="#.#" position="absolute 1069 121 1151 140" style="" anchor="default" onkeyup="group3_input6_onkeyup" />
  106. <MaskEdit id="input9" class="input_default" mask="#.#" position="absolute 750 146 832 165" style="" anchor="default" onkeyup="group3_input9_onkeyup" />
  107. <MaskEdit id="input2" class="input_default" mask="#.#" position="absolute 1070 146 1151 165" style="" anchor="default" onkeyup="group3_input2_onkeyup" />
  108. <MaskEdit id="input3" class="input_default" mask="#.#" position="absolute 750 171 832 190" style="" anchor="default" onkeyup="group3_input3_onkeyup" />
  109. <MaskEdit id="input4" class="input_default" mask="#.#" position="absolute 1070 171 1151 190" style="" anchor="default" onkeyup="group3_input4_onkeyup" />
  110. <MaskEdit id="input7" class="input_default" mask="#.#" position="absolute 750 196 832 215" style="" anchor="default" onkeyup="group3_input7_onkeyup" />
  111. <MaskEdit id="input8" class="input_default" mask="#.#" position="absolute 1070 196 1151 215" style="" anchor="default" onkeyup="group3_input8_onkeyup" />
  112. <MaskEdit id="input10" class="input_default" mask="#.#" position="absolute 750 221 832 240" style="" anchor="default" onkeyup="group3_input10_onkeyup" />
  113. <MaskEdit id="input11" class="input_default" mask="#.#" position="absolute 1070 221 1151 240" style="" anchor="default" onkeyup="group3_input11_onkeyup" />
  114. <MaskEdit id="input12" class="input_default" mask="#.#" position="absolute 750 246 832 265" style="" anchor="default" />
  115. <Static id="caption10" class="cell_1" position="absolute 550 169 747 192" style="align: middle;" text="serum creatinine" />
  116. <Static id="caption12" position="absolute 833 176 878 191" style="" text="mg_dl" />
  117. <Static id="caption14" position="absolute 1151 176 1186 191" style="" text="mg_dl" />
  118. <Static id="caption15" class="cell_1" position="absolute 873 169 1067 192" style="align: middle;" text="BUN" />
  119. <Shape id="line10" class="line_2" linetype="horizontal" position="absolute 550 167 1191 170" style="" anchor="default" />
  120. <Shape id="line11" class="line_2" linetype="horizontal" position="absolute 550 217 1191 220" style="" anchor="default" />
  121. <Shape id="line12" class="line_2" linetype="horizontal" position="absolute 550 192 1191 195" style="" anchor="default" />
  122. <Static id="caption17" class="cell_1" position="absolute 550 194 747 217" style="align: middle;" text="dialysate creatinine" />
  123. <Static id="caption22" position="absolute 833 201 878 216" style="" text="mg_dl" />
  124. <Static id="caption23" position="absolute 1151 201 1186 216" style="" text="mg_dl" />
  125. <Static id="caption24" class="cell_1" position="absolute 873 194 1067 217" style="align: middle;" text="dialysate urea" />
  126. <Shape id="line13" class="line_2" linetype="horizontal" position="absolute 550 242 1191 245" style="" anchor="default" />
  127. <Shape id="line14" class="line_2" linetype="horizontal" position="absolute 550 215 1191 218" style="" anchor="default" />
  128. <Static id="caption25" position="absolute 833 226 878 241" style="" text="mg_dl" />
  129. <Static id="caption26" position="absolute 1151 226 1191 241" style="" text="ml_day" />
  130. <Static id="caption27" class="cell_1" position="absolute 873 219 1067 242" style="align: middle;" text="dialysis volume" />
  131. <Static id="caption28" class="cell_1" position="absolute 550 219 747 242" style="align: middle;" text="dialysate protein" />
  132. <Shape id="line16" class="line_2" linetype="horizontal" position="absolute 550 242 1191 245" style="" anchor="default" />
  133. <Static id="caption29" position="absolute 833 251 878 266" style="" text="ml_day" />
  134. <Static id="caption35" class="cell_1" position="absolute 550 244 747 267" style="align: middle;" text="ultrafiltration volume" />
  135. <Edit id="input14" class="output_search" enable="True" position="absolute 738 401 820 420" style="" anchor="default" />
  136. <Edit id="input15" class="output_search" enable="True" position="absolute 1012 401 1088 420" style="" anchor="default" />
  137. <Shape id="line18" class="line_2" linetype="horizontal" position="absolute 550 397 1191 400" style="" anchor="default" />
  138. <Shape id="line20" class="line_2" linetype="horizontal" position="absolute 550 422 1191 425" style="" anchor="default" />
  139. <Edit id="input17" class="output_search" enable="True" position="absolute 738 426 820 445" style="" anchor="default" />
  140. <Shape id="line21" class="line_2" linetype="horizontal" position="absolute 550 397 1191 400" style="" anchor="default" />
  141. <Edit id="input18" class="output_search" enable="True" position="absolute 1012 426 1088 445" style="" anchor="default" />
  142. <Static id="caption36" class="cell_1" position="absolute 550 374 734 397" style="align: middle;" text="Kr_V (renal)" />
  143. <Static id="caption37" position="absolute 1091 332 1145 347" style="" text="g_kg_day" />
  144. <Shape id="line23" class="line_2" linetype="horizontal" position="absolute 550 422 1191 425" style="" anchor="default" />
  145. <Static id="caption38" position="absolute 821 406 866 421" style="" text="L_week" />
  146. <Static id="caption40" class="cell_1" position="absolute 869 326 1009 349" style="align: middle;" text="n P N A" />
  147. <Static id="caption41" position="absolute 1091 406 1190 421" style="" text="ml_min" />
  148. <Static id="caption43" position="absolute 821 381 866 396" style="" text="L_week" />
  149. <Edit id="input20" class="output_search" enable="True" position="absolute 1012 327 1088 346" style="" anchor="default" />
  150. <Static id="caption45" class="cell_1" position="absolute 869 399 1009 422" style="align: middle;" text="Ccr (peritoneal)" />
  151. <Static id="caption47" class="cell_1" position="absolute 550 302 734 325" style="align: middle;" text="B S A" />
  152. <Static id="caption48" position="absolute 821 431 866 446" style="" text="L_week" />
  153. <Static id="caption49" position="absolute 1091 381 1190 396" style="" text="ml_min" />
  154. <Static id="caption50" position="absolute 1091 431 1190 446" style="" text="L_wk_1.73㎡ BSA" />
  155. <Static id="caption51" class="cell_1" position="absolute 869 374 1009 397" style="align: middle;" text="Ccr (renal)" />
  156. <Static id="caption52" class="cell_1" position="absolute 869 424 1009 447" style="align: middle;" text="Weekly Ccr" />
  157. <Static id="caption53" class="cell_1" position="absolute 550 424 734 447" style="align: middle;" text="KT_V (= Kr_V + Kt_V)" />
  158. <Static id="caption54" class="cell_1" position="absolute 550 399 734 422" style="align: middle;" text="Kt_V (peritoneal)" />
  159. <Edit id="input22" class="output_search" enable="True" position="absolute 738 376 820 395" style="" anchor="default" />
  160. <Static id="caption56" class="cell_1" position="absolute 550 326 734 349" style="align: middle;" text="P N A" />
  161. <Shape id="line26" class="line_2" linetype="horizontal" position="absolute 550 300 1191 303" style="" anchor="default" />
  162. <Edit id="input23" class="output_search" enable="True" position="absolute 1012 376 1088 395" style="" anchor="default" />
  163. <Static id="caption59" position="absolute 821 309 859 324" style="" text="㎡" />
  164. <Shape id="line27" class="line_2" linetype="horizontal" position="absolute 550 324 1191 327" style="" anchor="default" />
  165. <Shape id="line28" class="line_2" linetype="horizontal" position="absolute 550 348 1191 351" style="" anchor="default" />
  166. <Edit id="input25" class="output_search" enable="True" position="absolute 738 303 820 322" style="" anchor="default" />
  167. <Static id="caption60" position="absolute 821 332 856 347" style="" text="g_day" />
  168. <Edit id="input26" class="output_search" enable="True" position="absolute 738 327 820 346" style="" anchor="default" />
  169. <Button id="button2" class="btn2_letter5" position="absolute 1116 277 1191 296" style="" text="적절도 출력" onclick="group3_button2_onclick" />
  170. <Button id="button3" class="btn2_letter5" position="absolute 1038 277 1113 296" style="" text="적절도 계산" onclick="group3_button3_onclick" />
  171. <Shape id="line24" class="line_3" linetype="horizontal" position="absolute 550 267 1191 270" style="" anchor="default" />
  172. <Shape id="line15" class="line_3" linetype="horizontal" position="absolute 550 446 1191 449" style="" anchor="default" />
  173. <Static id="caption30" position="absolute 831 102 866 117" style="" text="cm" />
  174. <Static id="caption34" class="cell_1" position="absolute 550 96 747 119" style="align: middle;" text="height" />
  175. <Button id="btn_bfprcpsrch" class="btn1_letter2" visible="false" position="absolute 1125 45 1181 67" style="" text="조회" onclick="group3_btn_bfprcpsrch_onclick" />
  176. <Static id="caption4" class="cell_1" position="absolute 873 96 1067 119" style="align: middle;" text="weight" />
  177. <Static id="caption18" position="absolute 1151 103 1189 118" style="" text="kg" />
  178. <Static id="caption55" position="absolute 821 356 860 371" style="" text="ml_min" />
  179. <Static id="caption58" class="cell_1" position="absolute 550 350 734 373" style="align: middle;" text="residual renal function(cr+urea)" />
  180. <Edit id="input19" class="output_search" enable="True" position="absolute 738 351 820 370" style="" anchor="default" />
  181. <Shape id="line17" class="line_2" linetype="horizontal" position="absolute 550 372 1191 375" style="" anchor="default" />
  182. </Layout>
  183. </Layouts>
  184. </Div>
  185. </Layout>
  186. </Layouts>
  187. <Objects>
  188. <Dataset id="ds_main_condition" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  189. <ColumnInfo>
  190. <Column id="srchpid" type="STRING" size="256" />
  191. <Column id="diafg" type="STRING" size="256" />
  192. <Column id="patsex" type="STRING" size="256" />
  193. <Column id="patage" type="STRING" size="256" />
  194. <Column id="patheight" type="STRING" size="256" />
  195. <Column id="patname" type="STRING" size="256" />
  196. <Column id="patrrgstno1" type="STRING" size="256" />
  197. <Column id="patrrgstno2" type="STRING" size="256" />
  198. <Column id="fromdd" type="STRING" size="256" />
  199. <Column id="todd" type="STRING" size="256" />
  200. </ColumnInfo>
  201. <Rows>
  202. <Row>
  203. <Col id="srchpid"></Col>
  204. <Col id="diafg"></Col>
  205. <Col id="patsex"></Col>
  206. <Col id="patage"></Col>
  207. <Col id="patheight"></Col>
  208. <Col id="patname"></Col>
  209. <Col id="patrrgstno1"></Col>
  210. <Col id="patrrgstno2"></Col>
  211. <Col id="fromdd"></Col>
  212. <Col id="todd"></Col>
  213. </Row>
  214. </Rows>
  215. </Dataset>
  216. <Dataset id="ds_hidden_ret" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  217. <ColumnInfo>
  218. <Column id="count" type="STRING" size="256" />
  219. </ColumnInfo>
  220. <Rows>
  221. <Row>
  222. <Col id="count"></Col>
  223. </Row>
  224. </Rows>
  225. </Dataset>
  226. <Dataset id="ds_init" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  227. <ColumnInfo>
  228. <Column id="srchcond1" type="STRING" size="256" />
  229. </ColumnInfo>
  230. </Dataset>
  231. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  232. <ColumnInfo>
  233. <Column id="reqdata" type="STRING" size="256" />
  234. <Column id="cond1" type="STRING" size="256" />
  235. <Column id="cond2" type="STRING" size="256" />
  236. <Column id="cond3" type="STRING" size="256" />
  237. <Column id="cond99" type="STRING" size="256" />
  238. </ColumnInfo>
  239. <Rows>
  240. <Row>
  241. <Col id="reqdata"></Col>
  242. </Row>
  243. </Rows>
  244. </Dataset>
  245. <Dataset id="ds_send_req" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  246. <ColumnInfo>
  247. <Column id="data1" type="STRING" size="256" />
  248. </ColumnInfo>
  249. <Rows>
  250. <Row>
  251. <Col id="data1"></Col>
  252. </Row>
  253. </Rows>
  254. </Dataset>
  255. <Dataset id="ds_main_patinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  256. <ColumnInfo>
  257. <Column id="patinfolist" type="STRING" size="256" />
  258. </ColumnInfo>
  259. <Rows>
  260. <Row>
  261. <Col id="patinfolist"></Col>
  262. </Row>
  263. </Rows>
  264. </Dataset>
  265. <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  266. <ColumnInfo />
  267. </Dataset>
  268. <Dataset id="ds_main" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  269. <ColumnInfo>
  270. <Column id="dialexamlist" type="STRING" size="256" />
  271. <Column id="patinfoht" type="STRING" size="256" />
  272. <Column id="paminfo" type="STRING" size="256" />
  273. </ColumnInfo>
  274. </Dataset>
  275. <Dataset id="ds_send_savedata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  276. <ColumnInfo>
  277. <Column id="execdt" type="STRING" size="256" />
  278. <Column id="bdwtval" type="STRING" size="256" />
  279. <Column id="urinevol" type="STRING" size="256" />
  280. <Column id="urinetm" type="STRING" size="256" />
  281. <Column id="urinecreatival" type="STRING" size="256" />
  282. <Column id="urineurea" type="STRING" size="256" />
  283. <Column id="serumcreatival" type="STRING" size="256" />
  284. <Column id="preblodbunval" type="STRING" size="256" />
  285. <Column id="postblodbunval" type="STRING" size="256" />
  286. <Column id="dialcreatival" type="STRING" size="256" />
  287. <Column id="dialurea" type="STRING" size="256" />
  288. <Column id="dialprotval" type="STRING" size="256" />
  289. <Column id="dialvol" type="STRING" size="256" />
  290. <Column id="filtvol" type="STRING" size="256" />
  291. <Column id="srchpid" type="STRING" size="256" />
  292. <Column id="dialseq" type="STRING" size="256" />
  293. <Column id="instcd" type="STRING" size="256" />
  294. <Column id="calktv" type="STRING" size="256" />
  295. <Column id="calwccr" type="STRING" size="256" />
  296. <Column id="calnpna" type="STRING" size="256" />
  297. <Column id="dialflag" type="STRING" size="256" />
  298. <Column id="state" type="STRING" size="256" />
  299. <Column id="bdhtval" type="STRING" size="256" />
  300. </ColumnInfo>
  301. <Rows>
  302. <Row>
  303. <Col id="execdt"></Col>
  304. <Col id="bdwtval"></Col>
  305. <Col id="urinevol"></Col>
  306. <Col id="urinetm"></Col>
  307. <Col id="urinecreatival"></Col>
  308. <Col id="urineurea"></Col>
  309. <Col id="serumcreatival"></Col>
  310. <Col id="preblodbunval"></Col>
  311. <Col id="postblodbunval"></Col>
  312. <Col id="dialcreatival"></Col>
  313. <Col id="dialurea"></Col>
  314. <Col id="dialprotval"></Col>
  315. <Col id="dialvol"></Col>
  316. <Col id="filtvol"></Col>
  317. <Col id="srchpid"></Col>
  318. <Col id="dialseq"></Col>
  319. <Col id="instcd"></Col>
  320. <Col id="calktv"></Col>
  321. <Col id="calwccr"></Col>
  322. <Col id="calnpna"></Col>
  323. <Col id="dialflag"></Col>
  324. <Col id="state"></Col>
  325. <Col id="bdhtval"></Col>
  326. </Row>
  327. </Rows>
  328. </Dataset>
  329. <Dataset id="ds_send_caladequacy" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  330. <ColumnInfo>
  331. <Column id="bsa" type="STRING" size="256" />
  332. <Column id="pna" type="STRING" size="256" />
  333. <Column id="npna" type="STRING" size="256" />
  334. <Column id="renalccr" type="STRING" size="256" />
  335. <Column id="renalktv" type="STRING" size="256" />
  336. <Column id="periccr" type="STRING" size="256" />
  337. <Column id="periktv" type="STRING" size="256" />
  338. <Column id="weekktv" type="STRING" size="256" />
  339. <Column id="weekccr" type="STRING" size="256" />
  340. <Column id="crurea" type="STRING" size="256" />
  341. </ColumnInfo>
  342. <Rows>
  343. <Row>
  344. <Col id="bsa"></Col>
  345. <Col id="pna"></Col>
  346. <Col id="npna"></Col>
  347. <Col id="renalccr"></Col>
  348. <Col id="renalktv"></Col>
  349. <Col id="periccr"></Col>
  350. <Col id="periktv"></Col>
  351. <Col id="weekktv"></Col>
  352. <Col id="weekccr"></Col>
  353. <Col id="crurea"></Col>
  354. </Row>
  355. </Rows>
  356. </Dataset>
  357. </Objects>
  358. <Bind>
  359. <BindItem id="item0" compid="group3.group2.ipt_patname" propid="value" datasetid="ds_main_condition" columnid="patname" />
  360. <BindItem id="item1" compid="group3.group2.ipt_srchpid" propid="value" datasetid="ds_main_condition" columnid="srchpid" />
  361. <BindItem id="item2" compid="group3.group2.output1" propid="value" datasetid="ds_main_condition" columnid="patrrgstno1" />
  362. <BindItem id="item3" compid="group3.group2.output2" propid="value" datasetid="ds_main_condition" columnid="patsex" />
  363. <BindItem id="item4" compid="group3.group2.output3" propid="value" datasetid="ds_main_condition" columnid="patage" />
  364. <BindItem id="item5" compid="group3.group2.output4" propid="value" datasetid="ds_main_condition" columnid="patheight" />
  365. <BindItem id="item6" compid="group3.group2.output5" propid="value" datasetid="ds_main_condition" columnid="patrrgstno2" />
  366. <BindItem id="item7" compid="group3.group2.ipt_todd" propid="value" datasetid="ds_main_condition" columnid="todd" />
  367. <BindItem id="item8" compid="group3.group2.ipt_fromdd" propid="value" datasetid="ds_main_condition" columnid="fromdd" />
  368. <BindItem id="item9" compid="group3.ipt_execdt" propid="value" datasetid="ds_send_savedata" columnid="execdt" />
  369. <BindItem id="item10" compid="group3.input16" propid="value" datasetid="ds_send_savedata" columnid="bdhtval" />
  370. <BindItem id="item11" compid="group3.input1" propid="value" datasetid="ds_send_savedata" columnid="bdwtval" />
  371. <BindItem id="item12" compid="group3.input13" propid="value" datasetid="ds_send_savedata" columnid="urinetm" />
  372. <BindItem id="item13" compid="group3.input6" propid="value" datasetid="ds_send_savedata" columnid="urinevol" />
  373. <BindItem id="item14" compid="group3.input9" propid="value" datasetid="ds_send_savedata" columnid="urinecreatival" />
  374. <BindItem id="item15" compid="group3.input2" propid="value" datasetid="ds_send_savedata" columnid="urineurea" />
  375. <BindItem id="item16" compid="group3.input3" propid="value" datasetid="ds_send_savedata" columnid="serumcreatival" />
  376. <BindItem id="item17" compid="group3.input4" propid="value" datasetid="ds_send_savedata" columnid="preblodbunval" />
  377. <BindItem id="item18" compid="group3.input7" propid="value" datasetid="ds_send_savedata" columnid="dialcreatival" />
  378. <BindItem id="item19" compid="group3.input8" propid="value" datasetid="ds_send_savedata" columnid="dialurea" />
  379. <BindItem id="item20" compid="group3.input10" propid="value" datasetid="ds_send_savedata" columnid="dialprotval" />
  380. <BindItem id="item21" compid="group3.input11" propid="value" datasetid="ds_send_savedata" columnid="dialvol" />
  381. <BindItem id="item22" compid="group3.input12" propid="value" datasetid="ds_send_savedata" columnid="filtvol" />
  382. <BindItem id="item23" compid="group3.input14" propid="value" datasetid="ds_send_caladequacy" columnid="periktv" />
  383. <BindItem id="item24" compid="group3.input15" propid="value" datasetid="ds_send_caladequacy" columnid="periccr" />
  384. <BindItem id="item25" compid="group3.input17" propid="value" datasetid="ds_send_caladequacy" columnid="weekktv" />
  385. <BindItem id="item26" compid="group3.input18" propid="value" datasetid="ds_send_caladequacy" columnid="weekccr" />
  386. <BindItem id="item27" compid="group3.input20" propid="value" datasetid="ds_send_caladequacy" columnid="npna" />
  387. <BindItem id="item28" compid="group3.input22" propid="value" datasetid="ds_send_caladequacy" columnid="renalktv" />
  388. <BindItem id="item29" compid="group3.input23" propid="value" datasetid="ds_send_caladequacy" columnid="renalccr" />
  389. <BindItem id="item30" compid="group3.input25" propid="value" datasetid="ds_send_caladequacy" columnid="bsa" />
  390. <BindItem id="item31" compid="group3.input26" propid="value" datasetid="ds_send_caladequacy" columnid="pna" />
  391. <BindItem id="item32" compid="group3.input19" propid="value" datasetid="ds_send_caladequacy" columnid="crurea" />
  392. </Bind>
  393. <Script type="xscript4.0"><![CDATA[function SMMMO08302_onload(obj:Form, e:LoadEventInfo) {
  394. frmf_initForm(obj);
  395. //grdf_initGrid(grd_XXX);
  396. //grdf_setGridSort(grd_XXX);
  397. //grdf_setRowTypeIcon(grd_XXX, 0_컬럼위치값);
  398. fInitialize();
  399. dsf_makeValue( ds_send_savedata, "execdt", "string", utlf_getCurrentDate());
  400. //model.refresh();
  401. var pamInfoCvs = sysf_getGlobalVariable("paminfo"); //상단정보가 있을 경우는 검색
  402. var pid = "";
  403. //alert(pamInfoCvs);
  404. if(pamInfoCvs != "" ){ //cvs가 ""이 아닌 경우에만 처리함.
  405. ds_main_paminfo_list.clearData();
  406. dsf_setCSVToDs("ds_main_paminfo", pamInfoCvs);
  407. var ioflag = ds_main_paminfo_list.getColumn(0, "ioflag");
  408. //ds_hidden_condition.setColumn( 0, "psnflag", ioflag);
  409. ds_main_condition.setColumn( 0, "srchpid", ds_main_paminfo_list.getColumn(0, "pid") );
  410. // ds_main_condition.setColumn( 0, "patname", ds_main_paminfo_list.getColumn(0, "hngnm") );
  411. // ds_main_condition.setColumn( 0, "patrrgstno1", ds_main_paminfo_list.getColumn(0, "rrgstno1") );
  412. // ds_main_condition.setColumn( 0, "patrrgstno2", ds_main_paminfo_list.getColumn(0, "rrgstno2") );
  413. // ds_main_condition.setColumn( 0, "patsex", ds_main_paminfo_list.getColumn(0, "sex") );
  414. // ds_main_condition.setColumn( 0, "patage", ds_main_paminfo_list.getColumn(0, "age") );
  415. //model.refresh();
  416. ds_send.setColumn( 0, "cond1", "1");
  417. ds_send.setColumn( 0, "cond2", ds_main_condition.getColumn(0, "srchpid"));
  418. ds_send.setColumn( 0, "cond3", sysf_getUserInfo("dutplceinstcd"));
  419. ds_send.setColumn( 0, "cond99", "patchosinfo");
  420. // if (!submit ( "TRMMO02501",false )) { //검색 시작 값이 없으면 clear 한다.
  421. var oParam = {};
  422. oParam.id = "TRMMO02501";
  423. oParam.service = "prcpmngtapp.PrcpMngt";
  424. oParam.method = "reqGetComnPatInfo";
  425. oParam.inds = "req=ds_";
  426. oParam.outds = "ds_=patinfolist ds_=patchosinfolist ds_=patchosdeptinfo";
  427. oParam.async = false;
  428. oParam.callback = "cf_TRMMO02501";
  429. tranf_submit(oParam);
  430. /*
  431. function cf_TRMMO02501(sSvcId, nErrorCode, sErrorMsg) {
  432. if(nErrorCode < 0) return;
  433. }
  434. function cf_TRMMO02501(sSvcId, nErrorCode, sErrorMsg) {
  435. arErrorCode.push(sSvcId, nErrorCode);
  436. }
  437. arErrorCode.pop("TRMMO02501") > -1
  438. arErrorCode.pop("TRMMO02501") < 0
  439. */
  440. model.resetInstanceNode ("ds_main_condition" );
  441. //model.refresh();
  442. return;
  443. }
  444. var srcNodeList = model.instances(0).selectNodes("ds_patinfo_patinfolist");
  445. if ( srcNodeList.length == 1 ) { //값이 한개면 바로 화면에 보여준1다.
  446. group3.group2.ipt_srchpid.text = ds_patinfo_patinfolist.getColumn(0, "pid");
  447. group3.group2.ipt_patname.text = ds_patinfo_patinfolist.getColumn(0, "hngnm");
  448. group3.group2.output1.text = ds_patinfo_patinfolist.getColumn(0, "rrgstno1");
  449. group3.group2.output5.text = ds_patinfo_patinfolist.getColumn(0, "rrgstno2");
  450. group3.group2.output2.text = ds_patinfo_patinfolist.getColumn(0, "sex");
  451. group3.group2.output3.text = ds_patinfo_patinfolist.getColumn(0, "age");
  452. setHeight();
  453. doSearch("F");
  454. } else if ( srcNodeList.length > 1 ) { //값이 한개이상이면 팝업을 띄운다.
  455. searchPatinfoPop();
  456. }
  457. //model.refresh();
  458. // setHeight();
  459. // doSearch("F");
  460. }
  461. }
  462. function fInitialize() {
  463. var idate=new Date();
  464. var frDate=idate.getAddDate(-1, "M");
  465. ds_main_condition.setColumn( 0, "fromdd", frDate.getDateFormat());
  466. ds_main_condition.setColumn( 0, "todd", utlf_getCurrentDate());
  467. }
  468. function doSearch(flag) {
  469. ds_main_condition.setColumn( 0, "diafg", "P");
  470. ds_send_reqdata.copyData(ds_main_condition);
  471. var fromdd = ds_main_condition.getColumn(0, "fromdd");
  472. fromdd = fromdd.substr(0,4) + "-" + fromdd.substr(4,2) + "-" + fromdd.substr(6,2) + "-00.00.00.000000";
  473. ds_send_reqdata.setColumn( 0, "fromdd", fromdd);
  474. var todd = ds_main_condition.getColumn(0, "todd");
  475. todd = todd.substr(0,4) + "-" + todd.substr(4,2) + "-" + todd.substr(6,2) + "-00.00.00.000000";
  476. ds_send_reqdata.setColumn( 0, "todd", todd);
  477. //ds_send_reqdata.setColumn( 0, "diafg", "H");
  478. // submit("TRMMO08403");
  479. var oParam = {};
  480. oParam.id = "TRMMO08403";
  481. oParam.service = "emrdialexamapp.EmrDialExamMngt";
  482. oParam.method = "reqGetDialExamList";
  483. oParam.inds = "req=ds_";
  484. oParam.outds = "ds_=info";
  485. oParam.async = false;
  486. oParam.callback = "cf_TRMMO08403";
  487. tranf_submit(oParam);
  488. /*
  489. function cf_TRMMO08403(sSvcId, nErrorCode, sErrorMsg) {
  490. if(nErrorCode < 0) return;
  491. }
  492. function cf_TRMMO08403(sSvcId, nErrorCode, sErrorMsg) {
  493. arErrorCode.push(sSvcId, nErrorCode);
  494. }
  495. arErrorCode.pop("TRMMO08403") > -1
  496. arErrorCode.pop("TRMMO08403") < 0
  497. */
  498. }
  499. function viewDetInfo() {
  500. ds_main_condition.setColumn( 0, "srchpid", ds_main_dialexamlist_info.getColumn(group3.grd_dialexamlist.row, "srchpid"));
  501. model.copyNode("ds_send_savedata", "ds_main_dialexamlist_info[" + group3.grd_dialexamlist.row + "]");
  502. if(ds_send_savedata.getColumn(0, "bdhtval") == "") {
  503. ds_send_savedata.setColumn( 0, "bdhtval", ds_main_condition.getColumn(0, "patheight")) ;
  504. }
  505. //model.refresh();
  506. calAdequacy(); // 적절도 계산
  507. }
  508. function calAdequacy() {
  509. if (ds_main_condition.getColumn(0, "patsex") == "" || ds_main_condition.getColumn(0, "patage") == "" || ds_main_condition.getColumn(0, "patheight") == "") {
  510. sysf_messageBox("적절도 계산시 성별, 나이, 신장은", "I003", "\n등록번호를 이용하여 환자정보를 조회하세요.");
  511. group3.group2.ipt_srchpid.setFocus();
  512. return;
  513. }
  514. // 계산에 필요한 항목
  515. var pre_hdbun = ds_send_savedata.getColumn(0, "preblodbunval");
  516. var post_hdbun = ds_send_savedata.getColumn(0, "postblodbunval");
  517. var weight = ds_send_savedata.getColumn(0, "bdwtval");
  518. var pat_sex = ds_main_condition.getColumn(0, "patsex");
  519. var pat_age = ds_main_condition.getColumn(0, "patage");
  520. var pat_height = ds_main_condition.getColumn(0, "patheight");
  521. var urine_vol = ds_send_savedata.getColumn(0, "urinevol"); // 소변량
  522. var urine_creatinine = ds_send_savedata.getColumn(0, "urinecreatival");
  523. var serum_creatinine = ds_send_savedata.getColumn(0, "serumcreatival");
  524. var urine_urea = ds_send_savedata.getColumn(0, "urineurea");
  525. var urine_time = ds_send_savedata.getColumn(0, "urinetm"); // 모은시간
  526. var ultrafilt_vol = ds_send_savedata.getColumn(0, "filtvol");
  527. var dial_time = ds_send_savedata.getColumn(0, "dialtims");
  528. var dial_vol = ds_send_savedata.getColumn(0, "dialvol");
  529. var dial_urea = ds_send_savedata.getColumn(0, "dialurea");
  530. var dial_protval = ds_send_savedata.getColumn(0, "dialprotval");
  531. var dial_creatival = ds_send_savedata.getColumn(0, "dialcreatival");
  532. var height = ds_send_savedata.getColumn(0, "bdhtval");
  533. if(weight == "") { sysf_messageBox("Weight는", "I003"); group3.input1.setFocus(); return; }
  534. if(height == "") { sysf_messageBox("Heightt는", "I003"); group3.input16.setFocus(); return; }
  535. if(urine_vol == "") { sysf_messageBox("Urine Volume은", "I003"); group3.input6.setFocus(); return; }
  536. if(urine_time == "") { sysf_messageBox("Urin Collection Duration은", "I003"); group3.input13.setFocus(); return; }
  537. if(urine_creatinine == "") { sysf_messageBox("Urine Creatinine은", "I003"); group3.input9.setFocus(); return; }
  538. if(urine_urea == "") { sysf_messageBox("Urin Urea는", "I003"); group3.input2.setFocus(); return; }
  539. if(serum_creatinine == "") { sysf_messageBox("Serum Creatinine은", "I003"); group3.input3.setFocus(); return; }
  540. if(pre_hdbun == "") { sysf_messageBox("BUN은", "I003"); group3.input4.setFocus(); return; }
  541. if(dial_creatival == "") { sysf_messageBox("Dialysate Creatinine은", "I003"); group3.input7.setFocus(); return; }
  542. if(dial_urea == "") { sysf_messageBox("Dialysate Urea는", "I003"); group3.input8.setFocus(); return; }
  543. if(dial_protval == "") { sysf_messageBox("Dialysate Protein은", "I003"); group3.input10.setFocus(); return; }
  544. if(dial_vol == "") { sysf_messageBox("Dialysate Volume은", "I003"); group3.input11.setFocus(); return; }
  545. if(ultrafilt_vol == "") { sysf_messageBox("Ultrafiltration Volume은", "I003"); group3.input12.setFocus(); return; }
  546. // Divide By Zero 관련 처리
  547. if(weight == 0) { sysf_messageBox("Weight는 '0'값을 입력", "E001"); group3.input1.setFocus(); return; }
  548. if(pre_hdbun == 0) { sysf_messageBox("BUN은 '0'값을 입력", "E001"); group3.input4.setFocus(); return; }
  549. if(urine_time == 0) { sysf_messageBox("urine collection duration은 '0'값을 입력", "E001"); group3.input13.setFocus(); return; }
  550. if(serum_creatinine == 0) { sysf_messageBox("Serum Creatinine은 '0'값을 입력", "E001"); group3.input3.setFocus(); return; }
  551. // 적절도 계산
  552. var bsa = getBSA(weight, height);
  553. var tbw = getTBW(pat_sex, pat_age, height, weight);
  554. var pna = getPNA(urine_vol, urine_time, urine_urea, dial_vol, dial_urea, dial_protval);
  555. var npna = getNPNA(pna, tbw);
  556. var crurea = getCrUrea(urine_vol, urine_creatinine, serum_creatinine, urine_urea, pre_hdbun, urine_time);
  557. var renal_ktv = getRenalKtv(urine_urea, urine_vol, pre_hdbun, tbw, urine_time);
  558. var peritoneal_ktv = getPeritonealKtv(dial_urea, dial_vol, pre_hdbun, tbw);
  559. var weekly_ktv = renal_ktv + peritoneal_ktv;
  560. var renal_ccr = getRenalCcr(urine_creatinine, serum_creatinine, urine_vol, urine_time, tbw, bsa);
  561. var peritoneal_ccr = getPeritonealCcr(dial_creatival, dial_vol, serum_creatinine, tbw, bsa);
  562. //var weekly_ccr = renal_ccr + peritoneal_ccr;
  563. //2008-09-03
  564. //var weekly_ccr = (((renal_ccr + peritoneal_ccr) * 60 * 24 * 7 ) / 1000 ) / bsa * 1.73;
  565. var week_ccr = (((renal_ccr + peritoneal_ccr) * 60 * 24 * 7 ) / 1000 );
  566. var weekly_ccr = week_ccr * bsa / 1.73;
  567. ds_send_caladequacy.setColumn( 0, "bsa", bsa); // BSA 계산
  568. ds_send_caladequacy.setColumn( 0, "pna", pna); // PNA 계산
  569. ds_send_caladequacy.setColumn( 0, "npna", npna); // NPNA 계산
  570. ds_send_caladequacy.setColumn( 0, "crurea", crurea); // resudual renal function(cr+urea) 계산
  571. ds_send_caladequacy.setColumn( 0, "renalktv", renal_ktv); // Renal Kt_V 계산
  572. ds_send_caladequacy.setColumn( 0, "periktv", peritoneal_ktv); // Peritoneal Kt_V 계산
  573. ds_send_caladequacy.setColumn( 0, "weekktv", weekly_ktv); // Weekly KT_V 계산
  574. ds_send_caladequacy.setColumn( 0, "renalccr", renal_ccr); // Renal Ccr 계산
  575. ds_send_caladequacy.setColumn( 0, "periccr", peritoneal_ccr); // Peritoneal Ccr 계산
  576. ds_send_caladequacy.setColumn( 0, "weekccr", getCutNumber(weekly_ccr, 4)); // Weekly Ccr 계산
  577. //model.refresh();
  578. return true;
  579. }
  580. function getCutNumber(num, place) {
  581. return Math.floor( num * Math.pow(10,parseInt(place,10)) ) / Math.pow(10,parseInt(place,10));
  582. }
  583. function pointCalc(temp) {
  584. var index = temp.indexOf(".");
  585. var frontStr; var backStr;
  586. frontStr = temp.substring(0, index+1);
  587. backStr = temp.substring(index+1);
  588. temp = frontStr + backStr.substring(0, 4);
  589. return temp;
  590. }
  591. function getTBW(pat_sex, pat_age, height, weight) {
  592. var this_tbw = "";
  593. if(pat_sex == "M") { // 남자
  594. this_tbw = 2.447 - (0.09516 * pat_age) + (0.1074 * height) + (0.3362 * weight);
  595. } else { // 여자
  596. this_tbw = (0.1069 * height) + (0.2466 * weight) - 2.097;
  597. }
  598. return getCutNumber(this_tbw,4);
  599. }
  600. function getPNA(urine_vol, urine_time, urine_urea, dial_vol, dial_urea, dial_protval){
  601. var pna = 10.76 * (0.69 * 0.00001 * ((urine_vol * 24 / urine_time) * urine_urea + dial_vol * dial_urea) + 1.46) + dial_protval * dial_vol * 0.00001;
  602. return getCutNumber(pna, 4);
  603. }
  604. function getNPNA(pna, ptbw){
  605. var npna;
  606. if(ptbw == 0) { // Divide by Zero 처리
  607. npna = 0;
  608. } else {
  609. npna = pna/(ptbw_0.58);
  610. }
  611. return getCutNumber(npna, 4);
  612. }
  613. function getCrUrea(urine_vol, urine_creatinine, serum_creatinine, urine_urea, pre_hdbun, urine_time){
  614. var this_crurea = urine_vol * (urine_creatinine / serum_creatinine + urine_urea / pre_hdbun) / (2 * urine_time * 60);
  615. return getCutNumber(this_crurea, 4);
  616. }
  617. function getRenalKtv(urine_urea, urine_vol, pre_hdbun, tbw, urine_time) {
  618. var this_renal_ktv = urine_vol * urine_urea / (pre_hdbun * urine_time) * 24 * 7 / 1000 / tbw;
  619. return getCutNumber(this_renal_ktv, 4);
  620. }
  621. function getPeritonealKtv(dial_urea, dial_vol, pre_hdbun, tbw) {
  622. var this_peritoneall_ktv = (dial_urea * dial_vol / 1000) / pre_hdbun * 7 / tbw;
  623. return getCutNumber(this_peritoneall_ktv, 4);
  624. }
  625. function getRenalCcr(urine_creatinine, serum_creatinine, urine_vol, urine_time, tbw, bsa) {
  626. //var this_renal_ccr = (urine_vol * urine_creatinine) / (serum_creatinine * urine_time) * 24 * 7 / 1000 / tbw / bsa * 1.73;
  627. var this_renal_ccr = (urine_vol * urine_creatinine) / (serum_creatinine * urine_time * 60) ; // 20080227 윤혜은 선생님 확인사항 수정. 단위 ml_min
  628. return getCutNumber(this_renal_ccr, 4);
  629. }
  630. function getPeritonealCcr(dial_creatival, dial_vol, serum_creatinine, tbw, bsa) {
  631. //var this_peri_ccr = dial_vol * dial_creatival / serum_creatinine * 1000 * 7 / 1000 / tbw / bsa / 1.73;
  632. var this_peri_ccr = dial_vol * dial_creatival / (serum_creatinine * 1440); // 20080227 윤혜은 선생님 확인사항 수정. 단위 ml_min
  633. return getCutNumber(this_peri_ccr, 4);
  634. }
  635. function getBSA(weight, height) {
  636. var cal_bsa = 0;
  637. cal_bsa = 71.84 * Math.pow(weight, 0.425) * Math.pow(height,0.725) / 10000;
  638. //cal_bsa = 0.007184 * Math.pow(weight, 0.425) * Math.pow(height,0.725);
  639. return getCutNumber(cal_bsa,4);
  640. }
  641. function setHeight() {
  642. ds_send_reqdata.copyData(ds_main_condition);
  643. // submit("TRMMO08404");
  644. var oParam = {};
  645. oParam.id = "TRMMO08404";
  646. oParam.service = "emrdialexamapp.EmrDialExamMngt";
  647. oParam.method = "reqGetPatInfo";
  648. oParam.inds = "req=ds_";
  649. oParam.outds = "ds_=info";
  650. oParam.async = false;
  651. oParam.callback = "cf_TRMMO08404";
  652. tranf_submit(oParam);
  653. /*
  654. function cf_TRMMO08404(sSvcId, nErrorCode, sErrorMsg) {
  655. if(nErrorCode < 0) return;
  656. }
  657. function cf_TRMMO08404(sSvcId, nErrorCode, sErrorMsg) {
  658. arErrorCode.push(sSvcId, nErrorCode);
  659. }
  660. arErrorCode.pop("TRMMO08404") > -1
  661. arErrorCode.pop("TRMMO08404") < 0
  662. */
  663. ds_main_condition.setColumn( 0, "patheight", ds_main_patinfoht_info.getColumn(0, "bdht"));
  664. if(ds_main_condition.getColumn(0, "patheight") == ""){
  665. ds_main_condition.setColumn( 0, "patheight", 0);
  666. }
  667. //model.refresh();
  668. }
  669. function searchPatinfoPop() {
  670. if ( ds_init.getColumn(0, "srchcond1") == "1" ) { // 등록번호 검색
  671. dsf_makeValue( ds_temp_send, "pid", "string", ds_main_condition.getColumn(0, "srchpid"));
  672. dsf_makeValue( ds_temp_send, "srchcond", "string", "1");
  673. }
  674. if ( ds_init.getColumn(0, "srchcond1") == "2" ) { // 환자이름 검색
  675. dsf_makeValue( ds_temp_send, "hngnm", "string", ds_main_condition.getColumn(0, "patname"));
  676. dsf_makeValue( ds_temp_send, "srchcond", "string", "2");
  677. }
  678. var xpt = window.screenleft + 100;
  679. var ypt = window.screenTop + 100;
  680. frmf_modal("SPPMC02500", "SPPMC02500", "ds_temp_send""-"ds_send"", "", "1", "150", "150", "", "", "", "", "", "M");
  681. if(ds_main.getColumn(0, "popupendflag") != "ok") {
  682. return;
  683. }
  684. ds_main_condition.setColumn( 0, "srchpid", ds_main_patinfo_patinfolist.getColumn(0, "pid"));
  685. ds_main_condition.setColumn( 0, "patname", ds_main_patinfo_patinfolist.getColumn(0, "hngnm"));
  686. ds_main_condition.setColumn( 0, "patrrgstno1", ds_main_patinfo_patinfolist.getColumn(0, "rrgstno1"));
  687. var patrrgstno2 = ds_main_patinfo_patinfolist.getColumn(0, "rrgstno2");
  688. patrrgstno2 = patrrgstno2.substr(0,1) + "******";
  689. //ds_main_condition.setColumn( 0, "patrrgstno2", ds_main_patinfo_patinfolist.getColumn(0, "rrgstno2"));
  690. ds_main_condition.setColumn( 0, "patrrgstno2", patrrgstno2);
  691. ds_main_condition.setColumn( 0, "patsex", ds_main_patinfo_patinfolist.getColumn(0, "sex"));
  692. ds_main_condition.setColumn( 0, "patage", ds_main_patinfo_patinfolist.getColumn(0, "age"));
  693. //model.refresh();
  694. setHeight();
  695. doSearch("F");
  696. }
  697. function fMoveFocus(vCtrlID){
  698. if( event.keyCode == 13 ) {
  699. if( vCtrlID != "" ) model.setFocus(vCtrlID);
  700. }
  701. }
  702. include '../../.._com_commonweb_js_common.js'
  703. include '../../.._com_commonweb_js_dateHelper.js'
  704. include '../../.._com_commonweb_js_tfHelper.js'
  705. function group3_group2_button1_onclick(obj:Button, e:ClickEventInfo) {
  706. if(ds_main_condition.getColumn(0, "srchpid") ==""){
  707. sysf_messageBox("등록번호를 ", "C001");
  708. group3.group2.ipt_srchpid.setFocus();
  709. return;
  710. }
  711. doSearch("F");
  712. }
  713. function group3_group2_ipt_patname_onkeyup(obj:Edit, e:KeyEventInfo) {
  714. ds_init.setColumn( 0, "srchcond1", "2");
  715. inputEnterKey ( "group3.btn_bfprcpsrch", "DOMActivate" )
  716. }
  717. function group3_group2_ipt_srchpid_onkeyup(obj:Edit, e:KeyEventInfo) {
  718. ds_init.setColumn( 0, "srchcond1", "1");
  719. inputEnterKey ( "group3.btn_bfprcpsrch", "DOMActivate" )
  720. }
  721. function group3_group2_btn_srchpid_onclick(obj:Button, e:ClickEventInfo) {
  722. searchPatinfoPop();
  723. }
  724. function group3_grd_dialexamlist_oncellclick(obj:Grid, e:GridClickEventInfo) {
  725. if( group3.grd_dialexamlist.rows- group3.grd_dialexamlist.fixedRows > 0 && group3.grd_dialexamlist.mouseRow != 0){
  726. viewDetInfo();
  727. }
  728. }
  729. function group3_grp_btn_button42_onclick(obj:Button, e:ClickEventInfo) {
  730. if ( sysf_messageBox("데이터를", "Q001") == 6 ) {
  731. if( group3.grd_dialexamlist.rows- group3.grd_dialexamlist.fixedRows > 0 ){
  732. var rowcnt = group3.grd_dialexamlist.selectedRow(0);
  733. if(rowcnt < 1) {
  734. var msg = sysf_messageBox("삭제할 정보를 ", "C002");
  735. return;
  736. } else {
  737. ds_send_savedata.setColumn( 0, "state", "D");
  738. ds_send_req_data1.copyData(ds_send_savedata);
  739. var exec_date = ds_send_savedata.getColumn(0, "execdt");
  740. exec_date = exec_date.substr(0,4) + "-" + exec_date.substr(4,2) + "-" + exec_date.substr(6,2) + "-00.00.00.000000";
  741. ds_send_req_data1.setColumn( 0, "execdt", exec_date);
  742. // submit("TXMMO08404");
  743. var oParam = {};
  744. oParam.id = "TXMMO08404";
  745. oParam.service = "emrdialexamapp.EmrDialExamMngt";
  746. oParam.method = "reqExePDialExamInfo";
  747. oParam.inds = "data1=ds_";
  748. oParam.outds = "ds_=temp";
  749. oParam.async = false;
  750. oParam.callback = "cf_TXMMO08404";
  751. tranf_submit(oParam);
  752. /*
  753. function cf_TXMMO08404(sSvcId, nErrorCode, sErrorMsg) {
  754. if(nErrorCode < 0) return;
  755. }
  756. function cf_TXMMO08404(sSvcId, nErrorCode, sErrorMsg) {
  757. arErrorCode.push(sSvcId, nErrorCode);
  758. }
  759. arErrorCode.pop("TXMMO08404") > -1
  760. arErrorCode.pop("TXMMO08404") < 0
  761. */
  762. // 삭제후 상세정보 지우기
  763. //ds_main_condition.clearData(); ds_main_condition.addRow();
  764. ds_send_savedata.clearData(); ds_send_savedata.addRow();
  765. ds_send_caladequacy.clearData(); ds_send_caladequacy.addRow();
  766. //model.refresh();
  767. doSearch("D");
  768. }
  769. }
  770. }
  771. }
  772. function group3_grp_btn_button8_onclick(obj:Button, e:ClickEventInfo) {
  773. if ( sysf_messageBox("데이터를", "Q002") == 6 ) {
  774. if (ds_main_condition.getColumn(0, "srchpid") == "") {
  775. sysf_messageBox("등록번호 항목은", "I003");
  776. return;
  777. }
  778. if (ds_send_savedata.getColumn(0, "execdt") == "") {
  779. sysf_messageBox("시행일자 항목은", "I003");
  780. return;
  781. }
  782. if(!calAdequacy()){ // 적절도 계산
  783. return;
  784. }
  785. ds_send_savedata.setColumn( 0, "srchpid", ds_main_condition.getColumn(0, "srchpid"));
  786. ds_send_savedata.setColumn( 0, "calktv", ds_send_caladequacy.getColumn(0, "weekktv"));
  787. ds_send_savedata.setColumn( 0, "calwccr", ds_send_caladequacy.getColumn(0, "weekccr"));
  788. ds_send_savedata.setColumn( 0, "calnpna", ds_send_caladequacy.getColumn(0, "npna"));
  789. ds_send_savedata.setColumn( 0, "dialflag", "P");
  790. if(ds_send_savedata.getColumn(0, "dialseq") == ""){
  791. ds_send_savedata.setColumn( 0, "dialseq", 0);
  792. }
  793. ds_send_req_data1.copyData(ds_send_savedata);
  794. var exec_date = ds_send_savedata.getColumn(0, "execdt");
  795. exec_date = exec_date.substr(0,4) + "-" + exec_date.substr(4,2) + "-" + exec_date.substr(6,2) + "-00.00.00.000000";
  796. ds_send_req_data1.setColumn( 0, "execdt", exec_date);
  797. // submit("TXMMO08404"); // 저장_수정
  798. var oParam = {};
  799. oParam.id = "TXMMO08404";
  800. oParam.service = "emrdialexamapp.EmrDialExamMngt";
  801. oParam.method = "reqExePDialExamInfo";
  802. oParam.inds = "data1=ds_";
  803. oParam.outds = "ds_=temp";
  804. oParam.async = false;
  805. oParam.callback = "cf_TXMMO08404";
  806. tranf_submit(oParam);
  807. /*
  808. function cf_TXMMO08404(sSvcId, nErrorCode, sErrorMsg) {
  809. if(nErrorCode < 0) return;
  810. }
  811. function cf_TXMMO08404(sSvcId, nErrorCode, sErrorMsg) {
  812. arErrorCode.push(sSvcId, nErrorCode);
  813. }
  814. arErrorCode.pop("TXMMO08404") > -1
  815. arErrorCode.pop("TXMMO08404") < 0
  816. */
  817. doSearch("S");
  818. }
  819. }
  820. function group3_grp_btn_button16_onclick(obj:Button, e:ClickEventInfo) {
  821. ds_send_savedata.clearData(); ds_send_savedata.addRow();
  822. ds_send_caladequacy.clearData(); ds_send_caladequacy.addRow();
  823. dsf_makeValue( ds_send_savedata, "execdt", "string", utlf_getCurrentDate());
  824. //model.refresh();
  825. }
  826. function group3_ipt_execdt_onkeyup(obj:Calendar, e:KeyEventInfo) {
  827. fMoveFocus("group3.input16");
  828. }
  829. function group3_input16_onkeyup(obj:MaskEdit, e:KeyEventInfo) {
  830. fMoveFocus("group3.input1");
  831. }
  832. function group3_input1_onkeyup(obj:MaskEdit, e:KeyEventInfo) {
  833. fMoveFocus("group3.input13");
  834. }
  835. function group3_input13_onkeyup(obj:MaskEdit, e:KeyEventInfo) {
  836. fMoveFocus("group3.input6");
  837. }
  838. function group3_input6_onkeyup(obj:MaskEdit, e:KeyEventInfo) {
  839. fMoveFocus("group3.input9");
  840. }
  841. function group3_input9_onkeyup(obj:MaskEdit, e:KeyEventInfo) {
  842. fMoveFocus("group3.input2");
  843. }
  844. function group3_input2_onkeyup(obj:MaskEdit, e:KeyEventInfo) {
  845. fMoveFocus("group3.input3");
  846. }
  847. function group3_input3_onkeyup(obj:MaskEdit, e:KeyEventInfo) {
  848. fMoveFocus("group3.input4");
  849. }
  850. function group3_input4_onkeyup(obj:MaskEdit, e:KeyEventInfo) {
  851. fMoveFocus("group3.input7");
  852. }
  853. function group3_input7_onkeyup(obj:MaskEdit, e:KeyEventInfo) {
  854. fMoveFocus("group3.input8");
  855. }
  856. function group3_input8_onkeyup(obj:MaskEdit, e:KeyEventInfo) {
  857. fMoveFocus("group3.input10");
  858. }
  859. function group3_input10_onkeyup(obj:MaskEdit, e:KeyEventInfo) {
  860. fMoveFocus("group3.input11");
  861. }
  862. function group3_input11_onkeyup(obj:MaskEdit, e:KeyEventInfo) {
  863. fMoveFocus("group3.input12");
  864. }
  865. function group3_button2_onclick(obj:Button, e:ClickEventInfo) {
  866. var objDOM = rptf_createDOM();
  867. var objParam = new Object();
  868. rptf_setNodeListToDOM(objDOM, "/root/XXX" , ds_XXX);
  869. objParam.xml_data_XML1 = objDOM.documentElement.source;
  870. var option = "open=1;save=1;directprint=0;printdialog=1;print=1;zoom=0";
  871. rptf_exeReportPreview30(["RPMMO08300"],[objParam], option);
  872. }
  873. function group3_button3_onclick(obj:Button, e:ClickEventInfo) {
  874. calAdequacy();
  875. }
  876. function group3_btn_bfprcpsrch_onclick(obj:Button, e:ClickEventInfo) {
  877. ds_send.setColumn( 0, "cond1", ds_init.getColumn(0, "srchcond1"));
  878. if ( ds_send.getColumn(0, "cond1") == "1" ) {
  879. ds_send.setColumn( 0, "cond2", ds_main_condition.getColumn(0, "srchpid"));
  880. } else {
  881. ds_send.setColumn( 0, "cond2", ds_main_condition.getColumn(0, "patname"));
  882. }
  883. ds_send.setColumn( 0, "cond3", sysf_getUserInfo("dutplceinstcd"));
  884. ds_send.setColumn( 0, "cond99", "patchosinfo");
  885. // if (!submit ( "TRMMO02501",false )) { //검색 시작 값이 없으면 clear 한다.
  886. var oParam = {};
  887. oParam.id = "TRMMO02501";
  888. oParam.service = "prcpmngtapp.PrcpMngt";
  889. oParam.method = "reqGetComnPatInfo";
  890. oParam.inds = "req=ds_";
  891. oParam.outds = "ds_=patinfolist ds_=patchosinfolist ds_=patchosdeptinfo";
  892. oParam.async = false;
  893. oParam.callback = "cf_TRMMO02501";
  894. tranf_submit(oParam);
  895. /*
  896. function cf_TRMMO02501(sSvcId, nErrorCode, sErrorMsg) {
  897. if(nErrorCode < 0) return;
  898. }
  899. function cf_TRMMO02501(sSvcId, nErrorCode, sErrorMsg) {
  900. arErrorCode.push(sSvcId, nErrorCode);
  901. }
  902. arErrorCode.pop("TRMMO02501") > -1
  903. arErrorCode.pop("TRMMO02501") < 0
  904. */
  905. //if (!submit ( "TRPMC02500",false )) { //검색 시작 값이 없으면 clear 한다.
  906. model.resetInstanceNode ("ds_main_condition" );
  907. //model.refresh();
  908. return;
  909. }
  910. var srcNodeList = model.instances(0).selectNodes("ds_patinfo_patinfolist");
  911. if ( srcNodeList.length == 1 ) { //값이 한개면 바로 화면에 보여준1다.
  912. group3.group2.ipt_srchpid.text = ds_patinfo_patinfolist.getColumn(0, "pid");
  913. group3.group2.ipt_patname.text = ds_patinfo_patinfolist.getColumn(0, "hngnm");
  914. group3.group2.output1.text = ds_patinfo_patinfolist.getColumn(0, "rrgstno1");
  915. group3.group2.output5.text = ds_patinfo_patinfolist.getColumn(0, "rrgstno2");
  916. group3.group2.output2.text = ds_patinfo_patinfolist.getColumn(0, "sex");
  917. group3.group2.output3.text = ds_patinfo_patinfolist.getColumn(0, "age");
  918. setHeight();
  919. doSearch("F");
  920. } else if ( srcNodeList.length > 1 ) { //값이 한개이상이면 팝업을 띄운다.
  921. searchPatinfoPop();
  922. }
  923. //model.refresh();
  924. }
  925. ]]></Script>
  926. </Form>
  927. </FDL>