SPMMO20000_희귀난치등록신청서.xfdl 87 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPMMO20000" position="absolute 0 0 365 688" titletext="희귀난치등록신청서" onload="SPMMO20000_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 97 19 228 117" id="group1" enable="true">
  8. <Layouts>
  9. <Layout>
  10. <Edit position="absolute 0 4 130 23" id="ipt_pid" enable="true" anchor="default" readonly="true"/>
  11. <Combo position="absolute 0 54 130 73" id="combo1" enable="true" innerdataset="@ds_init_orddept" datacolumn="depthngnm" codecolumn="deptcd" anchor="default" readonly="true"/>
  12. <Edit position="absolute 0 29 130 48" id="ipt_hngnm" enable="true" anchor="default" readonly="true"/>
  13. <Edit position="absolute 0 79 130 98" id="ipt_diaghngnm" enable="true" anchor="default" readonly="true"/>
  14. </Layout>
  15. </Layouts>
  16. </Div>
  17. <Shape position="absolute 0 16 360 22" linetype="horizontal" id="line1" class="line_1" style="strokepen:3 solid #9ebed4ff;"/>
  18. <Static text="희귀난치등록신청서" position="absolute 0 0 152 16" align="align:center middle;" id="caption14" class="tit_2"/>
  19. <Static text="등록번호" position="absolute 1 21 94 44" align="align:center middle;" id="caption26" class="cell_1"/>
  20. <Static text="진료과" position="absolute 1 71 94 94" align="align:center middle;" id="caption1" class="cell_1"/>
  21. <Static text="진단" position="absolute 1 96 94 119" align="align:center middle;" id="caption2" class="cell_1"/>
  22. <Static text="진단확인일" position="absolute 1 121 94 144" align="align:center middle;" id="caption3" class="cell_1"/>
  23. <Static text="최종진단방법 (중복 체크 가능)" position="absolute 0 185 345 201" align="align:center middle;" id="caption4" class="tit_2"/>
  24. <Shape position="absolute 0 201 360 207" linetype="horizontal" id="line2" class="line_1" style="strokepen:3 solid #9ebed4ff;"/>
  25. <Static text="영상검사" position="absolute 22 423 72 438" id="caption6"/>
  26. <Static text="기타검사" position="absolute 22 634 72 649" id="caption5" style="font:Dotum,9;"/>
  27. <Static text="②" position="absolute 4 481 19 496" id="caption7"/>
  28. <Static text="③" position="absolute 4 502 19 517" id="caption8"/>
  29. <Static text="④" position="absolute 4 523 19 538" id="caption9"/>
  30. <Static text="⑤" position="absolute 4 544 19 559" id="caption10"/>
  31. <Static text="⑥" position="absolute 4 634 19 649" id="caption11"/>
  32. <Button position="absolute 244 660 300 682" id="btn_save" class="btn4" text="저장" onclick="btn_save_onclick"/>
  33. <Button position="absolute 304 660 360 682" id="btn_exit" class="btn4" text="종료" onclick="btn_exit_onclick"/>
  34. <Static text="환자명" position="absolute 1 46 94 69" align="align:center middle;" id="caption13" class="cell_1"/>
  35. <CheckBox position="absolute 75 420 135 435" id="bool_sono" text="SONO" onchanged="bool_sono_onchanged"/>
  36. <CheckBox position="absolute 150 420 186 435" id="bool_ct" text="CT" onchanged="bool_ct_onchanged"/>
  37. <CheckBox position="absolute 225 420 269 435" id="bool_mri" text="MRI" onchanged="bool_mri_onchanged"/>
  38. <CheckBox position="absolute 75 441 119 456" id="bool_etc" text="기타" onchanged="bool_etc_onchanged"/>
  39. <CheckBox position="absolute 25 522 125 537" id="bool_item4" text="조직학적 검사" onchanged="bool_item4_onchanged"/>
  40. <CheckBox position="absolute 25 501 125 516" id="bool_item3" text="유전학적 검사" onchanged="bool_item3_onchanged"/>
  41. <CheckBox position="absolute 25 480 229 495" id="bool_item2" text="특수 생화학적 또는 면역학적 검사" onchanged="bool_item2_onchanged"/>
  42. <CheckBox position="absolute 25 543 237 558" id="bool_item5" text="임상적 소견으로 최종 진단 시 기재" onchanged="bool_item5_onchanged"/>
  43. <Edit position="absolute 124 439 360 458" id="ipt_etc1" enable="false" ontextchanged="ipt_etc1_ontextchanged" onkeydown="ipt_etc1_onkeydown"/>
  44. <CheckBox position="absolute 234 125 340 140" id="bool_anohosprgstflag" visible="false" text="타병원등록여부"/>
  45. <Static position="absolute 231 23 359 68" align="align:center middle;" id="cap_insukindnm" class="cell_1" style="padding:0 0 0 0;align:center middle;font:Dotum,12,bold;"/>
  46. <Calendar position="absolute 97 123 227 142" id="ipt_diagcnfmdate" class="input_s_essential" mask="yyyy-mm-dd"/>
  47. <Button position="absolute 184 660 240 682" id="btn_del" class="btn4" text="삭제" onclick="btn_del_onclick"/>
  48. <Button position="absolute 124 660 180 682" id="btn_upt" class="btn4" text="수정" onclick="btn_upt_onclick"/>
  49. <TextArea position="absolute 45 560 360 610" id="txt_etc2" ontextchanged="txt_etc2_ontextchanged" onkeydown="txt_etc2_onkeydown"/>
  50. <Combo position="absolute 75 632 360 651" id="com_etc1" innerdataset="@ds_P0509" datacolumn="cdnm" codecolumn="cdid" onitemchanged="com_etc1_onitemchanged" index="-1"/>
  51. <Static text="①" position="absolute 5 423 25 438" id="caption12"/>
  52. <Static text="◈ 등록기준 및 필수검사" position="absolute 0 210 135 225" id="caption15"/>
  53. <Static text="(반드시 필수검사에 맞게 작성하세요)" position="absolute 20 225 250 240" id="caption16" style="color:blue;"/>
  54. <Static text="( 최소 : 한글 3자, 영어 5자 최대 : 한글 20자, 영어 40자 )" position="absolute 50 457 360 476" id="caption17" style="font:Dotum,9,underline;"/>
  55. <Static text="( 최소 : 한글 5자, 영어 10자, 최대 : 한글 40자, 영어 80자 )" position="absolute 41 612 359 627" id="caption18"/>
  56. <Grid position="absolute 0 240 360 415" id="grd_diaglist" binddataset="ds_hidden_items" oncelldblclick="grd_diaglist_oncelldblclick" autosizingtype="row" extendsizetype="row" cellsizingtype="row" onmousewheel="grd_diaglist_onmousewheel" onvscroll="grd_diaglist_onvscroll" scrollpixel="all">
  57. <Formats>
  58. <Format id="default">
  59. <Columns>
  60. <Column size="74"/>
  61. <Column size="210"/>
  62. <Column size="60"/>
  63. <Column size="0"/>
  64. <Column size="0"/>
  65. <Column size="0"/>
  66. <Column size="0"/>
  67. <Column size="0"/>
  68. <Column size="0"/>
  69. <Column size="0"/>
  70. </Columns>
  71. <Rows>
  72. <Row size="24" band="head"/>
  73. <Row size="24"/>
  74. </Rows>
  75. <Band id="head">
  76. <Cell text="진단명"/>
  77. <Cell col="1" text="등록기준"/>
  78. <Cell col="2" text="필수검사"/>
  79. <Cell col="3" text="seq"/>
  80. <Cell col="4" text="test1"/>
  81. <Cell col="5" text="test2"/>
  82. <Cell col="6" text="test3"/>
  83. <Cell col="7" text="test4"/>
  84. <Cell col="8" text="test5"/>
  85. <Cell col="9" text="test6"/>
  86. </Band>
  87. <Band id="body">
  88. <Cell style="align:left top;padding:3 3 3 3;linespace:2;" text="bind:diagnm" wordwrap="char" autosizerow="limitmin"/>
  89. <Cell col="1" style="align:left;padding:3 3 3 3;linespace:2;" text="bind:rgstbase" wordwrap="char" autosizerow="limitmin"/>
  90. <Cell col="2" style="align:left top;padding:3 3 3 3;linespace:2;" text="bind:essntestasso" wordwrap="char" autosizerow="default"/>
  91. <Cell col="3" text="bind:seq"/>
  92. <Cell col="4" text="bind:test1"/>
  93. <Cell col="5" text="bind:test2"/>
  94. <Cell col="6" text="bind:test3"/>
  95. <Cell col="7" text="bind:test4"/>
  96. <Cell col="8" text="bind:test5"/>
  97. <Cell col="9" text="bind:test6"/>
  98. </Band>
  99. </Format>
  100. </Formats>
  101. </Grid>
  102. <Combo position="absolute 97 148 227 167" id="combo3" codecolumn="codecolumn" datacolumn="datacolumn">
  103. <Dataset id="innerdataset">
  104. <ColumnInfo>
  105. <Column id="codecolumn"/>
  106. <Column id="datacolumn"/>
  107. </ColumnInfo>
  108. <Rows>
  109. <Row>
  110. <Col id="codecolumn">O</Col>
  111. <Col id="datacolumn">외래</Col>
  112. </Row>
  113. <Row>
  114. <Col id="codecolumn">I</Col>
  115. <Col id="datacolumn">입원</Col>
  116. </Row>
  117. </Rows>
  118. </Dataset>
  119. </Combo>
  120. <Static text="외래/입원구분" position="absolute 1 146 94 169" align="align:center middle;" id="caption19" class="cell_1" style="padding:0 0 0 8;"/>
  121. <Button position="absolute 10 660 88 682" id="button1" class="btn4" text="예외환자" onclick="button1_onclick"/>
  122. </Layout>
  123. </Layouts>
  124. <Objects>
  125. <Dataset id="ds_main_serdiagappinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  126. <ColumnInfo>
  127. <Column id="status" type="STRING" size="256"/>
  128. <Column id="genrdd" type="STRING" size="256"/>
  129. <Column id="genrno" type="STRING" size="256"/>
  130. <Column id="histno" type="STRING" size="256"/>
  131. <Column id="instcd" type="STRING" size="256"/>
  132. <Column id="histcd" type="STRING" size="256"/>
  133. <Column id="pid" type="STRING" size="256"/>
  134. <Column id="anohosprgstflag" type="STRING" size="256"/>
  135. <Column id="genrflagcd" type="STRING" size="256"/>
  136. <Column id="insukind" type="STRING" size="256"/>
  137. <Column id="cncrdiagcnfmdd" type="STRING" size="256"/>
  138. <Column id="orddeptcd" type="STRING" size="256"/>
  139. <Column id="orddrid" type="STRING" size="256"/>
  140. <Column id="serdiagno" type="STRING" size="256"/>
  141. <Column id="serdiagfromdd" type="STRING" size="256"/>
  142. <Column id="serdiagtodd" type="STRING" size="256"/>
  143. <Column id="genrorddd" type="STRING" size="256"/>
  144. <Column id="genrcretno" type="STRING" size="256"/>
  145. <Column id="maindiagcd" type="STRING" size="256"/>
  146. <Column id="ediflag" type="STRING" size="256"/>
  147. <Column id="editretdd" type="STRING" size="256"/>
  148. <Column id="editrettm" type="STRING" size="256"/>
  149. <Column id="pathngnm" type="STRING" size="256"/>
  150. <Column id="dschprcpyn" type="STRING" size="256"/>
  151. <Column id="prcpdd" type="STRING" size="256"/>
  152. <Column id="age" type="STRING" size="256"/>
  153. <Column id="frmsuppkind" type="STRING" size="256"/>
  154. <Column id="rgstkindcd" type="STRING" size="256"/>
  155. <Column id="burnicd10desc" type="STRING" size="256"/>
  156. <Column id="icd10cd" type="STRING" size="256"/>
  157. <Column id="reregyn" type="STRING" size="256"/>
  158. <Column id="regdiagcd" type="STRING" size="256"/>
  159. <Column id="regdiagseq" type="STRING" size="256"/>
  160. <Column id="appspclcd" type="STRING" size="256"/>
  161. <Column id="appdiagcd" type="STRING" size="256"/>
  162. <Column id="appdiagseq" type="STRING" size="256"/>
  163. </ColumnInfo>
  164. <Rows>
  165. <Row/>
  166. </Rows>
  167. </Dataset>
  168. <Dataset id="ds_init_items" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  169. <ColumnInfo>
  170. <Column id="item1" type="STRING" size="256"/>
  171. <Column id="item2" type="STRING" size="256"/>
  172. <Column id="item3" type="STRING" size="256"/>
  173. <Column id="item4" type="STRING" size="256"/>
  174. <Column id="item5" type="STRING" size="256"/>
  175. <Column id="item6" type="STRING" size="256"/>
  176. <Column id="item7" type="STRING" size="256"/>
  177. <Column id="item8" type="STRING" size="256"/>
  178. <Column id="item9" type="STRING" size="256"/>
  179. <Column id="item10" type="STRING" size="256"/>
  180. <Column id="item11" type="STRING" size="256"/>
  181. <Column id="item12" type="STRING" size="256"/>
  182. <Column id="item13" type="STRING" size="256"/>
  183. <Column id="item14" type="STRING" size="256"/>
  184. <Column id="seq" type="STRING" size="256"/>
  185. <Column id="row" type="STRING" size="256"/>
  186. </ColumnInfo>
  187. <Rows>
  188. <Row/>
  189. </Rows>
  190. </Dataset>
  191. <Dataset id="ds_hidden_items" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  192. <Dataset id="ds_init_orddept" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  193. <Dataset id="ds_P0509" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  194. <ColumnInfo>
  195. <Column id="cdid" type="STRING" size="256"/>
  196. <Column id="cdnm" type="STRING" size="256"/>
  197. </ColumnInfo>
  198. </Dataset>
  199. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  200. <Dataset id="ds_prcpetcinfo_saveestmspclcs" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  201. <Dataset id="ds_prcpetcinfo_saveserdiagappfrm" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  202. <Dataset id="ds_prcpetcinfo_savelglydis" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  203. <Dataset id="ds_prcpetcinfo_saverareobst" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  204. <Dataset id="ds_prcpetcinfo_saveserdiagcont" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  205. <Dataset id="ds_prcpetcinfo_saveresindenture" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  206. <Dataset id="ds_init_mthd" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  207. <ColumnInfo>
  208. <Column id="mthdstr" type="STRING" size="256"/>
  209. <Column id="mthd5txt" type="STRING" size="256"/>
  210. <Column id="rgstbasic" type="STRING" size="256"/>
  211. </ColumnInfo>
  212. <Rows>
  213. <Row/>
  214. </Rows>
  215. </Dataset>
  216. <Dataset id="ds_init" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  217. <ColumnInfo>
  218. <Column id="rgstkindnm" type="STRING" size="256"/>
  219. </ColumnInfo>
  220. <Rows>
  221. <Row/>
  222. </Rows>
  223. </Dataset>
  224. <Dataset id="ds_main_result_serdiagappinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  225. <ColumnInfo>
  226. <Column id="suppkindflag" type="STRING" size="256" sumtext="중증flag"/>
  227. <Column id="maindiagcd" type="STRING" size="256" sumtext="진단상병"/>
  228. <Column id="sdoayn" type="STRING" size="256" sumtext="신청서작성유무"/>
  229. <Column id="genrdd" type="STRING" size="256" sumtext="발생일자"/>
  230. <Column id="genrno" type="INT" size="256" sumtext="발생번호"/>
  231. <Column id="histno" type="INT" size="256" sumtext="이력번호"/>
  232. <Column id="rareobstcnfmdd" type="STRING" size="256" sumtext="암진단확정일자"/>
  233. <Column id="anohosprgstflag" type="STRING" size="256" sumtext="타병원구분"/>
  234. <Column id="pid" type="STRING" size="256" sumtext="환자번호"/>
  235. <Column id="burnicd10desc" type="STRING" size="256" sumtext="중증화상진단코드"/>
  236. <Column id="icd10cd" type="STRING" size="256" sumtext="ICD10"/>
  237. <Column id="insukind" type="STRING" size="256" sumtext="보험유형"/>
  238. <Column id="reregyn" type="STRING" size="256" sumtext="재등록여부"/>
  239. <Column id="regdiagcd" type="STRING" size="256" sumtext="공단등록 상병코드"/>
  240. <Column id="regdiagseq" type="STRING" size="256" sumtext="공단등록 상병순번"/>
  241. </ColumnInfo>
  242. </Dataset>
  243. <Dataset id="ds_init_serdiagitem" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  244. <ColumnInfo>
  245. <Column id="diagmthdcd" type="STRING" size="256"/>
  246. <Column id="diagetccnts" type="STRING" size="256"/>
  247. </ColumnInfo>
  248. <Rows>
  249. <Row/>
  250. </Rows>
  251. </Dataset>
  252. <Dataset id="ds_main_serdiagappdetl" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  253. <Dataset id="ds_main_tmp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  254. <ColumnInfo>
  255. <Column id="item1" type="STRING" size="256"/>
  256. <Column id="item2" type="STRING" size="256"/>
  257. <Column id="item3" type="STRING" size="256"/>
  258. <Column id="item4" type="STRING" size="256"/>
  259. <Column id="item5" type="STRING" size="256"/>
  260. <Column id="item6" type="STRING" size="256"/>
  261. </ColumnInfo>
  262. <Rows>
  263. <Row>
  264. <Col id="item1">N</Col>
  265. <Col id="item2">N</Col>
  266. <Col id="item3">N</Col>
  267. <Col id="item4">N</Col>
  268. <Col id="item5">N</Col>
  269. <Col id="item6">N</Col>
  270. </Row>
  271. </Rows>
  272. </Dataset>
  273. <Dataset id="ds_hardcdno_5400" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  274. <Dataset id="ds_main_result_serdiagyn" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  275. <Dataset id="ds_send_savedata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  276. <Dataset id="ds_temp_serdiagappinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  277. <Dataset id="ds_send_reqdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  278. <Dataset id="ds_main_serdiagpatinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  279. </Objects>
  280. <Bind>
  281. <BindItem id="item0" compid="group1.ipt_pid" propid="value" datasetid="ds_main_serdiagappinfo" columnid="pid"/>
  282. <BindItem id="item1" compid="group1.ipt_hngnm" propid="value" datasetid="ds_main_serdiagappinfo" columnid="pathngnm"/>
  283. <BindItem id="item2" compid="group1.combo1" propid="value" datasetid="ds_main_serdiagappinfo" columnid="orddeptcd"/>
  284. <BindItem id="item3" compid="group1.ipt_diaghngnm" propid="value" datasetid="ds_main_serdiagappinfo" columnid="maindiagcd"/>
  285. <BindItem id="item4" compid="ipt_diagcnfmdate" propid="value" datasetid="ds_main_serdiagappinfo" columnid="cncrdiagcnfmdd"/>
  286. <BindItem id="item5" compid="combo3" propid="value" datasetid="ds_main_serdiagappinfo" columnid="genrflagcd"/>
  287. <BindItem id="item6" compid="bool_anohosprgstflag" propid="value" datasetid="ds_init_items" columnid="item1"/>
  288. <BindItem id="item7" compid="bool_sono" propid="value" datasetid="ds_init_items" columnid="item2"/>
  289. <BindItem id="item8" compid="bool_ct" propid="value" datasetid="ds_init_items" columnid="item3"/>
  290. <BindItem id="item9" compid="bool_mri" propid="value" datasetid="ds_init_items" columnid="item4"/>
  291. <BindItem id="item10" compid="bool_etc" propid="value" datasetid="ds_init_items" columnid="item5"/>
  292. <BindItem id="item11" compid="bool_item2" propid="value" datasetid="ds_init_items" columnid="item6"/>
  293. <BindItem id="item12" compid="bool_item3" propid="value" datasetid="ds_init_items" columnid="item7"/>
  294. <BindItem id="item13" compid="bool_item4" propid="value" datasetid="ds_init_items" columnid="item8"/>
  295. <BindItem id="item14" compid="bool_item5" propid="value" datasetid="ds_init_items" columnid="item9"/>
  296. <BindItem id="item15" compid="ipt_etc1" propid="value" datasetid="ds_init_items" columnid="item12"/>
  297. <BindItem id="item16" compid="txt_etc2" propid="value" datasetid="ds_init_items" columnid="item13"/>
  298. <BindItem id="item17" compid="com_etc1" propid="value" datasetid="ds_init_items" columnid="item14"/>
  299. </Bind>
  300. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  301. * System Name :
  302. * Job Name :
  303. * Creator :
  304. * Make Date : 2014-12-16
  305. * Description :
  306. *---------------------------------------------------------------------------------------
  307. * Modify Date Modifier Modify Description
  308. *---------------------------------------------------------------------------------------
  309. * 2014-12-16 Live Converter TF->XP
  310. *
  311. *---------------------------------------------------------------------------------------
  312. ****************************************************************************************/
  313. //=======================================================================================
  314. // Lib Include
  315. //---------------------------------------------------------------------------------------
  316. include "com_commonxp::comm_main.xjs";
  317. include "emr_medirecxp::MMRCommon.xjs";
  318. include "emr_prcpmngtxp::MMOCommon.xjs";
  319. include "emr_prcpmngtxp::MMO001.xjs";
  320. include "com_commodulexp::SSZFM00401.xjs";
  321. var arErrorCode = new HashArray();
  322. var bLoad = false;
  323. //=======================================================================================
  324. // Event
  325. //---------------------------------------------------------------------------------------
  326. /****************************************************************************************
  327. * Components : Form
  328. * Components ID : SPMMO20000
  329. * Event : onload
  330. * Argument : 01.obj : Object Event has occurred
  331. * : 02.e : Event Object
  332. * Description : 화면오픈시 폼load이후 실행
  333. ****************************************************************************************/
  334. function SPMMO20000_onload(obj:Form, e:LoadEventInfo)
  335. {
  336. frmf_initForm(obj); // 폼 초기화
  337. grdf_initGrid(grd_diaglist);
  338. //grdf_setToolTipBind(grd_diaglist);
  339. var dd = utlf_getCurrentDate();
  340. ds_main_serdiagappinfo.setColumn(0,"genrdd",dd);
  341. // mmbfGetDeptCodeComboList("/root/send/reqdata", "/root/init/orddept", "A");
  342. lf_mmbfGetDeptCodeComboList(ds_init_orddept, "A");
  343. // zbcfGetCodeList(new Array("P0509"), new Array("/root/init/P0509"));
  344. var arrParam = [{dsNm: "ds_P0509", cdGrpId: "P0509"}
  345. ];
  346. appf_getCodeList(arrParam);
  347. // addComboInstance("/root/init/P0509", "cdnm^cdid", " 선 택 ^", "P0509"); //6번 기타 검사 항목
  348. dsf_addDsItem(ds_P0509,"cdid","cdnm"," 선 택 ","");
  349. com_etc1.index = 0;
  350. if(frmf_checkOpener()) {
  351. ds_main_serdiagappinfo.setColumn(0,"pid",opener.frmf_getParameter("SPMMO20000_pid"));
  352. //★★★★★★★★★ 1. 메뉴에서 호출했고 상단정보가 있을경우.
  353. if(utlf_isNull(ds_main_serdiagappinfo.getColumn(0,"pid")) && !utlf_isNull(appf_getPatientInfo("pid"))){
  354. ds_main_serdiagappinfo.setColumn(0,"pid", appf_getPatientInfo("pid"));
  355. ds_main_serdiagappinfo.setColumn(0,"pathngnm", appf_getPatientInfo("pname"));
  356. ds_main_serdiagappinfo.setColumn(0,"insukind", appf_getPatientInfoDetail("insukind"));
  357. ds_main_serdiagappinfo.setColumn(0,"anohosprgstflag","N");
  358. ds_main_serdiagappinfo.setColumn(0,"genrflagcd", appf_getPatientInfoDetail("ioflag"));
  359. ds_main_serdiagappinfo.setColumn(0,"cncrdiagcnfmdd", dd);
  360. ds_main_serdiagappinfo.setColumn(0,"orddeptcd", sysf_getUserInfo("dutplcecd"));
  361. ds_main_serdiagappinfo.setColumn(0,"orddrid", sysf_getUserId());
  362. ds_main_serdiagappinfo.setColumn(0,"genrcretno", appf_getPatientInfoDetail("cretno"));
  363. ds_main_serdiagappinfo.setColumn(0,"age", appf_getPatientInfoDetail("age"));
  364. var prcpgenrflag = appf_getPatientInfoDetail("ioflag");
  365. dsf_makeValue(ds_send,"ioflag", "string",appf_getPatientInfoDetail("ioflag"));
  366. dsf_makeValue(ds_send,"dataflag", "string","1");
  367. dsf_makeValue(ds_send,"pid", "string",appf_getPatientInfo("pid"));
  368. if ( prcpgenrflag == "O" || prcpgenrflag == "S" ){ //외래일때
  369. dsf_makeValue(ds_send,"orddd", "string",appf_getPatientInfoDetail("orddd"));
  370. } else {
  371. dsf_makeValue(ds_send,"orddd", "string",appf_getPatientInfoDetail("indd"));
  372. }
  373. dsf_makeValue(ds_send,"cretno", "string",appf_getPatientInfoDetail("cretno"));
  374. dsf_makeValue(ds_send,"instcd", "string",sysf_getUserInfo("dutplceinstcd"));
  375. dsf_makeValue(ds_send,"prcpdd", "string",dd);
  376. dsf_makeValue(ds_send,"deptcd", "string",sysf_getUserInfo("dutplcecd"));
  377. dsf_makeValue(ds_send,"userid", "string",sysf_getUserInfo("userid"));
  378. dsf_makeValue(ds_send,"age", "string",appf_getPatientInfoDetail("age"));
  379. dsf_makeValue(ds_send,"dschprcpyn", "string","N");
  380. // submit("TRMMO00108");
  381. var oParam = {};
  382. oParam.id = "TRMMO00108";
  383. oParam.service = "prcpmngtapp.PrcpMngt";
  384. oParam.method = "reqGetPrcpEtcInfoTret";
  385. oParam.inds = "req=ds_send";
  386. oParam.outds = "ds_prcpetcinfo_saveestmspclcs=saveestmspclcs ds_prcpetcinfo_saveserdiagappfrm=saveserdiagappfrm ds_prcpetcinfo_savelglydis=savelglydis ds_prcpetcinfo_saverareobst=saverareobst ds_prcpetcinfo_saveserdiagcont=saveserdiagcont ds_prcpetcinfo_saveresindenture=saveresindenture";
  387. oParam.async = false;
  388. oParam.callback = "";
  389. tranf_submit(oParam);
  390. //101101 중증, 희귀난치 신청서 두개의 데이터 모두 들어오는 경우 위해 작업 필요 (중증 데이터 제거)
  391. // model.removeNode ( "/root/prcpetcinfo/saveserdiagappfrm[frmsuppkind='06']" );
  392. ds_prcpetcinfo_saveserdiagappfrm.deleteRow(ds_prcpetcinfo_saveserdiagappfrm.findRow("frmsuppkind","06"));
  393. ds_main_serdiagappinfo.setColumn(0,"maindiagcd", ds_prcpetcinfo_saveserdiagappfrm.getColumn(0,"maindiagcd"));
  394. ds_main_serdiagappinfo.setColumn(0,"icd10cd", ds_prcpetcinfo_saveserdiagappfrm.getColumn(0,"icd10cd"));
  395. ds_main_serdiagappinfo.setColumn(0,"frmsuppkind", ds_prcpetcinfo_saveserdiagappfrm.getColumn(0,"frmsuppkind"));
  396. ds_main_serdiagappinfo.setColumn(0,"rgstkindcd", ds_prcpetcinfo_saveserdiagappfrm.getColumn(0,"rgstkindcd"));
  397. ds_main_serdiagappinfo.setColumn(0,"reregyn", ds_prcpetcinfo_saveserdiagappfrm.getColumn(0,"reregyn"));
  398. ds_main_serdiagappinfo.setColumn(0,"regdiagcd", ds_prcpetcinfo_saveserdiagappfrm.getColumn(0,"regdiagcd"));
  399. ds_main_serdiagappinfo.setColumn(0,"regdiagseq", ds_prcpetcinfo_saveserdiagappfrm.getColumn(0,"regdiagseq"));
  400. if(ds_prcpetcinfo_saveserdiagappfrm.getColumn(0,"reregyn") == "C" || ds_prcpetcinfo_saveserdiagappfrm.getColumn(0,"reregyn") == "X" ){
  401. if(ds_prcpetcinfo_saveserdiagappfrm.getColumn(0,"reregyn") == "C" ) {
  402. sysf_messageBox(ds_prcpetcinfo_saveserdiagappfrm.getColumn(0,"reregmsg" ) + "\n\n특례 등록상병(" +ds_prcpetcinfo_saveserdiagappfrm.getColumn(0,"regdiagcd" )+ ")과 현재 주진단이 동일하지 않습니다. \n\n 1. 재등록 하시려면 주진단을 수정하십시요.\n 2. 신규 등록은 특례 종료후 현재 진단으로 가능합니다.", "I999");
  403. } else if (ds_prcpetcinfo_saveserdiagappfrm.getColumn(0,"reregyn") == "X" ) {
  404. sysf_messageBox(ds_prcpetcinfo_saveserdiagappfrm.getColumn(0,"reregmsg" ) + "\n\n특례 등록상병이 확인되지 않아 재등록 하실수 없습니다.\n원무창구에 자격조회 후 재등록 하시기 바랍니다." , "I999");
  405. }
  406. btn_save.visible = false; //저장
  407. btn_del.visible = false; //삭제
  408. btn_upt.visible = false; //수정
  409. bLoad = true;
  410. return;
  411. }
  412. ds_init_items.setColumn(0,"item13", ds_init_mthd.getColumn(0,"mthd5txt"));
  413. // 중증화상일 경우는 진단에 주진단(확장)을 보여주지 않고 ICD10cd(1개 또는 두개일수있음)를 보여준다.
  414. if ( ds_prcpetcinfo_saveserdiagappfrm.getColumn(0,"rgstkindcd") == "02" ) {
  415. // ipt_diaghngnm.attribute("ref") = "/root/main/serdiagappinfo/row/burnicd10desc";
  416. binds["item3"].columnid = "burnicd10desc";
  417. ds_main_serdiagappinfo.setColumn(0,"burnicd10desc", ds_prcpetcinfo_saveserdiagappfrm.getColumn(0,"burnicd10desc"));
  418. caption14.text = "중증화상등록신청서";
  419. // document.title = "중증화상등록신청서";
  420. this.titletext = "중증화상등록신청서";
  421. ds_init.setColumn(0,"rgstkindnm","중증화상");
  422. } else {
  423. ds_main_serdiagappinfo.setColumn(0,"burnicd10desc","-");
  424. ds_init.setColumn(0,"rgstkindnm","희귀난치");
  425. }
  426. cap_insukindnm.text = ds_prcpetcinfo_saveserdiagappfrm.getColumn(0,"insukindnm");
  427. if (utlf_isNull(ds_prcpetcinfo_saveserdiagappfrm.getColumn(0,"pid"))) {
  428. // submit("TRMMO12201");
  429. var oParam = {};
  430. oParam.id = "TRMMO12201";
  431. oParam.service = "prcpmngtapp.EtcPrcpMngt";
  432. oParam.method = "reqGetRareDiagApp";
  433. oParam.inds = "serdiagappinfo=ds_main_serdiagappinfo";
  434. oParam.outds = "ds_main_result_serdiagappinfo=serdiagappinfo";
  435. oParam.async = false;
  436. oParam.callback = "";
  437. tranf_submit(oParam);
  438. ds_main_serdiagappinfo.setColumn(0,"genrdd", ds_main_result_serdiagappinfo.getColumn(0,"genrdd")); //발생일자
  439. ds_main_serdiagappinfo.setColumn(0,"genrno", ds_main_result_serdiagappinfo.getColumn(0,"genrno")); //발생번호
  440. ds_main_serdiagappinfo.setColumn(0,"histno", ds_main_result_serdiagappinfo.getColumn(0,"histno")); //이력번호
  441. ds_main_serdiagappinfo.setColumn(0,"cncrdiagcnfmdd",ds_main_result_serdiagappinfo.getColumn(0,"rareobstcnfmdd")); //암진단확인일
  442. ds_main_serdiagappinfo.setColumn(0,"maindiagcd", ds_main_result_serdiagappinfo.getColumn(0,"maindiagcd")); //진단코드
  443. ds_main_serdiagappinfo.setColumn(0,"burnicd10desc", ds_main_result_serdiagappinfo.getColumn(0,"burnicd10desc")); //진단코드
  444. ds_main_serdiagappinfo.setColumn(0,"icd10cd", ds_main_result_serdiagappinfo.getColumn(0,"icd10cd")); //ICD10
  445. ds_main_serdiagappinfo.setColumn(0,"insukind", ds_main_result_serdiagappinfo.getColumn(0,"insukind")); //보험유형
  446. ds_main_serdiagappinfo.setColumn(0,"reregyn", ds_main_result_serdiagappinfo.getColumn(0,"reregyn")); //재등록여부
  447. ds_main_serdiagappinfo.setColumn(0,"regdiagcd", ds_main_result_serdiagappinfo.getColumn(0,"regdiagcd")); //공단등록 상병코드
  448. ds_main_serdiagappinfo.setColumn(0,"regdiagseq", ds_main_result_serdiagappinfo.getColumn(0,"regdiagseq")); //공단등록 상병순번
  449. cap_insukindnm.text = appf_getPatientInfo("insukind") + "("+appf_getPatientInfoDetail("insukind")+")";
  450. if (!utlf_isNull(ds_main_result_serdiagappinfo.getColumn(0,"genrdd"))) {
  451. sysf_messageBox(ds_init.getColumn(0,"rgstkindnm")+" 등록신청서가 이미 존재합니다.", "I" );
  452. //btn_save.disabled = true;
  453. btn_save.visible = false;
  454. // submit("TRMMO12205");
  455. var oParam = {};
  456. oParam.id = "TRMMO12205";
  457. oParam.service = "prcpmngtapp.EtcPrcpMngt";
  458. oParam.method = "reqGetRareDiagDetlList";
  459. oParam.inds = "req=ds_main_result_serdiagappinfo";
  460. oParam.outds = "ds_init_items=items";
  461. oParam.async = false;
  462. oParam.callback = "";
  463. tranf_submit(oParam);
  464. var chk;
  465. for(var i = 1 ; i <= 13 ; i++) {
  466. chk = ds_init_items.getColumn(0,"item" + i);
  467. if(chk == "true") {
  468. if(i > 10) {
  469. ds_init_serdiagitem.setColumn(0,"diagmthdcd", i-1);
  470. } else {
  471. ds_init_serdiagitem.setColumn(0,"diagmthdcd", "0" + (i-1));
  472. }
  473. if(i == 5) {
  474. ds_init_serdiagitem.setColumn(0,"diagetccnts", ipt_etc1.value);
  475. }else if( i == 11) {
  476. ds_init_serdiagitem.setColumn(0,"diagetccnts", txt_etc2.value);
  477. }else {
  478. ds_init_serdiagitem.setColumn(0,"diagetccnts", "");
  479. }
  480. // copyNodesetType("/root/main/serdiagappdetl/row", "/root/init/serdiagitem", "after");
  481. ds_main_serdiagappdetl.copyData(ds_init_serdiagitem);
  482. }
  483. }
  484. } else if(utlf_isNull(ds_main_result_serdiagappinfo.getColumn(0,"pid"))){
  485. sysf_messageBox(ds_init.getColumn(0,"rgstkindnm")+" 등록 대상이 아닙니다.", "I" );
  486. btn_upt.enable = false;
  487. btn_del.enable = false;
  488. btn_save.enable = false;
  489. }
  490. }
  491. if (!utlf_isNull(ds_prcpetcinfo_saveserdiagappfrm.getColumn(0,"pid")) && ds_main_serdiagappinfo.getColumn(0,"frmsuppkind") != "07") {
  492. sysf_messageBox(ds_init.getColumn(0,"rgstkindnm")+" 등록 대상이 아닙니다.", "I" );
  493. btn_upt.enable = false;
  494. btn_del.enable = false;
  495. btn_save.enable = false;
  496. }
  497. dsf_makeValue(ds_send,"diagcd", "string",ds_main_serdiagappinfo.getColumn(0,"icd10cd"));
  498. dsf_makeValue(ds_send,"maindiagcd", "string",ds_main_serdiagappinfo.getColumn(0,"maindiagcd"));
  499. dsf_makeValue(ds_send,"insukind", "string",ds_main_serdiagappinfo.getColumn(0,"insukind"));
  500. dsf_makeValue(ds_send,"reregyn", "string",ds_main_serdiagappinfo.getColumn(0,"reregyn"));
  501. dsf_makeValue(ds_send,"cncrdiagcnfmdd", "string",ds_main_serdiagappinfo.getColumn(0,"cncrdiagcnfmdd"));
  502. dsf_makeValue(ds_send,"regdiagcd", "string",ds_main_serdiagappinfo.getColumn(0,"regdiagcd"));
  503. dsf_makeValue(ds_send,"regdiagseq", "string",ds_main_serdiagappinfo.getColumn(0,"regdiagseq"));
  504. var oParam = {};
  505. oParam.id = "TRMMO20001";
  506. oParam.service = "prcpmngtapp.EtcPrcpMngt";
  507. oParam.method = "reqGetRareDiagChkAppList";
  508. oParam.inds = "req=ds_send";
  509. oParam.outds = "ds_hidden_items=chkitemlist";
  510. oParam.async = false;
  511. oParam.callback = "cf_TRMMO20001";
  512. tranf_submit(oParam);
  513. if(arErrorCode.pop("TRMMO20001") >= 0) {
  514. var cnt = ds_hidden_items.rowcount;
  515. if (cnt < 1 ) {
  516. } else if (cnt > 1 ) {
  517. btn_upt.enable = false;
  518. btn_del.enable = false;
  519. btn_save.enable = false;
  520. btn_exit.enable = false;
  521. } else {
  522. if (ds_hidden_items.getColumn(0,"cncrdiagyn") != "Y") {
  523. var sRgstKindCd = ds_main_serdiagappinfo.getColumn(0,"rgstkindcd");
  524. if(sRgstKindCd == "07") {
  525. ds_main_serdiagappinfo.setColumn(0, "appspclcd", "V900"); // 극희귀
  526. } else if(sRgstKindCd == "08") {
  527. ds_main_serdiagappinfo.setColumn(0, "appspclcd", "V999"); // 상세불명
  528. } else if(sRgstKindCd == "09") {
  529. ds_main_serdiagappinfo.setColumn(0, "appspclcd", "V000"); // 본인부담제외 결핵
  530. } else {
  531. ds_main_serdiagappinfo.setColumn(0, "appspclcd", ds_hidden_items.getColumn(0,"spclcd"));
  532. }
  533. ds_main_serdiagappinfo.setColumn(0, "appdiagcd", ds_hidden_items.getColumn(0,"diagcd"));
  534. ds_main_serdiagappinfo.setColumn(0, "appdiagseq", ds_hidden_items.getColumn(0,"seq"));
  535. var test1 = ds_hidden_items.getColumn(0,"test1");
  536. var test2 = ds_hidden_items.getColumn(0,"test2");
  537. var test3 = ds_hidden_items.getColumn(0,"test3");
  538. var test4 = ds_hidden_items.getColumn(0,"test4");
  539. var test5 = ds_hidden_items.getColumn(0,"test5");
  540. var test6 = ds_hidden_items.getColumn(0,"test6");
  541. dsf_makeValue(ds_init_items,"seq","string",ds_hidden_items.getColumn(0,"seq"));
  542. dsf_makeValue(ds_init_items,"row","string","0"); //dsf_makeValue(ds_init_items,"row","string","1");
  543. if (test1 =="Y" ) {
  544. bool_sono.enable = true;
  545. bool_ct.enable = true;
  546. bool_mri.enable = true;
  547. bool_etc.enable = true;
  548. } else {
  549. bool_sono.enable = false;
  550. bool_ct.enable = false;
  551. bool_mri.enable = false;
  552. bool_etc.enable = false;
  553. }
  554. if (test2 == "Y") {
  555. bool_item2.enable = true;
  556. } else {
  557. bool_item2.enable = false;
  558. }
  559. if (test3 == "Y") {
  560. bool_item3.enable = true;
  561. } else {
  562. bool_item3.enable = false;
  563. }
  564. if (test4 == "Y") {
  565. bool_item4.enable = true;
  566. } else {
  567. bool_item4.enable = false;
  568. }
  569. if (!utlf_isNull(test6)) {
  570. dsf_makeValue(ds_init_items,"item14","string",test6);
  571. // com_etc1.dispatch("xforms-value-changed");
  572. var ev = new ItemChangeEventInfo;
  573. frmf_inputEnterKey("com_etc1", "onitemchanged", ev );
  574. }
  575. bool_item5.enable = true;
  576. txt_etc2.enable = true;
  577. com_etc1.enable = true;
  578. } else {
  579. bool_sono.enable = true;
  580. bool_ct.enable = true;
  581. bool_mri.enable = true;
  582. bool_etc.enable = true;
  583. bool_item2.enable = true;
  584. bool_item3.enable = true;
  585. bool_item4.enable = true;
  586. bool_item5.enable = true;
  587. txt_etc2.enable = true;
  588. }
  589. }
  590. }
  591. // submit("TRMMO12202");
  592. var oParam = {};
  593. oParam.id = "TRMMO12202";
  594. oParam.service = "prcpmngtapp.EtcPrcpMngt";
  595. oParam.method = "getRareObstMthd";
  596. oParam.inds = "serdiagappinfo=ds_main_serdiagappinfo";
  597. oParam.outds = "ds_prcpetcinfo_saveserdiagappfrm=saveserdiagappfrm";
  598. oParam.async = false;
  599. oParam.callback = "";
  600. tranf_submit(oParam);
  601. if (ds_init_items.getColumn(0,"item2")=="false" && ds_init_items.getColumn(0,"item3")=="false" && ds_init_items.getColumn(0,"item4")=="false" && ds_init_items.getColumn(0,"item5")=="false" ){
  602. ds_main_tmp.setColumn(0,"item1","N");
  603. } else {
  604. ds_main_tmp.setColumn(0,"item1","Y");
  605. }
  606. if (ds_init_items.getColumn(0,"item6")=="true"){
  607. ds_main_tmp.setColumn(0,"item2","Y");
  608. } else if (ds_init_items.getColumn(0,"item6")=="false"){
  609. ds_main_tmp.setColumn(0,"item2","N");
  610. }
  611. if (ds_init_items.getColumn(0,"item7")=="true"){
  612. ds_main_tmp.setColumn(0,"item3","Y");
  613. } else if (ds_init_items.getColumn(0,"item7")=="false"){
  614. ds_main_tmp.setColumn(0,"item3","N");
  615. }
  616. if (ds_init_items.getColumn(0,"item8")=="true"){
  617. ds_main_tmp.setColumn(0,"item4","Y");
  618. } else if (ds_init_items.getColumn(0,"item8")=="false"){
  619. ds_main_tmp.setColumn(0,"item4","N");
  620. }
  621. if (ds_init_items.getColumn(0,"item9")=="true"){
  622. ds_main_tmp.setColumn(0,"item5","Y");
  623. } else if (ds_init_items.getColumn(0,"item9")=="false"){
  624. ds_main_tmp.setColumn(0,"item5","N");
  625. }
  626. ds_init_mthd.setColumn(0,"mthdstr", ds_prcpetcinfo_saveserdiagappfrm.getColumn(0,"mthdstr") );
  627. var mthd_Array = ds_prcpetcinfo_saveserdiagappfrm.getColumn(0,"mthdstr").split("|");
  628. for(var x = 0; x < mthd_Array.length; x++) {
  629. if(mthd_Array[x] == "Y" ) {
  630. switch (x) {
  631. case 0:
  632. caption6.style.font.type = "bold";
  633. break;
  634. case 1:
  635. cap_item6.style.font.type = "bold";
  636. break;
  637. case 2:
  638. cap_item7.style.font.type = "bold";
  639. break;
  640. case 3:
  641. cap_item8.style.font.type = "bold";
  642. break;
  643. case 4:
  644. cap_item9.style.font.type = "bold";
  645. break;
  646. }
  647. }
  648. }
  649. //환자정보 : 오더일자(원무키), 생성번호(원무키), 내원구분, 서식코드
  650. var ordtype = ds_main_serdiagappinfo.getColumn(0,"genrflagcd");
  651. // O : 왜래, S : 검진
  652. if (ordtype == "O" || ordtype == "S") {
  653. dd = appf_getPatientInfoDetail("orddd");
  654. } else {
  655. dd = appf_getPatientInfoDetail("indd");
  656. }
  657. ds_main_serdiagappinfo.setColumn(0,"genrorddd", dd);
  658. if(ds_main_result_serdiagappinfo.getColumn(0,"anohosprgstflag") == "Y"){
  659. sysf_messageBox("타병원 "+ds_init.getColumn(0,"rgstkindnm")+" 등록신청서가 이미 존재합니다.", "I" );
  660. btn_save.visible = false; //저장
  661. btn_del.visible = false; //삭제
  662. btn_upt.visible = false; //수정
  663. bLoad = true;
  664. return;
  665. }
  666. if(ds_main_result_serdiagappinfo.getColumn(0,"sdoayn") == "Y"){
  667. ds_main_serdiagappinfo.setColumn(0,"genrdd", ds_main_result_serdiagappinfo.getColumn(0,"genrdd")); //발생일자
  668. ds_main_serdiagappinfo.setColumn(0,"genrno", ds_main_result_serdiagappinfo.getColumn(0,"genrno")); //발생번호
  669. ds_main_serdiagappinfo.setColumn(0,"histno", ds_main_result_serdiagappinfo.getColumn(0,"histno")); //이력번호
  670. ds_main_serdiagappinfo.setColumn(0,"cncrdiagcnfmdd", ds_main_result_serdiagappinfo.getColumn(0,"cncrdiagcnfmdd")); //암진단확인일
  671. ds_main_serdiagappinfo.setColumn(0,"maindiagcd", ds_main_result_serdiagappinfo.getColumn(0,"diagcd")); //진단코드
  672. sysf_messageBox(ds_init.getColumn(0, "rgstkindnm")+" 등록신청서가 이미 존재합니다.", "I" );
  673. btn_del.visible = true;
  674. var chk;
  675. for(var i = 1 ; i <= 13 ; i++) {
  676. chk = ds_init_items(0,"item" + i);
  677. if(chk == "true") {
  678. if( i > 10) {
  679. ds_init_serdiagitem.setColumn(0,"diagmthdcd", i-1);
  680. }else {
  681. ds_init_serdiagitem.setColumn(0,"diagmthdcd", "0" + (i-1));
  682. }
  683. if(i == 5) {
  684. ds_init_serdiagitem.setColumn(0,"diagetccnts", ipt_etc1.value);
  685. }else if( i == 11) {
  686. ds_init_serdiagitem.setColumn(0,"diagetccnts", ipt_etc2.value);
  687. }else {
  688. ds_init_serdiagitem.setColumn(0,"diagetccnts", "");
  689. }
  690. // copyNodesetType("/root/main/serdiagappdetl/row", "/root/init/serdiagitem", "after");
  691. ds_main_serdiagappdetl.copyData(ds_init_serdiagitem);
  692. }
  693. }
  694. btn_save.visible = false; //저장
  695. btn_del.visible = true; //삭제
  696. btn_upt.visible = true; //수정
  697. bLoad = true;
  698. return;
  699. } else if((ds_main_result_serdiagappinfo.getColumn(0,"sdoayn") == "N" && ds_main_result_serdiagappinfo.getColumn(0,"anohosprgstflag") == "Y")) {
  700. ds_main_serdiagappinfo.setColumn(0,"genrdd", ds_main_result_serdiagappinfo.getColumn(0,"genrdd")); //발생일자
  701. ds_main_serdiagappinfo.setColumn(0,"genrno", ds_main_result_serdiagappinfo.getColumn(0,"genrno")); //발생번호
  702. ds_main_serdiagappinfo.setColumn(0,"histno", ds_main_result_serdiagappinfo.getColumn(0,"histno")); //이력번호
  703. ds_main_serdiagappinfo.setColumn(0,"cncrdiagcnfmdd",ds_main_result_serdiagappinfo.getColumn(0,"cncrdiagcnfmdd")); //암진단확인일
  704. ds_main_serdiagappinfo.setColumn(0,"maindiagcd", ds_main_result_serdiagappinfo.getColumn(0,"diagcd")); //진단코드
  705. sysf_messageBox("타병원 "+ds_init.getColumn(0,"rgstkindnm")+" 등록신청서가 이미 존재합니다.", "I" );
  706. btn_save.visible = false; //저장
  707. btn_del.visible = false; //삭제
  708. btn_upt.visible = false; //수정
  709. bLoad = true;
  710. return;
  711. }
  712. //★★★★★★★★★ 2. 메뉴에서 호출했는데 상단정보가 없을경우.
  713. } else if(utlf_isNull(appf_getPatientInfo("pid"))){
  714. sysf_messageBox("상단정보가 필요합니다.", "I" );
  715. this.close();
  716. //★★★★★★★★★ 3. 처방에서 호출했을 경우
  717. } else {
  718. ds_main_serdiagappinfo.setColumn(0,"pid", opener.frmf_getParameter("SPMMO20000_pid"));
  719. ds_main_serdiagappinfo.setColumn(0,"pathngnm", opener.frmf_getParameter("SPMMO20000_pathngnm"));
  720. ds_main_serdiagappinfo.setColumn(0,"insukind", opener.frmf_getParameter("SPMMO20000_insukind"));
  721. ds_main_serdiagappinfo.setColumn(0,"anohosprgstflag",opener.frmf_getParameter("SPMMO20000_anohosprgstflag"));
  722. ds_main_serdiagappinfo.setColumn(0,"genrflagcd", opener.frmf_getParameter("SPMMO20000_genrflagcd"));
  723. ds_main_serdiagappinfo.setColumn(0,"cncrdiagcnfmdd", opener.frmf_getParameter("SPMMO20000_cncrdiagcnfmdd"));
  724. ds_main_serdiagappinfo.setColumn(0,"orddeptcd", sysf_getUserInfo("dutplcecd"));
  725. ds_main_serdiagappinfo.setColumn(0,"orddrid", sysf_getUserId());
  726. ds_main_serdiagappinfo.setColumn(0,"genrorddd", opener.frmf_getParameter("SPMMO20000_genrorddd"));
  727. ds_main_serdiagappinfo.setColumn(0,"genrcretno", opener.frmf_getParameter("SPMMO20000_genrcretno"));
  728. ds_main_serdiagappinfo.setColumn(0,"maindiagcd", opener.frmf_getParameter("SPMMO20000_maindiagcd"));
  729. dsf_makeValue(ds_prcpetcinfo_saveserdiagappfrm,"rgstbasic","string",opener.frmf_getParameter("SPMMO20000_rgstbasic"));
  730. dsf_makeValue(ds_main_serdiagappinfo,"rgstkindcd", "string",opener.frmf_getParameter("SPMMO20000_rgstkindcd")); //중증화상 vs 희귀난치구분.
  731. dsf_makeValue(ds_main_serdiagappinfo,"burnicd10desc", "string",opener.frmf_getParameter("SPMMO20000_burnicd10desc")); //중증화상 icd10cd
  732. dsf_makeValue(ds_main_serdiagappinfo,"icd10cd", "string",opener.frmf_getParameter("SPMMO20000_icd10cd")); //중증화상 icd10cd
  733. dsf_makeValue(ds_main_serdiagappinfo,"reregyn", "string",opener.frmf_getParameter("SPMMO20000_reregyn")); //재등록 여부 2014.09.27 희귀난치 재등록 관련 추가. 엄영만
  734. dsf_makeValue(ds_main_serdiagappinfo,"regdiagcd", "string",opener.frmf_getParameter("SPMMO20000_regdiagcd")); //이전 진단코드 2014.09.27 희귀난치 재등록 관련 추가. 엄영만
  735. dsf_makeValue(ds_main_serdiagappinfo,"regdiagseq", "string",opener.frmf_getParameter("SPMMO20000_regdiagseq")); //이전 진단코드 순번 2014.09.27 희귀난치 재등록 관련 추가. 엄영만
  736. ds_init_mthd.setColumn(0,"mthdstr", opener.frmf_getParameter("SPMMO20000_mthdstr"));
  737. ds_init_mthd.setColumn(0,"mthd5txt", opener.frmf_getParameter("SPMMO20000_mthd5txt"));
  738. ds_init_mthd.setColumn(0,"rgstbasic", opener.frmf_getParameter("SPMMO20000_rgstbasic"));
  739. // 중증화상일 경우는 진단에 주진단(확장)을 보여주지 않고 ICD10cd(1개 또는 두개일수있음)를 보여준다.
  740. if( ds_main_serdiagappinfo.getColumn(0,"rgstkindcd" ) == "02" ) {
  741. // ipt_diaghngnm.attribute("ref") = "/root/main/serdiagappinfo/row/burnicd10desc"
  742. binds["item3"].columnid = "burnicd10desc";
  743. caption14.text = "중증화상등록신청서";
  744. // document.title = "중증화상등록신청서";
  745. this.titletext = "중증화상등록신청서";
  746. ds_init.setColumn(0,"rgstkindnm", "중증화상");
  747. } else {
  748. ds_init.setColumn(0,"rgstkindnm", "희귀난치");
  749. }
  750. dsf_makeValue(ds_send,"cond1","string",appf_getPatientInfoDetail("ioflag"));
  751. var mthd_Array = lf_getDsValue(ds_init_mthd,0,"mthdstr").split("|");
  752. for ( var x = 0; x < mthd_Array.length; x++) {
  753. if ( mthd_Array[x] == "Y" ) {
  754. switch (x) {
  755. case 0:
  756. caption6.style.font.type = "bold";
  757. break;
  758. case 1:
  759. cap_item6.style.font.type = "bold";
  760. break;
  761. case 2:
  762. cap_item7.style.font.type = "bold";
  763. break;
  764. case 3:
  765. cap_item8.style.font.type = "bold";
  766. break;
  767. case 4:
  768. cap_item9.style.font.type = "bold";
  769. break;
  770. }
  771. }
  772. }
  773. ds_init_items.setColumn(0,"item13",ds_init_mthd.getColumn(0,"mthd5txt"));
  774. cap_insukindnm.text = opener.frmf_getParameter("SPMMO20000_insukindnm");
  775. btn_del.visible = false; //삭제
  776. btn_upt.visible = false; //수정
  777. dsf_makeValue(ds_send,"diagcd", "string",ds_main_serdiagappinfo.getColumn(0,"icd10cd"));
  778. dsf_makeValue(ds_send,"maindiagcd", "string",ds_main_serdiagappinfo.getColumn(0,"maindiagcd"));
  779. dsf_makeValue(ds_send,"insukind", "string",ds_main_serdiagappinfo.getColumn(0,"insukind"));
  780. dsf_makeValue(ds_send,"reregyn", "string",ds_main_serdiagappinfo.getColumn(0,"reregyn"));
  781. dsf_makeValue(ds_send,"cncrdiagcnfmdd", "string",ds_main_serdiagappinfo.getColumn(0,"cncrdiagcnfmdd"));
  782. dsf_makeValue(ds_send,"regdiagcd", "string",ds_main_serdiagappinfo.getColumn(0,"regdiagcd"));
  783. dsf_makeValue(ds_send,"regdiagseq", "string",ds_main_serdiagappinfo.getColumn(0,"regdiagseq"));
  784. var oParam = {};
  785. oParam.id = "TRMMO20001";
  786. oParam.service = "prcpmngtapp.EtcPrcpMngt";
  787. oParam.method = "reqGetRareDiagChkAppList";
  788. oParam.inds = "req=ds_send";
  789. oParam.outds = "ds_hidden_items=chkitemlist";
  790. oParam.async = false;
  791. oParam.callback = "cf_TRMMO20001";
  792. tranf_submit(oParam);
  793. if(arErrorCode.pop("TRMMO20001") >= 0) {
  794. var cnt = ds_hidden_items.rowcount;
  795. if (cnt < 1 ) {
  796. } else if (cnt > 1 ) {
  797. btn_upt.enable = false;
  798. btn_del.enable = false;
  799. btn_save.enable = false;
  800. btn_exit.enable = false;
  801. } else {
  802. if (ds_hidden_items.getColumn(0,"cncrdiagyn") != "Y" ) {
  803. var sRgstKindCd = ds_main_serdiagappinfo.getColumn(0,"rgstkindcd");
  804. if(sRgstKindCd == "07") {
  805. ds_main_serdiagappinfo.setColumn(0, "appspclcd", "V900"); // 극희귀
  806. } else if(sRgstKindCd == "08") {
  807. ds_main_serdiagappinfo.setColumn(0, "appspclcd", "V999"); // 상세불명
  808. } else if(sRgstKindCd == "09") {
  809. ds_main_serdiagappinfo.setColumn(0, "appspclcd", "V000"); // 본인부담제외 결핵
  810. } else {
  811. ds_main_serdiagappinfo.setColumn(0, "appspclcd", ds_hidden_items.getColumn(0,"spclcd"));
  812. }
  813. ds_main_serdiagappinfo.setColumn(0, "appdiagcd", ds_hidden_items.getColumn(0,"diagcd"));
  814. ds_main_serdiagappinfo.setColumn(0, "appdiagseq", ds_hidden_items.getColumn(0,"seq"));
  815. var test1 = ds_hidden_items.getColumn(0,"test1");
  816. var test2 = ds_hidden_items.getColumn(0,"test2");
  817. var test3 = ds_hidden_items.getColumn(0,"test3");
  818. var test4 = ds_hidden_items.getColumn(0,"test4");
  819. var test5 = ds_hidden_items.getColumn(0,"test5");
  820. var test6 = ds_hidden_items.getColumn(0,"test6");
  821. dsf_makeValue(ds_init_items,"seq","string",ds_hidden_items.getColumn(0,"seq"));
  822. dsf_makeValue(ds_init_items,"row","string","0"); //dsf_makeValue(ds_init_items,"row","string","1");
  823. if (test1 =="Y" ) {
  824. bool_sono.enable = true;
  825. bool_ct.enable = true;
  826. bool_mri.enable = true;
  827. bool_etc.enable = true;
  828. } else {
  829. bool_sono.enable = false;
  830. bool_ct.enable = false;
  831. bool_mri.enable = false;
  832. bool_etc.enable = false;
  833. }
  834. if (test2 == "Y") {
  835. bool_item2.enable = true;
  836. } else {
  837. bool_item2.enable = false;
  838. }
  839. if (test3 == "Y") {
  840. bool_item3.enable = true;
  841. } else {
  842. bool_item3.enable = false;
  843. }
  844. if (test4 == "Y") {
  845. bool_item4.enable = true;
  846. } else {
  847. bool_item4.enable = false;
  848. }
  849. if (!utlf_isNull(test6)) {
  850. dsf_makeValue(ds_init_items,"item14","string",test6);
  851. // com_etc1.dispatch("xforms-value-changed");
  852. var ev = new ItemChangeEventInfo;
  853. frmf_inputEnterKey("com_etc1", "onitemchanged", ev );
  854. }
  855. bool_item5.enable = true;
  856. txt_etc2.enable = true;
  857. com_etc1.enable = true;
  858. } else {
  859. bool_sono.enable = true;
  860. bool_ct.enable = true;
  861. bool_mri.enable = true;
  862. bool_etc.enable = true;
  863. bool_item2.enable = true;
  864. bool_item3.enable = true;
  865. bool_item4.enable = true;
  866. bool_item5.enable = true;
  867. txt_etc2.enable = true;
  868. }
  869. }
  870. }
  871. }
  872. if ( ds_main_serdiagappinfo.getColumn(0,"anohosprgstflag") == "Y") {
  873. bool_anohosprgstflag.value = true;
  874. }
  875. ds_main_serdiagappinfo.setColumn(0,"status", "I");
  876. } else { // 오픈 화면이 없을경우
  877. ds_main_serdiagappinfo.setColumn(0,"status", "I");
  878. sysf_messageBox("환자정보를 확인", "E001");
  879. btn_save.visible = false; //저장
  880. btn_del.visible = false; //삭제
  881. btn_upt.visible = false; //수정
  882. }
  883. if (ds_main_serdiagappinfo.getColumn(0,"genrflagcd") == "O" || ds_main_serdiagappinfo.getColumn(0,"genrflagcd") == "S") {
  884. ds_main_serdiagappinfo.setColumn(0,"genrflagcd", "O");
  885. } else {
  886. ds_main_serdiagappinfo.setColumn(0,"genrflagcd", "I");
  887. if (lf_ContainsHardCD("5400", appf_getPatientInfoDetail("suppkind"))) {// 차상위2종 환자이면
  888. ds_main_serdiagappinfo.setColumn(0,"cncrdiagcnfmdd", appf_getPatientInfoDetail("indd")); //암진단확인일
  889. }
  890. }
  891. // mmbfGetHardCodeInfo("/root/send/reqdata", "/root/temp/hardcdno_5400", 5400);
  892. lf_getHardCDList("N", 5400, null, ds_hardcdno_5400);
  893. bLoad = true;
  894. }
  895. /****************************************************************************************
  896. * Components : Grid
  897. * Components ID : grd_diaglist
  898. * Event : oncelldblclick
  899. * Argument : 01.obj : Object Event has occurred
  900. * : 02.e : Event Object
  901. * Description : 등록기준 및 필수검사 그리드 더블클릭
  902. ****************************************************************************************/
  903. function grd_diaglist_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  904. {
  905. var row = e.row;
  906. var sRgstKindCd = ds_main_serdiagappinfo.getColumn(0,"rgstkindcd");
  907. if(sRgstKindCd == "07") {
  908. ds_main_serdiagappinfo.setColumn(0, "appspclcd", "V900"); // 극희귀
  909. } else if(sRgstKindCd == "08") {
  910. ds_main_serdiagappinfo.setColumn(0, "appspclcd", "V999"); // 상세불명
  911. } else if(sRgstKindCd == "09") {
  912. ds_main_serdiagappinfo.setColumn(0, "appspclcd", "V000"); // 본인부담제외 결핵
  913. } else {
  914. ds_main_serdiagappinfo.setColumn(0, "appspclcd", ds_hidden_items.getColumn(row, "spclcd"));
  915. }
  916. ds_main_serdiagappinfo.setColumn(0, "appdiagcd", ds_hidden_items.getColumn(row, "diagcd"));
  917. ds_main_serdiagappinfo.setColumn(0, "appdiagseq", ds_hidden_items.getColumn(row, "seq"));
  918. var test1 = ds_hidden_items.getColumn(row,"test1");
  919. var test2 = ds_hidden_items.getColumn(row,"test2");
  920. var test3 = ds_hidden_items.getColumn(row,"test3");
  921. var test4 = ds_hidden_items.getColumn(row,"test4");
  922. var test5 = ds_hidden_items.getColumn(row,"test5");
  923. var test6 = ds_hidden_items.getColumn(row,"test6");
  924. dsf_makeValue(ds_init_items,"seq","string",ds_hidden_items.getColumn(row,"seq"));
  925. dsf_makeValue(ds_init_items,"row","string",row); // 선택된 행 번호 저장
  926. if (test1 == "Y" ) {
  927. bool_sono.enable = true;
  928. bool_ct.enable = true;
  929. bool_mri.enable = true;
  930. bool_etc.enable = true;
  931. } else {
  932. bool_sono.enable = false;
  933. bool_ct.enable = false;
  934. bool_mri.enable = false;
  935. bool_etc.enable = false;
  936. }
  937. if (test2 == "Y") {
  938. bool_item2.enable = true;
  939. } else {
  940. bool_item2.enable = false;
  941. }
  942. if (test3 == "Y") {
  943. bool_item3.enable = true;
  944. } else {
  945. bool_item3.enable = false;
  946. }
  947. if (test4 == "Y") {
  948. bool_item4.enable = true;
  949. } else {
  950. bool_item4.enable = false;
  951. }
  952. if (!utlf_isNull(test6)) {
  953. ds_init_items.setColumn(0,"item14",test6);
  954. // com_etc1.dispatch("xforms-value-changed");
  955. var ev = new ItemChangeEventInfo;
  956. frmf_inputEnterKey("com_etc1", "onitemchanged", ev );
  957. }
  958. bool_item5.enable = true;
  959. txt_etc2.enable = true;
  960. com_etc1.enable = true;
  961. btn_upt.enable = true;
  962. btn_del.enable = true;
  963. btn_exit.enable = true;
  964. btn_save.enable = true;
  965. }
  966. /****************************************************************************************
  967. * Components : CheckBox
  968. * Components ID : bool_sono
  969. * Event : onchanged
  970. * Argument : 01.obj : Object Event has occurred
  971. * : 02.e : Event Object
  972. * Description : SONO 체크박스 체크
  973. ****************************************************************************************/
  974. function bool_sono_onchanged(obj:CheckBox, e:CheckBoxChangeEventInfo)
  975. {
  976. fSetSerDiagItem(e.postvalue,"01", "");
  977. if (ds_init_items.getColumn(0,"item2")=="true"
  978. || ds_init_items.getColumn(0,"item3")=="true"
  979. || ds_init_items.getColumn(0,"item4")=="true"
  980. || ds_init_items.getColumn(0,"item5")=="true" ){
  981. ds_main_tmp.setColumn(0,"item1","Y");
  982. } else {
  983. ds_main_tmp.setColumn(0,"item1","N");
  984. }
  985. }
  986. /****************************************************************************************
  987. * Components : CheckBox
  988. * Components ID : bool_ct
  989. * Event : onchanged
  990. * Argument : 01.obj : Object Event has occurred
  991. * : 02.e : Event Object
  992. * Description : CT 체크박스 체크
  993. ****************************************************************************************/
  994. function bool_ct_onchanged(obj:CheckBox, e:CheckBoxChangeEventInfo)
  995. {
  996. fSetSerDiagItem(e.postvalue,"02", "");
  997. if (ds_init_items.getColumn(0,"item3")=="true"
  998. || ds_init_items.getColumn(0,"item2")=="true"
  999. || ds_init_items.getColumn(0,"item4")=="true"
  1000. || ds_init_items.getColumn(0,"item5")=="true" ){
  1001. ds_main_tmp.setColumn(0,"item1","Y");
  1002. } else {
  1003. ds_main_tmp.setColumn(0,"item1","N");
  1004. }
  1005. }
  1006. /****************************************************************************************
  1007. * Components : CheckBox
  1008. * Components ID : bool_mri
  1009. * Event : onchanged
  1010. * Argument : 01.obj : Object Event has occurred
  1011. * : 02.e : Event Object
  1012. * Description : MRI 체크박스 체크
  1013. ****************************************************************************************/
  1014. function bool_mri_onchanged(obj:CheckBox, e:CheckBoxChangeEventInfo)
  1015. {
  1016. fSetSerDiagItem(e.postvalue,"03", "");
  1017. if (ds_init_items.getColumn(0,"item4")=="true"
  1018. || ds_init_items.getColumn(0,"item2")=="true"
  1019. || ds_init_items.getColumn(0,"item3")=="true"
  1020. || ds_init_items.getColumn(0,"item5")=="true" ) {
  1021. ds_main_tmp.setColumn(0,"item1","Y");
  1022. } else {
  1023. ds_main_tmp.setColumn(0,"item1","N");
  1024. }
  1025. }
  1026. /****************************************************************************************
  1027. * Components : CheckBox
  1028. * Components ID : bool_etc
  1029. * Event : onchanged
  1030. * Argument : 01.obj : Object Event has occurred
  1031. * : 02.e : Event Object
  1032. * Description : 기타 체크박스 체크
  1033. ****************************************************************************************/
  1034. function bool_etc_onchanged(obj:CheckBox, e:CheckBoxChangeEventInfo)
  1035. {
  1036. if (e.postvalue == true) {
  1037. ipt_etc1.enable = true;
  1038. if(utlf_isNull(ipt_etc1.value) && bLoad == true) {
  1039. sysf_messageBox("기타항목을 선택하였으므로 해당 내용을","C001");
  1040. }
  1041. } else {
  1042. ds_main_serdiagappdetl.deleteRow(ds_main_serdiagappdetl.findRow("diagmthdcd","04"));
  1043. ds_init_items.setColumn(0,"item12","");
  1044. ipt_etc1.enable = false;
  1045. }
  1046. if (ds_init_items.getColumn(0,"item5")==true
  1047. || ds_init_items.getColumn(0,"item2")==true
  1048. || ds_init_items.getColumn(0,"item3")==true
  1049. || ds_init_items.getColumn(0,"item4")==true ){
  1050. ds_main_tmp.setColumn(0,"item1","Y");
  1051. } else {
  1052. ds_main_tmp.setColumn(0,"item1","N");
  1053. }
  1054. }
  1055. /****************************************************************************************
  1056. * Components : Edit
  1057. * Components ID : ipt_etc1
  1058. * Event : ontextchanged
  1059. * Argument : 01.obj : Object Event has occurred
  1060. * : 02.e : Event Object
  1061. * Description : 기타 입력란 입력시
  1062. ****************************************************************************************/
  1063. function ipt_etc1_ontextchanged(obj:Edit, e:TextChangedEventInfo)
  1064. {
  1065. ds_main_serdiagappdetl.deleteRow(ds_main_serdiagappdetl.findRow("diagmthdcd","04"));
  1066. if(!utlf_isNull(ipt_etc1.value)){ // ds_init_items.getColumn(0,"item12")
  1067. fSetSerDiagItem(bool_etc.value, "04", ipt_etc1.value);
  1068. }
  1069. }
  1070. /****************************************************************************************
  1071. * Components : Edit
  1072. * Components ID : ipt_etc1
  1073. * Event : onkeydown
  1074. * Argument : 01.obj : Object Event has occurred
  1075. * : 02.e : Event Object
  1076. * Description : 기타 입력란 입력시
  1077. ****************************************************************************************/
  1078. function ipt_etc1_onkeydown(obj:Edit, e:KeyEventInfo)
  1079. {
  1080. if(e.keycode != 8 && e.keycode != 46 && e.keycode != 35 && e.keycode != 36
  1081. && e.keycode != 16 && e.keycode != 17
  1082. && !(e.keycode >= 37 && e.keycode <= 40)) { // 백스페이스, delete,화살표, home, end 키는 이벤트제외.
  1083. var yy1 = utlf_transNullToEmpty(ipt_etc1.text);
  1084. var xx1 = 0;
  1085. for(var i = 0 ; i < yy1.length; i++ ) {
  1086. (yy1.charCodeAt(i) > 255) ? xx1 += 2 : xx1 += 1;
  1087. }
  1088. if(xx1 > 40) {
  1089. sysf_messageBox("최대 한글 20자, 영어 40자 까지만 입력할 수 있습니다.", "I");
  1090. return;
  1091. }
  1092. }
  1093. }
  1094. /****************************************************************************************
  1095. * Components : CheckBox
  1096. * Components ID : bool_item2
  1097. * Event : onchanged
  1098. * Argument : 01.obj : Object Event has occurred
  1099. * : 02.e : Event Object
  1100. * Description : 2번항목 체크박스 체크
  1101. ****************************************************************************************/
  1102. function bool_item2_onchanged(obj:CheckBox, e:CheckBoxChangeEventInfo)
  1103. {
  1104. fSetSerDiagItem(e.postvalue, "05", "");
  1105. if (ds_init_items.getColumn(0,"item6")=="true"){
  1106. ds_main_tmp.setColumn(0,"item2","Y");
  1107. } else {
  1108. ds_main_tmp.setColumn(0,"item2","N");
  1109. }
  1110. }
  1111. /****************************************************************************************
  1112. * Components : CheckBox
  1113. * Components ID : bool_item3
  1114. * Event : onchanged
  1115. * Argument : 01.obj : Object Event has occurred
  1116. * : 02.e : Event Object
  1117. * Description : 3번항목 체크박스 체크
  1118. ****************************************************************************************/
  1119. function bool_item3_onchanged(obj:CheckBox, e:CheckBoxChangeEventInfo)
  1120. {
  1121. fSetSerDiagItem(e.postvalue, "06", "");
  1122. if (ds_init_items.getColumn(0,"item7")=="true"){
  1123. ds_main_tmp.setColumn(0,"item3","Y");
  1124. } else {
  1125. ds_main_tmp.setColumn(0,"item3","N");
  1126. }
  1127. }
  1128. /****************************************************************************************
  1129. * Components : CheckBox
  1130. * Components ID : bool_item4
  1131. * Event : onchanged
  1132. * Argument : 01.obj : Object Event has occurred
  1133. * : 02.e : Event Object
  1134. * Description : 4번항목 체크박스 체크
  1135. ****************************************************************************************/
  1136. function bool_item4_onchanged(obj:CheckBox, e:CheckBoxChangeEventInfo)
  1137. {
  1138. fSetSerDiagItem(e.postvalue, "07", "");
  1139. if (ds_init_items.getColumn(0,"item8")=="true"){
  1140. ds_main_tmp.setColumn(0,"item4","Y");
  1141. } else {
  1142. ds_main_tmp.setColumn(0,"item4","N");
  1143. }
  1144. }
  1145. /****************************************************************************************
  1146. * Components : CheckBox
  1147. * Components ID : bool_item5
  1148. * Event : onchanged
  1149. * Argument : 01.obj : Object Event has occurred
  1150. * : 02.e : Event Object
  1151. * Description : 5번항목 체크박스 체크
  1152. ****************************************************************************************/
  1153. function bool_item5_onchanged(obj:CheckBox, e:CheckBoxChangeEventInfo)
  1154. {
  1155. //fSetSerDiagItem(bool_item5.value, "08", "");
  1156. fSetSerDiagItem(e.postvalue, "08", "");
  1157. if (e.postvalue == true) {
  1158. txt_etc2.enable = true;
  1159. if(utlf_isNull(txt_etc2.value) && bLoad == true) {
  1160. sysf_messageBox("⑤번 항목을 선택하였으므로 해당 내용을","C001");
  1161. }
  1162. } else {
  1163. ds_main_serdiagappdetl.deleteRow(ds_main_serdiagappdetl.findRow("diagmthdcd","08"));
  1164. ds_init_items.setColumn(0,"item13","");
  1165. txt_etc2.enable = false;
  1166. }
  1167. if (ds_init_items.getColumn(0,"item9")=="true"){
  1168. ds_main_tmp.setColumn(0,"item5","Y");
  1169. } else {
  1170. ds_main_tmp.setColumn(0,"item5","N");
  1171. }
  1172. }
  1173. /****************************************************************************************
  1174. * Components : TextArea
  1175. * Components ID : txt_etc2
  1176. * Event : ontextchanged
  1177. * Argument : 01.obj : Object Event has occurred
  1178. * : 02.e : Event Object
  1179. * Description : 5번항목 기재내역 입력시
  1180. ****************************************************************************************/
  1181. function txt_etc2_ontextchanged(obj:TextArea, e:TextChangedEventInfo)
  1182. {
  1183. ds_main_serdiagappdetl.deleteRow(ds_main_serdiagappdetl.findRow("diagmthdcd","08"));
  1184. if(!utlf_isNull(txt_etc2.value)) {
  1185. fSetSerDiagItem(bool_item5.value, "08", txt_etc2.value);
  1186. }
  1187. }
  1188. /****************************************************************************************
  1189. * Components : TextArea
  1190. * Components ID : txt_etc2
  1191. * Event : onkeydown
  1192. * Argument : 01.obj : Object Event has occurred
  1193. * : 02.e : Event Object
  1194. * Description : 5번항목 기재내역 입력시
  1195. ****************************************************************************************/
  1196. function txt_etc2_onkeydown(obj:TextArea, e:KeyEventInfo)
  1197. {
  1198. if ( e.keycode != 8 && e.keycode != 46 && e.keycode != 35 && e.keycode != 36
  1199. && e.keycode != 16 && e.keycode != 17
  1200. && !(e.keycode >= 37 && e.keycode <= 40) ) { // 백스페이스, delete,화살표, home, end 키는 이벤트제외.
  1201. var yy1 = utlf_transNullToEmpty(txt_etc2.text);
  1202. var xx1 = 0;
  1203. for(var i=0 ; i < yy1.length ; i++) {
  1204. (yy1.charCodeAt(i) > 255) ? xx1 += 2 : xx1 += 1;
  1205. }
  1206. if ( xx1 > 80) {
  1207. sysf_messageBox("최대 한글 40자, 영어 80자 까지만 입력할 수 있습니다.", "I");
  1208. return;
  1209. }
  1210. }
  1211. }
  1212. /****************************************************************************************
  1213. * Components : Combo
  1214. * Components ID : com_etc1
  1215. * Event : onitemchanged
  1216. * Argument : 01.obj : Object Event has occurred
  1217. * : 02.e : Event Object
  1218. * Description : 기타검사 콤보박스 변경시
  1219. ****************************************************************************************/
  1220. function com_etc1_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  1221. {
  1222. fSetSerDiagItem(false, "09", "");
  1223. ds_main_tmp.setColumn(0,"item6","N");
  1224. if(!utlf_isNull(ds_init_items.getColumn(0,"item14"))) {
  1225. fSetSerDiagItem(true, "09", com_etc1.value);
  1226. ds_main_tmp.setColumn(0,"item6","Y");
  1227. }
  1228. }
  1229. /****************************************************************************************
  1230. * Components : Button
  1231. * Components ID : button1
  1232. * Event : onclick
  1233. * Argument : 01.obj : Object Event has occurred
  1234. * : 02.e : Event Object
  1235. * Description : 예외환자 버튼 클릭
  1236. ****************************************************************************************/
  1237. function button1_onclick(obj:Button, e:ClickEventInfo)
  1238. {
  1239. // modal("SPMMO09500");
  1240. frmf_modal("SPMMO09500", "SPMMO09500", "", "", "", "", "", "", "", "", "", "", "M");
  1241. }
  1242. /****************************************************************************************
  1243. * Components : Button
  1244. * Components ID : btn_upt
  1245. * Event : onclick
  1246. * Argument : 01.obj : Object Event has occurred
  1247. * : 02.e : Event Object
  1248. * Description : 수정 버튼 클릭
  1249. ****************************************************************************************/
  1250. function btn_upt_onclick(obj:Button, e:ClickEventInfo)
  1251. {
  1252. if (ds_main_serdiagappdetl.rowcount == 0 ) {
  1253. sysf_messageBox("최종진단방법은 1개 이상", "C002");
  1254. return;
  1255. }
  1256. var row = ds_init_items.getColumn(0,"row");
  1257. if (!utlf_isNull(row)) {
  1258. var test1 = ds_hidden_items.getColumn(row,"test1");
  1259. var test2 = ds_hidden_items.getColumn(row,"test2");
  1260. var test3 = ds_hidden_items.getColumn(row,"test3");
  1261. var test4 = ds_hidden_items.getColumn(row,"test4");
  1262. var test5 = ds_hidden_items.getColumn(row,"test5");
  1263. var test6 = ds_hidden_items.getColumn(row,"test6");
  1264. if (test1 =="Y" ) {
  1265. if ( ds_init_items.getColumn(0,"item2") !="true"
  1266. && ds_init_items.getColumn(0,"item3") !="true"
  1267. && ds_init_items.getColumn(0,"item4") !="true"
  1268. && ds_init_items.getColumn(0,"item5") !="true" ){
  1269. sysf_messageBox("1번 영상검사 항목중 하나를 반드시 선택 하셔야 합니다.", "I003");
  1270. return;
  1271. }
  1272. }
  1273. if (test2 =="Y" ) {
  1274. if ( ds_init_items.getColumn(0,"item6") !="true"){
  1275. sysf_messageBox("2번 특수 생화학적 또는 면역학적 검사를 반드시 선택 하셔야 합니다.", "I003");
  1276. return;
  1277. }
  1278. }
  1279. if (test3 =="Y" ) {
  1280. if ( ds_init_items.getColumn(0,"item7") !="true"){
  1281. sysf_messageBox("3번 유전학적 검사를 반드시 선택 하셔야 합니다.", "I003");
  1282. return;
  1283. }
  1284. }
  1285. if (test4 =="Y" ) {
  1286. if ( ds_init_items.getColumn(0,"item8") != "true"){
  1287. sysf_messageBox("4번 조직학적 검사를 반드시 선택 하셔야 합니다.", "I003");
  1288. return;
  1289. }
  1290. }
  1291. if (test5 =="Y" ) {
  1292. if ( ds_init_items.getColumn(0,"item9") !="true"){
  1293. sysf_messageBox("5번 임상적 소견을 반드시 선택 하셔야 합니다.", "I003");
  1294. return;
  1295. }
  1296. }
  1297. if (!utlf_isNull(test6)) {
  1298. if (utlf_isNull(ds_init_items.getColumn(0,"item14"))){
  1299. sysf_messageBox("6번 기타검사을 반드시 선택 하셔야 합니다.", "I003");
  1300. return;
  1301. }
  1302. if(test6 != ds_init_items.getColumn(0,"item14")) {
  1303. sysf_messageBox("선택된 6번 기타검사의 항목이 등록기준 및 필수검사 항목과 서로 틀립니다.", "I003");
  1304. return;
  1305. }
  1306. }
  1307. }
  1308. var yy1 = utlf_transNullToEmpty(ipt_etc1.value);
  1309. var yy2 = utlf_transNullToEmpty(txt_etc2.value);
  1310. var xx1 = 0;
  1311. for(var i=0; i < yy1.length; i++) { (yy1.charCodeAt(i) > 255) ? xx1 += 2 : xx1 += 1; }
  1312. var xx2 = 0;
  1313. for(var i=0; i < yy2.length; i++) { (yy2.charCodeAt(i) > 255) ? xx2 += 2 : xx2 += 1; }
  1314. if (bool_etc.value == true) {
  1315. if (utlf_isNull(ipt_etc1.value)) {
  1316. sysf_messageBox("1번의 기타항목을 선택하였으므로 해당 내용을","C001");
  1317. return;
  1318. } else if ( xx1 < 5 || xx1 > 40 ) {
  1319. sysf_messageBox("1번 기타항목의 내용은 최소 : 한글 3자, 영어 5자 최대 : 한글 20자, 영어 40자 까지 입니다.","I");
  1320. return;
  1321. }
  1322. ds_main_serdiagappdetl.setColumn(ds_main_serdiagappdetl.findRow("diagmthdcd","04"),"diagetccnts",ipt_etc1.value);
  1323. }
  1324. if (bool_item5.value == true) {
  1325. if (utlf_isNull(txt_etc2.value)) {
  1326. sysf_messageBox("5번 항목을 선택하였으므로 해당 내용을","C001");
  1327. return;
  1328. } else if ( xx2 < 10 || xx2 > 80 ) {
  1329. sysf_messageBox("5번 기타항목의 내용은 최소 : 한글 5자, 영어 10자 최대 : 한글 40자, 영어 80자 까지 입니다.","I");
  1330. return;
  1331. }
  1332. ds_main_serdiagappdetl.setColumn(ds_main_serdiagappdetl.findRow("diagmthdcd","08"),"diagetccnts",txt_etc2.value);
  1333. }
  1334. // copyNodeListType("/root/send/savedata", "/root/main/serdiagappinfo", "replace");
  1335. // copyNodeListType("/root/send/savedata", "/root/main/serdiagappdetl", "after");
  1336. // dsf_copyDs(ds_send_savedata,ds_main_serdiagappinfo,"replace");
  1337. // dsf_copyDs(ds_send_savedata,ds_main_serdiagappdetl,"after");
  1338. if((ds_main_serdiagappinfo.getColumn(0,"orddeptcd") == sysf_getUserInfo("dutplcecd")) && (sysf_getUserInfo("jobkindcd") == "0330") && (sysf_getUserInfo("jobposcd") != "1799")){ // 0330 : 의사, 1799 : 인턴
  1339. // submit("TRMMO12203");
  1340. var oParam = {};
  1341. oParam.id = "TRMMO12203";
  1342. oParam.service = "prcpmngtapp.EtcPrcpMngt";
  1343. oParam.method = "reqGetRarediagDelYN";
  1344. oParam.inds = "serdiagappinfo=ds_main_serdiagappinfo";
  1345. oParam.outds = "ds_main_result_serdiagyn=serdiagyn";
  1346. oParam.async = false;
  1347. oParam.callback = "";
  1348. tranf_submit(oParam);
  1349. if((ds_main_result_serdiagyn.getColumn(0,"histcd") == "O") && (ds_main_result_serdiagyn.getColumn(0,"prntyn") == "N") && (ds_main_result_serdiagyn.getColumn(0,"rareobstno") == "-")){
  1350. // if(submit("TXMMO12205")){
  1351. var oParam = {};
  1352. oParam.id = "TXMMO12205";
  1353. oParam.service = "prcpmngtapp.EtcPrcpMngt";
  1354. oParam.method = "reqExeRarediagUpdate";
  1355. oParam.inds = "serdiagappinfo=ds_main_serdiagappinfo serdiagappdetl=ds_main_serdiagappdetl";
  1356. oParam.outds = "ds_temp_serdiagappinfo=row";
  1357. oParam.async = false;
  1358. oParam.callback = "cf_TXMMO12205";
  1359. tranf_submit(oParam);
  1360. if(arErrorCode.pop("TXMMO12205") >= 0){
  1361. sysf_messageBox("해당환자의 "+ds_init.getColumn(0,"rgstkindnm")+" 등록신청서가 수정","I001");
  1362. btn_del.visible = false;
  1363. btn_upt.visible = false;
  1364. }else{
  1365. sysf_messageBox("해당환자의 "+ds_init.getColumn(0,"rgstkindnm")+" 등록신청서 수정을 ","E009");
  1366. }
  1367. }else{
  1368. sysf_messageBox("해당환자의 "+ds_init.getColumn(0,"rgstkindnm")+" 등록신청서를 수정 ","E001");
  1369. }
  1370. }else{
  1371. sysf_messageBox("수정할 수 있는 ","E002");
  1372. btn_save.visible = false; //저장
  1373. btn_del.visible = false; //삭제
  1374. btn_upt.visible = false; //수정
  1375. }
  1376. }
  1377. /****************************************************************************************
  1378. * Components : Button
  1379. * Components ID : btn_del
  1380. * Event : onclick
  1381. * Argument : 01.obj : Object Event has occurred
  1382. * : 02.e : Event Object
  1383. * Description : 삭제 버튼 클릭
  1384. ****************************************************************************************/
  1385. function btn_del_onclick(obj:Button, e:ClickEventInfo)
  1386. {
  1387. var a = sysf_getUserInfo("dutplcecd");
  1388. var b = sysf_getUserInfo("jobkindcd");
  1389. var c = sysf_getUserInfo("jobposcd");
  1390. if((ds_main_serdiagappinfo.getColumn(0,"orddeptcd") == sysf_getUserInfo("dutplcecd")) && (sysf_getUserInfo("jobkindcd") == "0330") && (getUserInfo("jobposcd") != "1799")){ // 0330 : 의사
  1391. // submit("TRMMO12203");
  1392. var oParam = {};
  1393. oParam.id = "TRMMO12203";
  1394. oParam.service = "prcpmngtapp.EtcPrcpMngt";
  1395. oParam.method = "reqGetRarediagDelYN";
  1396. oParam.inds = "serdiagappinfo=ds_main_serdiagappinfo";
  1397. oParam.outds = "ds_main_result_serdiagyn=serdiagyn";
  1398. oParam.async = false;
  1399. oParam.callback = "";
  1400. tranf_submit(oParam);
  1401. if((ds_main_result_serdiagyn.getColumn(0,"histcd") == "O") && (ds_main_result_serdiagyn.getColumn(0,"prntyn") == "N") && (model.getValue("/root/main/result/serdiagyn/rareobstno") == "-")){
  1402. // if(submit("TXMMO12204")){
  1403. var oParam = {};
  1404. oParam.id = "TXMMO12204";
  1405. oParam.service = "prcpmngtapp.EtcPrcpMngt";
  1406. oParam.method = "reqExeRarediagDelUpdate";
  1407. oParam.inds = "serdiagappinfo=ds_main_serdiagappinfo";
  1408. oParam.outds = "";
  1409. oParam.async = false;
  1410. oParam.callback = "cf_TXMMO12204";
  1411. tranf_submit(oParam);
  1412. if(arErrorCode.pop("TXMMO12204") >= 0){
  1413. sysf_messageBox("해당환자의 "+ds_init.getColumn(0,"rgstkindnm")+" 등록신청서가 삭제","I001");
  1414. btn_del.visible = false;
  1415. this.close();
  1416. }else{
  1417. sysf_messageBox("해당환자의 "+ds_init.getColumn(0,"rgstkindnm")+" 등록신청서 삭제를 ","E009");
  1418. this.close();
  1419. }
  1420. }else{
  1421. sysf_messageBox("해당환자의 "+ds_init.getColumn(0,"rgstkindnm")+" 등록신청서를 삭제 ","E001");
  1422. this.close();
  1423. }
  1424. }else{
  1425. sysf_messageBox("삭제할 수 있는 ","E002");
  1426. btn_save.visible = false; //저장
  1427. btn_del.visible = false; //삭제
  1428. btn_upt.visible = false; //수정
  1429. this.close();
  1430. }
  1431. }
  1432. /****************************************************************************************
  1433. * Components : Button
  1434. * Components ID : btn_save
  1435. * Event : onclick
  1436. * Argument : 01.obj : Object Event has occurred
  1437. * : 02.e : Event Object
  1438. * Description : 저장 버튼 클릭
  1439. ****************************************************************************************/
  1440. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  1441. {
  1442. var cncrdiagcnfmdd = ds_main_serdiagappinfo.getColumn(0,"cncrdiagcnfmdd");
  1443. if (!utlf_isValidDateTime(cncrdiagcnfmdd, "YYYYMMDD")) {
  1444. sysf_messageBox("진단 확인일은", "I003");
  1445. return;
  1446. }
  1447. // 허만호, 2015.07.28 소스 현행화 s
  1448. if(cncrdiagcnfmdd > utlf_getCurrentDate() ) {
  1449. sysf_messageBox("진단 확인일을 미래일자로 입력 할 수 없습니다.", "I999");
  1450. return;
  1451. }
  1452. if(cncrdiagcnfmdd < ((utlf_getCurrentDate().toDate()).getAddDate(-1,"M")).getDateFormat() ) {
  1453. sysf_messageBox("진단 확인일을 최근 1달이내의 날짜로 입력 하셔야 합니다.", "I999");
  1454. return;
  1455. }
  1456. // 허만호, 2015.07.28 소스 현행화 e
  1457. if ( ds_main_serdiagappdetl.rowcount == 0 ) {
  1458. sysf_messageBox("최종진단방법은 1개 이상", "C002");
  1459. return;
  1460. }
  1461. var row = ds_init_items.getColumn(0,"row" );
  1462. if (!utlf_isNull(row)) {
  1463. var test1 = ds_hidden_items.getColumn(row,"test1");
  1464. var test2 = ds_hidden_items.getColumn(row,"test2");
  1465. var test3 = ds_hidden_items.getColumn(row,"test3");
  1466. var test4 = ds_hidden_items.getColumn(row,"test4");
  1467. var test5 = ds_hidden_items.getColumn(row,"test5");
  1468. var test6 = ds_hidden_items.getColumn(row,"test6");
  1469. if (test1 =="Y" ) {
  1470. if ( ds_init_items.getColumn(0,"item2") !="true"
  1471. && ds_init_items.getColumn(0,"item3") !="true"
  1472. && ds_init_items.getColumn(0,"item4") !="true"
  1473. && ds_init_items.getColumn(0,"item5") !="true" ){
  1474. sysf_messageBox("1번 영상검사 항목중 하나를 반드시 선택 하셔야 합니다.", "I003");
  1475. return;
  1476. }
  1477. }
  1478. if (test2 =="Y" ) {
  1479. if ( ds_init_items.getColumn(0,"item6") !="true"){
  1480. sysf_messageBox("2번 특수 생화학적 또는 면역학적 검사를 반드시 선택 하셔야 합니다.", "I003");
  1481. return;
  1482. }
  1483. }
  1484. if (test3 =="Y" ) {
  1485. if ( ds_init_items.getColumn(0,"item7") !="true"){
  1486. sysf_messageBox("3번 유전학적 검사를 반드시 선택 하셔야 합니다.", "I003");
  1487. return;
  1488. }
  1489. }
  1490. if (test4 =="Y" ) {
  1491. if ( ds_init_items.getColumn(0,"item8") !="true"){
  1492. sysf_messageBox("4번 조직학적 검사를 반드시 선택 하셔야 합니다.", "I003");
  1493. return;
  1494. }
  1495. }
  1496. if (test5 =="Y" ) {
  1497. if ( ds_init_items.getColumn(0,"item9") !="true"){
  1498. sysf_messageBox("5번 임상적 소견을 반드시 선택 하셔야 합니다.", "I003");
  1499. return;
  1500. }
  1501. }
  1502. if (!utlf_isNull(test6)) {
  1503. if (ds_init_items.getColumn(0,"item14") == ""){
  1504. sysf_messageBox("6번 기타검사을 반드시 선택 하셔야 합니다.", "I003");
  1505. return;
  1506. }
  1507. if(test6 != ds_init_items.getColumn(0,"item14")) {
  1508. sysf_messageBox("선택된 6번 기타검사의 항목이 등록기준 및 필수검사 항목과 서로 틀립니다.", "I003");
  1509. return;
  1510. }
  1511. }
  1512. }
  1513. var yy1 = utlf_transNullToEmpty(ipt_etc1.value);
  1514. //20190121 이돈희 : 양쪽에 공백 제거
  1515. yy1 = yy1.trimLeft();
  1516. yy1 = yy1.trimRight();
  1517. var yy2 = utlf_transNullToEmpty(txt_etc2.value);
  1518. yy2 = yy2.trimLeft();
  1519. yy2 = yy2.trimRight();
  1520. var xx1 = 0;
  1521. for(var i=0; i < yy1.length; i++) { (yy1.charCodeAt(i) > 255) ? xx1 += 2 : xx1 += 1; }
  1522. var xx2 = 0;
  1523. for(var i=0; i < yy2.length; i++) { (yy2.charCodeAt(i) > 255) ? xx2 += 2 : xx2 += 1; }
  1524. if (bool_etc.value == true) {
  1525. if (utlf_isNull(ipt_etc1.value)) {
  1526. sysf_messageBox("1번의 기타항목을 선택하였으므로 해당 내용을","C001");
  1527. return;
  1528. } else if ( xx1 < 5 || xx1 > 40 ) {
  1529. sysf_messageBox("1번 기타항목의 내용은 최소 : 한글 3자, 영어 5자 최대 : 한글 20자, 영어 40자 까지 입니다.","I");
  1530. return;
  1531. }
  1532. // model.setValue("/root/main/serdiagappdetl/row[diagmthdcd='04']/diagetccnts", ipt_etc1.value );
  1533. ds_main_serdiagappdetl.setColumn(ds_main_serdiagappdetl.findRow("diagmthdcd","04"),"diagetccnts",ipt_etc1.value);
  1534. }
  1535. if (bool_item5.value == true) {
  1536. if ( utlf_isNull(txt_etc2.value)) {
  1537. sysf_messageBox("5번 항목을 선택하였으므로 해당 내용을","C001");
  1538. return;
  1539. } else if ( xx2 < 10 || xx2 > 80 ) {
  1540. sysf_messageBox("5번 기타항목의 내용은 최소 : 한글 5자, 영어 10자 최대 : 한글 40자, 영어 80자 까지 입니다.","I");
  1541. return;
  1542. }
  1543. ds_main_serdiagappdetl.setColumn(ds_main_serdiagappdetl.findRow("diagmthdcd","08"),"diagetccnts",txt_etc2.value);
  1544. }
  1545. if (bool_anohosprgstflag.value == true) {
  1546. ds_main_serdiagappinfo.setColumn(0,"anohosprgstflag","Y");
  1547. } else {
  1548. ds_main_serdiagappinfo.setColumn(0,"anohosprgstflag","N");
  1549. }
  1550. // copyNodeListType("/root/send/savedata", "/root/main/serdiagappinfo", "replace");
  1551. // copyNodeListType("/root/send/savedata", "/root/main/serdiagappdetl", "after");
  1552. //최종진단방법 입력 기준자료가 없을 경우
  1553. if (ds_hidden_items.getColumn(0,"cncrdiagyn") != "Y" ) {
  1554. if ( utlf_isNull(ds_hidden_items.getColumn(0,"diagnm")) && bool_item5.value == "false") {
  1555. sysf_messageBox ( "5번 임상적 소견을 반드시 입력해야 하는 진단입니다.", "C" );
  1556. return;
  1557. }
  1558. }
  1559. // alert("TXMMO20001");
  1560. var oParam = {};
  1561. oParam.id = "TXMMO20001";
  1562. oParam.service = "prcpmngtapp.EtcPrcpMngt";
  1563. oParam.method = "reqExeSaveRareObstApp";
  1564. oParam.inds = "serdiagappinfo=ds_main_serdiagappinfo serdiagappdetl=ds_main_serdiagappdetl";
  1565. oParam.outds = "ds_temp_serdiagappinfo=row";
  1566. oParam.async = false;
  1567. oParam.callback = "cf_TXMMO20001";
  1568. tranf_submit(oParam);
  1569. if(arErrorCode.pop("TXMMO20001") >= 0){
  1570. var sAutpPrtYn = lf_getHardCDList("Y", 272, 3, null);
  1571. if (sAutpPrtYn == "Y") {
  1572. ds_send_reqdata.clear();
  1573. dsf_makeValue(ds_send_reqdata,"pid","string",ds_main_serdiagappinfo.getColumn(0,"pid"));
  1574. var genrflagcd = ds_main_serdiagappinfo.getColumn(0,"genrflagcd")
  1575. if (genrflagcd == "O" || genrflagcd == "S") {
  1576. genrflagcd = "O";
  1577. }
  1578. dsf_makeValue(ds_send_reqdata,"genrflagcd","string",genrflagcd);
  1579. // if (submit("TRMMO20002") == true) {
  1580. var oParam = {};
  1581. oParam.id = "TRMMO20002";
  1582. oParam.service = "prcpmngtapp.EtcPrcpMngt";
  1583. oParam.method = "reqGetRooaDiagPatInfoDetail";
  1584. oParam.inds = "req=ds_send_reqdata";
  1585. oParam.outds = "ds_main_serdiagpatinfo=serdiagpatinfo";
  1586. oParam.async = false;
  1587. oParam.callback = "cf_TRMMO20002";
  1588. tranf_submit(oParam);
  1589. if(arErrorCode.pop("TRMMO20002") >= 0){
  1590. var insukind = ds_main_serdiagpatinfo.getColumn(0, "insukind"); //model.getValue("/root/serdiagpatinfo/serdiagpatinfo/insukind");
  1591. if (insukind == "11") {
  1592. var objDOM = rptf_createDOM(); // DOM 객체 설정
  1593. rptf_setNodeListToDOM(objDOM, "/root", ds_main_serdiagpatinfo); // 데이터셋 1
  1594. var objParam = new Object();
  1595. objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
  1596. var option = "open=1;save=1;directprint=0;print=1;zoom=0;";
  1597. rptf_exeReportPreview30(["RPMMO20000"],[objParam], option);
  1598. } else {
  1599. var objDOM = rptf_createDOM(); // DOM 객체 설정
  1600. rptf_setNodeListToDOM(objDOM, "/root", ds_main_serdiagpatinfo); // 데이터셋 1
  1601. var objParam = new Object();
  1602. objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
  1603. var option = "open=1;save=1;directprint=0;print=1;zoom=0;";
  1604. rptf_exeReportPreview30(["RPMMO20002"],[objParam], option);
  1605. }
  1606. }
  1607. }
  1608. if(frmf_checkOpener()) {
  1609. opener.frmf_setParameter("SPMMO20000_save", "Y"); // 처방 저장시 작성 여부를 체크 하기 위해 추가. 2012.02.28 엄영만
  1610. }
  1611. this.close();
  1612. } else {
  1613. sysf_messageBox("저장", "E009");
  1614. //this.close(); 허만호, 2015.07.28, 소스현행화
  1615. }
  1616. }
  1617. /****************************************************************************************
  1618. * Components : Button
  1619. * Components ID : btn_exit
  1620. * Event : onclick
  1621. * Argument : 01.obj : Object Event has occurred
  1622. * : 02.e : Event Object
  1623. * Description : 종료 버튼 클릭
  1624. ****************************************************************************************/
  1625. function btn_exit_onclick(obj:Button, e:ClickEventInfo)
  1626. {
  1627. this.close();
  1628. }
  1629. //=======================================================================================
  1630. // Function
  1631. //---------------------------------------------------------------------------------------
  1632. /****************************************************************************************
  1633. * Function : cf_TRMMO20001
  1634. * Description : TRMMO20001 콜백함수
  1635. * Argument :
  1636. * :
  1637. * return type :
  1638. * Creator :
  1639. ****************************************************************************************/
  1640. function cf_TRMMO20001(sSvcId, nErrorCode, sErrorMsg) {
  1641. arErrorCode.push(sSvcId, nErrorCode);
  1642. }
  1643. /****************************************************************************************
  1644. * Function : fSetSerDiagItem
  1645. * Description : 최종진단방법 변경 적용
  1646. * Argument :
  1647. * :
  1648. * return type :
  1649. * Creator :
  1650. ****************************************************************************************/
  1651. function fSetSerDiagItem(boolvalue, itemcd, itemcnts) {
  1652. if (boolvalue == true) {
  1653. ds_init_serdiagitem.setColumn(0,"diagmthdcd", itemcd);
  1654. ds_init_serdiagitem.setColumn(0,"diagetccnts", itemcnts);
  1655. dsf_copyDs(ds_main_serdiagappdetl, ds_init_serdiagitem, "after"); //ds_main_serdiagappdetl.copyData(ds_init_serdiagitem);
  1656. } else {
  1657. ds_main_serdiagappdetl.deleteRow(ds_main_serdiagappdetl.findRow("diagmthdcd",itemcd));
  1658. }
  1659. }
  1660. /****************************************************************************************
  1661. * Function : cf_TXMMO12205
  1662. * Description : TXMMO12205 콜백함수
  1663. * Argument :
  1664. * :
  1665. * return type :
  1666. * Creator :
  1667. ****************************************************************************************/
  1668. function cf_TXMMO12205(sSvcId, nErrorCode, sErrorMsg) {
  1669. arErrorCode.push(sSvcId, nErrorCode);
  1670. }
  1671. /****************************************************************************************
  1672. * Function : cf_TXMMO12204
  1673. * Description : TXMMO12204 콜백함수
  1674. * Argument :
  1675. * :
  1676. * return type :
  1677. * Creator :
  1678. ****************************************************************************************/
  1679. function cf_TXMMO12204(sSvcId, nErrorCode, sErrorMsg) {
  1680. arErrorCode.push(sSvcId, nErrorCode);
  1681. }
  1682. /****************************************************************************************
  1683. * Function : cf_TXMMO20001
  1684. * Description : TXMMO20001 콜백함수
  1685. * Argument :
  1686. * :
  1687. * return type :
  1688. * Creator :
  1689. ****************************************************************************************/
  1690. function cf_TXMMO20001(sSvcId, nErrorCode, sErrorMsg) {
  1691. arErrorCode.push(sSvcId, nErrorCode);
  1692. }
  1693. /****************************************************************************************
  1694. * Function : cf_TRMMO20002
  1695. * Description : TRMMO20002 콜백함수
  1696. * Argument :
  1697. * :
  1698. * return type :
  1699. * Creator :
  1700. ****************************************************************************************/
  1701. function cf_TRMMO20002(sSvcId, nErrorCode, sErrorMsg) {
  1702. arErrorCode.push(sSvcId, nErrorCode);
  1703. dsf_setDefaultVal(ds_main_serdiagpatinfo, "cnfmmthdetc:0");
  1704. }
  1705. var nAmount = 0;
  1706. function grd_diaglist_onmousewheel(obj:Grid, e:MouseWheelEventInfo)
  1707. {
  1708. nAmount = obj.vscrollbar.pos;
  1709. }
  1710. function grd_diaglist_onvscroll(obj:Grid, e:ScrollEventInfo)
  1711. {
  1712. if( e.type == "wheeldown" || e.type == "linedown"){
  1713. nAmount += 100;
  1714. obj.vscrollbar.pos = nAmount;
  1715. }else if(e.type == "wheelup" || e.type == "lineup"){
  1716. nAmount -= 100;
  1717. obj.vscrollbar.pos = nAmount;
  1718. }else if( e.type == "track" ){
  1719. nAmount = obj.vscrollbar.pos;
  1720. }
  1721. }
  1722. ]]></Script>
  1723. </Form>
  1724. </FDL>