SMMMR07100_단기수술기록지.xfdl 59 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMMMR00903" position="absolute 0 0 595 685" titletext="Untitle" oninit="SMMMR00903_oninit" onload="SMMMR00903_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 0 595 685" id="grup_base" anchor="all">
  8. <Layouts>
  9. <Layout>
  10. <Div position="absolute 67 540 593 617" id="ivw_0022906001" visible="false" class="div_DA_cell" anchor="left right bottom"/>
  11. <Static position="absolute 67 540 593 617" align="align:center middle;" id="cap_0022906001" class="sta_DA_Imgcaption" anchor="left right bottom"/>
  12. <Static position="absolute 67 357 593 537" align="align:center middle;" id="cap_0000512001" class="sta_DA_Imgcaption" anchor="all" tooltiptext="수술시 확인된 검체에 대한 findings도 기재해주세요" visible="false"/>
  13. <Shape position="absolute 0 301 593 307" linetype="horizontal" id="line3" class="line_2" anchor="left top right"/>
  14. <Shape position="absolute 0 617 593 622" linetype="horizontal" id="line8" class="line_2" anchor="left right bottom"/>
  15. <Shape position="absolute 0 536 593 542" linetype="horizontal" id="line5" class="line_2" anchor="left right bottom"/>
  16. <Shape position="absolute 0 353 593 359" linetype="horizontal" id="line7" class="line_2" anchor="left top right"/>
  17. <Static text="진단명&#13;&#10;" position="absolute 0 0 65 198" align="align:center middle;" id="lbl_0007983001" class="cell_1" style="font:Dotum,9,bold;" anchor="left top"/>
  18. <Static text="수술소견&#13;&#10;및&#13;&#10;절차&#13;&#10;" position="absolute 0 357 65 537" align="align:center top;" id="lbl_0000512001" class="cell_1" style="font:Dotum,9,bold;" anchor="left top bottom" onclick="Static_onclick"/>
  19. <Static text="조직표본&#13;&#10;검체" position="absolute 0 620 66 655" align="align:center middle;" id="lbl_0001115001" class="cell_1" style="font:Dotum,9,bold;" anchor="left bottom"/>
  20. <Static text="수술정보" position="absolute 0 305 65 328" align="align:center middle;" id="lbl_0016684001" class="cell_1" style="font:Dotum,9,bold;" anchor="left top"/>
  21. <Div position="absolute 67 0 593 98" id="ivw_0007983001" class="div_DA_cell" anchor="left top right"/>
  22. <Div position="absolute 67 357 593 537" id="ivw_0000512001" visible="false" class="div_DA_cell" anchor="all"/>
  23. <Div position="absolute 270 620 593 683" id="ivw_0001115001" visible="false" class="div_DA_cell" anchor="left right bottom"/>
  24. <TextArea position="absolute 67 357 593 537" id="tar_0000512001" ontextchanged="fComnFormMtxChanged" anchor="all"/>
  25. <TextArea position="absolute 67 0 593 98" id="tar_0007983001" ontextchanged="fComnFormMtxChanged" anchor="left top right"/>
  26. <Calendar position="absolute 135 307 235 326" id="ipt_opdate" class="input_default" enable="true" degnitemno="3" degnitemlevlcd="0000515" onchanged="lf_setrecitem" ontextchange="lf_setrecitem"/>
  27. <Static text="수술일" position="absolute 67 305 132 328" align="align:center middle;" id="caption32" class="cell_1"/>
  28. <Combo position="absolute 315 307 415 326" id="cmb_odt" innerdataset="ds_init_cmb_odt" datacolumn="usernm" codecolumn="userid" degnitemno="4" degnitemlevlcd="0000980" refitem="y" onitemchanged="fChngDoct"/>
  29. <Static text="집도의" position="absolute 238 305 312 328" align="align:center middle;" id="caption10" class="cell_1"/>
  30. <Static text="마취의" position="absolute 418 305 491 328" align="align:center middle;" id="caption22" class="cell_1"/>
  31. <Combo position="absolute 494 307 594 326" id="cmb_sdt" innerdataset="ds_init_cmb_sdt" datacolumn="usernm" codecolumn="userid" degnitemno="5" degnitemlevlcd="0007992" refitem="y" onitemchanged="fChngDoct"/>
  32. <TextArea position="absolute 270 620 593 683" id="tar_0001115001" ontextchanged="fComnFormMtxChanged" anchor="left right bottom"/>
  33. <Shape position="absolute 0 327 593 333" linetype="horizontal" id="line6" class="line_2" anchor="left top right"/>
  34. <Edit position="absolute 102 333 295 352" id="ipt_mcdnm" taborder="2" degnitemlevlcd="0000248.0015528" refitem="y" ontextchange="lf_setrecitem"/>
  35. <Static text="마취종류 (부)" position="absolute 297 331 397 354" align="align:center middle;" id="caption11" class="cell_1"/>
  36. <Edit position="absolute 399 333 592 352" id="ipt_scdnm" taborder="3" degnitemlevlcd="0000248.0008458" refitem="y" ontextchange="lf_setrecitem"/>
  37. <Static text="마취종류 (주)" position="absolute 0 331 100 354" align="align:center middle;" id="caption27" class="cell_1"/>
  38. <Shape position="absolute 0 197 593 203" linetype="horizontal" id="line10" class="line_2" anchor="left top right"/>
  39. <Div position="absolute 67 99 593 198" id="ivw_0000521001" class="div_DA_cell" anchor="left top right"/>
  40. <TextArea position="absolute 67 99 593 199" id="tar_0000521001" ontextchanged="fComnFormMtxChanged" anchor="left top right"/>
  41. <Static text="&#13;&#10;" position="absolute 0 148 65 198" align="align:center middle;" id="lbl_0000521001" class="cell_1" style="font:Dotum,9,bold;" anchor="left top" visible="false"/>
  42. <Radio position="absolute 230 622 266 680" id="radio3" taborder="15" columncount="1" rowcount="2" codecolumn="codecolumn" datacolumn="datacolumn" anchor="left bottom" degnitemno="27" degnitemlevlcd="0036148" onitemchanged="fRadioYN">
  43. <Dataset id="innerdataset">
  44. <ColumnInfo>
  45. <Column id="codecolumn"/>
  46. <Column id="datacolumn"/>
  47. </ColumnInfo>
  48. <Rows>
  49. <Row>
  50. <Col id="codecolumn">0001965001</Col>
  51. <Col id="datacolumn">Y</Col>
  52. </Row>
  53. <Row>
  54. <Col id="codecolumn">0001347001</Col>
  55. <Col id="datacolumn">N</Col>
  56. </Row>
  57. </Rows>
  58. </Dataset>
  59. </Radio>
  60. <Static text="출혈정도&#13;&#10;" position="absolute 0 540 65 617" align="align:center middle;" id="lbl_0022906001" class="cell_1" style="font:Dotum,9,bold;" anchor="left bottom" onclick="Static_onclick"/>
  61. <Static text="특이사항&#13;&#10; 여부" position="absolute 163 620 228 683" align="align:center middle;" id="caption6" class="cell_1" style="font:Dotum,9,bold;" anchor="left bottom"/>
  62. <Static text="배액관" position="absolute 0 656 66 683" align="align:center middle;" id="caption9" class="cell_1" style="font:Dotum,9,bold;" anchor="left bottom"/>
  63. <Radio position="absolute 71 625 152 650" id="radio2" taborder="15" columncount="2" rowcount="1" codecolumn="codecolumn" datacolumn="datacolumn" anchor="left bottom" degnitemno="29" onitemchanged="fRadioYN" degnitemlevlcd="0008331">
  64. <Dataset id="innerdataset">
  65. <ColumnInfo>
  66. <Column id="codecolumn"/>
  67. <Column id="datacolumn"/>
  68. </ColumnInfo>
  69. <Rows>
  70. <Row>
  71. <Col id="codecolumn">0001965001</Col>
  72. <Col id="datacolumn">Y</Col>
  73. </Row>
  74. <Row>
  75. <Col id="codecolumn">0001347001</Col>
  76. <Col id="datacolumn">N</Col>
  77. </Row>
  78. </Rows>
  79. </Dataset>
  80. </Radio>
  81. <Radio position="absolute 71 655 154 679" id="radio4" taborder="15" columncount="2" rowcount="1" codecolumn="codecolumn" datacolumn="datacolumn" anchor="left bottom" degnitemno="28" onitemchanged="fRadioYN" degnitemlevlcd="0000323">
  82. <Dataset id="innerdataset">
  83. <ColumnInfo>
  84. <Column id="codecolumn"/>
  85. <Column id="datacolumn"/>
  86. </ColumnInfo>
  87. <Rows>
  88. <Row>
  89. <Col id="codecolumn">0001965001</Col>
  90. <Col id="datacolumn">Y</Col>
  91. </Row>
  92. <Row>
  93. <Col id="codecolumn">0001347001</Col>
  94. <Col id="datacolumn">N</Col>
  95. </Row>
  96. </Rows>
  97. </Dataset>
  98. </Radio>
  99. <TextArea position="absolute 67 540 593 617" id="tar_0022906001" ontextchanged="fComnFormMtxChanged" anchor="left right bottom"/>
  100. <Button id="btn_imge_0000512001" taborder="16" class="btn_picture" position="absolute 22 514 42 534" tooltiptext="이미지편집창 열기" anchor="left bottom"/>
  101. <Button id="btn_etcrec_0000512001" taborder="17" class="btn_Assrecord" position="absolute 43 514 63 534" tooltiptext="추가기록창 열기" anchor="left bottom"/>
  102. <Div id="ivw_0000509001" anchor="left top right" taborder="22" class="div_DA_cell" position="absolute 67 201 593 302"/>
  103. <TextArea id="tar_0000509001" taborder="23" ontextchanged="fComnFormMtxChanged" position="absolute 67 201 593 302" anchor="left top right"/>
  104. <Static id="lbl_0000509001" text="수술명&#13;&#10;" class="cell_1" position="absolute 0 201 65 302" anchor="left top" style="font:Dotum,9,bold;"/>
  105. </Layout>
  106. </Layouts>
  107. </Div>
  108. </Layout>
  109. </Layouts>
  110. <Objects>
  111. <Dataset id="ds_init_cmb_odt" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  112. <ColumnInfo>
  113. <Column id="usernm" type="STRING"/>
  114. <Column id="userid" type="STRING"/>
  115. </ColumnInfo>
  116. </Dataset>
  117. <Dataset id="ds_init_cmb_sdt" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  118. <ColumnInfo>
  119. <Column id="usernm" type="STRING"/>
  120. <Column id="userid" type="STRING"/>
  121. </ColumnInfo>
  122. </Dataset>
  123. <Dataset id="ds_data_fmyrecItemRef" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  124. <ColumnInfo>
  125. <Column id="fstlevlitemcd" type="STRING" size="256"/>
  126. <Column id="formcd" type="STRING" size="256"/>
  127. <Column id="reccnts" type="STRING" size="256"/>
  128. <Column id="recimge" type="STRING" size="256"/>
  129. </ColumnInfo>
  130. </Dataset>
  131. <Dataset id="ds_temp_unitrecitem" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  132. <ColumnInfo>
  133. <Column id="instcd" type="STRING" size="256"/>
  134. <Column id="rechistseq" type="STRING" size="256"/>
  135. <Column id="recitemno" type="STRING" size="256"/>
  136. <Column id="fstlevlitemcd" type="STRING" size="256"/>
  137. <Column id="formcd" type="STRING" size="256"/>
  138. <Column id="formdegnseq" type="STRING" size="256"/>
  139. <Column id="degnitemno" type="STRING" size="256"/>
  140. <Column id="degnitemcd" type="STRING" size="256"/>
  141. <Column id="degnitemkind" type="STRING" size="256"/>
  142. <Column id="degnitemlevlno" type="STRING" size="256"/>
  143. <Column id="degnitemnm" type="STRING" size="256"/>
  144. <Column id="degnitemlevlcd" type="STRING" size="256"/>
  145. <Column id="rectermcd" type="STRING" size="256"/>
  146. <Column id="rectermnm" type="STRING" size="256"/>
  147. <Column id="recrefcd" type="STRING" size="256"/>
  148. <Column id="recitemnm" type="STRING" size="256"/>
  149. <Column id="reccnts" type="STRING" size="256"/>
  150. <Column id="unitnm" type="STRING" size="256"/>
  151. <Column id="recimge" type="BLOB"/>
  152. <Column id="srcimge" type="BLOB"/>
  153. <Column id="rowno" type="STRING" size="256"/>
  154. <Column id="colno" type="STRING" size="256"/>
  155. <Column id="supdegnitemno" type="STRING" size="256"/>
  156. <Column id="extdegnitemlevlcd" type="STRING" size="256"/>
  157. <Column id="rectermflag" type="STRING" size="256"/>
  158. <Column id="degnunitcd" type="STRING" size="256"/>
  159. </ColumnInfo>
  160. </Dataset>
  161. <Dataset id="ds_send_extninfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  162. <ColumnInfo>
  163. <Column id="infoflag" type="STRING" size="256" sumtext=""/>
  164. <Column id="formrecseq" type="BIGDECIMAL" size="256" sumtext=""/>
  165. <!-- 수술정보 -->
  166. <Column id="oprsrvno" type="STRING" size="256" sumtext=""/>
  167. <Column id="opendyn" type="STRING" size="256" sumtext=""/>
  168. <Column id="skinprepyn" type="STRING" size="256" sumtext=""/>
  169. <!-- 기록연동 -->
  170. <Column id="pid" type="STRING" size="256" sumtext=""/>
  171. <Column id="orddd" type="STRING" size="256" sumtext=""/>
  172. <Column id="cretno" type="STRING" size="256" sumtext=""/>
  173. <Column id="fromsrcformcd" type="STRING" size="256" sumtext=""/>
  174. <Column id="toformcd" type="STRING" size="256" sumtext=""/>
  175. <!-- 수술리스트 -->
  176. <Column id="indd" type="STRING" size="256" sumtext="입원일자"/>
  177. <Column id="dschdd" type="STRING" size="256" sumtext="퇴원일자"/>
  178. <!-- 의사리스트 -->
  179. <Column id="standd" type="STRING" size="256" sumtext="기준일"/>
  180. <Column id="deptcd" type="STRING" size="256" sumtext="진료과"/>
  181. <Column id="jobkindcd" type="STRING" size="256" sumtext="직종"/>
  182. <!-- text기록 -->
  183. <Column id="fstlevlitembasecds" type="STRING" size="256" sumtext=""/>
  184. <Column id="srcformcd" type="STRING" size="256" sumtext=""/>
  185. <Column id="formrecdd" type="STRING" size="256" sumtext=""/>
  186. <!-- 2010.01.25 dhkim 추가 - 마취과의사, 수술방리스트 -->
  187. <Column id="anstdeptcd" type="STRING" size="256" sumtext="마취과의사리스트조회param"/>
  188. <Column id="opdd" type="STRING" size="256" sumtext="수술방리스트조회param"/>
  189. <Column id="recdataflag" type="STRING" size="256" sumtext=""/>
  190. <Column id="formrecdeptcd" type="STRING" size="256" sumtext=""/>
  191. <Column id="condflag" type="STRING" size="256"/>
  192. <Column id="orddeptcd" type="STRING" size="256" sumtext="환자과"/>
  193. </ColumnInfo>
  194. </Dataset>
  195. <Dataset firefirstcount="0" firenextcount="0" id="ds_data_recitem">
  196. <ColumnInfo>
  197. <Column id="instcd" type="STRING" size="256"/>
  198. <Column id="rechistseq" type="STRING" size="256"/>
  199. <Column id="recitemno" type="STRING" size="256"/>
  200. <Column id="fstlevlitemcd" type="STRING" size="256"/>
  201. <Column id="formcd" type="STRING" size="256"/>
  202. <Column id="formdegnseq" type="STRING" size="256"/>
  203. <Column id="degnitemno" type="STRING" size="256"/>
  204. <Column id="degnitemcd" type="STRING" size="256"/>
  205. <Column id="degnitemkind" type="STRING" size="256"/>
  206. <Column id="degnitemlevlno" type="STRING" size="256"/>
  207. <Column id="degnitemnm" type="STRING" size="256"/>
  208. <Column id="degnitemlevlcd" type="STRING" size="256"/>
  209. <Column id="rectermcd" type="STRING" size="256"/>
  210. <Column id="rectermnm" type="STRING" size="256"/>
  211. <Column id="recrefcd" type="STRING" size="256"/>
  212. <Column id="recitemnm" type="STRING" size="256"/>
  213. <Column id="reccnts" type="STRING" size="256"/>
  214. <Column id="unitnm" type="STRING" size="256"/>
  215. <Column id="recimge" type="BLOB"/>
  216. <Column id="srcimge" type="BLOB"/>
  217. <Column id="rowno" type="STRING" size="256"/>
  218. <Column id="colno" type="STRING" size="256"/>
  219. <Column id="supdegnitemno" type="STRING" size="256"/>
  220. <Column id="extdegnitemlevlcd" type="STRING" size="256"/>
  221. <Column id="rectermflag" type="STRING" size="256"/>
  222. <Column id="degnunitcd" type="STRING" size="256"/>
  223. </ColumnInfo>
  224. </Dataset>
  225. <Dataset id="ds_main_extninfo_resultinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  226. <ColumnInfo>
  227. <Column id="infoflag" type="STRING" size="256" sumtext="수행된 infoflag"/>
  228. </ColumnInfo>
  229. </Dataset>
  230. <Dataset id="ds_main_extninfo_staffauthinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  231. <ColumnInfo>
  232. <Column id="authyn" type="STRING" size="256" sumtext="staff-sing권한여부"/>
  233. </ColumnInfo>
  234. </Dataset>
  235. <Dataset id="ds_main_extninfo_oprinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  236. <ColumnInfo>
  237. <Column id="oprsrvno" type="STRING" size="256" sumtext=""/>
  238. <Column id="opcnfmdd" type="STRING" size="256" sumtext="수술확정일자"/>
  239. <!-- 2010.01.11 dhkim - 수술시작시간추가 -->
  240. <Column id="opcnfmhm" type="STRING" size="256" sumtext="수술시작시간"/>
  241. <Column id="perfdeptcd" type="STRING" size="256" sumtext="집도의 부서"/>
  242. <Column id="perfdrid" type="STRING" size="256" sumtext="집도의 id"/>
  243. <Column id="perfdrnm" type="STRING" size="256" sumtext="집도의 이름"/>
  244. <Column id="assdrid" type="STRING" size="256" sumtext="보조의 id"/>
  245. <Column id="assdrnm" type="STRING" size="256" sumtext="보조의 이름"/>
  246. <Column id="oproomcd" type="STRING" size="256" sumtext="수술방"/>
  247. <Column id="anstdrid" type="STRING" size="256" sumtext="마취의 id"/>
  248. <Column id="anstdrnm" type="STRING" size="256" sumtext="마위의 이름"/>
  249. <Column id="anstmthdcd" type="STRING" size="256" sumtext="마취방법(주)"/>
  250. <Column id="anstmthdnm" type="STRING" size="256" sumtext="마취방법(주)"/>
  251. <Column id="anstmthdcdsub" type="STRING" size="256" sumtext="마취방법(부)"/>
  252. <Column id="anstmthdcdsubnm" type="STRING" size="256" sumtext="마취방법(부)"/>
  253. <Column id="skinprepcc" type="STRING" size="256" sumtext="피부준비"/>
  254. <Column id="perfdrnm2" type="STRING" size="256" sumtext="집도의2 이름"/>
  255. <Column id="perfdrnm3" type="STRING" size="256" sumtext="집도의3 이름"/>
  256. <Column id="assdrnm2" type="STRING" size="256" sumtext="보조의2 이름"/>
  257. <Column id="assdrnm3" type="STRING" size="256" sumtext="보조의3 이름"/>
  258. <Column id="assdrnm4" type="STRING" size="256" sumtext="보조의4 이름"/>
  259. </ColumnInfo>
  260. </Dataset>
  261. <Dataset id="ds_main_extninfo_oplistinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  262. <ColumnInfo>
  263. <Column id="opinfo" type="STRING" size="256" sumtext="수술정보"/>
  264. <Column id="oprsrvno" type="STRING" size="256" sumtext="수술예약번호"/>
  265. <Column id="deptcd" type="STRING" size="256" sumtext="집도과코드"/>
  266. <Column id="depthngnm" type="STRING" size="256" sumtext="집도과명"/>
  267. <Column id="opcnfmdd" type="STRING" size="256" sumtext="수술예약일자"/>
  268. </ColumnInfo>
  269. </Dataset>
  270. <Dataset id="ds_main_extninfo_recitem" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  271. <ColumnInfo>
  272. <Column id="instcd" type="STRING" size="256" sumtext="기관코드"/>
  273. <Column id="rechistseq" type="BIGDECIMAL" size="256" sumtext="기록이력순번"/>
  274. <Column id="recitemno" type="INT" size="256" sumtext="기록항목번호"/>
  275. <Column id="fstlevlitemcd" type="STRING" size="256" sumtext="1레벨항목코드"/>
  276. <Column id="formcd" type="STRING" size="256" sumtext="서식코드"/>
  277. <Column id="formdegnseq" type="BIGDECIMAL" size="256" sumtext="서식디자인순번"/>
  278. <Column id="degnitemno" type="INT" size="256" sumtext="디자인항목번호"/>
  279. <Column id="degnitemcd" type="STRING" size="256" sumtext="디자인항목코드"/>
  280. <Column id="degnitemkind" type="STRING" size="256" sumtext="디자인항목유형"/>
  281. <Column id="degnitemlevlno" type="STRING" size="256" sumtext="디자인항목레벨번호"/>
  282. <Column id="degnitemnm" type="STRING" size="256" sumtext="디자인항목명"/>
  283. <Column id="degnitemlevlcd" type="STRING" size="256" sumtext="디자인항목레벨코드"/>
  284. <Column id="rectermcd" type="STRING" size="256" sumtext="기록용어코드"/>
  285. <Column id="rectermnm" type="STRING" size="256" sumtext="기록용어이름"/>
  286. <Column id="recrefcd" type="STRING" size="256" sumtext="수술, 진단, 주호소 코드"/>
  287. <Column id="recitemnm" type="STRING" size="256" sumtext="수술, 진단, 주호소 명"/>
  288. <Column id="reccnts" type="STRING" size="256" sumtext="기록내용"/>
  289. <Column id="unitnm" type="STRING" size="256" sumtext="단위명"/>
  290. <Column id="recimge" type="BLOB" size="0" encript="base64" sumtext="기록이미지"/>
  291. <Column id="srcimge" type="BLOB" size="0" encript="base64" sumtext="원본이미지"/>
  292. <Column id="rowno" type="STRING" size="256" sumtext="그리드데이타 행번호"/>
  293. <Column id="colno" type="STRING" size="256" sumtext="그리드데이타 열번호"/>
  294. <Column id="supdegnitemno" type="INT" size="256" sumtext="상위디자인항목번호"/>
  295. <Column id="extdegnitemlevlcd" type="STRING" size="256" sumtext="확장디자인항목레벨코드"/>
  296. <Column id="rectermflag" type="STRING" size="256" sumtext="기록용어코드구분"/>
  297. <Column id="degnunitcd" type="STRING" size="256" sumtext="단위코드"/>
  298. </ColumnInfo>
  299. </Dataset>
  300. <Dataset id="ds_main_extninfo_drlistinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  301. <ColumnInfo>
  302. <Column id="userid" type="STRING" size="256" sumtext="사용자 id"/>
  303. <Column id="usernm" type="STRING" size="256" sumtext="사용자명"/>
  304. <Column id="mpphonno" type="STRING" size="256" sumtext="핸드폰번호"/>
  305. <Column id="refseq" type="STRING" size="256" sumtext="특진의여부"/>
  306. </ColumnInfo>
  307. </Dataset>
  308. <Dataset id="ds_data_diagcdlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  309. <ColumnInfo>
  310. <Column id="diagkindcd" type="STRING" size="256" sumtext="주/부"/>
  311. <Column id="diagkindcdflag" type="STRING" size="256" sumtext="R/O"/>
  312. <Column id="icd10cd" type="STRING" size="256" sumtext="진단코드"/>
  313. <Column id="icd10cd" type="STRING" size="256" sumtext="진단코드"/>
  314. <Column id="diagengnm" type="STRING" size="256" sumtext="진단영문명"/>
  315. <Column id="termhngnm" type="STRING" size="256" sumtext="진단한글명"/>
  316. </ColumnInfo>
  317. </Dataset>
  318. <Dataset id="ds_main_extninfo_selectoplist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  319. <ColumnInfo>
  320. <Column id="opcd" type="STRING" size="256" sumtext="수술코드"/>
  321. <Column id="opengnm" type="STRING" size="256" sumtext="수술명"/>
  322. </ColumnInfo>
  323. </Dataset>
  324. <Dataset id="ds_main_extninfo_dscinoutinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  325. <ColumnInfo>
  326. <Column id="nurin" type="STRING" size="256" sumtext="dsc입실시간"/>
  327. <Column id="nurout" type="STRING" size="256" sumtext="dsc퇴실시간"/>
  328. <Column id="oprin" type="STRING" size="256" sumtext="or도착시간"/>
  329. <Column id="oprout" type="STRING" size="256" sumtext="or퇴실시간"/>
  330. </ColumnInfo>
  331. </Dataset>
  332. <Dataset id="ds_main_extninfo_rectextinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  333. <ColumnInfo>
  334. <Column id="fstlevlitembasecd" type="STRING" size="256" sumtext=""/>
  335. <Column id="viewcnts" type="STRING" size="256" sumtext=""/>
  336. </ColumnInfo>
  337. </Dataset>
  338. <Dataset id="ds_main_extninfo_anstdrlistinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  339. <ColumnInfo>
  340. <Column id="userid" type="STRING" size="256" sumtext="사용자id"/>
  341. <Column id="usernm" type="STRING" size="256" sumtext="사용자명"/>
  342. <Column id="mpphonno" type="STRING" size="256" sumtext="핸드폰번호"/>
  343. <Column id="refseq" type="STRING" size="256" sumtext="특진의여부"/>
  344. </ColumnInfo>
  345. </Dataset>
  346. <Dataset id="ds_main_extninfo_oproomlistinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  347. <ColumnInfo>
  348. <Column id="oproomcd" type="STRING" size="256" sumtext="수술방코드"/>
  349. <Column id="oproomnm" type="STRING" size="256" sumtext="수술방명"/>
  350. </ColumnInfo>
  351. </Dataset>
  352. <Dataset id="ds_main_extninfo_recseqinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  353. <ColumnInfo>
  354. <Column id="formrecseq" type="STRING" size="256" sumtext=""/>
  355. </ColumnInfo>
  356. </Dataset>
  357. <Dataset id="ds_main_extninfo_etcinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  358. <ColumnInfo>
  359. <Column id="col0" type="STRING" size="256" sumtext=""/>
  360. <Column id="col1" type="STRING" size="256" sumtext=""/>
  361. <Column id="col2" type="STRING" size="256" sumtext=""/>
  362. <Column id="col3" type="STRING" size="256" sumtext=""/>
  363. <Column id="col4" type="STRING" size="256" sumtext=""/>
  364. <Column id="col5" type="STRING" size="256" sumtext=""/>
  365. <Column id="col6" type="STRING" size="256" sumtext=""/>
  366. <Column id="col7" type="STRING" size="256" sumtext=""/>
  367. <Column id="col8" type="STRING" size="256" sumtext=""/>
  368. <Column id="col9" type="STRING" size="256" sumtext=""/>
  369. </ColumnInfo>
  370. </Dataset>
  371. </Objects>
  372. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  373. * System Name :
  374. * Job Name :
  375. * Creator :
  376. * Make Date : 2015-05-18
  377. * Description :
  378. *---------------------------------------------------------------------------------------
  379. * Modify Date Modifier Modify Description
  380. *---------------------------------------------------------------------------------------
  381. * 2015-05-18 Live Converter TF->XP
  382. *
  383. *---------------------------------------------------------------------------------------
  384. ****************************************************************************************/
  385. //=======================================================================================
  386. // Lib Include
  387. //---------------------------------------------------------------------------------------
  388. include "com_commonxp::comm_main.xjs"
  389. include "emr_commonxp::EMRCommon.xjs"
  390. include "emr_prcpmngtxp::MMO001.xjs"
  391. include "emr_medirecxp::MMRCommon.xjs"
  392. include "emr_medirecxp::MMRBind.xjs"
  393. //=======================================================================================
  394. // Global Form Variable
  395. //---------------------------------------------------------------------------------------
  396. var arErrorCode = new HashArray();
  397. var arrItemCds = new Array( "0007983001" //수술전진단명
  398. , "0000521001" //수술후진단명
  399. , "0000509001" //수술명
  400. , "0000515001" //수술일
  401. , "0000980001" //집도의
  402. , "0007992001" //마취의
  403. , "0000248001" //마취종류
  404. , "0000512001" //수술소견및절차
  405. , "0022906001" //출혈정보
  406. , "0008331001" //조직표본검체
  407. , "0000323001" //배액관
  408. , "0036148001" //특이사항(RDO)
  409. , "0001115001" //특이사항
  410. );
  411. //부분서식의 부모아이템 배열
  412. var gItemCds = new Array(
  413. "0007983001" //수술전진단명
  414. , "0000521001" //수술후진단명
  415. , "0000509001" //수술명
  416. , "0000512001" //수술소견및절차
  417. , "0022906001" //출혈정보
  418. );
  419. var gItemCdsTextArea = new Array("0000512001" //수술소견및절차
  420. ,"0001115001" //특이사항
  421. );
  422. var gItemCdsXRWArea = new Array(
  423. "0007983001" //수술전진단명
  424. , "0000521001" //수술후진단명
  425. , "0000509001" //수술명
  426. );
  427. var gItemCdsExpand = new Array(
  428. "0000512001" //수술소견및절차
  429. , "0022906001" //출혈정보
  430. );
  431. //부분서식의 개수만큼 일단 '0'으로 채운다.
  432. var iOpdate = grup_base.ipt_opdate.degnitemno;
  433. var cOdt = grup_base.cmb_odt.degnitemno;
  434. var cSdt = grup_base.cmb_sdt.degnitemno;
  435. var iMcdnm = grup_base.ipt_mcdnm.degnitemlevlcd;
  436. var iScdnm = grup_base.ipt_scdnm.degnitemlevlcd;
  437. var oprsrvno = "";
  438. //2010.01.25 dhkim 마취과코드추가
  439. var anstdeptcd = "";
  440. /**
  441. * @desc : 확장버튼(이미지,가계도,추가기록)을 기록여부에 따라 표시를 위한 버튼목록
  442. * @id :
  443. * @authur : 안치원
  444. * @history : 2009.09.09 신규 안치원 ACW_090909A
  445. */
  446. var gExtnBtnIds = new Array("btn_imge_0000512001" //수술소견및절차 이미지버튼
  447. , "btn_etcrec_0000512001" //수술소견및절차 추가기록버튼
  448. );
  449. var lodedYn = false;
  450. //=======================================================================================
  451. // Function
  452. //---------------------------------------------------------------------------------------
  453. /****************************************************************************************
  454. * Argument : N/A
  455. * Description : 부분서식 완료시 fOnLoadComplete 호출
  456. ****************************************************************************************/
  457. function lf_onloadcomplete(){
  458. fOnLoadComplete();
  459. }
  460. /****************************************************************************************
  461. * Function : lf_getUnitFormRecData
  462. * Description : 기록정보 조합
  463. ****************************************************************************************/
  464. function lf_getUnitFormRecData(mode, tmp)
  465. {
  466. // MMRcommon.xjs
  467. return lf_getRecDS(arrItemCds, mode, tmp);
  468. }
  469. /****************************************************************************************
  470. * Function : fClearComnFormData
  471. * Description : 서식 데이터 Clear, 인터페이스 입력값 조회 입력
  472. * retrun type :
  473. ****************************************************************************************/
  474. function fClearComnFormData()
  475. {
  476. if (!utlf_isNull(gMaxSectionID))
  477. {
  478. frmf_inputEnterKey( "ComnFormObj.lbl_"+gMaxSectionID, "onclick", new ClickEventInfo);
  479. }
  480. if( lodedYn == true )
  481. ClearComnFormData(gItemCds);
  482. fInitialize();
  483. //포커스 처리
  484. SetDefFocusIVW(gItemCdsTextArea);
  485. parent.fSetFormRec("extnflag", "opr");
  486. parent.fSetFormRec("oprsrvno", oprsrvno);
  487. }
  488. /****************************************************************************************
  489. * Function : fInitialize
  490. * Description : 화면 초기화
  491. * retrun type :
  492. * History :
  493. ****************************************************************************************/
  494. function fInitialize()
  495. {
  496. var operation = sysf_getGlobalVariable("operation").split("▩")[1];
  497. if(!utlf_isNull(operation)){
  498. oprsrvno = operation.split("▦")[0];
  499. perfdeptcd = operation.split("▦")[10];
  500. }
  501. if (parent.fGetFormRec("status") == "C")
  502. {
  503. parent.fSetFormRec("extnflag", "opr");
  504. parent.fSetFormRec("oprsrvno", oprsrvno);
  505. }
  506. gTermViewTopPos = 0;
  507. gTermViewHei = 302;
  508. gTermViewItems = gItemCdsXRWArea;
  509. }
  510. /****************************************************************************************
  511. * Function : fChngDoct
  512. * Description : 의사 선택에 따른 reccnts셋팅(tur)
  513. * retrun type :
  514. * History :
  515. ****************************************************************************************/
  516. function fChngDoct(obj:Combo, e:ItemChangeEventInfo)
  517. {
  518. var sDrnm, sDrcd;
  519. var sDegnitemlevlcd = obj.degnitemlevlcd;
  520. var nFindRow = ds_data_recitem.findRow("degnitemlevlcd", sDegnitemlevlcd);
  521. if(nFindRow == -1)
  522. {
  523. nFindRow = ds_data_recitem.addRow();
  524. var insRow = ds_temp_mainrecitem.findRow("degnitemlevlcd", sDegnitemlevlcd);
  525. ds_data_recitem.copyRow(nFindRow, ds_temp_mainrecitem, insRow);
  526. }
  527. sDrnm = e.posttext;
  528. sDrcd = e.postvalue;
  529. if( utlf_isNull(e.posttext) ){
  530. sDrnm = "";
  531. sDrcd = "";
  532. obj.value = "";
  533. }
  534. ds_data_recitem.setColumn(nFindRow, "rectermcd", sDrcd);
  535. ds_data_recitem.setColumn(nFindRow, "rectermnm", sDrnm);
  536. }
  537. /****************************************************************************************
  538. * Function : fRadioYN
  539. * Description : 라디오버튼 선택에 따른 reccnts셋팅
  540. ****************************************************************************************/
  541. function fRadioYN(obj:Radio, e:ItemChangeEventInfo)
  542. {
  543. var sDegnitemlevlcd = obj.degnitemlevlcd;
  544. var nFindRow = ds_data_recitem.findRow("degnitemlevlcd", sDegnitemlevlcd);
  545. if(nFindRow == -1)
  546. {
  547. nFindRow = ds_data_recitem.addRow();
  548. var insRow = ds_temp_mainrecitem.findRow("degnitemlevlcd", sDegnitemlevlcd);
  549. ds_data_recitem.copyRow(nFindRow, ds_temp_mainrecitem, insRow);
  550. }
  551. var sRectermnm = parent.ds_data_vallist.getColumn(parent.ds_data_vallist.findRow("valcd", e.postvalue), "valitemnm");
  552. if( utlf_isNull(sRectermnm) ) sRectermnm = e.posttext;
  553. ds_data_recitem.setColumn(nFindRow, "rectermcd", e.postvalue);
  554. ds_data_recitem.setColumn(nFindRow, "rectermnm", sRectermnm);
  555. }
  556. var gLoadFormCnts = 0;
  557. /****************************************************************************************
  558. * Function : fFormReady()
  559. * Description : 화면 로딩후 초기화 작업 수행
  560. * retrun type :
  561. ****************************************************************************************/
  562. function fFormReady()
  563. {
  564. this.ComnFormObj = this.grup_base;
  565. dsf_createDsRow("ds_temp_mainrecitem",
  566. [{col:"formxrw", val:""}]);
  567. // 공통서식의 초기 recitem 정보. 기록 데이터 조합시 사용
  568. ds_temp_mainrecitem.assign(ds_data_recitem);
  569. lf_setSectionSize(gItemCds, "grup_base.tar_0000512001", "grup_base.tar_0022906001");
  570. //20080702 박종훈 추가
  571. InitBtnImge(gItemCdsTextArea);
  572. InitBtnEtcRec(gItemCdsTextArea);
  573. // lf_checkUnitForm(gItemCds); // 부분서식 로딩
  574. lf_AllLoadUnitFormExpand(gItemCds); // 전체 로드
  575. fInitialize();
  576. lf_initForm(); //fOnLoadComplete
  577. lf_setRecData(arrItemCds);
  578. initFormAtLast_MMR01100I();
  579. }
  580. /****************************************************************************************
  581. * Function : fBtnDisEnable()
  582. * Description : 저장버튼 Disable
  583. * retrun type :
  584. ****************************************************************************************/
  585. function fBtnDisEnable(flag)
  586. {
  587. if(flag)
  588. {
  589. parent.fDisalbeSave(flag);
  590. }
  591. else
  592. {
  593. parent.fDisalbeSave(flag);
  594. }
  595. }
  596. /****************************************************************************************
  597. * Function : initFormAtLast_MMR01100I()
  598. * Description : MMR01100.js에서 서식load를 완료한 후에 호출한다.
  599. * retrun type :
  600. ****************************************************************************************/
  601. function initFormAtLast_MMR01100I() {
  602. //2010.01.25 dhkim 마취과코드 추가(간호공통기준자료테이블에서 가죠옴)
  603. var pCode = "'012'"; // 조회할 CdGrupID 코드정보(012:마취과)
  604. var pDate = utlf_getCurrentDate(); //조회기준일자
  605. fGetNursHardCdInfo_MMR07100(pCode, pDate);
  606. var nFindRow = ds_code_MMR07100.findRow("cdgrupid", "012");
  607. anstdeptcd = ds_code_MMR07100.getColumn(nFindRow, "cdid");
  608. var formcd = parent.fGetFormMast("formcd");
  609. //신규서식로딩의 경우만 수술기록정보 연동
  610. if (parent.fGetFormRec("status") == "C") {
  611. //2010.01.25 dhkim 집도의, 마취의 리스트 조회추가
  612. fGetRecIfData_MMR07100("opr;opnm;opdiag;drlist;anstdrlist");
  613. } else {
  614. //2010.01.25 dhkim 집도의, 마취의, 수술방 리스트 조회추가
  615. fGetRecIfData_MMR07100("drlist;anstdrlist");
  616. }
  617. fInitAnstTypeCtrl_SMMMR07100();
  618. lodedYn = true; // 로드 시점 처리
  619. }
  620. /****************************************************************************************
  621. * Function : getSubmitID_MMR01300I
  622. * Description : MMR01300.js에서 submit직전에 submitID를 설정하기 위해서 호출한다.
  623. * retrun type :
  624. ****************************************************************************************/
  625. function getSubmitID_MMR01300I() {
  626. return TX_SUBMIT_EXTN_FORM;
  627. }
  628. /****************************************************************************************
  629. * Function : fGetRecIfData_MMR07100
  630. * Description : 수술기록의 Data를 설정한다.
  631. * retrun type :
  632. * History : TRMMR01302 submission 호출로 통합
  633. ****************************************************************************************/
  634. function fGetRecIfData_MMR07100(infoflag) {
  635. ds_send_extninfo.clearData();
  636. var nRow = ds_send_extninfo.addRow();
  637. ds_send_extninfo.setColumn(nRow, "infoflag", infoflag);
  638. ds_send_extninfo.setColumn(nRow, "pid", parent.fGetFormRec("pid"));
  639. ds_send_extninfo.setColumn(nRow, "oprsrvno", parent.fGetFormRec("oprsrvno"));
  640. //2010.01.11 dhkim - dsc 입퇴실정보 조회위해 orddd, cretno 추가
  641. ds_send_extninfo.setColumn(nRow, "orddd", parent.fGetFormRec("orddd"));//dsc는 orddd로 들어감
  642. ds_send_extninfo.setColumn(nRow, "cretno", parent.fGetFormRec("cretno"));
  643. //2010.01.25 dhkim - 집도의,마취의, 수술방 리스트조회 콤보에 필요한 파라미터 추가
  644. if(utlf_isSearchString(infoflag, "drlist"))
  645. ds_send_extninfo.setColumn(nRow, "deptcd", sysf_getUserInfo("dutplcecd"));
  646. if(utlf_isSearchString(infoflag, "anstdrlist"))
  647. ds_send_extninfo.setColumn(nRow, "anstdeptcd", anstdeptcd);
  648. if(utlf_isSearchString(infoflag, "oproomlist"))
  649. ds_send_extninfo.setColumn(nRow, "opdd", parent.fGetFormRec("orddd"));
  650. dsf_setDefaultVal(ds_send_extninfo, "dschdd:99991231");
  651. var oParam = {};
  652. oParam.id = "TRMMR01302";
  653. oParam.service = "medirecapp.RecIf";
  654. oParam.method = "reqGetFormRecExtnInfo";
  655. oParam.inds = "req=ds_send_extninfo";
  656. oParam.outds = "ds_main_extninfo_resultinfo=resultinfo ds_main_extninfo_staffauthinfo=staffauthinfo ds_main_extninfo_oprinfo=oprinfo "
  657. + "ds_main_extninfo_oplistinfo=oplistinfo ds_main_extninfo_recitem=recitem ds_main_extninfo_drlistinfo=drlistinfo "
  658. + "ds_data_diagcdlist=diagcdlist ds_main_extninfo_selectoplist=selectoplist ds_main_extninfo_dscinoutinfo=dscinoutinfo "
  659. + "ds_main_extninfo_rectextinfo=rectextinfo ds_main_extninfo_anstdrlistinfo=anstdrlistinfo ds_main_extninfo_oproomlistinfo=oproomlistinfo "
  660. + "ds_main_extninfo_recseqinfo=recseqinfo ds_main_extninfo_etcinfo=etcinfo";
  661. oParam.async = false;
  662. oParam.callback = "cf_TRMMR01302";
  663. tranf_submit(oParam);
  664. if(arErrorCode.pop("TRMMR01302") > -1)
  665. {
  666. var execInfoFlag = ds_main_extninfo_resultinfo.getColumn(0, "infoflag");
  667. //2010.01.25 dhkim - 집도의,마취의,수술방 콤보 리스트 추가
  668. if (execInfoFlag.indexOf("anstdrlist;") != -1) {
  669. //extninfo에 조회해온 마취의 노드리스트 콤보리스트에 copy
  670. ds_init_cmb_sdt.clearData();
  671. ds_init_cmb_sdt.copyData(ds_main_extninfo_anstdrlistinfo);
  672. }
  673. if (execInfoFlag.indexOf("drlist;") != -1) {
  674. //extninfo에 조회해온 집도의 노드리스트 콤보리스트에 copy
  675. ds_init_cmb_odt.clearData();
  676. ds_init_cmb_odt.copyData(ds_main_extninfo_drlistinfo);
  677. }
  678. //2010.01.11 dhkim - 집도의, 마취의 콤보 노드리스트에 조회한 의사정보 없을경우 노드추가
  679. //집도의
  680. var perfdrnm = makeDrNames_MMR07100(new Array("perfdrnm"));
  681. var perfdrid = makeDrNames_MMR07100(new Array("perfdrid"));
  682. //2010.01.25 dhkim - 수정모드일 경우는 recinfo에서 조회
  683. if(parent.fGetFormRec("status") == "U"){
  684. var sDegnitemlevlcd = grup_base.cmb_odt.degnitemlevlcd;
  685. var nFindRow = parent.ds_data_recitem.findRow("degnitemlevlcd", sDegnitemlevlcd);
  686. perfdrnm = parent.ds_data_recitem.getColumn(nFindRow, "rectermnm");
  687. perfdrid = parent.ds_data_recitem.getColumn(nFindRow, "rectermcd");
  688. }
  689. var perfCnt = ds_main_extninfo_drlistinfo.getCaseCount("userid=='"+perfdrid+"'");
  690. if(perfCnt == 0){
  691. var nRow = ds_init_cmb_odt.addRow();
  692. ds_init_cmb_odt.setColumn(nRow, "userid", perfdrid);
  693. ds_init_cmb_odt.setColumn(nRow, "usernm", perfdrnm);
  694. }
  695. //마취의
  696. var anstdrnm = makeDrNames_MMR07100(new Array("anstdrnm"));
  697. var anstdrid = makeDrNames_MMR07100(new Array("anstdrid"));
  698. //2010.01.25 dhkim - 수정모드의 경우 recinfo에서 조회
  699. if(parent.fGetFormRec("status") == "U"){
  700. var sDegnitemlevlcd = grup_base.cmb_sdt.degnitemlevlcd;
  701. var nFindRow = parent.ds_data_recitem.findRow("degnitemlevlcd", sDegnitemlevlcd);
  702. anstdrnm = parent.ds_data_recitem.getColumn(nFindRow, "rectermnm");
  703. anstdrid = parent.ds_data_recitem.getColumn(nFindRow, "rectermcd");
  704. }
  705. var anstdrCnt = ds_main_extninfo_anstdrlistinfo.getCaseCount("userid=='"+anstdrid+"'");
  706. if(anstdrCnt == 0){
  707. var nRow = ds_init_cmb_sdt.addRow();
  708. ds_init_cmb_sdt.setColumn(nRow, "userid", anstdrid);
  709. ds_init_cmb_sdt.setColumn(nRow, "usernm", anstdrnm);
  710. }
  711. if (execInfoFlag.indexOf("opr;") != -1) {
  712. var nFindRow = "";
  713. var sDegnitemlevlcd = "";
  714. //수술정보 설정
  715. //수술일자,진료일자
  716. var opcnfmdd = ds_main_extninfo_oprinfo.getColumn(0, "opcnfmdd");
  717. var opcnfmhm = ds_main_extninfo_oprinfo.getColumn(0, "opcnfmhm");
  718. grup_base.ipt_opdate.value = opcnfmdd;
  719. sDegnitemlevlcd = grup_base.ipt_opdate.degnitemlevlcd; //0000515
  720. nFindRow = ds_data_recitem.findRow("degnitemlevlcd", sDegnitemlevlcd);
  721. ds_data_recitem.setColumn(nFindRow, "reccnts", opcnfmdd);
  722. //2010.01.11 dhkim - 진료일자,진료시간 세팅
  723. parent.fSetFormRec("formrecdd", opcnfmdd);
  724. parent.fSetFormRec("formrechm", opcnfmhm);
  725. //집도의 설정
  726. grup_base.cmb_odt.value = perfdrid;
  727. sDegnitemlevlcd = grup_base.cmb_odt.degnitemlevlcd;
  728. nFindRow = ds_data_recitem.findRow("degnitemlevlcd", sDegnitemlevlcd); //0000980
  729. ds_data_recitem.setColumn(nFindRow, "rectermcd", perfdrid);
  730. ds_data_recitem.setColumn(nFindRow, "rectermnm", perfdrnm);
  731. //마취의 설정
  732. grup_base.cmb_sdt.value = anstdrid;
  733. sDegnitemlevlcd = grup_base.cmb_sdt.degnitemlevlcd;
  734. nFindRow = ds_data_recitem.findRow("degnitemlevlcd", sDegnitemlevlcd); //0007992
  735. ds_data_recitem.setColumn(nFindRow, "rectermcd", anstdrid);
  736. ds_data_recitem.setColumn(nFindRow, "rectermnm", anstdrnm);
  737. //주마취 설정
  738. var sAnstmthdnm = ds_main_extninfo_oprinfo.getColumn(0, "anstmthdnm");
  739. var sAnstmthdcd = ds_main_extninfo_oprinfo.getColumn(0, "anstmthdcd");
  740. grup_base.ipt_mcdnm.value = sAnstmthdnm;
  741. sDegnitemlevlcd = grup_base.ipt_mcdnm.degnitemlevlcd;
  742. nFindRow = ds_data_recitem.findRow("degnitemlevlcd", sDegnitemlevlcd); //0000248.0015528
  743. ds_data_recitem.setColumn(nFindRow, "rectermnm", sAnstmthdnm);
  744. ds_data_recitem.setColumn(nFindRow, "rectermcd", sAnstmthdcd);
  745. //부마취 설정
  746. var sAnstmthdcdsubnm = ds_main_extninfo_oprinfo.getColumn(0, "anstmthdcdsubnm");
  747. var sAnstmthdcdsub = ds_main_extninfo_oprinfo.getColumn(0, "anstmthdcdsub");
  748. grup_base.ipt_scdnm.value = sAnstmthdcdsubnm;
  749. sDegnitemlevlcd = grup_base.ipt_scdnm.degnitemlevlcd;
  750. nFindRow = ds_data_recitem.findRow("degnitemlevlcd", sDegnitemlevlcd); //0000248.0008458
  751. ds_data_recitem.setColumn(nFindRow, "rectermnm", sAnstmthdcdsubnm);
  752. ds_data_recitem.setColumn(nFindRow, "rectermcd", sAnstmthdcdsub);
  753. }
  754. if (execInfoFlag.indexOf("opdiag;") != -1 && lodedYn == true) {
  755. //수술진단 설정
  756. grup_base.ivw_0007983001.fSetDiagNmInstance();
  757. grup_base.ivw_0000521001.fSetDiagNmInstance();
  758. }
  759. if (execInfoFlag.indexOf("opnm;") != -1 && lodedYn == true) {
  760. //수술명설정
  761. if( !grup_base.ivw_0000509001.isValidObject("ds_tmpop_selectoplist") )
  762. grup_base.ivw_0000509001.dsf_createDs("ds_tmpop_selectoplist");
  763. grup_base.ivw_0000509001.ds_tmpop_selectoplist.copyData(ds_main_extninfo_selectoplist);
  764. grup_base.ivw_0000509001.fAfterSrch();
  765. }
  766. var sStatus = fGetFormRec("status");
  767. lf_setBasicInfo(sStatus); //시술 정보 기록데이터 세팅
  768. }
  769. }
  770. function cf_TRMMR01302(sSvcId, nErrorCode, sErrorMsg) {
  771. arErrorCode.push(sSvcId, nErrorCode);
  772. if(nErrorCode < 0) return;
  773. dsf_setDefaultVal(ds_main_extninfo_recitem, "recitemno:'',degnitemno:'',supdegnitemno:''");
  774. dsf_setTypeFormat(ds_main_extninfo_recitem, "recitemno:INT^degnitemno:INT^supdegnitemno:INT");
  775. }
  776. /****************************************************************************************
  777. * Function : makeDrNames_MMR07100
  778. * Description : 의사명 노드리스트 세팅
  779. * retrun type :
  780. ****************************************************************************************/
  781. function makeDrNames_MMR07100(arr) {
  782. var buf = "";
  783. for (var i=0; i<arr.length; i++) {
  784. var nm = ds_main_extninfo_oprinfo.getColumn(0, arr[i]);
  785. if (utlf_isNull(nm)) {
  786. break;
  787. } else {
  788. buf += nm;
  789. if (i<arr.length-1 && !utlf_isNull(ds_main_extninfo_oprinfo.getColumn(0, arr[i+1]))) {
  790. buf += ", ";
  791. }
  792. }
  793. }
  794. return buf;
  795. }
  796. /****************************************************************************************
  797. * Function : fInitAnstTypeCtrl_SMMMR07100
  798. * Description : 수술연동관련 컨트롤 바인딩 초기화
  799. * 마취종류(주/부) 바인딩
  800. * retrun type :
  801. ****************************************************************************************/
  802. function fInitAnstTypeCtrl_SMMMR07100() {
  803. var anstmthdcd = "";
  804. var mcdnm = "";
  805. var anstmthdcdsub = "";
  806. var scdnm = "";
  807. var node = "";
  808. //주마취
  809. var nRow = ds_main_extninfo_oprinfo.rowposition;
  810. anstmthdcd = ds_main_extninfo_oprinfo.getColumn(nRow, "anstmthdcd");
  811. mcdnm = ds_main_extninfo_oprinfo.getColumn(nRow, "anstmthdnm");
  812. if(parent.fGetFormRec("status") == "U"){
  813. var sDegnitemlevlcd = grup_base.ipt_mcdnm.degnitemlevlcd; //0000248.0015528
  814. if( !utlf_isNull(parent.ds_data_recitem.lookup("degnitemlevlcd", sDegnitemlevlcd, "rectermcd")) ){
  815. var nFindRow = parent.ds_data_recitem.findRow("degnitemlevlcd", sDegnitemlevlcd);
  816. anstmthdcd = parent.ds_data_recitem.getColumn(nFindRow, "rectermcd");
  817. mcdnm = parent.ds_data_recitem.getColumn(nFindRow, "rectermnm");
  818. }
  819. }
  820. //부마취
  821. anstmthdcdsub = ds_main_extninfo_oprinfo.getColumn(nRow, "anstmthdcdsub");
  822. scdnm = ds_main_extninfo_oprinfo.getColumn(nRow, "anstmthdcdsubnm");
  823. if(parent.fGetFormRec("status") == "U"){
  824. var sDegnitemlevlcd = grup_base.ipt_scdnm.degnitemlevlcd; //0000248.0008458
  825. if( !utlf_isNull(parent.ds_data_recitem.lookup("degnitemlevlcd", sDegnitemlevlcd, "rectermcd")) ){
  826. var nFindRow = parent.ds_data_recitem.findRow("degnitemlevlcd", sDegnitemlevlcd);
  827. anstmthdcdsub = parent.ds_data_recitem.getColumn(nFindRow, "rectermcd");
  828. scdnm = parent.ds_data_recitem.getColumn(nFindRow, "rectermnm");
  829. }
  830. }
  831. //2010.01.18 dhkim - 마취바인딩 무조건 rectermcd, rectermnm으로 변경
  832. if(utlf_isNull(anstmthdcd)){
  833. anstmthdcd = "-";
  834. }
  835. if(utlf_isNull(anstmthdcdsub)){
  836. anstmthdcdsub = "-";
  837. }
  838. //주마취
  839. grup_base.ipt_mcdnm.value = mcdnm;
  840. var sDegnitemlevlcd = grup_base.ipt_mcdnm.degnitemlevlcd;
  841. var nFindRow = ds_data_recitem.findRow("degnitemlevlcd", sDegnitemlevlcd);
  842. ds_data_recitem.setColumn(nFindRow, "rectermcd", anstmthdcd);
  843. ds_data_recitem.setColumn(nFindRow, "rectermnm", mcdnm);
  844. //부마취
  845. grup_base.ipt_scdnm.value = scdnm;
  846. var sDegnitemlevlcd = grup_base.ipt_scdnm.degnitemlevlcd;
  847. var nFindRow = ds_data_recitem.findRow("degnitemlevlcd", sDegnitemlevlcd);
  848. ds_data_recitem.setColumn(nFindRow, "rectermcd", anstmthdcdsub);
  849. ds_data_recitem.setColumn(nFindRow, "rectermnm", scdnm);
  850. }
  851. /****************************************************************************************
  852. * Function : fGetNursHardCdInfo_MMR07100
  853. * Description : 마취과코드조회(간호공통테이블에서조회)
  854. * retrun type :
  855. ****************************************************************************************/
  856. function fGetNursHardCdInfo_MMR07100(pCode, pDate){
  857. var sSendDsNm = dsf_createDsRow("ds_send_MMR07100", [{col: "cdgrupid", type:"string", size:256, val:pCode}
  858. , {col: "srchdd", type:"string", size:256, val:pDate}]);
  859. var objSendDS:Dataset = new Dataset;
  860. objSendDS = this.objects[sSendDsNm];
  861. var sRtnDsNm = dsf_createDs("ds_code_MMR07100", [{col: "cdgrupid", type:"string", size:256}
  862. , {col: "cdid", type:"string", size:256}
  863. , {col: "cdnm", type:"string", size:256}
  864. , {col: "grupdetldesc", type:"string", size:256}
  865. , {col: "supcdid", type:"string", size:256}]);
  866. var objRtnDS:Dataset = new Dataset;
  867. objRtnDS = this.objects[sRtnDsNm];
  868. var oParam = {};
  869. oParam.id = "TRMMR00902";
  870. oParam.service = "wardcareapp.WardCareMngt";
  871. oParam.method = "reqGetNursHardCdInfo";
  872. oParam.inds = "req="+sSendDsNm;
  873. oParam.outds = sRtnDsNm+"=codelist";
  874. oParam.async = false;
  875. oParam.progress = false;
  876. oParam.callback = "cf_TRMMR00902";
  877. tranf_submit(oParam);
  878. }
  879. function cf_TRMMR00902(sSvcId, nErrorCode, sErrorMsg) {
  880. if(nErrorCode < 0) return;
  881. }
  882. /****************************************************************************************
  883. * Function : fChkPreSave
  884. * Description : 2010.01.25 dhkim - 추가) 저장전 체크 로직
  885. * retrun type :
  886. ****************************************************************************************/
  887. function fChkPreSave()
  888. {
  889. //특이사항 여부 관련 체크
  890. if (grup_base.radio3.value == "0001347001" && !utlf_isNull(grup_base.tar_0001115001.value)) {
  891. sysf_messageBox("특이사항 여부가 [N] 으로 체크되었지만 특이사항이 입력되었습니다","E");
  892. return false;
  893. }
  894. if (grup_base.radio3.value == "0001965001" && utlf_isNull(grup_base.tar_0001115001.value)) {
  895. sysf_messageBox("특이사항 여부가 [Y] 으로 체크되었지만 특이사항이 없습니다","E");
  896. return false;
  897. }
  898. }
  899. /****************************************************************************************
  900. * Function : lf_initForm
  901. * Description : fOnLoadComplete 완료 시 실행되는 부분
  902. * retrun type :
  903. ****************************************************************************************/
  904. function lf_initForm(){
  905. if (parent.fGetFormRec("status") == "C")
  906. {
  907. fClearComnFormData();
  908. }
  909. if (parent.fGetFormRec("status") == "C")
  910. {
  911. var node = sysf_getGlobalVariable("paminfo");
  912. if(!utlf_isNull(node))
  913. {
  914. var sPamDsNm = dsf_createDs("ds_main_paminfo", [{col:"pid", type:"string", size:256}]);
  915. var objPamDs:Dataset = new Dataset;
  916. objPamDs = this.objects[sPamDsNm];
  917. dsf_setCSVToDs("ds_main_paminfo", node);
  918. var ordtype = objPamDs.getColumn(0, "ioflag");
  919. if(ordtype != "D")
  920. {
  921. sysf_messageBox("해당환자는 DSC가 아닌", "I005");
  922. grup_base.enable = false;
  923. fBtnDisEnable(true);
  924. return;
  925. }
  926. else
  927. {
  928. if(utlf_isNull(oprsrvno))
  929. {
  930. sysf_messageBox("수술예약이 되지 않은 환자이거나 수술탭에서 선택하지 않은", "I005");
  931. grup_base.enable = false;
  932. fBtnDisEnable(true);
  933. return;
  934. } else {
  935. fBtnDisEnable(false);
  936. }
  937. }
  938. }
  939. parent.fSetFormRec("extnflag", "opr");
  940. parent.fSetFormRec("oprsrvno", oprsrvno);
  941. //서식 로딩 후 포커스 처리(2008-11-18 박종훈)
  942. SetDefFocusIVW(gItemCdsTextArea);
  943. }
  944. if(parent.fGetFormRec("status") == "U"){
  945. //버튼세팅
  946. if(parent.fCheckSaveDept()){
  947. grup_base.enable = true;
  948. fBtnDisEnable(false);
  949. }
  950. else{
  951. sysf_messageBox("타과에서 작성된 DSC기록은 수정", "E001");
  952. grup_base.enable = false;
  953. fBtnDisEnable(true);
  954. }
  955. }
  956. }
  957. //=======================================================================================
  958. // Transaction Callback
  959. //---------------------------------------------------------------------------------------
  960. /****************************************************************************************
  961. * Argument : 01.sSvcId : 서비스 ID
  962. * : 02.nErrorCode : 에러코드
  963. * : 03.sErrorMsg : 에러메시지
  964. * Description : cf_의 콜백함수
  965. ****************************************************************************************/
  966. function cf_(sSvcId, nErrorCode, sErrorMsg) {
  967. if(nErrorCode < 0) return;
  968. //sysf_trace("***** cf_ *****");
  969. }
  970. //=======================================================================================
  971. // Event
  972. //---------------------------------------------------------------------------------------
  973. /****************************************************************************************
  974. * Components : Form
  975. * Components ID : SMMMR00903
  976. * Event : oninit
  977. * Argument : 01.obj : Object Event has occurred
  978. * : 02.e : Event Object
  979. * Description : 화면 초기화
  980. ****************************************************************************************/
  981. function SMMMR00903_oninit(obj:Form, e:InitEventInfo)
  982. {
  983. frmf_initForm(obj);
  984. }
  985. /****************************************************************************************
  986. * Components : Form
  987. * Components ID : SMMMR00903
  988. * Event : onload
  989. * Argument : 01.obj : Object Event has occurred
  990. * : 02.e : Event Object
  991. * Description : 화면 초기화
  992. ****************************************************************************************/
  993. function SMMMR00903_onload(obj:Form, e:LoadEventInfo)
  994. {
  995. lf_makeRecitem();
  996. fFormReady();
  997. //initFormAtLast_MMR01100I();
  998. //우클릭 메뉴보이기 기능(Grid인 경우는 해당 Form OnLoad에 선언한다.)
  999. fCompRightMenuInit(grup_base.tar_0007983001);
  1000. fCompRightMenuInit(grup_base.tar_0000521001);
  1001. fCompRightMenuInit(grup_base.tar_0000509001);
  1002. fCompRightMenuInit(grup_base.tar_0000512001);
  1003. fCompRightMenuInit(grup_base.tar_0022906001);
  1004. fCompRightMenuInit(grup_base.tar_0001115001);
  1005. }
  1006. /****************************************************************************************
  1007. * Components : Static
  1008. * Components ID : Common Static
  1009. * Event : onclick
  1010. * Argument : 01.obj : Object Event has occurred
  1011. * : 02.e : Event Object
  1012. * Description : 선택된 Label의 부분서식을 로드하고 펼치거나 접는다.
  1013. ****************************************************************************************/
  1014. function Static_onclick(obj:Static, e:ClickEventInfo)
  1015. {
  1016. expandSection(gItemCdsExpand, obj);
  1017. }
  1018. /****************************************************************************************
  1019. * Components : Text / TextArea
  1020. * Components ID : Common Text / TextArea
  1021. * Event : ontextchange / ontextchanged
  1022. * Argument : 01.obj : Object Event has occurred
  1023. * : 02.e : Event Object
  1024. * Description : recitem 에 설정
  1025. ****************************************************************************************/
  1026. function lf_setrecitem(obj, e)
  1027. {
  1028. var sDegnitemlevlcd = obj.degnitemlevlcd;
  1029. var sRefitem = obj.refitem;
  1030. var nFindRow = ds_data_recitem.findRow("degnitemlevlcd", sDegnitemlevlcd);
  1031. if(nFindRow == -1)
  1032. {
  1033. nFindRow = ds_data_recitem.addRow();
  1034. var insRow = ds_temp_mainrecitem.findRow("degnitemlevlcd", sDegnitemlevlcd);
  1035. ds_data_recitem.copyRow(nFindRow, ds_temp_mainrecitem, insRow);
  1036. }
  1037. var sReccnts = e.posttext;
  1038. if( obj instanceof MaskEdit ){
  1039. if( !utlf_isNull(obj.value) && !utlf_isNull(sReccnts) ){
  1040. sReccnts = sReccnts.replace(/[-:_ ]/g,"");
  1041. }
  1042. }
  1043. if( utlf_isNull(sRefitem) )
  1044. ds_data_recitem.setColumn(nFindRow, "reccnts", sReccnts);
  1045. else
  1046. ds_data_recitem.setColumn(nFindRow, "rectermnm", sReccnts);
  1047. }
  1048. /****************************************************************************************
  1049. * Argument : status
  1050. * Description : 공통기록정보 이외 추가 기록정보 설정
  1051. ****************************************************************************************/
  1052. function lf_setBasicInfo(status)
  1053. {
  1054. var recDS;
  1055. if(status == "C")
  1056. return;
  1057. else if(status == "U")
  1058. recDS = parent.ds_data_recitem;
  1059. for(var i = 0; i < grup_base.components.length; i++)
  1060. {
  1061. var ctrlObj = grup_base.components[i];
  1062. var ctrlNm = ctrlObj.name;
  1063. var degnitemlevlcd = ctrlObj.degnitemlevlcd;
  1064. var refitem = ctrlObj.refitem;
  1065. if(!utlf_isNull(degnitemlevlcd))
  1066. {
  1067. var nRow = parent.ds_data_recitem.findRow("degnitemlevlcd", degnitemlevlcd);
  1068. if(nRow > -1)
  1069. {
  1070. var recIndex = ds_data_recitem.findRow("degnitemlevlcd", degnitemlevlcd);
  1071. if(ctrlObj instanceof Edit || ctrlObj instanceof Calendar || ctrlObj instanceof TextArea || ctrlObj instanceof MaskEdit)
  1072. {
  1073. if( utlf_isNull(refitem) ){
  1074. ctrlObj.value = parent.ds_data_recitem.getColumn(nRow, "reccnts");
  1075. ds_data_recitem.setColumn(recIndex, "reccnts", parent.ds_data_recitem.getColumn(nRow, "reccnts"));
  1076. }else{
  1077. ctrlObj.value = parent.ds_data_recitem.getColumn(nRow, "rectermnm");
  1078. ds_data_recitem.setColumn(recIndex, "rectermnm", parent.ds_data_recitem.getColumn(nRow, "rectermnm"));
  1079. ds_data_recitem.setColumn(recIndex, "rectermcd", utlf_transNullToEmpty(parent.ds_data_recitem.getColumn(nRow, "rectermcd")));
  1080. }
  1081. }
  1082. else
  1083. {
  1084. if(recIndex > -1)
  1085. {
  1086. ctrlObj.value = parent.ds_data_recitem.getColumn(nRow, "rectermcd");
  1087. ds_data_recitem.setColumn(recIndex, "rectermnm", parent.ds_data_recitem.getColumn(nRow, "rectermnm"));
  1088. ds_data_recitem.setColumn(recIndex, "rectermcd", parent.ds_data_recitem.getColumn(nRow, "rectermcd"));
  1089. }
  1090. }
  1091. }
  1092. }
  1093. }
  1094. }
  1095. ]]></Script>
  1096. </Form>
  1097. </FDL>