SMATP00100_피험자관리.xfdl 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMATP00100" position="absolute 0 0 794 495" titletext="피험자관리" oninit="SMATP00100_oninit" onload="SMATP00100_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static id="caption1" text="연구 피험자리스트" class="tit_2" position="absolute 0 222 150 243"/>
  8. <Shape id="line1" class="line_10" position="absolute 0 238 785 244"/>
  9. <Static id="caption8" text="등록번호" class="cell_1" position="absolute 594 244 684 267"/>
  10. <Shape id="line7" class="line_2" position="absolute 595 266 785 272"/>
  11. <Edit id="input17" taborder="1" class="input_default" enable="false" position="absolute 685 245 765 264"/>
  12. <Edit id="input1" taborder="2" class="input_default" position="absolute 685 272 785 291" autoselect="true"/>
  13. <Static id="caption2" text="환자명" class="cell_1" position="absolute 594 270 684 293"/>
  14. <Shape id="line2" class="line_2" position="absolute 595 292 785 298"/>
  15. <Static id="caption3" text="등록일" class="cell_1" position="absolute 594 296 684 319"/>
  16. <Shape id="line3" class="line_2" position="absolute 595 318 785 324"/>
  17. <Calendar id="input2" taborder="3" class="input_default" position="absolute 685 298 785 317" autoselect="true"/>
  18. <Static id="caption4" text="Screening No" class="cell_1" position="absolute 594 322 684 345"/>
  19. <Shape id="line4" class="line_2" position="absolute 595 344 785 350"/>
  20. <Static id="caption5" text="Random No" class="cell_1" position="absolute 594 348 684 371"/>
  21. <Shape id="line5" class="line_2" position="absolute 595 370 785 376"/>
  22. <Edit id="input4" taborder="4" class="input_default" position="absolute 685 350 785 369" autoselect="true"/>
  23. <Static id="caption6" text="피험자약어" class="cell_1" position="absolute 594 374 684 397"/>
  24. <Edit id="input5" taborder="5" class="input_default" position="absolute 685 376 785 395" autoselect="true"/>
  25. <Shape id="line6" class="line_2" position="absolute 595 396 785 402"/>
  26. <Static id="caption7" text="종료일" class="cell_1" position="absolute 594 400 684 423"/>
  27. <Shape id="line8" linetype="vertical" class="line_2" position="absolute 595 414 775 420"/>
  28. <Button id="button61" taborder="6" class="icon_search" position="absolute 770 246 786 262" onclick="button61_onclick"/>
  29. <Grid id="grd_subjlist" taborder="7" binddataset="ds_main_subjlist_item" useinputpanel="false" position="absolute 0 21 785 211" oncellclick="grd_subjlist_oncellclick">
  30. <Formats>
  31. <Format id="default">
  32. <Columns>
  33. <Column size="20"/>
  34. <Column size="106"/>
  35. <Column size="69"/>
  36. <Column size="136"/>
  37. <Column size="178"/>
  38. <Column size="126"/>
  39. <Column size="73"/>
  40. <Column size="72"/>
  41. <Column size="48"/>
  42. <Column size="50"/>
  43. <Column size="0"/>
  44. <Column size="0"/>
  45. <Column size="0"/>
  46. </Columns>
  47. <Rows>
  48. <Row size="24" band="head"/>
  49. <Row size="24"/>
  50. </Rows>
  51. <Band id="head">
  52. <Cell/>
  53. <Cell col="1" text="과제번호"/>
  54. <Cell col="2" text="연구코드"/>
  55. <Cell col="3" text="연구명"/>
  56. <Cell col="4" text="학술명"/>
  57. <Cell col="5" text="회사명"/>
  58. <Cell col="6" text="시작일"/>
  59. <Cell col="7" text="종료일"/>
  60. <Cell col="8" text="단계"/>
  61. <Cell col="9" text="회차"/>
  62. <Cell col="10" text="caption1"/>
  63. <Cell col="11" text="caption2"/>
  64. <Cell col="12" text="과제ID"/>
  65. </Band>
  66. <Band id="body">
  67. <Cell celltype="head"/>
  68. <Cell col="1" text="bind:subjno"/>
  69. <Cell col="2" text="bind:stdyno"/>
  70. <Cell col="3" text="bind:itemnm"/>
  71. <Cell col="4" text="bind:stdysubjnm"/>
  72. <Cell col="5" text="bind:reqnm"/>
  73. <Cell col="6" displaytype="date" text="bind:stdytermfrom" calendardisplaynulltype="nulltext"/>
  74. <Cell col="7" displaytype="date" text="bind:stdytermto" calendardisplaynulltype="nulltext"/>
  75. <Cell col="8" text="bind:clincflag"/>
  76. <Cell col="9" text="bind:judgdg"/>
  77. <Cell col="10" text="bind:ioflag"/>
  78. <Cell col="11" text="bind:pid"/>
  79. <Cell col="12" text="bind:subjid"/>
  80. </Band>
  81. </Format>
  82. </Formats>
  83. </Grid>
  84. <Grid id="grd_testeelist" taborder="8" binddataset="ds_main_testeelist_item" useinputpanel="false" position="absolute 0 243 590 453" autoenter="select" cellsizingtype="col" oncellclick="grd_testeelist_oncellclick">
  85. <Formats>
  86. <Format id="default">
  87. <Columns>
  88. <Column size="19"/>
  89. <Column size="24"/>
  90. <Column size="61"/>
  91. <Column size="55"/>
  92. <Column size="85"/>
  93. <Column size="85"/>
  94. <Column size="97"/>
  95. <Column size="49"/>
  96. <Column size="90"/>
  97. <Column size="0"/>
  98. <Column size="0"/>
  99. </Columns>
  100. <Rows>
  101. <Row size="24" band="head"/>
  102. <Row size="24"/>
  103. </Rows>
  104. <Band id="head">
  105. <Cell/>
  106. <Cell col="1"/>
  107. <Cell col="2" text="등록번호"/>
  108. <Cell col="3" text="환자명"/>
  109. <Cell col="4" text="등록일"/>
  110. <Cell col="5" text="Screening No"/>
  111. <Cell col="6" text="Random No"/>
  112. <Cell col="7" text="약어"/>
  113. <Cell col="8" text="종료일"/>
  114. <Cell col="9" text="진료/입원일"/>
  115. <Cell col="10" text="입/외"/>
  116. </Band>
  117. <Band id="body">
  118. <Cell celltype="head"/>
  119. <Cell col="1" displaytype="checkbox" edittype="checkbox" text="bind:sel" expr="expr:sel == 'Y' || sel == 1 ? 1 : 0"/>
  120. <Cell col="2" text="bind:pid"/>
  121. <Cell col="3" text="bind:patnm"/>
  122. <Cell col="4" displaytype="date" text="bind:orddd" calendardisplaynulltype="nulltext"/>
  123. <Cell col="5" text="bind:screenno"/>
  124. <Cell col="6" text="bind:subtesteephosid"/>
  125. <Cell col="7" text="bind:subtesteephosnm"/>
  126. <Cell col="8" displaytype="date" text="bind:enddd" calendardisplaynulltype="nulltext"/>
  127. <Cell col="9" text="bind:indd" mask="yyyy-mm-dd"/>
  128. <Cell col="10" text="bind:ioflag"/>
  129. </Band>
  130. </Format>
  131. </Formats>
  132. </Grid>
  133. <Edit id="input3" taborder="9" class="input_default" position="absolute 685 324 785 343" autoselect="true"/>
  134. <Calendar id="ipt_enddd" taborder="11" class="input_default" position="absolute 685 402 785 421" autoselect="true"/>
  135. <Button id="btn_savexls" taborder="12" text="피험자리스트 Excel저장" class="btn7" position="absolute 434 219 591 238" onclick="btn_savexls_onclick"/>
  136. <Static id="caption10" position="absolute 615 418 715 438"/>
  137. <Static id="caption11" text="연구리스트" class="tit_2" position="absolute 0 0 145 21"/>
  138. <Shape id="line9" class="line_10" position="absolute 0 16 785 22"/>
  139. <Button id="btn_save" taborder="13" text="저장" class="btn4" position="absolute 673 459 729 481" onclick="btn_save_onclick"/>
  140. <Button id="btn_cls" taborder="14" text="닫기" class="btn4" position="absolute 730 459 786 481" onclick="btn_cls_onclick"/>
  141. <Static id="inptmsg" position="absolute 400 460 665 480"/>
  142. <Button id="button2" taborder="15" text="종료" class="btn4" visible="false" position="absolute 452 460 508 482" onclick="button2_onclick"/>
  143. <Button id="btn_del" taborder="16" text="삭제" class="btn4" visible="false" position="absolute 395 460 451 482"/>
  144. <Button id="button1" taborder="17" text="인터넷 지원자조회" class="btn3" position="absolute 255 460 391 482"/>
  145. <Button id="button3" taborder="18" text="전송" class="btn3" position="absolute 195 460 251 482" onclick="button3_onclick"/>
  146. <Calendar id="input6" taborder="19" class="input_s_essential" position="absolute 87 461 185 480" autoselect="true"/>
  147. <Static id="caption9" text="전송일자 :" class="search_name" position="absolute 5 462 96 479"/>
  148. <Radio id="radio1" taborder="10" codecolumn="codecolumn" datacolumn="datacolumn" position="absolute 595 424 780 447" columncount="-1" rowcount="-1">
  149. <Dataset id="innerdataset">
  150. <ColumnInfo>
  151. <Column id="codecolumn"/>
  152. <Column id="datacolumn"/>
  153. </ColumnInfo>
  154. <Rows>
  155. <Row>
  156. <Col id="codecolumn">I</Col>
  157. <Col id="datacolumn">입원</Col>
  158. </Row>
  159. <Row>
  160. <Col id="codecolumn">O</Col>
  161. <Col id="datacolumn">외래</Col>
  162. </Row>
  163. <Row>
  164. <Col id="codecolumn">C</Col>
  165. <Col id="datacolumn">입원-&gt;외래</Col>
  166. </Row>
  167. </Rows>
  168. </Dataset>
  169. </Radio>
  170. </Layout>
  171. </Layouts>
  172. <Objects>
  173. <Dataset id="ds_main_subjlist_item" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  174. <ColumnInfo>
  175. <Column id="subjno" type="STRING" size="256" sumtext="과제번호"/>
  176. <Column id="subjid" type="STRING" size="256" sumtext="과제ID"/>
  177. <Column id="stdyno" type="STRING" size="256" sumtext="연구번호"/>
  178. <Column id="itemnm" type="STRING" size="256" sumtext="품목명"/>
  179. <Column id="stdysubjnm" type="STRING" size="256" sumtext="연구과제명/조사제목"/>
  180. <Column id="stdytermfrom" type="STRING" size="256" sumtext="연구기간/FROM"/>
  181. <Column id="stdytermto" type="STRING" size="256" sumtext="연구기간/TO"/>
  182. <Column id="direccost" type="STRING" size="256" sumtext="직접비"/>
  183. <Column id="indireccost" type="STRING" size="256" sumtext="병원간접비"/>
  184. <Column id="crccindireccost" type="STRING" size="256" sumtext="CRCC간접비"/>
  185. <Column id="totstdycost" type="STRING" size="256" sumtext="총연구비"/>
  186. <Column id="clincflag" type="STRING" size="256" sumtext="임상구분/단계"/>
  187. <Column id="judgdg" type="STRING" size="256" sumtext="심사차수"/>
  188. <Column id="conpaperconacptdd" type="STRING" size="256" sumtext="계약서계약일자"/>
  189. <Column id="irbjudglistdd" type="STRING" size="256" sumtext="IRB심사목록일자"/>
  190. <Column id="subjendyn" type="STRING" size="256" sumtext="과제종료여부"/>
  191. <Column id="subjenddd" type="STRING" size="256" sumtext="과제종료일자"/>
  192. <Column id="allidxcase" type="STRING" size="256" sumtext="전체증례수"/>
  193. <Column id="roothospidxcasecnt" type="STRING" size="256" sumtext="본원증례수"/>
  194. <Column id="chrgfoodyn" type="STRING" size="256" sumtext="식대지원여부"/>
  195. <Column id="roomfeeyn" type="STRING" size="256" sumtext="병실료지원여부"/>
  196. <Column id="carecureyn" type="STRING" size="256" sumtext="간호처치료지원여부"/>
  197. <Column id="medfeeyn" type="STRING" size="256" sumtext="진찰료지원여부"/>
  198. <Column id="reqphos" type="STRING" size="256" sumtext="의뢰자ID"/>
  199. <Column id="reqnm" type="STRING" size="256" sumtext="의뢰자(회사)명"/>
  200. <Column id="ioflag" type="STRING" size="256" sumtext="원내원외구분"/>
  201. <Column id="outerpharmnm" type="STRING" size="256" sumtext="외부약국명"/>
  202. <Column id="outerpharmtel" type="STRING" size="256" sumtext="외부약국연락처"/>
  203. <Column id="mngtpharmstnm" type="STRING" size="256" sumtext="관리약사명"/>
  204. <Column id="crcnm" type="STRING" size="256" sumtext="CRC명"/>
  205. <Column id="crctel" type="STRING" size="256" sumtext="CRC연락처"/>
  206. <Column id="cranm" type="STRING" size="256" sumtext="CRA명"/>
  207. <Column id="cratel" type="STRING" size="256" sumtext="CRA연락처"/>
  208. <Column id="respstdynm" type="STRING" size="256" sumtext="책임연구자"/>
  209. <Column id="pid" type="STRING" size="256" sumtext="환자번호"/>
  210. <Column id="empid" type="STRING" size="256" sumtext="시험자ID"/>
  211. <Column id="empnm" type="STRING" size="256" sumtext="시험자명"/>
  212. </ColumnInfo>
  213. </Dataset>
  214. <Dataset id="ds_main_testeelist_item" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false" oncolumnchanged="ds_main_testeelist_item_oncolumnchanged">
  215. <ColumnInfo>
  216. <Column id="sel" type="STRING" size="256" sumtext="등록번호"/>
  217. <Column id="pid" type="STRING" size="256" sumtext="등록번호"/>
  218. <Column id="patnm" type="STRING" size="256" sumtext="환자명"/>
  219. <Column id="orddd" type="STRING" size="256" sumtext="입원/등록일자"/>
  220. <Column id="screenno" type="STRING" size="256" sumtext="screenno"/>
  221. <Column id="subtesteephosid" type="STRING" size="256" sumtext="피험자ID"/>
  222. <Column id="subtesteephosnm" type="STRING" size="256" sumtext="피험자명"/>
  223. <Column id="enddd" type="STRING" size="256" sumtext="종료일자"/>
  224. <Column id="ioflag" type="STRING" size="256" sumtext="종료일자"/>
  225. <Column id="pamorddd" type="STRING" size="256" sumtext="원무정보"/>
  226. </ColumnInfo>
  227. </Dataset>
  228. <Dataset id="ds_main_baseinfo_testeeinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  229. <ColumnInfo>
  230. <Column id="pid" type="STRING" size="256"/>
  231. <Column id="patnm" type="STRING" size="256"/>
  232. <Column id="orddd" type="STRING" size="256"/>
  233. <Column id="subtesteephosid" type="STRING" size="256"/>
  234. <Column id="subtesteephosnm" type="STRING" size="256"/>
  235. <Column id="enddd" type="STRING" size="256"/>
  236. <Column id="screenno" type="STRING" size="256"/>
  237. <Column id="ioflag" type="STRING" size="256"/>
  238. <Column id="indd" type="STRING" size="256"/>
  239. </ColumnInfo>
  240. <Rows>
  241. <Row>
  242. <Col id="pid"/>
  243. <Col id="patnm"/>
  244. <Col id="orddd"/>
  245. <Col id="subtesteephosid"/>
  246. <Col id="subtesteephosnm"/>
  247. <Col id="enddd"/>
  248. <Col id="screenno"/>
  249. <Col id="ioflag">0</Col>
  250. <Col id="indd"/>
  251. </Row>
  252. </Rows>
  253. </Dataset>
  254. <Dataset id="ds_send_smartdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  255. <ColumnInfo>
  256. <Column id="pid" type="STRING" size="256"/>
  257. <Column id="screenno" type="STRING" size="256"/>
  258. <Column id="smartdate" type="STRING" size="256"/>
  259. </ColumnInfo>
  260. <Rows>
  261. <Row>
  262. <Col id="pid"/>
  263. <Col id="screenno"/>
  264. <Col id="smartdate"/>
  265. </Row>
  266. </Rows>
  267. </Dataset>
  268. <Dataset id="ds_main_paminfo_patinfolist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  269. <ColumnInfo>
  270. <Column id="pid" type="STRING" size="256" sumtext="등록번호"/>
  271. <Column id="hngnm" type="STRING" size="256" sumtext="환자명"/>
  272. <Column id="rrgstno1" type="STRING" size="256" sumtext="주민번호1"/>
  273. <Column id="rrgstno2" type="STRING" size="256" sumtext="주민번호2"/>
  274. <Column id="sex" type="STRING" size="256" sumtext="성별"/>
  275. <Column id="age" type="STRING" size="256" sumtext="나이"/>
  276. <Column id="hometel" type="STRING" size="256" sumtext="연락처"/>
  277. <Column id="mpphontel" type="STRING" size="256" sumtext="휴대폰"/>
  278. <Column id="zipcd1" type="STRING" size="256" sumtext="우편번호1"/>
  279. <Column id="zipcd2" type="STRING" size="256" sumtext="우편번호2"/>
  280. <Column id="zipcdseq" type="INT" size="256" sumtext="우편번호일련번호"/>
  281. <Column id="addr" type="STRING" size="256" sumtext="주소"/>
  282. <Column id="detladdr" type="STRING" size="256" sumtext="상세주소"/>
  283. <Column id="email" type="STRING" size="256" sumtext="EMail"/>
  284. <Column id="dethdd" type="STRING" size="256" sumtext="사망일자"/>
  285. <Column id="dethresn" type="STRING" size="256" sumtext="사망사유"/>
  286. </ColumnInfo>
  287. </Dataset>
  288. <Dataset id="ds_main_paminfo_list" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  289. <Dataset id="ds_send_srchdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  290. <ColumnInfo>
  291. <Column id="subjno" type="STRING" size="256"/>
  292. <Column id="srchempno" type="STRING" size="256"/>
  293. <Column id="srchsubjno" type="STRING" size="256"/>
  294. <Column id="srchflag" type="STRING" size="256"/>
  295. <Column id="srchsubjendyn" type="STRING" size="256"/>
  296. <Column id="pid" type="STRING" size="256"/>
  297. </ColumnInfo>
  298. <Rows>
  299. <Row>
  300. <Col id="subjno"/>
  301. <Col id="srchempno"/>
  302. <Col id="srchsubjno"/>
  303. <Col id="srchflag">1</Col>
  304. <Col id="srchsubjendyn"/>
  305. <Col id="pid"/>
  306. </Row>
  307. </Rows>
  308. </Dataset>
  309. <Dataset id="ds_send_data" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  310. <ColumnInfo>
  311. <Column id="testeedata" type="STRING" size="256"/>
  312. <Column id="subjno" type="STRING" size="256"/>
  313. </ColumnInfo>
  314. <Rows>
  315. <Row>
  316. <Col id="testeedata"/>
  317. <Col id="subjno"/>
  318. </Row>
  319. </Rows>
  320. </Dataset>
  321. <Dataset id="ds_main_patinpt" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  322. <ColumnInfo>
  323. <Column id="indd" type="STRING" size="256" sumtext="입원일자"/>
  324. </ColumnInfo>
  325. </Dataset>
  326. <Dataset id="ds_msg" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  327. <ColumnInfo>
  328. <Column id="msg" type="STRING" size="256"/>
  329. </ColumnInfo>
  330. <Rows>
  331. <Row>
  332. <Col id="msg"/>
  333. </Row>
  334. </Rows>
  335. </Dataset>
  336. <Dataset id="ds_temp_ret_item" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  337. <ColumnInfo>
  338. <Column id="count" type="INT" size="256" sumtext="실행건수"/>
  339. <Column id="errmsg" type="STRING" size="256" sumtext="에러메세지"/>
  340. </ColumnInfo>
  341. </Dataset>
  342. <Dataset id="ds_patinfolist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  343. </Objects>
  344. <Bind>
  345. <BindItem id="item0" compid="input17" propid="value" datasetid="ds_main_baseinfo_testeeinfo" columnid="pid"/>
  346. <BindItem id="item1" compid="input1" propid="value" datasetid="ds_main_baseinfo_testeeinfo" columnid="patnm"/>
  347. <BindItem id="item2" compid="input2" propid="value" datasetid="ds_main_baseinfo_testeeinfo" columnid="orddd"/>
  348. <BindItem id="item3" compid="input3" propid="value" datasetid="ds_main_baseinfo_testeeinfo" columnid="screenno"/>
  349. <BindItem id="item4" compid="input4" propid="value" datasetid="ds_main_baseinfo_testeeinfo" columnid="subtesteephosid"/>
  350. <BindItem id="item5" compid="input5" propid="value" datasetid="ds_main_baseinfo_testeeinfo" columnid="subtesteephosnm"/>
  351. <BindItem id="item6" compid="ipt_enddd" propid="value" datasetid="ds_main_baseinfo_testeeinfo" columnid="enddd"/>
  352. <BindItem id="item7" compid="radio1" propid="value" datasetid="ds_main_baseinfo_testeeinfo" columnid="ioflag"/>
  353. <BindItem id="item8" compid="input6" propid="value" datasetid="ds_send_smartdata" columnid="smartdate"/>
  354. <BindItem id="item9" compid="inptmsg" propid="text" datasetid="ds_msg" columnid="msg"/>
  355. </Bind>
  356. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  357. * System Name :
  358. * Job Name :
  359. * Creator :
  360. * Make Date : 2015-11-13
  361. * Description :
  362. *---------------------------------------------------------------------------------------
  363. * Modify Date Modifier Modify Description
  364. *---------------------------------------------------------------------------------------
  365. * 2015-11-13 Live Converter TF->XP
  366. *
  367. *---------------------------------------------------------------------------------------
  368. ****************************************************************************************/
  369. include "com_commonxp::comm_main.xjs";
  370. function SMATP00100_oninit(obj:Form, e:InitEventInfo)
  371. {
  372. frmf_initForm(obj);
  373. }
  374. function SMATP00100_onload(obj:Form, e:LoadEventInfo)
  375. {
  376. grdf_initGrid(grd_subjlist);
  377. grdf_setRowTypeIcon(grd_subjlist, 0);
  378. grdf_initGrid(grd_testeelist);
  379. grdf_setRowTypeIcon(grd_testeelist, 0);
  380. ds_main_baseinfo_testeeinfo.setColumn(0, "pid", appf_getPatientId());
  381. ds_main_baseinfo_testeeinfo.setColumn(0, "orddd", utlf_getCurrentDate());
  382. ds_main_baseinfo_testeeinfo.setColumn(0, "enddd", "99991231");
  383. var oParam = {};
  384. oParam.id = "TRATP00102";
  385. oParam.service = "subtesteeapp.SubTestee";
  386. oParam.method = "reqGetPatInfo";
  387. oParam.inds = "req=ds_main_baseinfo_testeeinfo";
  388. oParam.outds = "ds_main_paminfo_patinfolist=patinfolist";
  389. oParam.async = false;
  390. //oParam.callback = "cf_TRATP00102";
  391. tranf_submit(oParam);
  392. dsf_setFixVal(ds_main_paminfo_patinfolist, "dethdd:-,dethresn:-");
  393. var pamInfoCvs = sysf_getGlobalVariable("paminfo");
  394. if(!utlf_isNull(pamInfoCvs))
  395. {
  396. ds_main_paminfo_list.clearData();
  397. dsf_setCSVToDs("ds_main_paminfo_list", pamInfoCvs);
  398. var ioflag = ds_main_paminfo_list.getColumn(0, "ioflag");
  399. ds_main_baseinfo_testeeinfo.setColumn(0, "ioflag", ioflag);
  400. }
  401. ds_main_baseinfo_testeeinfo.setColumn(0, "pid", ds_main_paminfo_patinfolist.getColumn(0, "pid"));
  402. ds_main_baseinfo_testeeinfo.setColumn(0, "patnm", ds_main_paminfo_patinfolist.getColumn(0, "hngnm"));
  403. ds_send_srchdata.setColumn(0, "pid", appf_getPatientId());
  404. var oParam = {};
  405. oParam.id = "TRATB00104";
  406. oParam.service = "crccbaseapp.CrccBase";
  407. oParam.method = "reqGetUserSubjectList";
  408. oParam.inds = "req=ds_send_srchdata";
  409. oParam.outds = "ds_main_subjlist_item=subjinfo";
  410. oParam.async = false;
  411. //oParam.callback = "cf_TRATB00104";
  412. tranf_submit(oParam);
  413. if ( !utlf_isNull(appf_getPatientId()))
  414. {
  415. if ( ds_main_subjlist_item.lookup("pid", appf_getPatientId(), "pid") == appf_getPatientId() )
  416. {
  417. for (var i = 0; i < ds_main_subjlist_item.rowcount; i++)
  418. {
  419. if ( ds_main_subjlist_item.getColumn(i, "pid") == appf_getPatientId() )
  420. {
  421. ds_main_subjlist_item.rowposition = i;
  422. ds_send_data.setColumn(0, "subjno", ds_main_subjlist_item.getColumn(ds_main_subjlist_item.rowposition, "subjid"));
  423. ds_send_srchdata.setColumn(0, "subjno", ds_main_subjlist_item.getColumn(ds_main_subjlist_item.rowposition, "subjid"));
  424. var oParam = {};
  425. oParam.id = "TRATP00101";
  426. oParam.service = "subtesteeapp.SubTestee";
  427. oParam.method = "reqGetSubTesteeList";
  428. oParam.inds = "req=ds_send_srchdata";
  429. oParam.outds = "ds_main_testeelist_item=item";
  430. oParam.async = false;
  431. oParam.callback = "cf_TRATP00101";
  432. tranf_submit(oParam);
  433. return;
  434. }
  435. }
  436. }
  437. }
  438. ds_send_smartdata.setColumn(0, "smartdate", utlf_getCurrentDate());
  439. }
  440. function ds_main_testeelist_item_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  441. {
  442. if(e.columnid == "sel")
  443. {
  444. obj.setColumn(e.row, "sel", (e.newvalue == "Y" || e.newvalue == 1) ? "Y" : "N");
  445. }
  446. }
  447. function grd_subjlist_oncellclick(obj:Grid, e:GridClickEventInfo)
  448. {
  449. var row = ds_main_subjlist_item.rowposition;
  450. ds_send_data.setColumn(0, "subjno", ds_main_subjlist_item.getColumn(row, "subjid"));
  451. ds_send_srchdata.setColumn(0, "subjno", ds_main_subjlist_item.getColumn(row, "subjid"));
  452. var oParam = {};
  453. oParam.id = "TRATP00101";
  454. oParam.service = "subtesteeapp.SubTestee";
  455. oParam.method = "reqGetSubTesteeList";
  456. oParam.inds = "req=ds_send_srchdata";
  457. oParam.outds = "ds_main_testeelist_item=item";
  458. oParam.async = false;
  459. oParam.callback = "cf_TRATP00101";
  460. tranf_submit(oParam);
  461. }
  462. function grd_testeelist_oncellclick(obj:Grid, e:GridClickEventInfo)
  463. {
  464. var terows = ds_main_testeelist_item.rowposition;
  465. for ( var i = 0; i < ds_main_testeelist_item.rowcount; i++)
  466. {
  467. if( terows == i )
  468. {
  469. ds_main_testeelist_item.setColumn(i, "sel", "Y");
  470. }
  471. else
  472. {
  473. ds_main_testeelist_item.setColumn(i, "sel", "N");
  474. }
  475. }
  476. ds_main_baseinfo_testeeinfo.copyRow(0, ds_main_testeelist_item, terows);
  477. fGetInptInfo("A");
  478. if(ds_main_baseinfo_testeeinfo.rowposition == 0) //if ( model.getValue("/root/main/baseinfo/testeeinfo") == "" ) {
  479. {
  480. ds_main_baseinfo_testeeinfo.setColumn(0, "enddd", ds_main_testeelist_item.getColumn(terows, "enddd"));
  481. }
  482. }
  483. function fGetInptInfo(flag)
  484. {
  485. var oParam = {};
  486. oParam.id = "TRATP00103";
  487. oParam.service = "subtesteeapp.SubTestee";
  488. oParam.method = "reqGetPatInfoInpt";
  489. oParam.inds = "req=ds_main_baseinfo_testeeinfo";
  490. oParam.outds = "ds_main_patinpt=patinpt";
  491. oParam.async = false;
  492. //oParam.callback = "cf_TRATP00103";
  493. tranf_submit(oParam);
  494. if ( utlf_isNull(ds_main_patinpt.getColumn(0, "indd")))
  495. {
  496. if ( flag == "B")
  497. {
  498. ds_main_baseinfo_testeeinfo.setColumn(0, "orddd", utlf_getCurrentDate());
  499. }
  500. ds_msg.setColumn(0, "msg", "");
  501. }
  502. else
  503. {
  504. ds_main_baseinfo_testeeinfo.setColumn(0, "orddd", ds_main_patinpt.getColumn(0, "indd"));
  505. ds_msg.setColumn(0, "msg", "현재 임상시험 유형의 재원환자입니다,입원일:"+ds_main_patinpt.getColumn(0, "indd"));
  506. }
  507. }
  508. function btn_savexls_onclick(obj:Button, e:ClickEventInfo)
  509. {
  510. grdf_exportExcel(grd_testeelist, "excel", "SheetName", "true", "", "");
  511. }
  512. function button61_onclick(obj:Button, e:ClickEventInfo)
  513. {
  514. frmf_modal("SPPMC02500", "SPPMC02500", "", "", "", "", "", "", "", "", "", "", "M");
  515. ds_main_baseinfo_testeeinfo.setColumn(0, "pid", ds_patinfolist.getColumn(0, "pid"));
  516. ds_main_baseinfo_testeeinfo.setColumn(0, "patnm", ds_patinfolist.getColumn(0, "hngnm"));;
  517. fGetInptInfo("B");
  518. }
  519. function button3_onclick(obj:Button, e:ClickEventInfo)
  520. {
  521. var check = "";
  522. for ( var i = 0; i < ds_main_testeelist_item.rowcount; i++)
  523. {
  524. if(ds_main_testeelist_item.getColumn(i, "sel") == "Y")
  525. {
  526. if(!utlf_isNull(ds_main_testeelist_item.getColumn(i, "screenno")) && ds_main_testeelist_item.getColumn(i, "screenno") != "-")
  527. {
  528. ds_send_smartdata.setColumn(0, "pid", ds_main_testeelist_item.getColumn(i, "pid"));
  529. ds_send_smartdata.setColumn(0, "screenno", ds_main_testeelist_item.getColumn(i, "screenno"));
  530. var oParam = {};
  531. oParam.id = "TRATP00201";
  532. oParam.service = "subtesteeapp.SubTestee";
  533. oParam.method = "reqSetSmartData";
  534. oParam.inds = "req=ds_send_smartdata";
  535. oParam.outds = "";
  536. oParam.async = false;
  537. //oParam.callback = "cf_TRATP00201";
  538. tranf_submit(oParam);
  539. }
  540. else
  541. {
  542. check = "Y";
  543. }
  544. }
  545. }
  546. if(check == "Y")
  547. {
  548. sysf_messageBox("Screening No 가 없는 환자가 존재합니다.","I999");
  549. }
  550. }
  551. function button2_onclick(obj:Button, e:ClickEventInfo)
  552. {
  553. if ( caption7.visible == false )
  554. {
  555. caption7.visible = true;
  556. ipt_enddd.visible = true;
  557. }
  558. else
  559. {
  560. caption7.visible = false;
  561. ipt_enddd.visible = false;
  562. }
  563. }
  564. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  565. {
  566. if ( utlf_isNull(ds_main_baseinfo_testeeinfo.getColumn(0, "pid")))
  567. {
  568. sysf_messageBox("등록번호를 ", "C001");
  569. return;
  570. }
  571. if ( utlf_isNull(ds_main_baseinfo_testeeinfo.getColumn(0, "orddd")))
  572. {
  573. sysf_messageBox("등록일을 ", "C001");
  574. return;
  575. }
  576. if ( utlf_isNull(ds_send_data.getColumn(0, "subjno")))
  577. {
  578. sysf_messageBox("과제를 ", "C002");
  579. return;
  580. }
  581. if ( utlf_isNull(ds_main_baseinfo_testeeinfo.getColumn(0, "screenno")))
  582. {
  583. sysf_messageBox("Screening No를 ", "C001");
  584. return;
  585. }
  586. if ( utlf_isNull(ds_main_baseinfo_testeeinfo.getColumn(0, "subtesteephosid")))
  587. {
  588. sysf_messageBox("Random No를 ", "C001");
  589. return;
  590. }
  591. if ( utlf_isNull(ds_main_baseinfo_testeeinfo.getColumn(0, "ioflag")))
  592. {
  593. sysf_messageBox("입원/외래 구분를 ", "C002");
  594. return;
  595. }
  596. if ( utlf_isNull(ds_main_baseinfo_testeeinfo.getColumn(0, "enddd")))
  597. {
  598. ds_main_baseinfo_testeeinfo.setColumn(0, "enddd", "99991231");
  599. }
  600. else
  601. {
  602. if ( ds_main_baseinfo_testeeinfo.getColumn(0, "enddd") < ds_main_baseinfo_testeeinfo.getColumn(0, "orddd") )
  603. {
  604. sysf_messageBox("시작일이 종료일보다 큽니다.", "I007");
  605. return;
  606. }
  607. }
  608. var sTesteeid = ds_main_baseinfo_testeeinfo.getColumn(0, "subtesteephosid");
  609. if ( !utlf_isNull(sTesteeid))
  610. {
  611. if ( ds_main_testeelist_item.lookup("subtesteephosid", sTesteeid, "subtesteephosid") == sTesteeid && ds_main_testeelist_item.lookup("subtesteephosid", sTesteeid, "pid") != ds_main_baseinfo_testeeinfo.getColumn(0, "pid") )
  612. {
  613. sysf_messageBox("동일한 Random No가 존재합니다. Random No를", "I007");
  614. return;
  615. }
  616. }
  617. dsf_createDs("ds_send_data_testeedata");
  618. ds_send_data_testeedata.copyData(ds_main_baseinfo_testeeinfo);
  619. dsf_setDefaultVal(ds_send_data_testeedata, "subjno:"+ds_send_data.getColumn(0,"subjno"));
  620. var oParam = {};
  621. oParam.id = "TXATP00101";
  622. oParam.service = "subtesteeapp.SubTestee";
  623. oParam.method = "reqExeSubTestee";
  624. oParam.inds = "req=ds_send_data_testeedata";
  625. oParam.outds = "ds_temp_ret_item=item";
  626. oParam.async = false;
  627. //oParam.callback = "cf_TXATP00101";
  628. tranf_submit(oParam);
  629. if ( parseInt(ds_temp_ret_item.getColumn(0, "count")) > 0 )
  630. {
  631. sysf_messageBox("피험자 등록이", "I002");
  632. var oParam = {};
  633. oParam.id = "TRATP00101";
  634. oParam.service = "subtesteeapp.SubTestee";
  635. oParam.method = "reqGetSubTesteeList";
  636. oParam.inds = "req=ds_send_srchdata";
  637. oParam.outds = "ds_main_testeelist_item=item";
  638. oParam.async = false;
  639. oParam.callback = "cf_TRATP00101";
  640. tranf_submit(oParam);
  641. }
  642. else
  643. {
  644. sysf_messageBox(ds_temp_ret_item.getColumn(0, "errmsg"), "C");
  645. }
  646. ds_main_baseinfo_testeeinfo.setColumn(0, "pid","");
  647. ds_main_baseinfo_testeeinfo.setColumn(0, "patnm","");
  648. ds_main_baseinfo_testeeinfo.setColumn(0, "orddd","");
  649. ds_main_baseinfo_testeeinfo.setColumn(0, "screenno","");
  650. ds_main_baseinfo_testeeinfo.setColumn(0, "subtesteephosid","");
  651. ds_main_baseinfo_testeeinfo.setColumn(0, "subtesteephosnm","");
  652. ds_main_baseinfo_testeeinfo.setColumn(0, "enddd","");
  653. ds_main_baseinfo_testeeinfo.setColumn(0, "ioflag","");
  654. }
  655. function btn_cls_onclick(obj:Button, e:ClickEventInfo)
  656. {
  657. this.close();
  658. }
  659. function cf_TRATP00101(sSvcId, nErrorCode, sErrorMsg)
  660. {
  661. if(nErrorCode < 0) return;
  662. ds_main_testeelist_item.updatecontrol = false;
  663. dsf_setDefaultVal(ds_main_testeelist_item, "sel:N,ioflag:");
  664. ds_main_testeelist_item.updatecontrol = true;
  665. }]]></Script>
  666. </Form>
  667. </FDL>