SPMRI08100_열람서약서.xfdl 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.4">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPMRI08100" position="absolute 0 0 800 805" titletext="열람서약서" oninit="SPMRI08100_oninit" onload="SPMRI08100_onload" onclose="SPMRI08100_onclose">
  5. <Layouts>
  6. <Layout>
  7. <Tab position="absolute 0 -15 798 732" id="switch1" class="sw_no_border" style="buttonbackground:0,0;background:0,0;">
  8. <Tabpages>
  9. <Tabpage text="" id="view">
  10. <Layouts>
  11. <Layout width="798" height="732">
  12. <Static text="작 성 일 자 :" position="absolute 425 616 530 632" align="align:center middle;" id="caption1" class="tit_2"/>
  13. <Static text="부서 / 직종 :" position="absolute 425 651 530 667" align="align:center middle;" id="caption2" class="tit_2"/>
  14. <Static text="성 명 :" position="absolute 425 682 530 698" align="align:center middle;" id="caption3" class="tit_2"/>
  15. <MaskEdit readonly="true" position="absolute 530 613 630 632" align="align:left middle;" id="output1" class="output" mask="####-##-##"/>
  16. <Edit readonly="true" position="absolute 530 648 630 667" align="align:left middle;" id="output2" class="output"/>
  17. <Edit readonly="true" position="absolute 530 679 630 698" align="align:left middle;" id="output3" class="output"/>
  18. <Static text="(서명)" position="absolute 630 678 670 698" align="align:center middle;" id="caption4"/>
  19. <CheckBox position="absolute 423 712 443 732" id="bool1" onchanged="switch1_view_bool1_onchanged"/>
  20. <Static text="위의 내용에 동의합니다." position="absolute 445 712 584 732" align="align:center middle;" id="caption5"/>
  21. <Button position="absolute 679 710 759 732" id="btn_sign" class="btn4" visible="false" text="인증저장" onclick="switch1_view_btn_sign_onclick"/>
  22. <Static text="열람서약서" position="absolute 0 0 199 16" id="caption6" class="tit_2"/>
  23. <Static text="신 청 번 호 :" position="absolute 425 586 530 602" align="align:center middle;" id="caption7" class="tit_2"/>
  24. <Edit readonly="true" position="absolute 530 583 630 602" align="align:left middle;" id="output4" class="output"/>
  25. <ImageViewer position="absolute 170 695 260 725" id="img1"/>
  26. <ImageViewer position="absolute 630 672 760 702" id="IMG_52" visible="true" image="URL('/himed2/webapps/hit/web/xrw/.live?submit_id=TRMRF01212&amp;amp;business_id=emr&amp;amp;macaddr=0017a444a7ff&amp;amp;imgecd=0000983003')" style="background:#ffffffff stretch;border:1 solid #e5e5e5ff ;cursor:auto;"/>
  27. <Static text="개인 의료정보 이용 서약서" position="absolute 270 60 545 115" id="caption8" style="font:Dotum,16,bold;"/>
  28. <Static text=" 정보통신망 이용 촉진 및 정보보호 등에 관한 법률에 의거하여 법률에 특별한 규정이 있는 경우를 &#13;&#10;제외하고 환자의 동의 없이는 개인정보를 사용하거나 제3자에게 제공할 수 없습니다. " position="absolute 25 160 790 225" id="caption9" style="font:Dotum,13;"/>
  29. <Static text="환자 개인정보를 외부에 제공할 경우에는 반드시 환자에게 서면 동의를 받아야 합니다." position="absolute 35 225 780 245" id="caption10" style="font:Dotum,13,underline bold;"/>
  30. <Static text=" 의료정보에서 제공받은 자료는 타인이나 외부에 누설하여서는 아니 되며, 의료정보를 이용함에 있&#13;&#10;어서 명시된 목적 외에는 이용할 수 없으며, 또한 이용이 종료된 정보는 지체 없이 폐기/파기하여야&#13;&#10;합니다. &#13;&#10; 본인은 위의 내용을 충분히 숙지하고 이에 서명, 날인하며 이를 위반하였을 때에는 관련 법령 및 병&#13;&#10;원의 제 규정에 따라 민,형사상의 책임 뿐만 아니라 제반 손해 배상의 책임 등을 감수할 것이&#13;&#10;며, 병원에 끼친 손해에 대해 지체 없이 변상, 복구할 것을 서약합니다." position="absolute 25 255 790 390" id="caption11" style="font:Dotum,13;"/>
  31. <Static text="▶ 관리되지 않은 ID, 패스워드의 유출로 인한 사고 발생시의 책임은 사용자 본인에게 있습니다" position="absolute 20 405 785 425" id="caption12" style="color:#ff0000ff;font:Dotum,13,bold underline;"/>
  32. </Layout>
  33. </Layouts>
  34. </Tabpage>
  35. <Tabpage text="" id="scan_img">
  36. <Layouts>
  37. <Layout>
  38. <ActiveX position="absolute 0 0 775 705" id="obj_scan" progid="{5b40100e-99bc-4194-ac59-aa3ef8526dc9}" MouseDown="switch1_scan_img_obj_scan_MouseDown" DblClick="switch1_scan_img_obj_scan_DblClick" windowed="true"/>
  39. </Layout>
  40. </Layouts>
  41. </Tabpage>
  42. </Tabpages>
  43. </Tab>
  44. </Layout>
  45. </Layouts>
  46. <Objects>
  47. <Dataset id="ds_main_userinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  48. <ColumnInfo>
  49. <Column id="appno" type="STRING" size="256"/>
  50. <Column id="curdd" type="STRING" size="256"/>
  51. <Column id="deptnm" type="STRING" size="256"/>
  52. <Column id="usernm" type="STRING" size="256"/>
  53. </ColumnInfo>
  54. <Rows>
  55. <Row>
  56. <Col id="appno"/>
  57. <Col id="curdd"/>
  58. <Col id="deptnm"/>
  59. <Col id="usernm"/>
  60. </Row>
  61. </Rows>
  62. </Dataset>
  63. <Dataset id="ds_main" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  64. <ColumnInfo>
  65. <Column id="bcheck" type="STRING" size="256"/>
  66. </ColumnInfo>
  67. <Rows>
  68. <Row>
  69. <Col id="bcheck"/>
  70. </Row>
  71. </Rows>
  72. </Dataset>
  73. <Dataset id="ds_send_cond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  74. <ColumnInfo>
  75. <Column id="userid" type="STRING" size="256"/>
  76. <Column id="dutplcecd" type="STRING" size="256"/>
  77. </ColumnInfo>
  78. <Rows>
  79. <Row>
  80. <Col id="userid"/>
  81. <Col id="dutplcecd"/>
  82. </Row>
  83. </Rows>
  84. </Dataset>
  85. <Dataset id="ds_main_jobkindinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  86. </Objects>
  87. <Bind>
  88. <BindItem id="item0" compid="switch1.view.output4" propid="value" datasetid="ds_main_userinfo" columnid="appno"/>
  89. <BindItem id="item1" compid="switch1.view.output1" propid="value" datasetid="ds_main_userinfo" columnid="curdd"/>
  90. <BindItem id="item2" compid="switch1.view.output2" propid="value" datasetid="ds_main_userinfo" columnid="deptnm"/>
  91. <BindItem id="item3" compid="switch1.view.output3" propid="value" datasetid="ds_main_userinfo" columnid="usernm"/>
  92. <BindItem id="item4" compid="switch1.view.bool1" propid="value" datasetid="ds_main" columnid="bcheck"/>
  93. </Bind>
  94. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  95. * System Name : SPMRI08100_열람서약서
  96. * Job Name : EMR
  97. * Creator : jaewon.choe
  98. * Make Date : 2014-10-30
  99. * Description : 2011.03.30 commit
  100. 수정이력 없음. 사용하지 않음!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  101. 호출하는 화면 SMMRI08000_의무기록열람신청및조회
  102. *---------------------------------------------------------------------------------------
  103. * Modify Date Modifier Modify Description
  104. *---------------------------------------------------------------------------------------
  105. * 2014-10-30 Live Converter TF->XP
  106. *
  107. *---------------------------------------------------------------------------------------
  108. ****************************************************************************************/
  109. //=======================================================================================
  110. // Lib Include
  111. //---------------------------------------------------------------------------------------
  112. include "com_commonxp::comm_main.xjs"
  113. //=======================================================================================
  114. // Global Form Variable
  115. //---------------------------------------------------------------------------------------
  116. var arErrorCode = new HashArray();
  117. //=======================================================================================
  118. // Function
  119. //---------------------------------------------------------------------------------------
  120. /****************************************************************************************
  121. * Argument : 01.sKey : 코드아이디
  122. * : 02.sValue : 코드명
  123. * Description : 공통코드를 가져온다.
  124. ****************************************************************************************/
  125. function fGetDocData()
  126. {
  127. model.makeValue("/root/send/guidedocuflag", "R");
  128. if(submit("TRMRC02601")){
  129. rtfviewer.TextRtf = model.getValue("/root/main/guidedocuinfo/guidedocu/guidedocudata");
  130. rtfviewer.ReadOnly = "true";
  131. model.refresh();
  132. }
  133. }
  134. var downurl="";
  135. var gTimerID="";
  136. function fileload()
  137. {
  138. obj_scan.Load(downurl, 1);
  139. obj_scan.BestFit();
  140. window.clearInterval(gTimerID);
  141. }
  142. function fViewImg(url, localfilenm)
  143. {
  144. var imgeSavePath = "C:\\OCRMngt_ImgeFile\\";
  145. var fso = new ActiveXObject("Scripting.FileSystemObject");
  146. var check = 0;
  147. if (!(fso.FolderExists(imgeSavePath))){
  148. fso.CreateFolder(imgeSavePath);
  149. }else {
  150. var haveFile = fso.GetFolder(imgeSavePath);
  151. currFile = new Enumerator(haveFile.Files);
  152. for( ; !currFile.atEnd(); currFile.moveNext()){
  153. fso.DeleteFile(currFile.item().path, true);
  154. }
  155. }
  156. model.download(url, imgeSavePath+localfilenm, false);
  157. while (true){
  158. if(fso.FileExists(imgeSavePath+localfilenm)){
  159. break;
  160. }
  161. }
  162. downurl = imgeSavePath + localfilenm;
  163. gTimerID = window.setInterval( "fileload()", 200);
  164. }
  165. function fPreInit()
  166. {
  167. var scanimgyn = opener.frmf_getParameter("SMMRI09000_param_scanimgyn");
  168. if ( scanimgyn == "Y" ) //이미지 스캔 화면
  169. {
  170. var scansrc = opener.frmf_getParameter("SMMRI09000_param_scansrc");
  171. model.toggle("scan_img");
  172. var appno = opener.grd_readapplist.valueMatrix(opener.grd_readapplist.row, opener.grd_readapplist.colRef("appno"));//신청번호
  173. var appdd = opener.grd_readapplist.valueMatrix(opener.grd_readapplist.row, opener.grd_readapplist.colRef("appdd"));//작성일자
  174. var appnm = opener.grd_readapplist.valueMatrix(opener.grd_readapplist.row, opener.grd_readapplist.colRef("appnm"));//신청자
  175. var filenm = appno+"_"+appdd+"_"+appnm;
  176. fViewImg(scansrc, filenm);
  177. //obj_scan.Load(scansrc, 1);
  178. //obj_scan.BestFit();
  179. }
  180. }
  181. function fInitialize(){
  182. var scanimgyn = opener.frmf_getParameter("SMMRI09000_param_scanimgyn");
  183. if ( scanimgyn == "Y" ) //이미지 스캔 화면
  184. {
  185. //fPreInit에서 실행
  186. }
  187. else //서약서 화면
  188. {
  189. //model.toggle("view");
  190. switch1.tabindex = 0;
  191. ///////////////////////
  192. //서약서 인증 및 출력 시작
  193. var appno = "";
  194. var appdd = "";
  195. var appdeptnm = "";
  196. var appnm = "";
  197. var appdeptcd = "";
  198. var appid = "";
  199. var pledgeprntstatus = opener.frmf_getParameter("SMMRI09000_param_pledgeprnstatus");
  200. //열람승인화면에서 오픈
  201. if ( pledgeprntstatus == "E" )
  202. {
  203. appno = opener.grd_readapplist.valueMatrix(opener.grd_readapplist.row, opener.grd_readapplist.colRef("appno"));//신청번호
  204. appdd = opener.grd_readapplist.valueMatrix(opener.grd_readapplist.row, opener.grd_readapplist.colRef("appdd"));//작성일자
  205. appdeptnm = opener.grd_readapplist.labelMatrix(opener.grd_readapplist.row, opener.grd_readapplist.colRef("appdeptcd"));//신청과
  206. appnm = opener.grd_readapplist.valueMatrix(opener.grd_readapplist.row, opener.grd_readapplist.colRef("appnm"));//신청자
  207. appdeptcd = opener.grd_readapplist.valueMatrix(opener.grd_readapplist.row, opener.grd_readapplist.colRef("appdeptcd"));//신청과,코드
  208. appid = opener.grd_readapplist.valueMatrix(opener.grd_readapplist.row, opener.grd_readapplist.colRef("appid"));//신청자id
  209. model.setValue("/root/main/bcheck", "true");
  210. btn_sign.attribute("visibility") = "hidden"; //인증저장 버튼 숨김
  211. fSetSignImge(appid); //의사서명이미지 조회
  212. }
  213. else
  214. {
  215. appno = opener.frmf_getParameter("SPMRI08100_param_appno");
  216. appdd = opener.swh_app.readapp.grp_applist.opt_appdd.value;
  217. appdeptnm = opener.cmb_appdeptcd.text;
  218. appnm = opener.cmb_appid.text;
  219. appdeptcd = opener.cmb_appdeptcd.value;
  220. appid = opener.cmb_appid.value;
  221. }
  222. //조회 조건 저장, 신청자id, 부서코드
  223. ds_send_cond.setColumn(0, "userid", appid);
  224. ds_send_cond.setColumn(0, "dutplcecd", appdeptcd);
  225. //신청자의 직종 조회
  226. var oParam = {};
  227. oParam.id = "TRMRI08105";
  228. oParam.service = "recmngtapp.SystView";
  229. oParam.method = "reqGetJobkindnm";
  230. oParam.inds = "req=ds_send_cond";
  231. oParam.outds = "ds_main_jobkindinfo=jobkindinfo";
  232. oParam.async = false;
  233. oParam.callback = "cf_TRMRI08105";
  234. tranf_submit(oParam);
  235. if (arErrorCode.pop("TRMRI08105") > -1)
  236. {
  237. var jobkindnm = ds_main_jobkindinfo.getColumn(0, "jobkindnm");
  238. ds_main_userinfo.setColumn(0, "deptnm", appdeptnm+" / "+jobkindnm); //신청과 셋팅
  239. ds_main_userinfo.setColumn(0, "appno", appno); //신청번호 셋팅
  240. ds_main_userinfo.setColumn(0, "curdd", appdd); //신청일 셋팅
  241. ds_main_userinfo.setColumn(0, "usernm", appnm); //신청자 셋팅
  242. }
  243. var autoprintyn = opener.frmf_getParameter("SPMRI08100_param_autoprint");
  244. if ( autoprintyn == "Y" )
  245. {
  246. this.print();
  247. this.close();
  248. }
  249. }
  250. }
  251. //의사서명이미지 조회
  252. function fSetSignImge(userid)
  253. {
  254. model.setValue("/root/send/docinfo/userid", userid);
  255. submit("TRMRF01205");
  256. var ctrl = document.controls("IMG_52");
  257. if(ctrl == null)
  258. return;
  259. if(model.getValue("/root/hidden/docinfo/signimge") == "")
  260. return;
  261. ctrl.attribute("ref") = "/root/hidden/docinfo/signimge";
  262. setImageRefInstance("/root/hidden/docinfo/signimge");
  263. ctrl.refresh();
  264. IMG_52.attribute("visibility") = "visible";
  265. }
  266. //=======================================================================================
  267. // Transaction Callback
  268. //---------------------------------------------------------------------------------------
  269. /****************************************************************************************
  270. * Argument : 01.sSvcId : 서비스 ID
  271. * : 02.nErrorCode : 에러코드
  272. * : 03.sErrorMsg : 에러메시지
  273. * Description : tr_getCodeList의 콜백함수
  274. ****************************************************************************************/
  275. function cf_TRMRI08105(sSvcId, nErrorCode, sErrorMsg) {
  276. if(nErrorCode < 0) return;
  277. arErrorCode.push(sSvcId, nErrorCode);
  278. sysf_trace("***** cf_TRMRI08105 *****");
  279. }
  280. //=======================================================================================
  281. // Event
  282. //---------------------------------------------------------------------------------------
  283. /****************************************************************************************
  284. * Components :
  285. * Components ID : button5
  286. * Event : onlbuttonup
  287. * Argument : 01.obj : Object Event has occurred
  288. * : 02.e : Event Object
  289. * Description :
  290. ****************************************************************************************/
  291. function SPMRI08100_oninit(obj:Form, e:InitEventInfo)
  292. {
  293. frmf_initForm(obj);
  294. }
  295. function SPMRI08100_onload(obj:Form, e:LoadEventInfo)
  296. {
  297. fInitialize();
  298. }
  299. function SPMRI08100_onclose(obj:Form, e:CloseEventInfo)
  300. {
  301. fPreInit();
  302. }
  303. function switch1_view_bool1_onchanged(obj:CheckBox, e:CheckBoxChangeEventInfo)
  304. {
  305. var bcheck = model.getValue("/root/main/bcheck");
  306. if ( bcheck == "true" ) //동의하였으면..
  307. {
  308. btn_sign.attribute("visibility") = "visible";
  309. }
  310. }
  311. function switch1_view_btn_sign_onclick(obj:Button, e:ClickEventInfo)
  312. {
  313. var bcheck = model.getValue("/root/main/bcheck");
  314. if ( bcheck == "true" ) //동의하였으면..
  315. {
  316. var signrecinfo = model.instances(0).selectSingleNode("/root/remtmp/recinfo").xml;
  317. var sUserID = getUserInfo("userid");
  318. var signedrecinfo = zesfSignData(signrecinfo, sUserID, true);
  319. if ( signedrecinfo == "" )
  320. {
  321. var rtn = messageBox("인증에 실패하였습니다. 열람서약서를 출력하여 서명 하신후 의료정보팀에 반납 해 주세요. 출력을 ", "Q003");
  322. if ( rtn == 6 ) //서약서 출력
  323. {
  324. btn_sign.attribute("visibility") = "hidden";
  325. window.print();
  326. opener.frmf_setParameter("SPMRI08100_param_pledgeflag", "P");
  327. }
  328. else //서약서 출력 취소
  329. {
  330. opener.frmf_setParameter("SPMRI08100_param_pledgeflag", "N");
  331. }
  332. }
  333. else
  334. {
  335. opener.frmf_setParameter("SPMRI08100_param_signeddt", getCurrentDateTime());
  336. }
  337. }
  338. else
  339. {
  340. messageBox("동의여부를", "I007");
  341. }
  342. window.close();
  343. }
  344. function switch1_scan_img_obj_scan_MouseDown(obj:ActiveX, e)
  345. {
  346. switch1.scan_img.obj_scan.MouseMode = 4;
  347. switch1.scan_img.obj_scan.MagnifyingGlassRatio = 0.5;
  348. }
  349. function switch1_scan_img_obj_scan_DblClick(obj:ActiveX)
  350. {
  351. switch1.scan_img.obj_scan.BestFit();
  352. }
  353. ]]></Script>
  354. </Form>
  355. </FDL>