SPMNR02501_기록인증저장정보생성.xfdl 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPMNR02501" position="absolute 0 0 0 0" titletext="Untitle" oninit="SPMNR02501_oninit" onload="SPMNR02501_onload">
  5. <Layouts>
  6. <Layout/>
  7. </Layouts>
  8. <Objects>
  9. <Dataset id="ds_main_signSaveData_saveDataList" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  10. <Dataset id="ds_temp_signSaveData_saveDataList" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  11. </Objects>
  12. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  13. * System Name :
  14. * Job Name :
  15. * Creator :
  16. * Make Date : 2015-11-13
  17. * Description :
  18. *---------------------------------------------------------------------------------------
  19. * Modify Date Modifier Modify Description
  20. *---------------------------------------------------------------------------------------
  21. * 2015-11-13 Live Converter TF->XP
  22. *
  23. *---------------------------------------------------------------------------------------
  24. ****************************************************************************************/
  25. include "com_commonxp::comm_main.xjs";
  26. include "emr_carecomxp::ENRSignEngine.xjs";
  27. include "emr_carecomxp::CareCom.xjs";
  28. include "emr_prcpmngtxp::MMOCommon.xjs";
  29. function SPMNR02501_oninit(obj:Form, e:InitEventInfo)
  30. {
  31. frmf_initForm(obj);
  32. }
  33. function SPMNR02501_onload(obj:Form, e:LoadEventInfo)
  34. {
  35. var savePath= ds_main_signSaveData_saveDataList;//"/root/main/signSaveData/saveDataList";
  36. var recPath = opener.ds_temp_recinfo;//"/root/main/recinfo/reclist";
  37. var nrsRecPath= opener.ds_temp_nursreclist;//"/root/main/recinfo/nursreclist";
  38. var savePath2= ds_temp_signSaveData_saveDataList;//"/root/temp/signSaveData/saveDataList";
  39. var recrslt="";
  40. var prcpvol="";
  41. var recdd = "";
  42. var rectm="";
  43. var prcpnm2 = "";
  44. var pid = opener.frmf_getParameter("pid");
  45. var indd = opener.frmf_getParameter("indd");
  46. var cretno = opener.frmf_getParameter("cretno");
  47. var ordtype = opener.frmf_getParameter("ordtype");
  48. var orddeptcd = opener.frmf_getParameter("orddeptcd");
  49. var orddrid = opener.frmf_getParameter("orddrid");
  50. var orddd = opener.frmf_getParameter("orddd");
  51. if(ordtype == "I" || ordtype=="E" || ordtype=="D") {
  52. orddd="-";
  53. }
  54. if(ordtype == "O" || ordtype=="S") {
  55. indd ="-";
  56. }
  57. var cnt = 0;
  58. for (var i = 0; i < nrsRecPath.rowcount; i++) {
  59. ds_main_signSaveData_saveDataList.addRow();
  60. dsf_makeValue(savePath, + "stmtspec", "string" , nrsRecPath.getColumn(i, "stmtspec"), i);
  61. dsf_makeValue(savePath, + "status", "string" , "U", i);
  62. dsf_makeValue(savePath, + "attrinfo", "string" , "", i);
  63. dsf_makeValue(savePath, + "origincd", "string" , nrsRecPath.getColumn(i, "origincd"), i);
  64. dsf_makeValue(savePath, + "stmtcd", "string" , nrsRecPath.getColumn(i, "stmtcd"), i);
  65. dsf_makeValue(savePath, + "dnarflag", "string" , nrsRecPath.getColumn(i, "dnarflag"), i);
  66. dsf_makeValue(savePath, + "recoriginflag", "string" , nrsRecPath.getColumn(i, "recoriginflag"), i);
  67. dsf_makeValue(savePath, + "recdtflag", "string" , 'U', i);
  68. dsf_makeValue(savePath, + "recdt", "string" , nrsRecPath.getColumn(i, "recdd") + nrsRecPath.getColumn(i, "rectm"), i);
  69. dsf_makeValue(savePath, + "pid", "string" , nrsRecPath.getColumn(i, "pid"), i);
  70. dsf_makeValue(savePath, + "indd", "string" , nrsRecPath.getColumn(i, "indd"), i);
  71. dsf_makeValue(savePath, + "cretno", "string" , nrsRecPath.getColumn(i, "cretno"), i);
  72. dsf_makeValue(savePath, + "instcd", "string" , sysf_getUserInfo("dutplceinstcd"), i);
  73. dsf_makeValue(savePath, + "ioflag", "string" , ordtype, i);
  74. dsf_makeValue(savePath, + "orddeptcd", "string" , orddeptcd, i);
  75. dsf_makeValue(savePath, + "recflag", "string" , nrsRecPath.getColumn(i, "recflag"), i);
  76. dsf_makeValue(savePath, + "reclnkkey", "string" , nrsRecPath.getColumn(i, "reclnkkey"), i);
  77. dsf_makeValue(savePath, + "diagstmtcd", "string" , "", i);
  78. dsf_makeValue(savePath, + "orddd", "string" , nrsRecPath.getColumn(i, "outdd"), i);
  79. dsf_makeValue(savePath, + "dnarnm", "string" , "", i);
  80. dsf_makeValue(savePath, + "usernm", "string" , sysf_getUserInfo("usernm"), i);
  81. dsf_makeValue(savePath, + "deptflagnm", "string" , "[혈당]", i);
  82. cnt++;
  83. }
  84. for (var i = 0; i < recPath.rowcount; i++) {
  85. recrslt = recPath.getColumn(i, "recrslt");
  86. prcpvol = recPath.getColumn(i, "prcpvol");
  87. recdd = recPath.getColumn(i, "recdd");
  88. rectm = recPath.getColumn(i, "rectm");
  89. prcpnm2 = recPath.getColumn(i, "prcpnm2");
  90. //model.makeNode(savePath + "["+ cnt + i +"]");
  91. ds_main_signSaveData_saveDataList.addRow();
  92. if(recrslt != '-' && !utlf_isNull(prcpnm2) && !utlf_isNull(prcpvol))
  93. {
  94. dsf_makeValue(savePath, "stmtspec", "string", "혈당 검사 결과 " + recrslt + "mg/dl 측정되어 " + prcpnm2 + " " + prcpvol + "u주사 투여함.", cnt + i);
  95. }
  96. else if (recrslt != '-' && (utlf_isNull(prcpnm2) && utlf_isNull(prcpvol)))
  97. {
  98. dsf_makeValue(savePath, "stmtspec", "string", "혈당 검사 결과 " + recrslt + "mg/dl 측정됨.", cnt + i);
  99. }
  100. else if (recrslt == '-' && !utlf_isNull(prcpnm2) && !utlf_isNull(prcpvol))
  101. {
  102. dsf_makeValue(savePath, "stmtspec", "string", prcpnm2 + " " + prcpvol + "u주사 투여함.", cnt + i);
  103. }
  104. dsf_makeValue(savePath, "status", "string" , "I", cnt + i);
  105. dsf_makeValue(savePath, "attrinfo", "string" , "", cnt + i);
  106. dsf_makeValue(savePath, "origincd", "string" , "00000841", cnt + i);
  107. dsf_makeValue(savePath, "stmtcd", "string" , "--------", cnt + i);
  108. dsf_makeValue(savePath, "dnarflag", "string" , "3A", cnt + i);
  109. dsf_makeValue(savePath, "recoriginflag", "string", "T", cnt + i);
  110. dsf_makeValue(savePath, "recdtflag", "string" , "A", cnt + i);
  111. dsf_makeValue(savePath, "recdt", "string" , recdd + rectm, cnt + i);
  112. dsf_makeValue(savePath, "pid", "string" , pid, cnt + i);
  113. dsf_makeValue(savePath, "indd", "string" , indd, cnt + i);
  114. dsf_makeValue(savePath, "cretno", "string" , cretno, cnt + i);
  115. dsf_makeValue(savePath, "instcd", "string" , sysf_getUserInfo("dutplceinstcd"), cnt + i);
  116. dsf_makeValue(savePath, "ioflag", "string" , ordtype, cnt + i);
  117. dsf_makeValue(savePath, "orddeptcd", "string" , orddeptcd, cnt + i);
  118. dsf_makeValue(savePath, "recflag", "string" , "B", cnt + i);
  119. dsf_makeValue(savePath, "reclnkkey", "string" , pid+","+(orddd == "-" ? indd : orddd )+","+cretno+","+sysf_getUserInfo("dutplceinstcd")+",B,015", cnt + i);
  120. dsf_makeValue(savePath, "diagstmtcd", "string" , "", cnt + i);
  121. dsf_makeValue(savePath, "orddd", "string" , "-", cnt + i);
  122. dsf_makeValue(savePath, "dnarnm", "string" , "", cnt + i);
  123. dsf_makeValue(savePath, "usernm", "string" , sysf_getUserInfo("usernm"), cnt + i);
  124. dsf_makeValue(savePath, "deptflagnm", "string" , "[혈당]", cnt + i);
  125. }
  126. for (var i = 0; i < recPath.rowcount; i++) {
  127. recrslt = recPath.getColumn(i, "recrslt");
  128. prcpvol = recPath.getColumn(i, "prcpvol");
  129. recdd = recPath.getColumn(i, "recdd");
  130. rectm = recPath.getColumn(i, "rectm");
  131. prcpnm2 = recPath.getColumn(i, "prcpnm2");
  132. //model.makeNode(savePath + "["+ cnt + i +"]");
  133. ds_temp_signSaveData_saveDataList.addRow();
  134. if(recrslt != '-' && !utlf_isNull(prcpnm2) && !utlf_isNull(prcpvol))
  135. {
  136. dsf_makeValue(savePath2, "stmtspec", "string", "혈당 검사 결과 " + recrslt + "mg/dl 측정되어 " + prcpnm2 + " " + prcpvol + "u주사 투여함.", i);
  137. }
  138. else if (recrslt != '-' && (utlf_isNull(prcpnm2) && utlf_isNull(prcpvol)))
  139. {
  140. dsf_makeValue(savePath2, "stmtspec", "string", "혈당 검사 결과 " + recrslt + "mg/dl 측정됨.", i);
  141. }
  142. else if (recrslt == '-' && !utlf_isNull(prcpnm2) && !utlf_isNull(prcpvol))
  143. {
  144. dsf_makeValue(savePath2, "stmtspec", "string", prcpnm2 + " " + prcpvol + "u주사 투여함.", i);
  145. }
  146. dsf_makeValue(savePath2, "status", "string" , "I", i);
  147. dsf_makeValue(savePath2, "attrinfo", "string" , "", i);
  148. dsf_makeValue(savePath2, "origincd", "string" , "00005858", i);
  149. dsf_makeValue(savePath2, "stmtcd", "string" , "--------", i);
  150. dsf_makeValue(savePath2, "dnarflag", "string" , "3A", i);
  151. dsf_makeValue(savePath2, "recoriginflag", "string", "T", i);
  152. dsf_makeValue(savePath2, "recdtflag", "string" , "U", i);
  153. dsf_makeValue(savePath2, "recdt", "string" , recdd + rectm, i);
  154. dsf_makeValue(savePath2, "pid", "string" , pid, i);
  155. dsf_makeValue(savePath2, "indd", "string" , indd, i);
  156. dsf_makeValue(savePath2, "cretno", "string" , cretno, i);
  157. dsf_makeValue(savePath2, "instcd", "string" , sysf_getUserInfo("dutplceinstcd"), i);
  158. dsf_makeValue(savePath2, "ioflag", "string" , ordtype, i);
  159. dsf_makeValue(savePath2, "orddeptcd", "string" , orddeptcd, i);
  160. dsf_makeValue(savePath2, "recflag", "string" , "B", i);
  161. dsf_makeValue(savePath2, "reclnkkey", "string" , pid+","+(orddd == "-" ? indd : orddd )+","+cretno+","+sysf_getUserInfo("dutplceinstcd")+",B,015", i);
  162. dsf_makeValue(savePath2, "diagstmtcd", "string" , "", i);
  163. dsf_makeValue(savePath2, "orddd", "string" , "-", i);
  164. dsf_makeValue(savePath2, "dnarnm", "string" , "", i);
  165. dsf_makeValue(savePath2, "usernm", "string" , sysf_getUserInfo("usernm"), i);
  166. dsf_makeValue(savePath2, "deptflagnm", "string" , "[혈당]", i);
  167. }
  168. //var node = instance1.selectNodes(savePath2);
  169. //var csv = getNodeListCSV(node);
  170. var csv = dsf_getDsCSV(savePath2);
  171. Sign.certchkflag = "N";
  172. Sign.certreload = false; // 전자서명 호출시 인증저장 버튼을 누늘때마다 인증서가 뜨도록 처리
  173. if(Sign.signprocess() ){
  174. opener.frmf_setParameter("nodeinfo", csv);
  175. opener.frmf_setParameter("signbfcnts", Sign.signedInfos[1]);
  176. opener.frmf_setParameter("signaftcnts", Sign.signedInfos[2]);
  177. this.close();
  178. }
  179. }
  180. function fMake_SignData() {
  181. Sign.addnode("/root/main/signSaveData", ds_main_signSaveData_saveDataList.saveXML());
  182. }
  183. ]]></Script>
  184. </Form>
  185. </FDL>