SPMMO01200_처방상세주사.xfdl 74 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPMMO01200" position="absolute 0 0 784 213" titletext="[주사]" oninit="SPMMO01200_oninit" onload="SPMMO01200_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static text="전달사항" position="absolute 0 109 74 129" id="caption22" class="tit_2"/>
  8. <Button position="absolute 669 175 725 195" id="button1" class="btn4" text="확인" onclick="button1_onclick"/>
  9. <Button position="absolute 728 175 784 195" id="button2" class="btn3" text="취소" onclick="button2_onclick"/>
  10. <Grid position="absolute 0 53 784 103" id="grd_prcpdetl2" binddataset="ds_main_prcplist" oncelldblclick="grd_prcpdetl2_oncelldblclick" autoenter="select" autoupdatetype="itemselect" cellclickbound="cell" selecttype="multiarea">
  11. <Formats>
  12. <Format id="default">
  13. <Columns>
  14. <Column size="30"/>
  15. <Column size="30"/>
  16. <Column size="32"/>
  17. <Column size="32"/>
  18. <Column size="40"/>
  19. <Column size="30"/>
  20. <Column size="45"/>
  21. <Column size="80"/>
  22. <Column size="60"/>
  23. <Column size="100"/>
  24. <Column size="30"/>
  25. <Column size="30"/>
  26. <Column size="244"/>
  27. </Columns>
  28. <Rows>
  29. <Row size="24" band="head"/>
  30. <Row size="24"/>
  31. </Rows>
  32. <Band id="head">
  33. <Cell text="응급"/>
  34. <Cell col="1" text="PRN"/>
  35. <Cell col="2" text="prep"/>
  36. <Cell col="3" text="AST"/>
  37. <Cell col="4" text="home"/>
  38. <Cell col="5" text="self"/>
  39. <Cell col="6" text="선처치"/>
  40. <Cell col="7" text="시행부서"/>
  41. <Cell col="8" text="임상연구"/>
  42. <Cell col="9" text="지정일"/>
  43. <Cell col="10" colspan="2" text="원내/원외" taborder="undefined"/>
  44. <Cell col="12" text="원내처방사유"/>
  45. </Band>
  46. <Band id="body">
  47. <Cell displaytype="checkbox" edittype="checkbox" text="bind:erprcpflag" expr="expr:(erprcpflag == &quot;Y&quot; || erprcpflag == 1) ? 1 : 0"/>
  48. <Cell col="1" displaytype="checkbox" edittype="checkbox" text="bind:prnprcpflag" expr="expr:(prnprcpflag == &quot;Y&quot; || prnprcpflag == 1) ? 1 : 0"/>
  49. <Cell col="2" displaytype="checkbox" edittype="checkbox" text="bind:prepprcpflag" expr="expr:(prepprcpflag == &quot;Y&quot; || prepprcpflag == 1) ? 1 : 0"/>
  50. <Cell col="3" displaytype="checkbox" edittype="checkbox" text="bind:asttestflag" expr="expr:(asttestflag == &quot;Y&quot; || asttestflag == 1) ? 1 : 0"/>
  51. <Cell col="4" displaytype="checkbox" edittype="checkbox" text="bind:selfprcpflag" expr="expr:(selfprcpflag == &quot;Y&quot; || selfprcpflag == 1) ? 1 : 0"/>
  52. <Cell col="5" displaytype="checkbox" edittype="checkbox" text="bind:selfdrugflag" expr="expr:(selfdrugflag == &quot;Y&quot; || selfdrugflag == 1) ? 1 : 0"/>
  53. <Cell col="6" displaytype="checkbox" edittype="checkbox" text="bind:precureprcpflag" expr="expr:(precureprcpflag == &quot;Y&quot; || precureprcpflag == 1) ? 1 : 0"/>
  54. <Cell col="7" displaytype="combo" edittype="combo" class="gridcombo" text="bind:prcpexecdeptcd" combodataset="ds_orddept" combocodecol="deptcd" combodatacol="depthngnm" combodisplayrowcount="30"/>
  55. <Cell col="8" displaytype="checkbox" edittype="checkbox" text="bind:clincstdyflag" expr="expr:(clincstdyflag == &quot;Y&quot; || clincstdyflag == 1) ? 1 : 0"/>
  56. <Cell col="9" style="align:left middle;"/>
  57. <Cell col="10"/>
  58. <Cell col="11"/>
  59. <Cell col="12" displaytype="combo" edittype="combo" class="gridcombo" text="bind:hosinprcpresncd" combodataset="ds_P0323" combocodecol="cdid" combodatacol="cdnm" combodisplayrowcount="35"/>
  60. </Band>
  61. </Format>
  62. </Formats>
  63. </Grid>
  64. <Edit position="absolute 0 127 784 147" id="input1" autoselect="true"/>
  65. <Radio position="absolute 486 81 506 101" id="radio2" codecolumn="codecolumn" datacolumn="datacolumn" onitemchanged="radio2_onitemchanged">
  66. <Dataset id="innerdataset">
  67. <ColumnInfo>
  68. <Column id="codecolumn"/>
  69. <Column id="datacolumn"/>
  70. </ColumnInfo>
  71. <Rows>
  72. <Row>
  73. <Col id="codecolumn">I</Col>
  74. <Col id="datacolumn">
  75. </Col>
  76. </Row>
  77. </Rows>
  78. </Dataset>
  79. </Radio>
  80. <Radio position="absolute 516 81 536 101" id="radio3" codecolumn="codecolumn" datacolumn="datacolumn" onitemchanged="radio3_onitemchanged">
  81. <Dataset id="innerdataset">
  82. <ColumnInfo>
  83. <Column id="codecolumn"/>
  84. <Column id="datacolumn"/>
  85. </ColumnInfo>
  86. <Rows>
  87. <Row>
  88. <Col id="codecolumn">O</Col>
  89. <Col id="datacolumn">
  90. </Col>
  91. </Row>
  92. </Rows>
  93. </Dataset>
  94. </Radio>
  95. <Button position="absolute 76 107 96 127" id="button4" class="icon_search" text="" onclick="button4_onclick"/>
  96. <Button position="absolute 299 56 319 76" id="btn_srchexecdept" class="icon_search" text="" onclick="btn_srchexecdept_onclick"/>
  97. <Radio position="absolute 3 175 234 210" id="rdo_clinccmtcnts" rowcount="2" codecolumn="codecolumn" datacolumn="datacolumn" onitemchanged="rdo_clinccmtcnts_onitemchanged">
  98. <Dataset id="innerdataset">
  99. <ColumnInfo>
  100. <Column id="codecolumn"/>
  101. <Column id="datacolumn"/>
  102. </ColumnInfo>
  103. <Rows>
  104. <Row>
  105. <Col id="codecolumn">1. 다음 진료일까지의 기간이 30일 초과</Col>
  106. <Col id="datacolumn">1. 다음 진료일까지의 기간이 30일 초과</Col>
  107. </Row>
  108. <Row>
  109. <Col id="codecolumn">2. 기타</Col>
  110. <Col id="datacolumn">2. 기타</Col>
  111. </Row>
  112. </Rows>
  113. </Dataset>
  114. </Radio>
  115. <Edit position="absolute 67 193 660 213" id="ipt_clinccmtcnts" enable="false" autoselect="true"/>
  116. <Static text="PRN" position="absolute 0 160 77 180" id="caption1" class="tit_2" visible="false"/>
  117. <Static text="횟수:" position="absolute 50 158 85 178" id="caption2" visible="false"/>
  118. <Static text="회 사유:" position="absolute 130 158 181 178" id="caption3" visible="false"/>
  119. <Edit readonly="true" position="absolute 85 158 125 178" id="output2" visible="false" autoselect="true"/>
  120. <Edit readonly="true" position="absolute 271 158 397 178" id="output4" visible="false" autoselect="true"/>
  121. <Combo position="absolute 185 158 270 178" id="combo1" enable="false" visible="false" innerdataset="@ds_main_temp_hardcd" datacolumn="hardcdnm" codecolumn="hardcd"/>
  122. <Div id="div_all" taborder="3" position="absolute 0 0 784 51">
  123. <Layouts>
  124. <Layout>
  125. <Grid id="grd_prcplist" taborder="0" binddataset="ds_main_prcplist" autoenter="select" autoupdatetype="itemselect" useinputpanel="false" selecttype="multiarea" cellclickbound="cell" oncelldblclick="div_all_grd_prcplist_oncelldblclick" onenteredit="div_all_grd_prcplist_onenteredit" onenterdown="div_all_grd_prcplist_onenterdown" position="absolute 0 0 784 50">
  126. <Formats>
  127. <Format id="default">
  128. <Columns>
  129. <Column size="40"/>
  130. <Column size="40"/>
  131. <Column size="30"/>
  132. <Column size="40"/>
  133. <Column size="40"/>
  134. <Column size="30"/>
  135. <Column size="50"/>
  136. <Column size="50"/>
  137. <Column size="35"/>
  138. <Column size="35"/>
  139. <Column size="155"/>
  140. <Column size="60"/>
  141. <Column size="45"/>
  142. <Column size="193"/>
  143. </Columns>
  144. <Rows>
  145. <Row size="24" band="head"/>
  146. <Row size="24"/>
  147. </Rows>
  148. <Band id="head">
  149. <Cell colspan="3" text="1회용량" taborder="undefined"/>
  150. <Cell col="3" colspan="3" text="1회수량" taborder="undefined"/>
  151. <Cell col="6" colspan="2" text="투여속도" taborder="undefined"/>
  152. <Cell col="8" text="횟수"/>
  153. <Cell col="9" text="일수"/>
  154. <Cell col="10" text="용법"/>
  155. <Cell col="11" text="DRG인정"/>
  156. <Cell col="12" text="기왕증"/>
  157. <Cell col="13" text="접종차수"/>
  158. </Band>
  159. <Band id="body">
  160. <Cell displaytype="number" edittype="expr:isReadonly(currow, &quot;prcpvol&quot;) ? &quot;none&quot; : &quot;masknumber&quot;" style="align:center middle;" text="bind:prcpvol" mask="expr:utlf_isNull(prcpvol) ? &quot;&quot; : &quot;####0.###&quot;" editautoselect="true"/>
  161. <Cell col="1" displaytype="number" edittype="expr:isReadonly(currow, &quot;drprcpetc7&quot;) ? &quot;none&quot; : &quot;masknumber&quot;" style="align:center middle;" text="bind:drprcpetc7" mask="expr:utlf_isNull(drprcpetc7) ? &quot;&quot; : &quot;####0.###&quot;" editautoselect="true"/>
  162. <Cell col="2" text="bind:prcpvolunitnm"/>
  163. <Cell col="3" displaytype="number" edittype="expr:isReadonly(currow, &quot;prcpqty&quot;) ? &quot;none&quot; : &quot;masknumber&quot;" style="align:center middle;" text="bind:prcpqty" mask="expr:utlf_isNull(prcpqty) ? &quot;&quot; : &quot;####0.###&quot;" editautoselect="true"/>
  164. <Cell col="4" displaytype="number" edittype="expr:isReadonly(currow, &quot;drprcpetc8&quot;) ? &quot;none&quot; : &quot;masknumber&quot;" style="align:center middle;" text="bind:drprcpetc8" mask="expr:utlf_isNull(drprcpetc8) ? &quot;&quot; : &quot;####0.###&quot;" editautoselect="true"/>
  165. <Cell col="5" text="bind:prcpqtyunitnm"/>
  166. <Cell col="6" displaytype="number" edittype="masknumber" style="align:center middle;" text="bind:drugspd" mask="#,##0" editautoselect="true"/>
  167. <Cell col="7" displaytype="combo" edittype="combo" style="align:center middle;" class="gridcombo" text="bind:drugspdunitflag" combodataset="ds_M0040" combocodecol="cdid" combodatacol="cdnm"/>
  168. <Cell col="8" displaytype="number" edittype="expr:isReadonly(currow, &quot;prcptims&quot;) ? &quot;none&quot; : &quot;masknumber&quot;" style="align:center middle;" text="bind:prcptims" mask="#,##0" editautoselect="true"/>
  169. <Cell col="9" displaytype="number" edittype="expr:isReadonly(currow, &quot;prcpdayno&quot;) ? &quot;none&quot; : &quot;masknumber&quot;" style="align:center middle;" text="bind:prcpdayno" mask="##0" editautoselect="true"/>
  170. <Cell col="10" style="align:left middle;" text="bind:drugmthdspccdnm"/>
  171. <Cell col="11" displaytype="combo" edittype="combo" class="gridcombo" text="bind:drgacptflag" combodataset="ds_P0506" combocodecol="cdid" combodatacol="cdnm"/>
  172. <Cell col="12" displaytype="checkbox" edittype="checkbox" text="bind:anamneflag" expr="expr:(anamneflag == &quot;Y&quot; || anamneflag == 1) ? 1 : 0"/>
  173. <Cell col="13"/>
  174. </Band>
  175. </Format>
  176. </Formats>
  177. </Grid>
  178. <Button id="button3" taborder="1" text="취소" onclick="button3_onclick" class="btn2" position="absolute 738 4 780 23"/>
  179. <Radio id="radio1" taborder="2" columncount="5" rowcount="0" codecolumn="codecolumn" datacolumn="datacolumn" enable="false" position="absolute 593 29 781 49">
  180. <Dataset id="innerdataset">
  181. <ColumnInfo>
  182. <Column id="codecolumn"/>
  183. <Column id="datacolumn"/>
  184. </ColumnInfo>
  185. <Rows>
  186. <Row>
  187. <Col id="codecolumn">1</Col>
  188. <Col id="datacolumn">1차</Col>
  189. </Row>
  190. <Row>
  191. <Col id="codecolumn">2</Col>
  192. <Col id="datacolumn">2차</Col>
  193. </Row>
  194. <Row>
  195. <Col id="codecolumn">3</Col>
  196. <Col id="datacolumn">3차</Col>
  197. </Row>
  198. <Row>
  199. <Col id="codecolumn">4</Col>
  200. <Col id="datacolumn">4차</Col>
  201. </Row>
  202. <Row>
  203. <Col id="codecolumn">5</Col>
  204. <Col id="datacolumn">5차</Col>
  205. </Row>
  206. </Rows>
  207. </Dataset>
  208. </Radio>
  209. </Layout>
  210. </Layouts>
  211. </Div>
  212. <Static id="caption4" text="투여간격" visible="false" position="absolute 398 158 454 178"/>
  213. <Edit id="output1" taborder="4" readonly="true" autoselect="true" visible="false" position="absolute 449 158 665 178"/>
  214. </Layout>
  215. </Layouts>
  216. <Objects>
  217. <Dataset id="ds_main_temp_prnuseyn" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  218. <ColumnInfo>
  219. <Column id="hardcdno" type="STRING" size="256"/>
  220. <Column id="hardcodenm" type="STRING" size="256"/>
  221. <Column id="hardcd" type="STRING" size="256"/>
  222. <Column id="hardcdnm" type="STRING" size="256"/>
  223. <Column id="cdseqno" type="STRING" size="256"/>
  224. </ColumnInfo>
  225. </Dataset>
  226. <Dataset id="ds_TRMMB16401" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  227. <ColumnInfo>
  228. <Column id="hardcd" type="STRING" size="256" sumtext="하드코드"/>
  229. </ColumnInfo>
  230. <Rows>
  231. <Row/>
  232. </Rows>
  233. </Dataset>
  234. <Dataset id="ds_main_temp_hardcd" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  235. <ColumnInfo>
  236. <Column id="status" type="STRING" size="256" sumtext="상태값"/>
  237. <Column id="hardcd" type="STRING" size="256" sumtext="하드코드"/>
  238. <Column id="hardcdnm" type="STRING" size="256" sumtext="하드코드명"/>
  239. <Column id="resncmt" type="STRING" size="256" sumtext="상세사유"/>
  240. </ColumnInfo>
  241. </Dataset>
  242. <Dataset id="ds_init" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  243. <ColumnInfo>
  244. <Column id="bfhosinprcpresncd" type="STRING" size="256"/>
  245. </ColumnInfo>
  246. <Rows>
  247. <Row/>
  248. </Rows>
  249. </Dataset>
  250. <Dataset id="ds_main_temp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  251. <ColumnInfo>
  252. <Column id="clinccmtcnts" type="STRING" size="256"/>
  253. <Column id="prnuseyn" type="STRING" size="256"/>
  254. <Column id="prntms" type="STRING" size="256"/>
  255. <Column id="prnresncmt" type="STRING" size="256"/>
  256. <Column id="prnresnnm" type="STRING" size="256"/>
  257. <Column id="prnhardcd" type="STRING" size="256"/>
  258. <Column id="prnprcpresncd" type="STRING" size="256"/>
  259. <Column id="prnterm" type="STRING" size="256"/>
  260. </ColumnInfo>
  261. <Rows>
  262. <Row/>
  263. </Rows>
  264. </Dataset>
  265. <Dataset id="ds_main_prcplist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false" oncolumnchanged="ds_main_prcplist_oncolumnchanged">
  266. <ColumnInfo>
  267. <Column id="status" type="STRING" size="256" sumtext="입력,수정,삭제,d/c"/>
  268. <Column id="prcpstatcd" type="STRING" size="256" sumtext="처방상태코드"/>
  269. <Column id="prcpclscd" type="STRING" size="256" sumtext="처방분류코드"/>
  270. <Column id="prcpkindcd" type="STRING" size="256" sumtext="처방종류코드"/>
  271. <Column id="prcpcd" type="STRING" size="256" sumtext="처방코드"/>
  272. <Column id="prcpnm" type="STRING" size="256" sumtext="처방명"/>
  273. <Column id="prcpvol" type="STRING" size="256" sumtext="처방용량"/>
  274. <Column id="prcpvolunitnm" type="STRING" size="256" sumtext="처방용량단위명"/>
  275. <Column id="prcpqty" type="STRING" size="256" sumtext="처방수량"/>
  276. <Column id="prcpqtyunitnm" type="STRING" size="256" sumtext="처방수량단위명"/>
  277. <Column id="prcptims" type="STRING" size="256" sumtext="처방횟수"/>
  278. <Column id="prcpdayno" type="STRING" size="256" sumtext="처방일수"/>
  279. <Column id="drugmthdspccdnm" type="STRING" size="256" sumtext="투여방법검체코드명"/>
  280. <Column id="prcpmixno" type="STRING" size="256" sumtext="처방mix번호"/>
  281. <Column id="payflagcd" type="STRING" size="256" sumtext="급여구분코드"/>
  282. <Column id="prcpdelivefact" type="STRING" size="256" sumtext="전달사항"/>
  283. <Column id="hosinhosoutflag" type="STRING" size="256" sumtext="원내/원외구분"/>
  284. <Column id="prcpexecdeptcd" type="STRING" size="256" sumtext="처방실시부서코드"/>
  285. <Column id="prcphopedd" type="STRING" size="256" sumtext="처방희망일시"/>
  286. <Column id="choiordflag" type="STRING" size="256" sumtext="선택진료구분"/>
  287. <Column id="rgstdt" type="STRING" size="256" sumtext="등록일시"/>
  288. <Column id="rgstridnm" type="STRING" size="256" sumtext="등록자명"/>
  289. <Column id="testrsltunit" type="STRING" size="256" sumtext="검사결과단위"/>
  290. <Column id="testrsltcnts" type="STRING" size="256" sumtext="검사결과"/>
  291. <Column id="prcpgenrflag" type="STRING" size="256" sumtext="처방발생구분"/>
  292. <Column id="prcphistcd" type="STRING" size="256" sumtext="처방이력코드"/>
  293. <Column id="tempprcpflag" type="STRING" size="256" sumtext="임시처방구분"/>
  294. <Column id="prcpsetcd" type="STRING" size="256" sumtext="처방set코드"/>
  295. <Column id="prcpvolunitflag" type="STRING" size="256" sumtext="처방용량단위구분"/>
  296. <Column id="prcpqtyunitflag" type="STRING" size="256" sumtext="처방수량단위구분"/>
  297. <Column id="orgprcpqty" type="STRING" size="256" sumtext="실제처방수량"/>
  298. <Column id="drugspd" type="STRING" size="256" sumtext="투여속도"/>
  299. <Column id="drugspdunitflag" type="STRING" size="256" sumtext="투여속도단위구분"/>
  300. <Column id="powdflag" type="STRING" size="256" sumtext="파우더구분"/>
  301. <Column id="prnprcpflag" type="STRING" size="256" sumtext="prn처방구분"/>
  302. <Column id="prepprcpflag" type="STRING" size="256" sumtext="prep처방구분"/>
  303. <Column id="selfprcpflag" type="STRING" size="256" sumtext="자가처방구분"/>
  304. <Column id="selfdrugflag" type="STRING" size="256" sumtext="self약구분"/>
  305. <Column id="drugpackflag" type="STRING" size="256" sumtext="투약포장구분"/>
  306. <Column id="erprcpflag" type="STRING" size="256" sumtext="응급처방구분"/>
  307. <Column id="precureprcpflag" type="STRING" size="256" sumtext="선처치처방구분"/>
  308. <Column id="nigtprcpflag" type="STRING" size="256" sumtext="야간처방구분"/>
  309. <Column id="portprcpflag" type="STRING" size="256" sumtext="포터블처방구분"/>
  310. <Column id="fixprcpflag" type="STRING" size="256" sumtext="정액처방구분"/>
  311. <Column id="anamneflag" type="STRING" size="256" sumtext="기왕증(력)구분"/>
  312. <Column id="fastprcpflag" type="STRING" size="256" sumtext="금식처방구분"/>
  313. <Column id="erreadflag" type="STRING" size="256" sumtext="응급판독구분"/>
  314. <Column id="prcpdirecflag" type="STRING" size="256" sumtext="처방방향구분"/>
  315. <Column id="tnsuseflag" type="STRING" size="256" sumtext="수혈사용구분"/>
  316. <Column id="tnsfiltflag" type="STRING" size="256" sumtext="수혈필터구분"/>
  317. <Column id="trnptbftestflag" type="STRING" size="256" sumtext="이식전검사구분"/>
  318. <Column id="offictourhealexamflag" type="STRING" size="256" sumtext="출장건진구분"/>
  319. <Column id="stemcellflag" type="STRING" size="256" sumtext="조혈모(줄기)세포구분"/>
  320. <Column id="angioflagcd" type="STRING" size="256" sumtext="angio구분"/>
  321. <Column id="opansflagcd" type="STRING" size="256" sumtext="수술마취구분"/>
  322. <Column id="ansttm" type="STRING" size="256" sumtext="마취시간"/>
  323. <Column id="mealcalrcnts" type="STRING" size="256" sumtext="식이열량함량"/>
  324. <Column id="mealprotcnts" type="STRING" size="256" sumtext="식이단백질함량"/>
  325. <Column id="mealupdtflag" type="STRING" size="256" sumtext="식이수정구분"/>
  326. <Column id="hosinprcpresncd" type="STRING" size="256" sumtext="원내처방사유코드"/>
  327. <Column id="etcprcpresncd" type="STRING" size="256" sumtext="기타처방사유코드"/>
  328. <Column id="drugmthdspccd" type="STRING" size="256" sumtext="투여방법검체코드"/>
  329. <Column id="issdeptcd" type="STRING" size="256" sumtext="발행부서코드"/>
  330. <Column id="prcpauthflag" type="STRING" size="256" sumtext="처방권한구분"/>
  331. <Column id="prcpinptflag" type="STRING" size="256" sumtext="처방입력구분"/>
  332. <Column id="prcpsignflag" type="STRING" size="256" sumtext="처방서명구분"/>
  333. <Column id="rateprcpflag" type="STRING" size="256" sumtext="비율처방구분"/>
  334. <Column id="prcprefseq" type="STRING" size="256" sumtext="처방조회순서"/>
  335. <Column id="ordreqlnkno" type="STRING" size="256" sumtext="진료의뢰연결번호"/>
  336. <Column id="testreqlnkno" type="STRING" size="256" sumtext="검사의뢰연결번호"/>
  337. <Column id="prcplnkdd" type="STRING" size="256" sumtext="처방연계일자"/>
  338. <Column id="prcplnkno" type="STRING" size="256" sumtext="처방연계번호"/>
  339. <Column id="oprsrvno" type="STRING" size="256" sumtext="수술예약번호"/>
  340. <Column id="tootfact" type="STRING" size="256" sumtext="치식사항"/>
  341. <Column id="clinccmtcnts" type="STRING" size="256" sumtext="임상소견내용"/>
  342. <Column id="prcpessninptflag" type="STRING" size="256" sumtext="처방필수입력구분"/>
  343. <Column id="grupsnglflag" type="STRING" size="256" sumtext="그룹싱글구분"/>
  344. <Column id="drugrateqty" type="STRING" size="256" sumtext="투약비율수랑"/>
  345. <Column id="asttestflag" type="STRING" size="256" sumtext="ast검사구분"/>
  346. <Column id="clincstdyflag" type="STRING" size="256" sumtext="임상연구구분"/>
  347. <Column id="prtlno" type="STRING" size="256" sumtext="프로토콜번호"/>
  348. <Column id="clincstdycd" type="STRING" size="256" sumtext="임상연구코드"/>
  349. <Column id="optermcd" type="STRING" size="256" sumtext="수술용어"/>
  350. <Column id="prcpflag" type="STRING" size="256" sumtext="처방구분"/>
  351. <Column id="hscttempprcpflag" type="STRING" size="256" sumtext="hsct임시처방구분"/>
  352. <Column id="inclprcpcd" type="STRING" size="256" sumtext="종속처방코드"/>
  353. <Column id="inclprcpno" type="STRING" size="256" sumtext="종속처방번호"/>
  354. <Column id="pampkspec" type="STRING" size="256" sumtext="원무pk내역"/>
  355. <Column id="prcppkspec" type="STRING" size="256" sumtext="처방pk내역"/>
  356. <Column id="calcscormastspec" type="STRING" size="256" sumtext="수가마스터내역"/>
  357. <Column id="drugmastspec" type="STRING" size="256" sumtext="약품마스터내역"/>
  358. <Column id="rateprcpspec" type="STRING" size="256" sumtext="비율처방내역"/>
  359. <Column id="matrsetprcpspec" type="STRING" size="256" sumtext="재료set처방내역"/>
  360. <Column id="suppdeptspec" type="STRING" size="256" sumtext="지원부서내역"/>
  361. <Column id="contprcpspec" type="STRING" size="256" sumtext="연속처방내역"/>
  362. <Column id="etclnkspec" type="STRING" size="256" sumtext="기타연계내역"/>
  363. <Column id="srchcondcnts" type="STRING" size="256" sumtext="검색조건내용"/>
  364. <Column id="orgprcpnm" type="STRING" size="256" sumtext="수가처방명"/>
  365. <Column id="chkcol" type="STRING" size="256" sumtext="전처방check표시"/>
  366. <Column id="hsctdelivepos" type="STRING" size="256" sumtext="hsct전달위치"/>
  367. <Column id="hsctlnkno" type="STRING" size="256" sumtext="hsct연계번호"/>
  368. <Column id="etcprcpflag" type="STRING" size="256" sumtext="기타처방구분"/>
  369. <Column id="aftcertflag" type="STRING" size="256" sumtext="후인증구분"/>
  370. <Column id="aftcertdrid" type="STRING" size="256" sumtext="후인증대상의사id"/>
  371. <Column id="prcpvalidd" type="STRING" size="256" sumtext="처방유효일자"/>
  372. <Column id="spynpy1" type="STRING" size="256" sumtext="환자급비유형"/>
  373. <Column id="specdrid" type="STRING" size="256" sumtext="선택진료의id"/>
  374. <Column id="specdrnm" type="STRING" size="256" sumtext="선택진료의명"/>
  375. <Column id="anticncrprtlno" type="STRING" size="256" sumtext="항암프로토콜에대한코드로일련번호형태로관리"/>
  376. <Column id="anticncrdayno" type="STRING" size="256" sumtext="항암프로토콜의실시차수"/>
  377. <Column id="druglnkno" type="STRING" size="256" sumtext="항암프로토콜,tpn처방의처방번호"/>
  378. <Column id="rehbprcpcurefreqflag" type="STRING" size="256" sumtext="재활처방치료빈도"/>
  379. <Column id="dietprcpgenrflag" type="STRING" size="256" sumtext="식이처방발생구분"/>
  380. <Column id="irpayflag" type="STRING" size="256" sumtext="irradiation급비구분"/>
  381. <Column id="irflag" type="STRING" size="256" sumtext="irradiation구분"/>
  382. <Column id="procerdietflag" type="STRING" size="256" sumtext="보호자식이구분"/>
  383. <Column id="diagtestconttestintvlflag" type="STRING" size="256" sumtext="진단검사연속검사기본시간"/>
  384. <Column id="drugindependpackflag" type="STRING" size="256" sumtext="따로포장구분"/>
  385. <Column id="diagtestconttestbasetm" type="STRING" size="256" sumtext="진단검사연속검사기본시간"/>
  386. <Column id="diagtestconttestorgtims" type="STRING" size="256" sumtext="진단검사연속검사원횟수"/>
  387. <Column id="ermediscmngtresncd" type="STRING" size="256" sumtext="응급의학관리료사유코드"/>
  388. <Column id="rehbprcpenddd" type="STRING" size="256" sumtext="재활처방마감일자"/>
  389. <Column id="matrallsizespecid" type="STRING" size="256" sumtext="재료allsize규격id"/>
  390. <Column id="rehbprcpcurepartcd" type="STRING" size="256" sumtext="재활처방치료부위"/>
  391. <Column id="lowdrugresncd" type="STRING" size="256" sumtext="저함량배수사유코드"/>
  392. <Column id="tfdtlcd" type="STRING" size="256" sumtext="경장영양식세부코드"/>
  393. <Column id="dnorreqlnkno" type="STRING" size="256" sumtext="hla검사의뢰지"/>
  394. <Column id="subcretno" type="STRING" size="256" sumtext="기왕증,임상연구보조유형"/>
  395. <Column id="exptmthdfact" type="STRING" size="256" sumtext="예외용법설명"/>
  396. <Column id="lowdrugresnetcfact" type="STRING" size="256" sumtext="기타저함량배수상세사유"/>
  397. <Column id="diagtestconttestcdspec" type="STRING" size="256" sumtext="진단검사연속검사코드내역"/>
  398. <Column id="drgacptflag" type="STRING" size="256" sumtext="drg인정flag"/>
  399. <Column id="drprcpetc1" type="STRING" size="256" sumtext="의사처방기타1"/>
  400. <Column id="drprcpetc2" type="STRING" size="256" sumtext="의사처방기타2"/>
  401. <Column id="drprcpetc3" type="STRING" size="256" sumtext="의사처방기타3"/>
  402. <Column id="drprcpetc4" type="STRING" size="256" sumtext="의사처방기타4"/>
  403. <Column id="drprcpetc5" type="STRING" size="256" sumtext="의사처방기타5"/>
  404. <Column id="drprcpetc6" type="STRING" size="256" sumtext="의사처방기타6"/>
  405. <Column id="drprcpetc7" type="STRING" size="256" sumtext="의사처방기타7"/>
  406. <Column id="drprcpetc8" type="STRING" size="256" sumtext="의사처방기타8"/>
  407. <Column id="drprcpetc9" type="STRING" size="256" sumtext="의사처방기타9"/>
  408. <Column id="drprcpetc10" type="STRING" size="256" sumtext="의사처방기타10"/>
  409. <Column id="tempcol1" type="STRING" size="256" sumtext="임시컬럼1"/>
  410. <Column id="tempcol2" type="STRING" size="256" sumtext="임시컬럼2"/>
  411. <Column id="tempcol3" type="STRING" size="256" sumtext="임시컬럼3"/>
  412. <Column id="tempcol4" type="STRING" size="256" sumtext="임시컬럼4"/>
  413. <Column id="tempcol5" type="STRING" size="256" sumtext="임시컬럼5"/>
  414. <Column id="tempcol6" type="STRING" size="256" sumtext="임시컬럼6"/>
  415. <Column id="tempcol7" type="STRING" size="256" sumtext="임시컬럼7"/>
  416. <Column id="tempcol8" type="STRING" size="256" sumtext="임시컬럼8"/>
  417. <Column id="tempcol9" type="STRING" size="256" sumtext="임시컬럼9"/>
  418. <Column id="tempcol10" type="STRING" size="256" sumtext="임시컬럼10"/>
  419. <Column id="tempcol11" type="STRING" size="256" sumtext="임시컬럼11"/>
  420. <Column id="tempcol12" type="STRING" size="256" sumtext="임시컬럼12"/>
  421. <Column id="tempcol13" type="STRING" size="256" sumtext="임시컬럼13"/>
  422. <Column id="tempcol14" type="STRING" size="256" sumtext="임시컬럼14"/>
  423. <Column id="tempcol15" type="STRING" size="256" sumtext="임시컬럼15"/>
  424. <Column id="tempcol16" type="STRING" size="256" sumtext="임시컬럼16"/>
  425. <Column id="tempcol17" type="STRING" size="256" sumtext="임시컬럼17"/>
  426. <Column id="tempcol18" type="STRING" size="256" sumtext="임시컬럼18"/>
  427. <Column id="tempcol19" type="STRING" size="256" sumtext="임시컬럼19"/>
  428. <Column id="tempcol20" type="STRING" size="256" sumtext="임시컬럼20"/>
  429. <Column id="tempcol21" type="STRING" size="256" sumtext="임시컬럼21"/>
  430. <Column id="tempcol22" type="STRING" size="256" sumtext="임시컬럼22"/>
  431. <Column id="tempcol23" type="STRING" size="256" sumtext="임시컬럼23"/>
  432. <Column id="tempcol24" type="STRING" size="256" sumtext="임시컬럼24"/>
  433. <Column id="tempcol25" type="STRING" size="256" sumtext="임시컬럼25"/>
  434. <Column id="fasttrackflag" type="STRING" size="256" sumtext="Fast Track 처방 여부"/>
  435. <Column id="drprcpetc11" type="STRING" size="256" sumtext="50%감면적용 처치:제2시술, 영상:인접부위"/>
  436. <Column id="drprcpetc12" type="STRING" size="256" sumtext="의사처방기타12"/>
  437. <Column id="drprcpetc13" type="STRING" size="256" sumtext="의사처방기타13"/>
  438. <Column id="drprcpetc14" type="STRING" size="256" sumtext="의사처방기타14"/>
  439. <Column id="drprcpetc15" type="STRING" size="256" sumtext="의사처방기타15"/>
  440. <Column id="drprcpetc16" type="STRING" size="256" sumtext="의사처방기타16"/>
  441. <Column id="drprcpetc17" type="STRING" size="256" sumtext="의사처방기타17"/>
  442. <Column id="drprcpetc18" type="STRING" size="256" sumtext="의사처방기타18"/>
  443. <Column id="drprcpetc19" type="STRING" size="256" sumtext="의사처방기타19"/>
  444. <Column id="drprcpetc20" type="STRING" size="256" sumtext="의사처방기타20"/>
  445. <Column id="drprcpetc21" type="STRING" size="256" sumtext="의사처방기타21"/>
  446. <Column id="drprcpetc22" type="STRING" size="256" sumtext="의사처방기타22"/>
  447. <Column id="drprcpetc23" type="STRING" size="256" sumtext="의사처방기타23"/>
  448. <Column id="drprcpetc24" type="STRING" size="256" sumtext="의사처방기타24"/>
  449. <Column id="drprcpetc25" type="STRING" size="256" sumtext="의사처방기타25"/>
  450. <Column id="drprcpetc26" type="STRING" size="256" sumtext="의사처방기타26"/>
  451. <Column id="drprcpetc27" type="STRING" size="256" sumtext="의사처방기타27"/>
  452. <Column id="drprcpetc28" type="STRING" size="256" sumtext="의사처방기타28"/>
  453. <Column id="drprcpetc29" type="STRING" size="256" sumtext="의사처방기타29"/>
  454. <Column id="drprcpetc30" type="STRING" size="256" sumtext="의사처방기타30"/>
  455. <Column id="rgstdeptcd" type="STRING" size="256" sumtext="최초등록부서(insert)"/>
  456. <Column id="prcpclassnm" type="STRING" size="256" sumtext="처방분류명"/>
  457. <Column id="rowkey" type="STRING" size="256" sumtext="rowid"/>
  458. <Column id="instcd" type="STRING" size="256" sumtext="기관기호"/>
  459. </ColumnInfo>
  460. </Dataset>
  461. <Dataset id="ds_orddept" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  462. <Dataset id="ds_drugcalc" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  463. <ColumnInfo>
  464. <Column id="prcpvol" type="STRING" size="256"/>
  465. <Column id="prcpqty" type="STRING" size="256"/>
  466. <Column id="prcptims" type="STRING" size="256"/>
  467. <Column id="drprcpetc7" type="STRING" size="256"/>
  468. <Column id="drprcpetc8" type="STRING" size="256"/>
  469. </ColumnInfo>
  470. <Rows>
  471. <Row/>
  472. </Rows>
  473. </Dataset>
  474. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  475. <ColumnInfo>
  476. <Column id="cond1" type="STRING" size="256" sumtext="용법종류"/>
  477. <Column id="cond2" type="INT" size="256" sumtext="기본횟수"/>
  478. <Column id="cond3" type="STRING" size="256" sumtext="flag:기본용법 조회 구분자"/>
  479. <Column id="cond4" type="STRING" size="256" sumtext="용법코드"/>
  480. <Column id="cond5" type="STRING" size="256" sumtext="처방코드"/>
  481. <Column id="cond6" type="STRING" size="256" sumtext="처방적용일"/>
  482. <Column id="mthdtime" type="STRING" size="256" sumtext="용법시간"/>
  483. <Column id="mthdtimenm" type="STRING" size="256" sumtext="용법시간명"/>
  484. </ColumnInfo>
  485. </Dataset>
  486. <Dataset id="ds_tmedmthdlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  487. <ColumnInfo>
  488. <Column id="status" type="STRING" size="256" sumtext="상태"/>
  489. <Column id="abbrnm" type="STRING" size="256" sumtext="약어명"/>
  490. <Column id="mthdcnts" type="STRING" size="256" sumtext="용법내용"/>
  491. <Column id="mthdcd" type="STRING" size="256" sumtext="용법코드"/>
  492. <Column id="basecnt" type="STRING" size="256" sumtext="기본횟수"/>
  493. <Column id="adminpath" type="STRING" size="256" sumtext="투여경로구분"/>
  494. <Column id="mealflag" type="STRING" size="256" sumtext="식전후구분"/>
  495. <Column id="drdirecyn" type="STRING" size="256" sumtext="의사지시여부"/>
  496. </ColumnInfo>
  497. </Dataset>
  498. </Objects>
  499. <Bind>
  500. <BindItem id="item1" compid="radio2" propid="value" datasetid="ds_main_prcplist" columnid="hosinhosoutflag"/>
  501. <BindItem id="item2" compid="radio3" propid="value" datasetid="ds_main_prcplist" columnid="hosinhosoutflag"/>
  502. <BindItem id="item3" compid="input1" propid="value" datasetid="ds_main_prcplist" columnid="prcpdelivefact"/>
  503. <BindItem id="item4" compid="output2" propid="value" datasetid="ds_main_temp" columnid="prntms"/>
  504. <BindItem id="item5" compid="rdo_clinccmtcnts" propid="value" datasetid="ds_main_prcplist" columnid="clinccmtcnts"/>
  505. <BindItem id="item6" compid="ipt_clinccmtcnts" propid="value" datasetid="ds_main_temp" columnid="clinccmtcnts"/>
  506. <BindItem id="item7" compid="combo1" propid="value" datasetid="ds_main_temp" columnid="prnprcpresncd"/>
  507. <BindItem id="item8" compid="output4" propid="value" datasetid="ds_main_temp" columnid="prnresncmt"/>
  508. <BindItem id="item0" compid="div_all.radio1" propid="value" datasetid="ds_main_prcplist" columnid="mealcalrcnts"/>
  509. <BindItem id="item9" compid="output1" propid="value" datasetid="ds_main_temp" columnid="prnterm"/>
  510. </Bind>
  511. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  512. * System Name :
  513. * Job Name :
  514. * Creator :
  515. * Make Date : 2014-12-10
  516. * Description :
  517. *---------------------------------------------------------------------------------------
  518. * Modify Date Modifier Modify Description
  519. *---------------------------------------------------------------------------------------
  520. * 2014-12-10 Live Converter TF->XP
  521. *
  522. *---------------------------------------------------------------------------------------
  523. ****************************************************************************************/
  524. include "com_commonxp::comm_main.xjs";
  525. include "emr_prcpmngtxp::MMO001.xjs";
  526. include "emr_prcpmngtxp::SMMMO00100.xjs";
  527. var oOpener;
  528. function SPMMO01200_oninit(obj:Form, e:InitEventInfo)
  529. {
  530. frmf_initForm(obj);
  531. try{
  532. ds_main_prcplist.copyData(arg_ds_main_prcplist);
  533. }
  534. catch(err){
  535. if( ds_main_prcplist.rowcount == 0 )
  536. ds_main_prcplist.addRow();
  537. }
  538. }
  539. function SPMMO01200_onload(obj:Form, e:LoadEventInfo)
  540. {
  541. oOpener = this.getOwnerFrame().form;
  542. var aaa = oOpener.ds_main_prcplist_selected;
  543. try {
  544. grdf_setToolTipBind(grd_prcpdetl2);
  545. var colHidnValue = lf_grdBaseColHidn("D");
  546. lf_grdBaseColHidn(colHidnValue, "div_all.grd_prcplist", 50, "prcpvol", "prcpqty", "drprcpetc7", "drprcpetc8");
  547. appf_getCodeList([{dsNm: "ds_M0029", cdGrpId: "M0029"}
  548. , {dsNm: "ds_M0040", cdGrpId: "M0040"}
  549. , {dsNm: "ds_P0323", cdGrpId: "P0323"}
  550. , {dsNm: "ds_P0506", cdGrpId: "P0506"}], true);
  551. //원무에서 화면을 열 경우, 공통코드 조회 이외의 로직은 처리하지 않음 2008. 06. 16 오지훈
  552. var prcppopupflag = opener.frmf_getParameter("prcppopupflag");
  553. if(prcppopupflag == "PAM"){
  554. return;
  555. }
  556. var prcpgenrflag = opener.objects["ds_patflag"] == null ? "" : opener.ds_patflag.getColumn(0, "prcpgenrflag"); //환자리스트에서 준 외래, 입원, 응급 구분
  557. var node01 = ds_P0323.findRow("cdid", '01');
  558. if(node01 >= 0){
  559. ds_P0323.deleteRow(node01);
  560. ds_P0323.applyChange();
  561. }
  562. lf_reqHardCodeInfo(ds_main_temp_prnuseyn, "173");
  563. ds_TRMMB16401.setColumn(0, "hardcd", "172");
  564. var oParam = {};
  565. oParam.id = "TRMMB16401";
  566. oParam.service = "prcpbaseapp.EnvInfoMngt";
  567. oParam.method = "reqGetHardCodeCD";
  568. oParam.inds = "req=ds_TRMMB16401";
  569. oParam.outds = "ds_main_temp_hardcd=hardcd";
  570. oParam.async = false;
  571. tranf_submit(oParam);
  572. dsf_setDefaultVal(ds_main_temp_hardcd, "status:N");
  573. titletext = "[주사]" + "[" + ds_main_prcplist.getColumn(0, "prcpcd") + " : " + ds_main_prcplist.getColumn(0, "orgprcpnm") + "]";
  574. lf_prcpExecDeptSrch();
  575. var tempcol2 = ds_main_prcplist.getColumn(0, "tempcol2");
  576. var findRow = opener.objects["ds_initsrch_earnclsauto"] == null ? -1 : opener.ds_initsrch_earnclsauto.findRowExpr("earnclsflag == '2' && earnclscd == '" + tempcol2 + "'");
  577. var earnclscd = (findRow >= 0) ? opener.ds_initsrch_earnclsauto.getColumn(findRow, "earnclscd") : "";
  578. if ( !utlf_isNull(earnclscd)) {
  579. div_all.radio1.enable = true;
  580. //alert ( earnclscd );
  581. }
  582. //예방주사 버튼 활성화 처방
  583. var hosinhosoutflag = ds_main_prcplist.getColumn(0, "hosinhosoutflag");
  584. if ( prcpgenrflag == "O" || prcpgenrflag == "E" || prcpgenrflag == "D") { //외래이면 prn처방 disable
  585. if ( opener.ds_root.getColumn(0, "usge") == "prcp" ) {
  586. if ( prcpgenrflag == "O" && ds_main_prcplist.getColumn(0, "prcpkindcd") != "80" ) {
  587. var col = grd_prcpdetl2.getBindCellIndex("body", "prnprcpflag");
  588. grd_prcpdetl2.setCellProperty("body", col, "edittype", "none");
  589. grd_prcpdetl2.setCellProperty("body", col, "controlbackground", "silver");
  590. grd_prcpdetl2.setCellProperty("body", col, "controlborder", "1 solid #708090cc");
  591. }
  592. //원내처방사유 변경시 아니오를 선택할 경우 원래값으로 돌아가기 위해 전원내처방사유를 관리한다.
  593. //값은 원내처방사유가 변경될 때마다 같이 변경된다.
  594. ds_init.setColumn(0, "bfhosinprcpresncd", ds_main_prcplist.getColumn(0, "hosinprcpresncd"));
  595. }
  596. }
  597. if ( hosinhosoutflag != "O" ) {
  598. if ( prcpgenrflag == "I" ) { // 입원은 원내/원외, 원내처방사유 disable
  599. radio2.enable = false;
  600. radio3.enable = false;
  601. var col = grd_prcpdetl2.getBindCellIndex("body", "hosinprcpresncd");
  602. grd_prcpdetl2.setCellProperty("body", col, "edittype", "none");
  603. }
  604. }
  605. lf_contPrcpDdInit ( grd_prcpdetl2, 9 );
  606. //30일 이상의 마약처방인 경우, 사유를 입력할 수 있도록 변경, 2008. 06. 12 오지훈
  607. var drugmastspec = ds_main_prcplist.getColumn(0, "drugmastspec");
  608. var spcldrug = lf_getArrayData ( drugmastspec, 0, 23, "^", "|" );
  609. var prcpdayno = ds_main_prcplist.getColumn(0, "prcpdayno");
  610. var clinccmtcnts = ds_main_prcplist.getColumn(0, "clinccmtcnts");
  611. if ( spcldrug == "M" ) {
  612. rdo_clinccmtcnts.visible = true;
  613. ipt_clinccmtcnts.visible = true;
  614. if(prcpdayno >= 30){ //2.기타인 경우 input box에 clinccmtcnts의 값을 설정
  615. if(clinccmtcnts != "1. 다음 진료일까지의 기간이 30일 초과"){
  616. ds_main_prcplist.setColumn(0, "clinccmtcnts", "2. 기타");
  617. ds_main_temp.setColumn(0, "clinccmtcnts", clinccmtcnts);
  618. ipt_clinccmtcnts.enable = true;
  619. }
  620. }
  621. }else{
  622. rdo_clinccmtcnts.visible = false;
  623. ipt_clinccmtcnts.visible = false;
  624. caption22.position.y = 119;
  625. input1.position.y = 137;
  626. button1.position.y = 160;
  627. button2.position.y = 160;
  628. button4.position.y = 117;
  629. parent.position.height = 230;
  630. }
  631. //by sonjy 20091021 수가계산방법 4일때는 일수입력 불가 처리.변경요청번호 : 3667
  632. var calcmthdcd = lf_getArrayData ( drugmastspec , 0, 26, "^", "|" );
  633. if( calcmthdcd == "4" ) {
  634. ds_main_prcplist.setColumn(0, "prcpdayno", "1");
  635. var col = div_all.grd_prcplist.getBindCellIndex("body", "prcpdayno");
  636. div_all.grd_prcplist.setCellProperty("body", col, "edittype", "none");
  637. }else {
  638. var col = div_all.grd_prcplist.getBindCellIndex("body", "prcpdayno");
  639. div_all.grd_prcplist.setCellProperty("body", col, "edittype", "text");
  640. }
  641. // 입력된 PRN 처방 사유와 횟수가 있으면 보여주되 하드코드 173번, 화면코드를 구분기준으로 한다. 2010-01-02 by LYJ
  642. if ( (ds_main_prcplist.getColumn(0, "prnprcpflag") == "Y" && opener.frmf_getParameter("SPMMO01100_prcp") != "SMMMO00100") || (ds_main_prcplist.getColumn(0, "prnprcpflag") == "Y" && ds_main_temp_prnuseyn.getColumn(0, "hardcd") == "Y" )){
  643. // 허만호, 디자인 수정 S
  644. //this.parent.position.height = 240;
  645. //caption1.position.y = 160;
  646. //caption2.position.y = 160;
  647. //output1.position.y = 160;
  648. //output2.position.y = 160;
  649. //caption3.position.y = 160;
  650. //combo1.position.y = 160;
  651. //output4.position.y = 160;
  652. //caption4.position.y = 160;
  653. // 허만호, 디자인 수정 E
  654. input1.enable = false; // 현행화, 15.05.27
  655. caption1.visible = true;
  656. caption2.visible = true;
  657. caption3.visible = true;
  658. caption4.visible = true;
  659. output1.visible = true;
  660. output2.visible = true;
  661. output4.visible = true;
  662. combo1.visible = true;
  663. var SPMMO01200_prndetl = opener.frmf_getParameter("SPMMO01200_prndetl");
  664. var SetPrnPrcpDetl = SPMMO01200_prndetl.split("|");
  665. if ( SetPrnPrcpDetl.length > 2 ){
  666. ds_main_temp.setColumn(0, "prntms", SetPrnPrcpDetl[0]); // model.setValue("/root/main/temp/prntms", SetPrnPrcpDetl[0]);
  667. ds_main_temp.setColumn(0, "prnprcpresncd", SetPrnPrcpDetl[1]); // model.setValue("/root/main/temp/prnprcpresncd", SetPrnPrcpDetl[1]);
  668. if (SetPrnPrcpDetl[2] != '-'){
  669. ds_main_temp.setColumn(0, "prnresncmt", SetPrnPrcpDetl[2]); //model.setValue("/root/main/temp/prnresncmt", SetPrnPrcpDetl[2]);
  670. }
  671. if (SetPrnPrcpDetl.length > 3){
  672. ds_main_temp.setColumn(0, "prnterm", SetPrnPrcpDetl[3]); //model.setValue("/root/main/temp/prnterm", SetPrnPrcpDetl[3]);
  673. }
  674. }
  675. }
  676. button1.setFocus();
  677. } catch(e) { sysf_catchTrace(e); }
  678. }
  679. // TF의 readonly bind 통합처리
  680. function isReadonly(currow, colId) {
  681. var result = false;
  682. if(colId == "prcpqty") { // TF bind1
  683. var inclprcpno = ds_main_prcplist.getColumn(currow, "inclprcpno");
  684. if(inclprcpno > 0)
  685. result = true;
  686. } else if(colId == "prcpvol") { // TF bind2
  687. var inclprcpno = ds_main_prcplist.getColumn(currow, "inclprcpno");
  688. if(inclprcpno > 0)
  689. result = true;
  690. } else if(colId == "prcptims") { // TF bind3
  691. var inclprcpno = ds_main_prcplist.getColumn(currow, "inclprcpno");
  692. var erprcpflag = ds_main_prcplist.getColumn(currow, "erprcpflag");
  693. var prnprcpflag = ds_main_prcplist.getColumn(currow, "prnprcpflag");
  694. if(inclprcpno > 0 || erprcpflag == "Y" || prnprcpflag == "Y")
  695. result = true;
  696. } else if(colId == "prcpdayno") { // TF bind4
  697. var inclprcpno = ds_main_prcplist.getColumn(currow, "inclprcpno");
  698. if(inclprcpno > 0)
  699. result = true;
  700. }
  701. return result;
  702. }
  703. function ds_main_prcplist_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  704. {
  705. try {
  706. // 그리드안의 checkbox 값 변경 용도
  707. if(e.columnid == "anamneflag" || e.columnid == "erprcpflag" || e.columnid == "prnprcpflag" || e.columnid == "prepprcpflag"
  708. || e.columnid == "asttestflag" || e.columnid == "selfprcpflag" || e.columnid == "selfdrugflag"
  709. || e.columnid == "precureprcpflag" || e.columnid == "clincstdyflag") {
  710. obj.setColumn(e.row, e.columnid, (e.newvalue == "Y" || e.newvalue == 1) ? "Y" : "N");
  711. }
  712. if ( e.columnid == "prcpvol") {
  713. DrugCalc ("prcpvol" , e.row);
  714. } else if ( e.columnid == "drprcpetc7") {
  715. DrugCalc ("drprcpetc7" , e.row);
  716. } else if ( e.columnid == "prcpqty") {
  717. DrugCalc ( "prcpqty" , e.row);
  718. //start: 요청번호 9851, 인슐린주사제 변경 alert (2010.01.28 JJE)
  719. var PrcpQty = obj.getColumn(e.row, "prcpqty" );
  720. var bfPrcpQty = ds_drugcalc.getColumn(0, "prcpqty" );
  721. var cnclInptTxt = obj.getColumn(e.row, "prcpcd");
  722. var prcpcdEndTxt = cnclInptTxt.substring(cnclInptTxt.length - 1, cnclInptTxt.length);
  723. if(obj.getColumn(e.row, "tempcol2") == "05|04|09" && (prcpcdEndTxt == "J" || prcpcdEndTxt == "P") && eval(PrcpQty) < 1){
  724. sysf_messageBox(cnclInptTxt + "\n\n소량 처방을 원하시는 경우에는\nUNIT 단위 코드(원 처방의 끝자리 J나 P를 뺀 코드)로 변경 처방하여 주시기 바랍니다.", "I");
  725. //model.setValue ( prcpNode + "[" + grd_prcplist.row + "]/prcpqty", bfPrcpQty );
  726. return;
  727. } //end
  728. } else if ( e.columnid == "drprcpetc8") {
  729. DrugCalc ( "drprcpetc8" , e.row);
  730. //start: 요청번호 9851, 인슐린주사제 변경 alert (2010.01.28 JJE)
  731. var PrcpQty = obj.getColumn(e.row, "prcpqty");
  732. var bfPrcpQty = ds_drugcalc.getColumn(0, "prcpqty");
  733. var cnclInptTxt = obj.getColumn(e.row, "prcpcd");
  734. var prcpcdEndTxt = cnclInptTxt.substring(cnclInptTxt.length - 1, cnclInptTxt.length);
  735. if(obj.getColumn(e.row, "tempcol2") == "05|04|09" && (prcpcdEndTxt == "J" || prcpcdEndTxt == "P") && eval(PrcpQty) < 1){
  736. sysf_messageBox(cnclInptTxt + "\n\n소량 처방을 원하시는 경우에는\nUNIT 단위 코드(원 처방의 끝자리 J나 P를 뺀 코드)로 변경 처방하여 주시기 바랍니다.", "I");
  737. //model.setValue ( prcpNode + "[" + grd_prcplist.row + "]/prcpqty", bfPrcpQty );
  738. return;
  739. } //end
  740. } else if ( e.columnid == "prcptims") {
  741. DrugCalc ( "prcptims" , e.row);
  742. } else if ( e.columnid == "prcpdayno") {
  743. var prcpdd = lf_getDsValue(ds_init, 0, "prcpdd"); //일수 1로 지정 시 오류발생하여 prcpdd 선언해줌 (2010.02.22 JJE)
  744. //by sonjy 20091019 변경요청번호 : 3667 수가계산구분 4인 약/주사에 대해 일수 1로 고정
  745. var drugmastspec = obj.getColumn(e.row, "drugmastspec") ;
  746. var calcmthdcd = lf_getArrayData ( drugmastspec , 0, 26, "^", "|" );
  747. if( calcmthdcd == "4" ) {
  748. obj.setColumn(e.row, "prcpdayno", "1");
  749. return ;
  750. }
  751. var prcpgenrflag = opener.ds_patflag.getColumn(0, "prcpgenrflag");
  752. //by sonjy 20091020 성빈센트 오류사항 수정 : home check하였으나 일수 지정 창이 뜨는 문제.
  753. if(prcpgenrflag == "O" && obj.getColumn(e.row, "selfprcpflag") != "Y") {
  754. var prcpdayno = obj.getColumn(e.row, "prcpdayno");
  755. var startdd = utlf_isNull(this.objects["ds_paminfo"]) ? "" : lf_getDsValue(ds_paminfo, 0, "orddd");
  756. var reqparam = startdd + "▩";
  757. //변경된 일수만큼의 일자 parameter를 생성함
  758. for(var i = 1; i < prcpdayno; i++){
  759. var dd = ((startdd.toDate()).getAddDate(i)).getDateFormat();
  760. reqparam += dd + "▩";
  761. }
  762. reqparam = reqparam.substring(0, reqparam.length - 1);
  763. frmf_setParameter("paramcalflag", "multi");
  764. frmf_setParameter("defaultday" , startdd);
  765. frmf_setParameter("reqparam" , reqparam);
  766. frmf_setParameter("prcpdayno" , prcpdayno);
  767. lf_prcpModal("SPMMO10600", 20, 50);
  768. //달력에서 선택된 일자만큼 처방상세정보 생성 및 처방 정보 설정
  769. if ( !utlf_isNull(frmf_getParameter("rtn"))) { //20080703 마정민 수정 값이 있을 때문 처리
  770. var actordddArray = frmf_getParameter("rtn").split("▩");
  771. var contprcpspec = "status|actorddd|execprcpstatcd|prcpdd|execprcpno";
  772. for(var i = 0; i < actordddArray.length; i++){
  773. var actorddd = actordddArray[i];
  774. contprcpspec = contprcpspec + "^I|" + actorddd + "|" + "" + "|" + startdd + "|" + "";
  775. }
  776. var rtnval = "";
  777. var contprcpspecArray = contprcpspec.split("^");
  778. for(var i = 1; i < contprcpspecArray.length; i++){
  779. var tmp = contprcpspecArray[i].split("|");
  780. rtnval = rtnval + tmp[1] + ",";
  781. }
  782. rtnval = rtnval.substring(0, rtnval.length-1);
  783. if(actordddArray.length == 1 && actorddd == prcpdd){
  784. obj.setColumn(e.row, "contprcpspec", "-");
  785. }else{
  786. obj.setColumn(e.row, "contprcpspec", contprcpspec);
  787. }
  788. obj.setColumn(e.row, "prcpdayno", actordddArray.length);
  789. lf_contPrcpDdInit ( grd_prcpdetl2, 9 );
  790. }
  791. }
  792. }
  793. //by sonjy 20090921 주사상세팝업에서 기왕증 check시 보조유형 선택 팝업 뜨지 않는 오류 수정 . event처리 오류였음. (endedit => value changed로 변경 )
  794. else if (e.columnid == "anamneflag") {
  795. var clincstdyflag = obj.getColumn(e.row, "clincstdyflag");
  796. if(clincstdyflag == "Y") {
  797. sysf_messageBox ( "기왕증은 임상연구와 동시에 선택 할 수", "I004" );
  798. obj.setColumn(e.row, "anamneflag", "N");
  799. return;
  800. }
  801. var prcpgenrflag = opener.ds_patflag.getColumn(0, "prcpgenrflag");
  802. var anamneflag = obj.getColumn(e.row, "anamneflag");
  803. if(prcpgenrflag == "I" || prcpgenrflag == "D" || prcpgenrflag == "E"){
  804. if(anamneflag == "Y"){ //기왕증이 Y로 처리된 경우에만 보조유형선택 팝업 open
  805. var pid = opener.ds_paminfo.getColumn(0, "pid");
  806. var indd = opener.ds_paminfo.getColumn(0, "indd");
  807. var subcretno = lf_getSubcretno(pid, indd, "anamneflag");
  808. obj.setColumn(e.row, "subcretno", subcretno);
  809. if(subcretno == "0"){
  810. sysf_messageBox ( "환자의 부유형이 없거나 또는 선택되지 않았습니다.", "I999" );
  811. obj.setColumn(e.row, "anamneflag", "N");
  812. }
  813. }else{ //기왕증이 N로 처리된 경우에는 subcretno 0로 처리
  814. obj.setColumn(e.row, "subcretno", "0");
  815. }
  816. } else {
  817. sysf_messageBox ( "외래 환자는 기왕증을 선택 할 수", "I004" );
  818. obj.setColumn(e.row, "anamneflag", "N");
  819. }
  820. } else if ( e.columnid == "drgacptflag" ) {
  821. if ( obj.getColumn(e.row, "drgacptflag") == "A" ) { // PCA용 약제
  822. sysf_messageBox ( "급여구분이 '본인부담'으로 변경 됩니다.", "I" );
  823. obj.setColumn(e.row, "payflagcd", "1");
  824. } else if ( obj.getColumn(e.row, "drgacptflag") == "B" ) { // 미용성형
  825. sysf_messageBox ( "급여구분이 '비급여'로 변경 됩니다.", "I" );
  826. obj.setColumn(e.row, "payflagcd", "2");
  827. }
  828. } else if ( e.columnid == "prnprcpflag") {
  829. //PRN 체크시 drugmastspec 의 34번째 컬럼으로 그 가능여부를 따져 블로킹 및 사유, 횟수를
  830. //입력받는 팝업을 띄워준다 . 2010-01-02 by LYJ
  831. if ( obj.getColumn(e.row, "prnprcpflag" ) == "Y" ) {
  832. var drugmastspec = obj.getColumn(e.row, "drugmastspec");
  833. var prnl = lf_getArrayData ( drugmastspec, 0, 33, "^", "|" );
  834. if ((prnl == "N" && ds_main_temp_prnuseyn.getColumn(0, "hardcd") == "N" && opener.frmf_getParameter("SPMMO01200_prcp") == "SPMQP01400") || (prnl == "N" && ds_main_temp_prnuseyn.getColumn(0, "hardcd") == "Y") || (prnl == "N" && ds_main_temp_prnuseyn.getColumn(0, "hardcd") == "N" && opener.frmf_getParameter("SPMMO01200_prcp") == "SMMMB00200")){
  835. sysf_messageBox ( "PRN 지정이 불가능한 처방입니다." , "E" );
  836. obj.setColumn(e.row, "prnprcpflag", "N");
  837. obj.setColumn(e.row, "tempprcpflag", "N");
  838. input1.enable = false;
  839. caption1.visible = false;
  840. caption2.visible = false;
  841. caption3.visible = false;
  842. caption4.visible = false;
  843. output1.visible = false;
  844. output2.visible = false;
  845. output4.visible = false;
  846. combo1.visible = false;
  847. } else if (prnl =="Y"){
  848. obj.setColumn(e.row, "tempprcpflag", "Y");
  849. //20090115 마정민 수정 PRN처방 1회만 되게 수정
  850. if ( obj.getColumn(e.row, "prcptims") != "1" ) {
  851. sysf_messageBox ( "PRN 처방은 1일 최대 3회로 제한합니다." , "E" );
  852. var prcptims = obj.getColumn(e.row, "prcptims");
  853. //1이 아닌 경우는 1로 바꿔주고 경구약인 경우는 용법도 바꿔준다.
  854. var prcpqty = obj.getColumn(e.row, "prcpqty");
  855. var prcpvol = obj.getColumn(e.row, "prcpvol");
  856. if ( prcptims != "0" ) {
  857. prcpqty = (eval(prcpqty)*1000/eval(prcptims));
  858. prcpvol = (eval(prcpvol)*1000/eval(prcptims));
  859. obj.getColumn(e.row, "prcpqty", Math.round ( prcpqty ) / 1000);
  860. obj.getColumn(e.row, "prcpvol", Math.round ( prcpvol ) / 1000);
  861. }
  862. obj.getColumn(e.row, "prcptims", "1");
  863. if ( obj.getColumn(e.row, "prcpclscd") == "A2" ) {
  864. fBaseMthd(e.row);
  865. }
  866. }
  867. // 하드코드 173번의 적용여부와 CP,항암프로토콜,처방메인의 구분을 위해 화면코드를 가져와 팝업 띄우기 여부를 결정한다. 2010-01-02 by LYJ
  868. if((ds_main_temp_prnuseyn.getColumn(0, "hardcd") == "Y" ) || (ds_main_temp_prnuseyn.getColumn(0, "hardcd") == "N" && opener.frmf_getParameter("SPMMO01200_prcp") == "SPMQP01400") || (ds_main_temp_prnuseyn.getColumn(0, "hardcd") == "N" && opener.frmf_getParameter("SPMMO01200_prcp") == "SMMMB00200")) {
  869. var mon = sysf_getCurrentMonitorNumber();
  870. var xpt = this.getOwnerFrame().position.x + 50;
  871. var ypt = this.getOwnerFrame().position.y + 50;
  872. //20190502 이돈희 : PRN MIX용 수액 처방을 위하여 처방 값 전달
  873. frmf_setParameter("SPMMO01200_prcplist", ds_main_prcplist);
  874. frmf_modal("SPMMO19200", "SPMMO19200", null, false, mon, xpt, ypt, null, null, null, null, null, "M");
  875. var SPMMO19200_prnNum = frmf_getParameter("SPMMO19200_prnNum");
  876. var SPMMO19200_resncd = frmf_getParameter("SPMMO19200_resncd");
  877. var SPMMO19200_resncmt = frmf_getParameter("SPMMO19200_resncmt");
  878. var SPMMO19200_resnnm = frmf_getParameter("SPMMO19200_resnnm");
  879. var SPMMO19200_prnTerm = frmf_getParameter("SPMMO19200_prnTerm"); // 현행화 15.05.27
  880. var SPMMO19200_prnMix = frmf_getParameter("SPMMO19200_prnmix"); //20190419 이돈희 : PRN MIX 수액 처방 유무
  881. if(utlf_isNull(SPMMO19200_prnTerm)) {
  882. SPMMO19200_prnTerm = "";
  883. }
  884. var resnyn = frmf_getParameter("SPMMO19200_rtn1");
  885. if( resnyn == "N" ){
  886. obj.setColumn(e.row, "prnprcpflag" , "N" );
  887. obj.setColumn(e.row, "tempprcpflag", "N" );
  888. obj.setColumn(e.row, "drprcpetc6", "-" );
  889. input1.enable = false;
  890. caption1.visible = false;
  891. caption2.visible = false;
  892. caption3.visible = false;
  893. caption4.visible = false;
  894. output1.visible = false;
  895. output2.visible = false;
  896. output4.visible = false;
  897. combo1.visible = false;
  898. }else if(resnyn == "Y") {
  899. //20190502 이돈희 : drprcpetc6에 PRN MIX 여부 값 추가
  900. var Sprnprcpdtl = SPMMO19200_prnNum + "|" + SPMMO19200_resncd+ "|" + SPMMO19200_resncmt + "|" + SPMMO19200_prnTerm + "▩" + SPMMO19200_prnMix; // 현행화 15.05.27
  901. obj.setColumn(e.row, "drprcpetc6" , Sprnprcpdtl);
  902. obj.setColumn(e.row, "prnprcpflag" , "Y" );
  903. obj.setColumn(e.row, "tempprcpflag" , "Y" );
  904. //현행화 15.05.27 start
  905. if(utlf_isNull(SPMMO19200_prnTerm)) {
  906. ds_main_prcplist.setColumn(0, "prcpdelivefact", "PRN사유 : " + SPMMO19200_resnnm + " " + SPMMO19200_resncmt);
  907. } else {
  908. ds_main_prcplist.setColumn(0, "prcpdelivefact", "PRN사유 : " + SPMMO19200_resnnm + " " + SPMMO19200_resncmt + ", PRN간격 : " + SPMMO19200_prnTerm);
  909. }
  910. ds_main_temp.setColumn(0, "prntms", SPMMO19200_prnNum);
  911. ds_main_temp.setColumn(0, "prnterm", SPMMO19200_prnTerm);
  912. //현행화 15.05.27 end
  913. ds_main_temp.setColumn(0, "prnresncmt", SPMMO19200_resncmt);
  914. ds_main_temp.setColumn(0, "prnprcpresncd", SPMMO19200_resncd);
  915. // 허만호, 디자인 수정 S
  916. //this.parent.position.height = 240;
  917. //caption1.position.y = 160;
  918. //caption2.position.y = 160;
  919. //output1.position.y = 160;
  920. //output2.position.y = 160;
  921. //caption3.position.y = 160;
  922. //combo1.position.y = 160;
  923. //output4.position.y = 160;
  924. //caption4.position.y = 160;
  925. // 허만호, 디자인 수정 E
  926. input1.enable = true;
  927. caption1.visible = true;
  928. caption2.visible = true;
  929. caption3.visible = true;
  930. caption4.visible = true;
  931. output1.visible = true;
  932. output2.visible = true;
  933. output4.visible = true;
  934. combo1.visible = true;
  935. }
  936. }
  937. }
  938. } else {
  939. obj.setColumn(e.row, "tempprcpflag", "N" );
  940. input1.enable = true;
  941. caption1.visible = false;
  942. caption2.visible = false;
  943. caption3.visible = false;
  944. caption4.visible = false;
  945. output1.visible = false;
  946. output2.visible = false;
  947. output4.visible = false;
  948. combo1.visible = false;
  949. }
  950. } else if ( e.columnid == "selfprcpflag") {
  951. if ( obj.getColumn(e.row, "selfprcpflag") == "Y" ) {
  952. obj.setColumn(e.row, "contprcpspec", "-");
  953. var prcpdd = opener.ds_init.getColumn(0, "prcpdd" );
  954. grd_prcpdetl2.setCellProperty("body", 9, "text", lf_dateFormat ( prcpdd ));
  955. // selfprcpflag가 Y가 아니면 home에 체크할때 체크 안되도록 메시지를 띄운다. 20081006 MoonSH
  956. var currow = opener.ds_main_prcplist.rowposition;
  957. var prcpgenrflag = opener.ds_patflag.getColumn(0, "prcpgenrflag" ); //외래입원구분
  958. var prcpcd = obj.getColumn(e.row, "prcpcd");
  959. var prcpnm = obj.getColumn(e.row, "prcpnm");
  960. var drugmastspec = opener.ds_main_prcplist.getColumn(currow, "drugmastspec");
  961. var prcpclscd = opener.ds_main_prcplist.getColumn(currow, "prcpclscd" );
  962. if ( prcpgenrflag == "O" ) {
  963. if ( lf_getArrayData (drugmastspec, 0, 20, "^", "|" ) != "Y" ) {
  964. sysf_messageBox ( "자가주사가 불가한 처방입니다.", "E" );
  965. obj.setColumn(e.row, "selfprcpflag", "N");
  966. }
  967. } else {
  968. //20090316 마정민 수정. 변경요청번호 1072. 퇴원약에 자가주사만 home 지정할 수 있도록 수정
  969. var prcpkindcd = obj.getColumn(e.row, "prcpkindcd");
  970. if ( (prcpkindcd == "50" || prcpkindcd == "60" ) && lf_getArrayData (drugmastspec, 0, 20, "^", "|" ) != "Y" ) {
  971. sysf_messageBox ( "home 체크가 불가한 처방입니다.", "E" );
  972. obj.setColumn(e.row, "selfprcpflag", "N");
  973. }
  974. }
  975. }
  976. } else if ( e.columnid == "hosinprcpresncd") { //원내처방 사유를 선택해서 처방화면의 원내처방 사유랑 같은 것이 있으면 모두 그것으로 바꿈
  977. if ( obj.getColumn(e.row, "hosinprcpresncd") == "00" ) {
  978. obj.setColumn(e.row, "hosinhosoutflag", "O" );
  979. } else {
  980. obj.setColumn(e.row, "hosinhosoutflag", "I" );
  981. }
  982. if ( opener.ds_root.getColumn(0, "usge") == "prcp" ) {
  983. //약속처방, 지시처방에서는 되면 안됨
  984. var hosinprcpresncd = obj.getColumn(e.row, "hosinprcpresncd");
  985. var openerHosinprcpresncd = opener.ds_P0034.lookup("cdid", hosinprcpresncd, "cdid");
  986. //by sonjy 20081016 원외요구 사유 처리
  987. if( hosinprcpresncd == "90" ){
  988. fChkHosInResnCd();
  989. return ;
  990. }
  991. if ( !utlf_isNull(openerHosinprcpresncd) && hosinprcpresncd != "00" ) {
  992. if ( sysf_messageBox ( "모든 약,주사 처방에 같은 원내처방 사유를", "Q009" ) == "6" ) {
  993. opener.ds_init.setColumn(0, "hosinprcpresncd", openerHosinprcpresncd );
  994. lf_chngHosinPrcpResn("child", openerHosinprcpresncd);
  995. } else {
  996. //아니오를 선택할 경우 변경전 데이터로 돌린다.
  997. var bfhosinprcpresncd = ds_init.getColumn(0, "bfhosinprcpresncd");
  998. if ( bfhosinprcpresncd == "00" ) {
  999. obj.setColumn(e.row, "hosinhosoutflag", "O");
  1000. } else {
  1001. obj.setColumn(e.row, "hosinhosoutflag", "I");
  1002. }
  1003. obj.setColumn(e.row, "hosinprcpresncd", bfhosinprcpresncd);
  1004. return;
  1005. }
  1006. }
  1007. ds_init.setColumn(0, "bfhosinprcpresncd", hosinprcpresncd );
  1008. }
  1009. } else if ( e.columnid == "erprcpflag") {
  1010. if ( obj.getColumn(e.row, "erprcpflag") == "Y" && obj.getColumn(e.row, "prcptims" ) != "1" ) {
  1011. sysf_messageBox ( "응급 처방의 횟수는 1만 가능합니다. 1회로 수정하겠습니다." , "E" );
  1012. var prcptims = obj.getColumn(e.row, "prcptims");
  1013. if ( prcptims != "1" ) {
  1014. //1이 아닌 경우는 1로 바꿔주고 경구약인 경우는 용법도 바꿔준다.
  1015. var prcpqty = obj.getColumn(e.row, "prcpqty" );
  1016. var prcpvol = obj.getColumn(e.row, "prcpvol" );
  1017. if ( prcptims != "0" ) {
  1018. prcpqty = (eval(prcpqty)*1000/eval(prcptims));
  1019. prcpvol = (eval(prcpvol)*1000/eval(prcptims));
  1020. obj.setColumn(e.row, "prcpqty", Math.round ( prcpqty ) / 1000);
  1021. obj.setColumn(e.row, "prcpvol", Math.round ( prcpvol ) / 1000);
  1022. }
  1023. obj.setColumn(e.row, "prcptims", "1" );
  1024. }
  1025. }
  1026. } else if ( e.columnid == "clincstdyflag") {
  1027. var anamneflag = obj.getColumn(e.row, "anamneflag");
  1028. if(anamneflag == "Y") {
  1029. sysf_messageBox ( "임상연구는 기왕증과 동시에 선택 할 수", "I004" );
  1030. obj.setColumn(e.row, "clincstdyflag", "N");
  1031. return;
  1032. }
  1033. lf_subcretnoSet("0", obj);
  1034. }
  1035. } catch(e) { sysf_catchTrace(e); }
  1036. }
  1037. function div_all_grd_prcplist_onenterdown(obj:Grid, e:GridEditEventInfo)
  1038. {
  1039. obj.showEditor(false);
  1040. }
  1041. function button1_onclick(obj:Button, e:ClickEventInfo)
  1042. {
  1043. try {
  1044. var prcpgenrflag = opener.ds_patflag.getColumn(0, "prcpgenrflag"); //환자리스트에서 준 외래, 입원, 응급 구분
  1045. var hosinprcpresncd = opener.ds_init.getColumn(0, "hosinprcpresncd"); //원무에 있는 원내처방 사유 코드
  1046. } catch(e) {
  1047. //sysf_catchTrace(e);
  1048. }
  1049. //마약처방인 경우, 사유 전달, 2008. 06. 12 오지훈
  1050. var drugmastspec = utlf_transNullToEmpty(ds_main_prcplist.getColumn(0, "drugmastspec"));
  1051. var prcpdayno = ds_main_prcplist.getColumn(0, "prcpdayno");
  1052. var spcldrug = lf_getArrayData ( drugmastspec, 0, 23, "^", "|" );
  1053. if ( spcldrug == "M" && prcpdayno >= 30) {
  1054. var clinccmtcnts = rdo_clinccmtcnts.value;
  1055. if(clinccmtcnts == "-"){
  1056. sysf_messageBox("30일 이상의 마약처방 사유를", "C002");
  1057. return;
  1058. }
  1059. if(clinccmtcnts == "2. 기타" && utlf_isNull(ds_main_temp.getColumn(0, "clinccmtcnts"))){
  1060. sysf_messageBox("30일 이상의 마약처방 사유를", "C001");
  1061. return;
  1062. }else{
  1063. if(clinccmtcnts != "1. 다음 진료일까지의 기간이 30일 초과"){ //1. 다음 진료일까지의 기간이 30일 초가 선택
  1064. ds_main_prcplist.setColumn(0, "clinccmtcnts", ds_main_temp.getColumn(0, "clinccmtcnts"));
  1065. }
  1066. }
  1067. }
  1068. if ( prcpgenrflag == "O" && ds_main_prcplist.getColumn(0, "hosinhosoutflag") == "I" && ds_main_prcplist.getColumn(0, "hosinprcpresncd") == "00" ) {
  1069. sysf_messageBox ( "해당 약품의 원내처방 사유가 존재하지 않습니다. 수가팀에 문의", "I008" );
  1070. return;
  1071. }
  1072. //20190502 이돈희 : PRN 유무 정보가 N 인 경우 PRN 상세정보 초기화
  1073. if(ds_main_prcplist.getColumn(0, "prnprcpflag") == "N"){
  1074. ds_main_prcplist.setColumn(0, "drprcpetc6", "-");
  1075. }
  1076. lf_appendChildPrcp ( "ds_main_prcplist", "ds_prcptemp_prcplist" );
  1077. close();
  1078. }
  1079. function button2_onclick(obj:Button, e:ClickEventInfo)
  1080. {
  1081. close();
  1082. }
  1083. function grd_prcpdetl2_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  1084. {
  1085. if ( e.col == 9 ) {
  1086. if ( ds_main_prcplist.getColumn(0, "selfprcpflag") == "Y" ) {
  1087. sysf_messageBox ( "자가주사는 지정일을 선택", "E001" )
  1088. } else {
  1089. lf_contPrcpDd( grd_prcpdetl2, "ds_main_prcplist" , "child" );
  1090. lf_contPrcpDdInit ( grd_prcpdetl2, 9 );
  1091. }
  1092. }
  1093. }
  1094. function div_all_grd_prcplist_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  1095. {
  1096. if(e.col == obj.getBindCellIndex("body", "drugmthdspccdnm")) {
  1097. lf_prcpModal ("SPMMO01900", 50, 10);
  1098. }
  1099. }
  1100. function div_all_grd_prcplist_onenteredit(obj:Grid, e:GridEditEventInfo)
  1101. {
  1102. if ( e.col == obj.getBindCellIndex("body", "prcpvol")) {
  1103. bfDrugCalc ( "prcpvol", ds_main_prcplist.rowposition );
  1104. } else if ( e.col == obj.getBindCellIndex("body", "drprcpetc7")) {
  1105. bfDrugCalc ( "drprcpetc7", ds_main_prcplist.rowposition );
  1106. } else if ( e.col == obj.getBindCellIndex("body", "prcpvol")) {
  1107. bfDrugCalc ( "prcpvol", ds_main_prcplist.rowposition );
  1108. } else if ( e.col == obj.getBindCellIndex("body", "drprcpetc8")) {
  1109. bfDrugCalc ( "drprcpetc8", ds_main_prcplist.rowposition );
  1110. }
  1111. }
  1112. function button3_onclick(obj:Button, e:ClickEventInfo)
  1113. {
  1114. ds_main_prcplist.setColumn(0, "mealcalrcnts", "0");
  1115. }
  1116. function radio2_onitemchanged(obj:Radio, e:ItemChangeEventInfo)
  1117. {
  1118. fChkHosInResnCd();
  1119. }
  1120. function radio3_onitemchanged(obj:Radio, e:ItemChangeEventInfo)
  1121. {
  1122. fChkHosInResnCd();
  1123. }
  1124. function button4_onclick(obj:Button, e:ClickEventInfo)
  1125. {
  1126. // 현행화 15.05.27 start
  1127. var sPrnPrcpFlag = ds_main_prcplist.getColumn(0, "prnprcpflag"); // PRN 처방여부
  1128. if(sPrnPrcpFlag == "Y") {
  1129. sysf_messageBox ( "PRN처방은 전달사항을 수정할수 없습니다.", "E" );
  1130. } else {
  1131. frmf_setParameter ( "SPMMB02200_cond2", "3" );
  1132. lf_prcpModal ( "SPMMB02200", 50, 50 );
  1133. ds_main_prcplist.setColumn(0, "prcpdelivefact", frmf_getParameter ( "SPMMB02200_clinccmt" ));
  1134. }
  1135. // 현행화 15.05.27 end
  1136. }
  1137. function btn_srchexecdept_onclick(obj:Button, e:ClickEventInfo)
  1138. {
  1139. frmf_modal("SPMMB02500", "SPMMB02500", null, null, null, null, null, null, null, null, null, null, "M");
  1140. }
  1141. function rdo_clinccmtcnts_onitemchanged(obj:Radio, e:ItemChangeEventInfo)
  1142. {
  1143. if(obj.text == "2. 기타"){
  1144. ipt_clinccmtcnts.enable = true;
  1145. }else{
  1146. ipt_clinccmtcnts.value = "";
  1147. ipt_clinccmtcnts.enable = false;
  1148. }
  1149. }
  1150. /**
  1151. * @desc : 원외예외사유 setting check
  1152. * @author : sonjy 2008-09-12
  1153. */
  1154. function fChkHosInResnCd(){
  1155. try {
  1156. if( !frmf_checkOpener() ) return;
  1157. var prcpgenrflag = opener.ds_patflag.getColumn(0, "prcpgenrflag"); //환자리스트에서 준 외래, 입원, 응급 구분
  1158. var hosinprcpresncd = opener.ds_init.getColumn(0, "hosinprcpresncd"); //원무에 있는 원내처방 사유 코드
  1159. var drugmastspec = ds_main_prcplist.getColumn(0, "drugmastspec"); //약품정보
  1160. var spcldrug = lf_getArrayData ( drugmastspec + "^", 0, 23, "^", "|" ); //마약구분
  1161. var selfinjyn = lf_getArrayData ( drugmastspec + "^", 0, 20, "^", "|" ); //자가주사가능여부
  1162. var erflag = "" ;
  1163. //SON0930 약품마스터의 원내외구분이 주사및 환자사유에 우선한다. 배성미 선생님 요청 .
  1164. var hosinflag = lf_getArrayData ( drugmastspec + "^", 0, 11, "^", "|" ); //약품원내외구분
  1165. //by sonjy 20080922 비응급환자 퇴원처방 일 경우 check. start
  1166. if( prcpgenrflag == "E" && opener.ds_init.getColumn(0, "erresn") != "G3" && ds_main_prcplist.getColumn(0, "prcpkindcd") == "60" ){
  1167. erflag = "Y";
  1168. }
  1169. //by sonjy 20080922 end
  1170. ds_main_prcplist.enableevent = false;
  1171. //입원은 disable 임으로 select 할 이유가 없다.
  1172. if ( ds_main_prcplist.getColumn(0, "hosinhosoutflag") == "I") { //원내를 선택하면
  1173. if( ds_main_prcplist.getColumn(0, "hosinprcpresncd") == "90" ) {
  1174. //원외요구시 => by sonjy 20081016
  1175. //마약, MSET, 주사는 원외불가. 단, 주사제중 자가주사구분이 Y인 경우만 원외가능. by sonjy 20080912 start
  1176. // 마약중 경구약은 원외 처방 가능하도록 수정 ( 2010, 12. 03 han19)
  1177. if( (ds_main_prcplist.getColumn(0, "inclprcpno") != "0" ) ||
  1178. // (spcldrug == "M") ||
  1179. (ds_main_prcplist.getColumn(0, "prcpclscd") == "A6" && spcldrug == "M") ||
  1180. (ds_main_prcplist.getColumn(0, "prcpclscd") == "A6" && spcldrug == "H") ||
  1181. (hosinflag == "I") ||
  1182. (ds_main_prcplist.getColumn(0, "prcpclscd") == "A6" && hosinflag == "I")) { //SON0930
  1183. // ){
  1184. sysf_messageBox("마약주사, 약제팀의 원내지정약 및 MSET코드내 묶인 약제는 원외로 처방을 낼 수 ", "I004");
  1185. ds_main_prcplist.setColumn(0, "hosinhosoutflag", "I" );
  1186. ds_main_prcplist.setColumn(0, "hosinprcpresncd", ds_init.getColumn(0, "bfhosinprcpresncd"));
  1187. ds_main_prcplist.enableevent = true;
  1188. return ;
  1189. }
  1190. //마약, MSET은 원외불가. by sonjy 20080912 end
  1191. } else if ( hosinprcpresncd != "00" && utlf_isNull(erflag) ) { //원무에 있는 원내처방 사유 코드가 있다면
  1192. //SON0930 약품 원내외 구분 적용.
  1193. if( hosinflag == "O" && prcpgenrflag == "O" ) {
  1194. sysf_messageBox("원외로만 처방이 가능한 약품", "I009");
  1195. ds_main_prcplist.setColumn(0, "hosinhosoutflag", "O" );
  1196. ds_main_prcplist.enableevent = true;
  1197. return ;
  1198. }
  1199. ds_main_prcplist.setColumn(0, "hosinprcpresncd", hosinprcpresncd );
  1200. }
  1201. //by sonjy 20080912 환자원내사유가 없을경우 약제사유로 원복. start
  1202. else {
  1203. //SON0930 약품 원내외 구분 적용.
  1204. if( hosinflag == "O" && ( prcpgenrflag == "O" || erflag == "Y" ) ) {
  1205. sysf_messageBox("원외로만 처방이 가능한 약품 ", "I009");
  1206. ds_main_prcplist.setColumn(0, "hosinhosoutflag", "O");
  1207. ds_main_prcplist.enableevent = true;
  1208. return ;
  1209. }
  1210. ds_main_prcplist.setColumn(0, "hosinprcpresncd", lf_getArrayData ( drugmastspec, 0, 12, "^", "|" ) );
  1211. }
  1212. //grd_prcpdetl2.colDisabled(grd_prcpdetl2.colref("hosinprcpresncd")) = false;
  1213. //by sonjy 20080912 환자원내사유가 없을경우 약제사유로 원복. end
  1214. } else { //원외를 선택하면
  1215. //마약, MSET, 주사는 원외불가. 단, 주사제중 자가주사구분이 Y인 경우만 원외가능. by sonjy 20080912 start
  1216. // if( (model.getValue( "/root/main/prcp/prcplist/inclprcpno") != "0" ) || (spcldrug == "M") ||
  1217. // (hosinflag == "I") || (model.getValue( "/root/main/prcp/prcplist/prcpclscd") =="A6" && selfinjyn != "Y" && hosinflag != "O" ) ) { //SON0930
  1218. // 마약중 경구약은 원외 처방 가능하도록 수정 ( 2010, 12. 03 han19)
  1219. if( (ds_main_prcplist.getColumn(0, "inclprcpno") != "0" ) ||
  1220. // (spcldrug == "M") ||
  1221. (ds_main_prcplist.getColumn(0, "prcpclscd") == "A6" && spcldrug == "M") ||
  1222. (ds_main_prcplist.getColumn(0, "prcpclscd") == "A6" && spcldrug == "H") ||
  1223. (hosinflag == "I") ||
  1224. (ds_main_prcplist.getColumn(0, "prcpclscd") == "A6" && hosinflag == "I")) { //SON0930
  1225. // ){
  1226. // (model.getValue( "/root/main/prcp/prcplist/prcpclscd") =="A6" && selfinjyn != "Y" ) ){
  1227. sysf_messageBox("마약주사, 약제팀의 원내지정약 및 MSET코드내 묶인 약제는 원외로 처방을 낼 수 ", "I004");
  1228. ds_main_prcplist.setColumn(0, "hosinhosoutflag", "I" );
  1229. ds_main_prcplist.enableevent = true;
  1230. return ;
  1231. }
  1232. //20090316 마정민 수정. 변경요청서 1072 마정민 수정. 자가주사 원외처방시 자동Y처리
  1233. if ( selfinjyn == "Y" ) {
  1234. ds_main_prcplist.setColumn(0, "selfprcpflag", "Y" );
  1235. }
  1236. //마약, MSET은 원외불가. by sonjy 20080912 end
  1237. ds_main_prcplist.setColumn(0, "hosinhosoutflag", "O" );
  1238. ds_main_prcplist.setColumn(0, "hosinprcpresncd","00");
  1239. var col = grd_prcpdetl2.getBindCellIndex("body", "hosinprcpresncd");
  1240. grd_prcpdetl2.setCellProperty("body", col, "edittype", "none"); //원내처방 사유코드를 입력할 수는 없다.
  1241. }
  1242. ds_main_prcplist.enableevent = true;
  1243. } catch(e) { sysf_catchTrace(e); }
  1244. }]]></Script>
  1245. </Form>
  1246. </FDL>