SPMRI08100_열람서약서.xrw 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  3. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  4. <xhtml:head>
  5. <xhtml:title>열람서약서</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <guidedocuinfo/>
  11. <userinfo>
  12. <appno/>
  13. <curdd/>
  14. <deptnm/>
  15. <usernm/>
  16. </userinfo>
  17. <bcheck/>
  18. <jobkindinfo>
  19. <jobkindnm/>
  20. </jobkindinfo>
  21. </main>
  22. <send>
  23. <guidedocuflag/>
  24. <cond>
  25. <userid/>
  26. <dutplcecd/>
  27. </cond>
  28. <docinfo>
  29. <userid/>
  30. </docinfo>
  31. </send>
  32. <remtmp>
  33. <recinfo/>
  34. </remtmp>
  35. <hidden>
  36. <docinfo>
  37. <signimge/>
  38. </docinfo>
  39. </hidden>
  40. </root>
  41. </instance>
  42. <script type="javascript" ev:event="xforms-ready">
  43. <![CDATA[
  44. fInitialize();
  45. ]]>
  46. </script>
  47. <submission id="TRMRC02601" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/guidedocuinfo"/>
  48. <submission id="TRMRI08105" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/cond" resultref="/root/main/jobkindinfo"/>
  49. <submission id="TRMRF01205" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/docinfo/userid" resultref="/root/hidden/docinfo/signimge"/>
  50. <script type="javascript" ev:event="xforms-model-construct-done">
  51. <![CDATA[
  52. fPreInit();
  53. ]]>
  54. </script>
  55. </model>
  56. <script type="javascript" src="../../../com/signweb/js/ZES001.js"/>
  57. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  58. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  59. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  60. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  61. <script type="javascript">
  62. <![CDATA[
  63. function fGetDocData()
  64. {
  65. model.makeValue("/root/send/guidedocuflag", "R");
  66. if(submit("TRMRC02601")){
  67. rtfviewer.TextRtf = model.getValue("/root/main/guidedocuinfo/guidedocu/guidedocudata");
  68. rtfviewer.ReadOnly = "true";
  69. model.refresh();
  70. }
  71. }
  72. var downurl="";
  73. var gTimerID="";
  74. function fileload()
  75. {
  76. obj_scan.Load(downurl, 1);
  77. obj_scan.BestFit();
  78. window.clearInterval(gTimerID);
  79. }
  80. function fViewImg(url, localfilenm)
  81. {
  82. var imgeSavePath = "C:\\OCRMngt_ImgeFile\\";
  83. var fso = new ActiveXObject("Scripting.FileSystemObject");
  84. var check = 0;
  85. if (!(fso.FolderExists(imgeSavePath))){
  86. fso.CreateFolder(imgeSavePath);
  87. }else {
  88. var haveFile = fso.GetFolder(imgeSavePath);
  89. currFile = new Enumerator(haveFile.Files);
  90. for( ; !currFile.atEnd(); currFile.moveNext()){
  91. fso.DeleteFile(currFile.item().path, true);
  92. }
  93. }
  94. model.download(url, imgeSavePath+localfilenm, false);
  95. while (true){
  96. if(fso.FileExists(imgeSavePath+localfilenm)){
  97. break;
  98. }
  99. }
  100. downurl = imgeSavePath + localfilenm;
  101. gTimerID = window.setInterval( "fileload()", 200);
  102. }
  103. function fPreInit()
  104. {
  105. var scanimgyn = opener.window.javascript.getParameter("SMMRI09000_param_scanimgyn");
  106. if ( scanimgyn == "Y" ) //이미지 스캔 화면
  107. {
  108. var scansrc = opener.window.javascript.getParameter("SMMRI09000_param_scansrc");
  109. model.toggle("scan_img");
  110. var appno = opener.grd_readapplist.valueMatrix(opener.grd_readapplist.row, opener.grd_readapplist.colRef("appno"));//신청번호
  111. var appdd = opener.grd_readapplist.valueMatrix(opener.grd_readapplist.row, opener.grd_readapplist.colRef("appdd"));//작성일자
  112. var appnm = opener.grd_readapplist.valueMatrix(opener.grd_readapplist.row, opener.grd_readapplist.colRef("appnm"));//신청자
  113. var filenm = appno+"_"+appdd+"_"+appnm;
  114. fViewImg(scansrc, filenm);
  115. //obj_scan.Load(scansrc, 1);
  116. //obj_scan.BestFit();
  117. }
  118. }
  119. function fInitialize(){
  120. var scanimgyn = opener.window.javascript.getParameter("SMMRI09000_param_scanimgyn");
  121. if ( scanimgyn == "Y" ) //이미지 스캔 화면
  122. {
  123. //fPreInit에서 실행
  124. }
  125. else //서약서 화면
  126. {
  127. model.toggle("view");
  128. ///////////////////////
  129. //서약서 인증 및 출력 시작
  130. var appno = "";
  131. var appdd = "";
  132. var appdeptnm = "";
  133. var appnm = "";
  134. var appdeptcd = "";
  135. var appid = "";
  136. var pledgeprntstatus = opener.window.javascript.getParameter("SMMRI09000_param_pledgeprnstatus");
  137. //열람승인화면에서 오픈
  138. if ( pledgeprntstatus == "E" )
  139. {
  140. appno = opener.grd_readapplist.valueMatrix(opener.grd_readapplist.row, opener.grd_readapplist.colRef("appno"));//신청번호
  141. appdd = opener.grd_readapplist.valueMatrix(opener.grd_readapplist.row, opener.grd_readapplist.colRef("appdd"));//작성일자
  142. appdeptnm = opener.grd_readapplist.labelMatrix(opener.grd_readapplist.row, opener.grd_readapplist.colRef("appdeptcd"));//신청과
  143. appnm = opener.grd_readapplist.valueMatrix(opener.grd_readapplist.row, opener.grd_readapplist.colRef("appnm"));//신청자
  144. appdeptcd = opener.grd_readapplist.valueMatrix(opener.grd_readapplist.row, opener.grd_readapplist.colRef("appdeptcd"));//신청과,코드
  145. appid = opener.grd_readapplist.valueMatrix(opener.grd_readapplist.row, opener.grd_readapplist.colRef("appid"));//신청자id
  146. model.setValue("/root/main/bcheck", "true");
  147. btn_sign.attribute("visibility") = "hidden"; //인증저장 버튼 숨김
  148. fSetSignImge(appid); //의사서명이미지 조회
  149. }
  150. else
  151. {
  152. appno = opener.window.javascript.getParameter("SPMRI08100_param_appno");
  153. appdd = opener.opt_appdd.value;
  154. appdeptnm = opener.cmb_appdeptcd.label;
  155. appnm = opener.cmb_appid.label;
  156. appdeptcd = opener.cmb_appdeptcd.value;
  157. appid = opener.cmb_appid.value;
  158. }
  159. //조회 조건 저장, 신청자id, 부서코드
  160. model.setValue("/root/send/cond/userid", appid);
  161. model.setValue("/root/send/cond/dutplcecd", appdeptcd);
  162. //신청자의 직종 조회
  163. if (submit("TRMRI08105"))
  164. {
  165. var jobkindnm = model.getValue("/root/main/jobkindinfo/jobkindnm");
  166. model.setValue("/root/main/userinfo/deptnm", appdeptnm+" / "+jobkindnm); //신청과 셋팅
  167. model.setValue("/root/main/userinfo/appno", appno); //신청번호 셋팅
  168. model.setValue("/root/main/userinfo/curdd", appdd); //신청일 셋팅
  169. model.setValue("/root/main/userinfo/usernm", appnm); //신청자 셋팅
  170. model.refresh();
  171. }
  172. var autoprintyn = opener.window.javascript.getParameter("SPMRI08100_param_autoprint");
  173. if ( autoprintyn == "Y" )
  174. {
  175. window.print();
  176. window.close();
  177. }
  178. }
  179. }
  180. //의사서명이미지 조회
  181. function fSetSignImge(userid)
  182. {
  183. model.setValue("/root/send/docinfo/userid", userid);
  184. submit("TRMRF01205");
  185. var ctrl = document.controls("IMG_52");
  186. if(ctrl == null)
  187. return;
  188. if(model.getValue("/root/hidden/docinfo/signimge") == "")
  189. return;
  190. ctrl.attribute("ref") = "/root/hidden/docinfo/signimge";
  191. setImageRefInstance("/root/hidden/docinfo/signimge");
  192. ctrl.refresh();
  193. IMG_52.attribute("visibility") = "visible";
  194. }
  195. ]]>
  196. </script>
  197. </xhtml:head>
  198. <xhtml:body pagewidth="800" guideline="2,782;">
  199. <switch id="switch1" class="sw_no_border" style="left:0px; top:0px; width:798px; height:740px; ">
  200. <case id="view" selected="true">
  201. <caption id="caption1" class="tit_2" style="left:425px; top:616px; width:105px; height:13px; vertical-align:middle; ">작 성 일 자 :</caption>
  202. <caption id="caption2" class="tit_2" style="left:425px; top:651px; width:105px; height:13px; vertical-align:middle; ">부서 / 직종 :</caption>
  203. <caption id="caption3" class="tit_2" style="left:425px; top:682px; width:105px; height:13px; vertical-align:middle; ">성 명 :</caption>
  204. <output id="output1" ref="/root/main/userinfo/curdd" class="output" format="yyyy-mm-dd" style="left:530px; top:613px; width:100px; height:19px; text-align:left; "/>
  205. <output id="output2" ref="/root/main/userinfo/deptnm" class="output" style="left:530px; top:648px; width:100px; height:19px; text-align:left; "/>
  206. <output id="output3" ref="/root/main/userinfo/usernm" class="output" style="left:530px; top:679px; width:100px; height:19px; text-align:left; "/>
  207. <caption id="caption4" style="left:630px; top:678px; width:40px; height:20px; vertical-align:middle; ">(서명)</caption>
  208. <bool id="bool1" ref="/root/main/bcheck" style="left:423px; top:712px; width:20px; height:20px; ">
  209. <script type="javascript" ev:event="xforms-value-changed">
  210. <![CDATA[
  211. var bcheck = model.getValue("/root/main/bcheck");
  212. if ( bcheck == "true" ) //동의하였으면..
  213. {
  214. btn_sign.attribute("visibility") = "visible";
  215. }
  216. ]]>
  217. </script>
  218. </bool>
  219. <caption id="caption5" style="left:445px; top:712px; width:139px; height:20px; vertical-align:middle; ">위의 내용에 동의합니다.</caption>
  220. <button id="btn_sign" class="btn4_letter4" visibility="hidden" style="left:679px; top:710px; width:80px; height:22px; ">
  221. <caption>인증저장</caption>
  222. <script type="javascript" ev:event="onclick">
  223. <![CDATA[
  224. var bcheck = model.getValue("/root/main/bcheck");
  225. if ( bcheck == "true" ) //동의하였으면..
  226. {
  227. var signrecinfo = model.instances(0).selectSingleNode("/root/remtmp/recinfo").xml;
  228. var sUserID = getUserInfo("userid");
  229. var signedrecinfo = zesfSignData(signrecinfo, sUserID, true);
  230. if ( signedrecinfo == "" )
  231. {
  232. var rtn = messageBox("인증에 실패하였습니다. 열람서약서를 출력하여 서명 하신후 의료정보팀에 반납 해 주세요. 출력을 ", "Q003");
  233. if ( rtn == 6 ) //서약서 출력
  234. {
  235. btn_sign.attribute("visibility") = "hidden";
  236. window.print();
  237. opener.window.javascript.setParameter("SPMRI08100_param_pledgeflag", "P");
  238. }
  239. else //서약서 출력 취소
  240. {
  241. opener.window.javascript.setParameter("SPMRI08100_param_pledgeflag", "N");
  242. }
  243. }
  244. else
  245. {
  246. opener.window.javascript.setParameter("SPMRI08100_param_signeddt", getCurrentDateTime());
  247. }
  248. }
  249. else
  250. {
  251. messageBox("동의여부를", "I007");
  252. }
  253. window.close();
  254. ]]>
  255. </script>
  256. </button>
  257. <group id="group1" style="left:0px; top:0px; width:795px; height:13px; ">
  258. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:199px; height:15px; ">열람서약서</caption>
  259. </group>
  260. <caption id="caption7" class="tit_2" style="left:425px; top:586px; width:105px; height:13px; vertical-align:middle; ">신 청 번 호 :</caption>
  261. <output id="output4" ref="/root/main/userinfo/appno" class="output" style="left:530px; top:583px; width:100px; height:19px; text-align:left; "/>
  262. <img id="img1" style="left:170px; top:695px; width:90px; height:30px; background-stretch:stretch; "/>
  263. <img id="IMG_52" visibility="hidden" src="/himed/webapps/cmc/web/xrw/.live?submit_id=TRMRF01212&amp;business_id=emr&amp;macaddr=0017a444a7ff&amp;imgecd=0000983003" _printable="true" degnitemno="52" ctrltype="ctrl" editable="true" style="left:630px; top:672px; width:130px; height:30px; background-stretch:stretch; border-color:#c0c0c0; cursor:auto; "/>
  264. <caption id="caption8" style="left:270px; top:60px; width:275px; height:55px; font-size:16pt; font-weight:bold; ">개인 의료정보 이용 서약서</caption>
  265. <caption id="caption9" style="left:25px; top:160px; width:765px; height:65px; font-size:13pt; ">
  266. <![CDATA[ 정보통신망 이용 촉진 및 정보보호 등에 관한 법률에 의거하여 법률에 특별한 규정이 있는 경우를
  267. 제외하고 환자의 동의 없이는 개인정보를 사용하거나 제3자에게 제공할 수 없습니다. ]]>
  268. </caption>
  269. <caption id="caption10" style="left:35px; top:225px; width:745px; height:20px; font-size:13pt; font-weight:bold; text-decoration:underline; ">
  270. <![CDATA[환자 개인정보를 외부에 제공할 경우에는 반드시 환자에게 서면 동의를 받아야 합니다.
  271. ]]>
  272. </caption>
  273. <caption id="caption11" style="left:25px; top:255px; width:765px; height:135px; font-size:13pt; ">
  274. <![CDATA[ 의료정보에서 제공받은 자료는 타인이나 외부에 누설하여서는 아니 되며, 의료정보를 이용함에 있
  275. 어서 명시된 목적 외에는 이용할 수 없으며, 또한 이용이 종료된 정보는 지체 없이 폐기/파기하여야
  276. 합니다.
  277. 본인은 위의 내용을 충분히 숙지하고 이에 서명, 날인하며 이를 위반하였을 때에는 관련 법령 및 병
  278. 원의 제 규정에 따라 민,형사상의 책임 뿐만 아니라 제반 손해 배상의 책임 등을 감수할 것이
  279. 며, 병원에 끼친 손해에 대해 지체 없이 변상, 복구할 것을 서약합니다.
  280. ]]>
  281. </caption>
  282. <caption id="caption12" style="left:20px; top:405px; width:765px; height:20px; font-size:13pt; font-weight:bold; text-decoration:underline; color:#ff0000; ">▶ 관리되지 않은 ID, 패스워드의 유출로 인한 사고 발생시의 책임은 사용자 본인에게 있습니다</caption>
  283. </case>
  284. <case id="scan_img">
  285. <object id="obj_scan" clsid="{5b40100e-99bc-4194-ac59-aa3ef8526dc9}" style="left:0px; top:0px; width:775px; height:705px; background-color:#ffffff; ">
  286. <script type="javascript" ev:event="MouseDown(Button, Shift, x, y)">
  287. <![CDATA[
  288. obj_scan.MouseMode = 4;
  289. obj_scan.MagnifyingGlassRatio = 0.5;
  290. ]]>
  291. </script>
  292. <script type="javascript" ev:event="DblClick()">
  293. <![CDATA[
  294. obj_scan.BestFit();
  295. ]]>
  296. </script>
  297. </object>
  298. </case>
  299. </switch>
  300. </xhtml:body>
  301. </xhtml:html>