SPMMO01100_처방상세약.xfdl 69 KB

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