SPMNE02303_파랑새기록인증저장정보생성.xfdl 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPMNE02303" position="absolute 0 0 0 0" titletext="Untitle" oninit="SPMNE02303_oninit" onload="SPMNE02303_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. <ColumnInfo>
  11. <Column id="stmtspec" type="STRING" size="256"/>
  12. <Column id="attrinfo" type="STRING" size="256"/>
  13. <Column id="status" type="STRING" size="256"/>
  14. <Column id="origincd" type="STRING" size="256"/>
  15. <Column id="stmtcd" type="STRING" size="256"/>
  16. <Column id="dnarflag" type="STRING" size="256"/>
  17. <Column id="recoriginflag" type="STRING" size="256"/>
  18. <Column id="recdtflag" type="STRING" size="256"/>
  19. <Column id="recdt" type="STRING" size="256"/>
  20. <Column id="pid" type="STRING" size="256"/>
  21. <Column id="indd" type="STRING" size="256"/>
  22. <Column id="cretno" type="STRING" size="256"/>
  23. <Column id="instcd" type="STRING" size="256"/>
  24. <Column id="ioflag" type="STRING" size="256"/>
  25. <Column id="orddeptcd" type="STRING" size="256"/>
  26. <Column id="recflag" type="STRING" size="256"/>
  27. <Column id="reclnkkey" type="STRING" size="256"/>
  28. <Column id="diagstmtcd" type="STRING" size="256"/>
  29. <Column id="orddd" type="STRING" size="256"/>
  30. <Column id="dnarnm" type="STRING" size="256"/>
  31. <Column id="usernm" type="STRING" size="256"/>
  32. <Column id="deptflagnm" type="STRING" size="256"/>
  33. </ColumnInfo>
  34. <Rows>
  35. <Row>
  36. <Col id="stmtspec"/>
  37. <Col id="attrinfo"/>
  38. <Col id="status"/>
  39. <Col id="origincd"/>
  40. <Col id="stmtcd">--------</Col>
  41. <Col id="dnarflag">3A</Col>
  42. <Col id="recoriginflag"/>
  43. <Col id="recdtflag"/>
  44. <Col id="recdt"/>
  45. <Col id="pid"/>
  46. <Col id="indd"/>
  47. <Col id="cretno"/>
  48. <Col id="instcd"/>
  49. <Col id="ioflag"/>
  50. <Col id="orddeptcd"/>
  51. <Col id="recflag"/>
  52. <Col id="reclnkkey"/>
  53. <Col id="diagstmtcd"/>
  54. <Col id="orddd"/>
  55. <Col id="dnarnm"/>
  56. <Col id="usernm"/>
  57. <Col id="deptflagnm"/>
  58. </Row>
  59. </Rows>
  60. </Dataset>
  61. <Dataset id="ds_main_recinfo_reclist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  62. <Dataset id="ds_main_recinfo_nursingrecordlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  63. <Dataset id="ds_temp_signSaveData_saveDataList" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  64. <Dataset id="ds_codelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  65. <Dataset id="ds_main" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  66. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  67. </Objects>
  68. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  69. * System Name :
  70. * Job Name :
  71. * Creator :
  72. * Make Date : 2016-10-10
  73. * Description :
  74. *---------------------------------------------------------------------------------------
  75. * Modify Date Modifier Modify Description
  76. *---------------------------------------------------------------------------------------
  77. * 2016-10-10 Live Converter TF->XP
  78. *
  79. *---------------------------------------------------------------------------------------
  80. ****************************************************************************************/
  81. include 'com_commonxp::comm_main.xjs';
  82. include "emr_carecomxp::CareCom.xjs";
  83. include "emr_carerecxp::CareRec.xjs";
  84. include "emr_carecomxp::ENRSignEngine.xjs";
  85. include "emr_prcpmngtxp::MMO001.xjs";
  86. function SPMNE02303_oninit(obj:Form, e:InitEventInfo)
  87. {
  88. frmf_initForm(obj);
  89. Sign.init();
  90. }
  91. function SPMNE02303_onload(obj:Form, e:LoadEventInfo)
  92. {
  93. try{
  94. ds_main_recinfo_reclist.copyData(arg_ds_main_recinfo_reclist);
  95. ds_main_recinfo_nursingrecordlist.copyData(arg_ds_main_recinfo_nursingrecordlist);
  96. }catch(e){
  97. sysf_catchTrace(e);
  98. }
  99. var savePath= ds_main_signSaveData_saveDataList;
  100. var recPath= ds_main_recinfo_reclist;
  101. var nrsRecPath= ds_main_recinfo_nursingrecordlist;
  102. var savePath2= ds_temp_signSaveData_saveDataList;
  103. var recrslt="";
  104. var prcpvol="";
  105. var recdd = "";
  106. var rectm="";
  107. var prcpnm2 = "";
  108. var recflag = "";
  109. var grupcd="";
  110. var pCode = "'003', 'U15'"; //'U15':영상의학과 추가. '003':항암주사실
  111. var pDate = utlf_getCurrentDate(); // 조회기준일자
  112. fGetNursHardCdInfo(pCode, pDate);
  113. var pid = sysf_getModelProperty("pid");
  114. var indd = sysf_getModelProperty("indd");
  115. var cretno = sysf_getModelProperty("cretno");
  116. var ordtype = sysf_getModelProperty("ordtype");
  117. var orddeptcd = sysf_getModelProperty("orddeptcd");
  118. var orddrid = sysf_getModelProperty("orddrid");
  119. var orddd = '-';
  120. var instcd = sysf_getUserInfo("dutplceinstcd");
  121. //var spcldept = model.getValue("/root/code/codeinfo/codelist[cdgrupid='003' and cdid='" + getUserInfo("dutplcecd") + "']/cdid");
  122. ds_codelist.filter("cdgrupid == '003' && cdid == '" + sysf_getUserInfo("dutplcecd") + "'");
  123. var spcldept = ds_codelist.getColumn(0, "cdid");
  124. ds_codelist.filter("");
  125. if(ordtype == "I" || ordtype=="E" || ordtype=="D") {
  126. orddd="-";
  127. recflag = "E";
  128. if(instcd=="031") {
  129. if(ordtype=="E") {
  130. grupcd = "00005157";
  131. recflag = "E";
  132. } else if(ordtype == "D" && !utlf_isNull(spcldept)) {
  133. grupcd = "00002851";
  134. recflag="C";
  135. } else {
  136. grupcd = "00005862";
  137. recflag = "W";
  138. }
  139. } else {
  140. if(ordtype=="E") {
  141. grupcd = "00002043";
  142. recflag ="E";
  143. } else if(ordtype == "D") {
  144. grupcd = "00004307";
  145. recflag = "C";
  146. } else {
  147. grupcd = "00003846";
  148. recflag="W";
  149. }
  150. }
  151. }
  152. var cnt = 0;
  153. for (var i = 0; i < ds_main_recinfo_nursingrecordlist.rowcount; i++) {
  154. dsf_makeValue(savePath, "stmtspec" , "string", nrsRecPath.getColumn(i, "stmtspec"), i);
  155. dsf_makeValue(savePath, "status" , "string", "U", i);
  156. dsf_makeValue(savePath, "attrinfo" , "string", "", i);
  157. dsf_makeValue(savePath, "origincd" , "string", nrsRecPath.getColumn(i, "origincd"), i);
  158. dsf_makeValue(savePath, "stmtcd" , "string", nrsRecPath.getColumn(i, "stmtcd"), i);
  159. dsf_makeValue(savePath, "dnarflag" , "string", nrsRecPath.getColumn(i, "dnarflag"), i);
  160. dsf_makeValue(savePath, "recoriginflag", "string", nrsRecPath.getColumn(i, "recoriginflag"), i);
  161. dsf_makeValue(savePath, "recdtflag" , "string", 'U', i);
  162. dsf_makeValue(savePath, "recdt" , "string", nrsRecPath.getColumn(i, "recdd") + nrsRecPath.getColumn(i, "rectm"), i);
  163. dsf_makeValue(savePath, "pid" , "string", nrsRecPath.getColumn(i, "pid"), i);
  164. dsf_makeValue(savePath, "indd" , "string", nrsRecPath.getColumn(i, "indd"), i);
  165. dsf_makeValue(savePath, "cretno" , "string", nrsRecPath.getColumn(i, "cretno"), i);
  166. dsf_makeValue(savePath, "instcd" , "string", sysf_getUserInfo("dutplceinstcd"), i);
  167. dsf_makeValue(savePath, "ioflag" , "string", ordtype, i);
  168. dsf_makeValue(savePath, "orddeptcd" , "string", orddeptcd, i);
  169. dsf_makeValue(savePath, "recflag" , "string", nrsRecPath.getColumn(i, "recflag"), i);
  170. dsf_makeValue(savePath, "reclnkkey" , "string", nrsRecPath.getColumn(i, "reclnkkey"), i);
  171. dsf_makeValue(savePath, "diagstmtcd" , "string", "", i);
  172. dsf_makeValue(savePath, "orddd" , "string", nrsRecPath.getColumn(i, "outdd"), i);
  173. dsf_makeValue(savePath, "dnarnm" , "string", "", i);
  174. dsf_makeValue(savePath, "usernm" , "string", sysf_getUserInfo("usernm"), i);
  175. dsf_makeValue(savePath, "deptflagnm" , "string", "", i);
  176. cnt++;
  177. }
  178. var cdnm
  179. var drprcpetc7;
  180. var setnm ;
  181. var setcd;
  182. for (var i = 0; i < ds_main_recinfo_reclist.rowcount; i++) {
  183. drprcpetc7 = recPath.getColumn(i, "drprcpetc7");
  184. prcpnm = recPath.getColumn(i, "prcpnm");
  185. recdd = recPath.getColumn(i, "recdd");
  186. rectm = recPath.getColumn(i, "rectm");
  187. setcd = recPath.getColumn(i, "setcd");
  188. //setnm = model.getValue("/root/code/codeinfo/codelist[cdgrupid='U15' and cdid='" + setcd + "']/cdnm");
  189. ds_codelist.filter("cdgrupid == 'U15' && cdid == '" + setcd + "'");
  190. setnm = ds_codelist.getColumn(0, "cdnm");
  191. ds_codelist.filter("");
  192. if(!utlf_isNull(utlf_trim(prcpnm)) && !utlf_isNull(utlf_trim(drprcpetc7))){
  193. if(setcd == "05" || setcd == "06") {
  194. dsf_makeValue(savePath, "stmtspec", "string", utlf_transNullToEmpty(rectm).substr(0,2) + ":" + utlf_transNullToEmpty(rectm).substr(2,2) + " [" + prcpnm + "][" + drprcpetc7 + "] 단위 투여함.", (cnt + i));
  195. } else {
  196. dsf_makeValue(savePath, "stmtspec", "string", utlf_transNullToEmpty(rectm).substr(0,2) + ":" + utlf_transNullToEmpty(rectm).substr(2,2) + " [" + setnm + "] 시행함.", (cnt + i));
  197. }
  198. }
  199. dsf_makeValue(savePath, "status" , "string", "I", (cnt + i));
  200. dsf_makeValue(savePath, "attrinfo" , "string", "", (cnt + i));
  201. dsf_makeValue(savePath, "origincd" , "string", "00000841", (cnt + i));
  202. dsf_makeValue(savePath, "stmtcd" , "string", "--------", (cnt + i));
  203. dsf_makeValue(savePath, "dnarflag" , "string", "3A", (cnt + i));
  204. dsf_makeValue(savePath, "recoriginflag", "string", "T", (cnt + i));
  205. dsf_makeValue(savePath, "recdtflag" , "string", "A", (cnt + i));
  206. dsf_makeValue(savePath, "recdt" , "string", recdd + rectm, (cnt + i));
  207. dsf_makeValue(savePath, "pid" , "string", pid, (cnt + i));
  208. dsf_makeValue(savePath, "indd" , "string", indd, (cnt + i));
  209. dsf_makeValue(savePath, "cretno" , "string", cretno, (cnt + i));
  210. dsf_makeValue(savePath, "instcd" , "string", sysf_getUserInfo("dutplceinstcd"), (cnt + i));
  211. dsf_makeValue(savePath, "ioflag" , "string", ordtype, (cnt + i));
  212. dsf_makeValue(savePath, "orddeptcd" , "string", orddeptcd, (cnt + i));
  213. dsf_makeValue(savePath, "recflag" , "string", recflag, (cnt + i));
  214. dsf_makeValue(savePath, "reclnkkey" , "string", pid+","+(orddd == "-" ? indd : orddd )+","+cretno+","+sysf_getUserInfo("dutplceinstcd"), (cnt + i));
  215. dsf_makeValue(savePath, "diagstmtcd" , "string", "", (cnt + i));
  216. dsf_makeValue(savePath, "orddd" , "string", "-", (cnt + i));
  217. dsf_makeValue(savePath, "dnarnm" , "string", "", (cnt + i));
  218. dsf_makeValue(savePath, "usernm" , "string", sysf_getUserInfo("usernm"), (cnt + i));
  219. dsf_makeValue(savePath, "deptflagnm" , "string", "", (cnt + i));
  220. }
  221. for (var i = 0; i < ds_main_recinfo_reclist.rowcount; i++) {
  222. drprcpetc7 = recPath.getColumn(i, "drprcpetc7");
  223. prcpnm = recPath.getColumn(i, "prcpnm");
  224. recdd = recPath.getColumn(i, "recdd");
  225. rectm = recPath.getColumn(i, "rectm");
  226. setcd = recPath.getColumn(i, "setcd");
  227. //setnm = model.getValue("/root/code/codeinfo/codelist[cdgrupid='U15' and cdid='" + setcd + "']/cdnm");
  228. ds_codelist.filter("cdgrupid == 'U15' && cdid == '" + setcd + "'");
  229. setnm = ds_codelist.getColumn(0, "cdnm");
  230. ds_codelist.filter("");
  231. if(!utlf_isNull(utlf_trim(prcpnm)) && !utlf_isNull(utlf_trim(drprcpetc7))){
  232. if(setcd == "05" || setcd == "06") {
  233. dsf_makeValue(savePath2, "stmtspec", "string", utlf_transNullToEmpty(rectm).substr(0,2) + ":" + utlf_transNullToEmpty(rectm).substr(2,2) + " [" + prcpnm + "][" + drprcpetc7 + "] 단위 투여함.", i);
  234. } else {
  235. dsf_makeValue(savePath2, "stmtspec", "string", utlf_transNullToEmpty(rectm).substr(0,2) + ":" + utlf_transNullToEmpty(rectm).substr(2,2) + " [" + setnm + "] 시행함.", i);
  236. }
  237. }
  238. dsf_makeValue(savePath2, "status" , "string", "I", i);
  239. dsf_makeValue(savePath2, "attrinfo" , "string", "", i);
  240. dsf_makeValue(savePath2, "origincd" , "string", grupcd, i);
  241. dsf_makeValue(savePath2, "stmtcd" , "string", "--------", i);
  242. dsf_makeValue(savePath2, "dnarflag" , "string", "3A", i);
  243. dsf_makeValue(savePath2, "recoriginflag", "string", "T", i);
  244. dsf_makeValue(savePath2, "recdtflag" , "string", "U", i);
  245. dsf_makeValue(savePath2, "recdt" , "string", recdd + rectm, i);
  246. dsf_makeValue(savePath2, "pid" , "string", pid, i);
  247. dsf_makeValue(savePath2, "indd" , "string", indd, i);
  248. dsf_makeValue(savePath2, "cretno" , "string", cretno, i);
  249. dsf_makeValue(savePath2, "instcd" , "string", sysf_getUserInfo("dutplceinstcd"), i);
  250. dsf_makeValue(savePath2, "ioflag" , "string", ordtype, i);
  251. dsf_makeValue(savePath2, "orddeptcd" , "string", orddeptcd, i);
  252. dsf_makeValue(savePath2, "recflag" , "string", recflag, i);
  253. dsf_makeValue(savePath2, "reclnkkey" , "string", pid+","+(orddd == "-" ? indd : orddd )+","+cretno+","+sysf_getUserInfo("dutplceinstcd"), i);
  254. dsf_makeValue(savePath2, "diagstmtcd" , "string", "", i);
  255. dsf_makeValue(savePath2, "orddd" , "string", "-", i);
  256. dsf_makeValue(savePath2, "dnarnm" , "string", "", i);
  257. dsf_makeValue(savePath2, "usernm" , "string", sysf_getUserInfo("usernm"), i);
  258. dsf_makeValue(savePath2, "deptflagnm" , "string", "", i);
  259. }
  260. //var node = instance1.selectNodes(savePath2);
  261. //var csv = getNodeListCSV(node);
  262. var csv = dsf_getDsCSV(savePath2);
  263. Sign.certchkflag = "N";
  264. if(Sign.signprocess() ){
  265. //dsf_makeValue(main"/root/main/sign", Sign.signedInfos);
  266. opener.frmf_setParameter("nodeinfo", csv);
  267. opener.frmf_setParameter("signbfcnts", Sign.signedInfos[1]);
  268. opener.frmf_setParameter("signaftcnts", Sign.signedInfos[2]);
  269. this.close();
  270. }
  271. }
  272. function fMake_SignData() {
  273. //Sign.addnode("/root/main/signSaveData");
  274. var arrSignPath = new Array();
  275. var arrSignDs = new Array();
  276. arrSignPath[0] = "/signSaveData/saveDataList";
  277. arrSignDs[0] = ds_main_signSaveData_saveDataList.saveXML();
  278. Sign.addnodeset(arrSignPath, arrSignDs);
  279. }
  280. ]]></Script>
  281. </Form>
  282. </FDL>