SPMRT01500.js 42 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029
  1. /**
  2. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  3. 진료 - 용어검색( SPMRT01500_용어검색.xrw - JScript )
  4. - Version :
  5. 1) : Ver.1.00.01
  6. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  7. **/
  8. var xCondPath = "/root/main/cond"; // 조회 조건
  9. var sICD10LIST = "/root/main/icd10info/icd10list";
  10. var sICD10Path = "/root/param/icd10/icd10info";
  11. var sDIAGCDLIST_HIDDEN = "/root/hidden/diaginfo/diagcdlist";
  12. var xMophlgPath = "/root/main/icdo3info/icdo3list"; // Mophology 정보
  13. var xTophlgPath = "/root/main/tophlginfo/tophlglist"; // Tophology 정보
  14. var sTophpPath ="/root/main/topho/tophoinfo";
  15. var sMophoPath ="/root/main/mopho/mophoinfo";
  16. var DiagPath ="/root/main/diagcdinfo/diagcd";
  17. //flag =1 ->진단용어
  18. //flag =2 ->mophology
  19. //flag =3 ->tophology
  20. //flag =4 ->icd10cd
  21. //flag =5 ->opcd
  22. /**
  23. * @group :
  24. * @ver : 2008-02-11 2008-10-10 10:00오후->수정 이창록 (수술용어 추가)
  25. * @by : 이창록
  26. * @---------------------------------------------------
  27. * @type : function
  28. * @access : public
  29. * @desc : 화면 초기화
  30. * @param :
  31. * @return :
  32. * @---------------------------------------------------
  33. */
  34. function fInitialize_SPMRT01500()
  35. {
  36. model.removeNodeset(xMophlgPath);
  37. model.removeNodeset(sICD10LIST);
  38. model.removeNodeset(sICD10Path);
  39. model.removeNodeset(xTophlgPath);
  40. model.removeNodeset(sTophpPath);
  41. model.removeNodeset(sMophoPath);
  42. model.removeNodeset(DiagPath);
  43. model.removeNodeset("/root/param/mopho/mophoinfo");
  44. model.removeNodeset("/root/param/topho/tophoinfo");
  45. model.removeNodeset("/root/param/selectdiaginfo/selectdiaglist");
  46. model.removeNodeset("/root/main/opcdinfo/opcd");
  47. model.removeNodeset("/root/param/selectopinfo/selectoplist");
  48. // 2009-04-29 오후 8:20:58 강지훈 수정 : 중앙에서 조회할경우 진단, 주호소, 수술용어는 전기관의 용어를 보여준다.
  49. // var instcd = getUserInfo("dutplceinstcd");
  50. /* if(instcd == "001"){ //중앙의료원에서 접속할경우
  51. model.setValue("/root/temp/maininstyn", "Y");
  52. }
  53. else{
  54. model.setValue("/root/temp/maininstyn", "N");
  55. } */
  56. if(checkOpener()){
  57. var oneselect = opener.javascript.getParameter("SPMRT01500__DIAGONESELECT");
  58. var search = opener.javascript.getParameter("SPMRT01500_SEARCHDATA");
  59. var flag = opener.javascript.getParameter("SPMRT01500_FLAG");
  60. var stndd = opener.javascript.getParameter("stndd");
  61. model.makeValue("/root/init/oneselect", oneselect);
  62. model.makeValue("/root/hidden/search/flag", flag);
  63. // 2009-08-03 nj 수정 화면에서 para 값을 받아서 처리
  64. var maininstyn = opener.javascript.getParameter("maininstyn");
  65. model.setValue("/root/temp/maininstyn", maininstyn);
  66. if((flag == "") || (search == "")){
  67. switch(flag){
  68. case "1":
  69. fChngDiagScrn("diag");
  70. break;
  71. case "2":
  72. fChngDiagScrn("moph");
  73. break;
  74. case "3":
  75. fChngDiagScrn("topho");
  76. break;
  77. case "4":
  78. fChngDiagScrn("icd10");
  79. case "5":
  80. fChngDiagScrn("op");
  81. break;
  82. default :
  83. }
  84. return;
  85. }
  86. if(flag == "1"){
  87. if (search.length > 0){
  88. model.setValue("/root/main/cond/reqdata", search);
  89. fDiagSearch();
  90. }
  91. fChngDiagScrn("diag");
  92. } else if(flag == "2"){
  93. if (search.length > 0){
  94. model.setValue("/root/main/cond/reqdata", search);
  95. fDiagSearch();
  96. }
  97. fChngDiagScrn("moph");
  98. } else if(flag == "3"){
  99. if (search.length > 0){
  100. model.setValue("/root/main/cond/reqdata", search);
  101. fDiagSearch();
  102. }
  103. fChngDiagScrn("toph");
  104. } else if(flag == "4"){
  105. if (search.length > 0){
  106. model.setValue("/root/main/cond/reqdata", search);
  107. fDiagSearch();
  108. }
  109. fChngDiagScrn("icd10");
  110. } else if(flag == "5"){
  111. if (search.length > 0){
  112. model.setValue("/root/main/cond/reqdata", search);
  113. fDiagSearch();
  114. }
  115. fChngDiagScrn("op");
  116. }
  117. }else{
  118. model.removeNodeset("/root/hidden/search");
  119. model.makeValue("/root/hidden/search/flag","1");
  120. fChngDiagScrn("diag");
  121. }
  122. model.refresh();
  123. }
  124. /**
  125. * @desc : 진단화면 변경
  126. * @ ( icd10 : icd10 )
  127. * @param : scrnflag - 화면구분 ( Tophology : toph )
  128. * ( Mophology : moph )
  129. * @return :
  130. * @author : 이창록
  131. * @---------------------------------------------------
  132. */
  133. function fChngDiagScrn(caseID)
  134. {
  135. if(caseID=="diag") //진단색인코드 조회
  136. {
  137. model.setValue("/root/main/cond/reqdata","");
  138. model.toggle("diag");
  139. model.toggle("diagcd");
  140. model.toggle("selectdiagcd");
  141. model.toggle("case7");
  142. btn_morphology.selected = "false";
  143. btn_diag.selected = "true";
  144. btn_tophology.selected = "false";
  145. btn_icd10.selected = "false";
  146. btn_op.selected = "false";
  147. model.removenode("/root/send/reqdata");
  148. model.makeNode("/root/send/reqdata");
  149. model.makeValue("/root/send/reqdata/indxflag", "0");
  150. model.makeValue("/root/send/reqdata/mode","E");
  151. model.makeValue("/root/send/reqdata/stnddflag","Y");
  152. submit("TRMRT00201");
  153. }else if(caseID=="toph")//Tophology선택
  154. {
  155. model.setValue("/root/main/cond/reqdata","");
  156. model.toggle("toph");
  157. model.toggle("topho");
  158. model.toggle("case2");
  159. btn_morphology.selected = "false";
  160. btn_diag.selected = "false";
  161. btn_tophology.selected = "true";
  162. btn_icd10.selected = "false";
  163. btn_op.selected = "false";
  164. model.removenode("/root/send/reqdata");
  165. model.makeNode("/root/send/reqdata");
  166. model.makeValue("/root/send/reqdata/indxflag", "1");
  167. model.makeValue("/root/send/reqdata/indxnmflag", "E");
  168. submit("TRMRT00503");
  169. }else if(caseID=="moph")//Mophology선택
  170. {
  171. model.setValue("/root/main/cond/reqdata","");
  172. model.toggle("moph");
  173. model.toggle("ICD03");
  174. model.toggle("case3");
  175. btn_morphology.selected = "true";
  176. btn_diag.selected = "false";
  177. btn_tophology.selected = "false";
  178. btn_icd10.selected = "false";
  179. btn_op.selected = "false";
  180. model.removenode("/root/send/reqdata");
  181. model.makeNode("/root/send/reqdata");
  182. model.makeValue("/root/send/reqdata/indxflag", "3");
  183. model.makeValue("/root/send/reqdata/indxnmflag", "E");
  184. submit("TRMRT00503");
  185. }else if(caseID == "icd10") //ICD10선택
  186. {
  187. model.setValue("/root/main/cond/reqdata","");
  188. model.toggle("icd10");
  189. model.toggle("icd");
  190. model.toggle("case1");
  191. btn_morphology.selected = "false";
  192. btn_diag.selected = "false";
  193. btn_tophology.selected = "false";
  194. btn_icd10.selected = "true";
  195. btn_op.selected = "false";
  196. model.removeNodeset("/root/send/reqdata");
  197. model.makeNode("/root/send/reqdata");
  198. model.makeValue("/root/send/reqdata/indxflag", "0");
  199. model.makeValue("/root/send/reqdata/indxnmflag", "E");
  200. submit("TRMRT00503");
  201. } else if(caseID == "op") //수술용어선택
  202. {
  203. model.setValue("/root/main/cond/reqdata","");
  204. model.toggle("op");
  205. model.toggle("opcd");
  206. model.toggle("case4");
  207. btn_morphology.selected = "false";
  208. btn_diag.selected = "false";
  209. btn_tophology.selected = "false";
  210. btn_icd10.selected = "false";
  211. btn_op.selected = "true";
  212. model.removeNodeset("/root/send/reqdata");
  213. model.makeNode("/root/send/reqdata");
  214. model.makeValue("/root/send/reqdata/indxflag", "9");
  215. model.makeValue("/root/send/reqdata/mode", "E");
  216. model.makeValue("/root/send/reqdata/stnddflag","Y");
  217. submit("TRMRT00701");
  218. }
  219. }
  220. /**
  221. * @desc : 트리로 해당진단코드 조회(왼쪽그리드 조회시 오른쪽 그리드 에서 나타나기)
  222. * @
  223. * @param :
  224. * @return :
  225. * @author : 이창록
  226. * @---------------------------------------------------
  227. */
  228. function fSelectDiagInfo(trvObj)
  229. {
  230. var sObjLId = trvObj.attribute("id");
  231. if(sObjLId == "trv_trvdiaglist"){
  232. var indxcd = model.getValue("/root/main/indxlist/item[" + iIndx + "]/indxcd");
  233. var depth = model.getValue("/root/main/indxlist/item[" + iIndx + "]/depth");
  234. var pathcd = model.getValue("/root/main/indxlist/item[" + iIndx + "]/pathcd");
  235. var iIndx = trvObj.value;
  236. model.removeNodeset("/root/send/reqdata");
  237. model.makeNode("/root/send/reqdata");
  238. model.makeValue("/root/send/reqdata/indxcd", iIndx);
  239. var stndd = opener.javascript.getParameter("stndd");
  240. if(stndd!=""){
  241. model.makeValue("/root/send/reqdata/stndd",stndd);
  242. }else{
  243. model.makeValue("/root/send/reqdata/stndd",getCurrentDate());
  244. }
  245. //2009-04-29 오후 8:20:58 강지훈 수정 : 중앙에서 조회할경우 진단, 수술용어는 전기관의 용어를 보여준다.
  246. model.makeValue("/root/send/reqdata/maininstyn", model.getValue("/root/temp/maininstyn"));
  247. submit("TRMRT00214"); //진단코드 조회
  248. }else if(sObjLId == "trv_trvoplist"){
  249. var indxcd = model.getValue("/root/main/indxlist/item[" + iIndx + "]/indxcd");
  250. var depth = model.getValue("/root/main/indxlist/item[" + iIndx + "]/depth");
  251. var pathcd = model.getValue("/root/main/indxlist/item[" + iIndx + "]/pathcd");
  252. var iIndx = trvObj.value;
  253. model.removeNodeset("/root/send/reqdata");
  254. model.makeNode("/root/send/reqdata");
  255. model.makeValue("/root/send/reqdata/indxcd", iIndx);
  256. var stndd = opener.javascript.getParameter("stndd");
  257. if(stndd!=""){
  258. model.makeValue("/root/send/reqdata/stndd",stndd);
  259. }else{
  260. model.makeValue("/root/send/reqdata/stndd",getCurrentDate());
  261. }
  262. //2009-04-29 오후 8:20:58 강지훈 수정 : 중앙에서 조회할경우 진단, 수술용어는 전기관의 용어를 보여준다.
  263. model.makeValue("/root/send/reqdata/maininstyn", model.getValue("/root/temp/maininstyn"));
  264. submit("TRMRT01501"); //수술코드 조회
  265. }else if(sObjLId == "trv_icd10indxcdlist"){
  266. var item = trvObj.item(trvObj.selectedIndex);
  267. var indxcd = trvObj.value;
  268. model.removenode("/root/send/reqdata");
  269. model.makeNode("/root/send/reqdata");
  270. model.makeValue("/root/send/reqdata/srchindxcd",indxcd);
  271. // 2009-08-01 아래 내용 수정
  272. //model.makeValue("/root/send/flag", "indx");
  273. model.makeValue("/root/send/reqdata/flag", "indx");
  274. // 2009-08-01 아래 내용 삭제 사용하지 않음
  275. // model.makeValue("/root/send/reqdata/indxflag", "0");
  276. //2009-08-01 nj 아래 내용 용어 검색시 사용하는 flag 값
  277. //model.makeValue("/root/send/reqdata/diagflag", "c");
  278. model.makeValue("/root/send/reqdata/diagflag", "");
  279. //2009-08-01 nj 아래 내용 용어 검색시 사용하는 값
  280. model.makeValue("/root/send/reqdata/srchnm", "");
  281. model.makeValue("/root/send/reqdata/valiyn", "N");
  282. //2009-08-01 nj 추가 기준일자를 넘겨서 기준일자에 맞는 용어만 조회
  283. var stndd = opener.javascript.getParameter("stndd");
  284. if(stndd!=""){
  285. model.makeValue("/root/send/reqdata/stndd",stndd);
  286. }else{
  287. model.makeValue("/root/send/reqdata/stndd",getCurrentDate());
  288. }
  289. // 2009-08-01 아래 내용 삭제 사용하지 않음
  290. // model.makeValue("/root/send/reqdata/indxnmflag", "E");
  291. //model.makeValue("/root/send/reqdata/stndd", opener.javascript.getParameter("stndd"));
  292. if(submit("TRMRT00505")){
  293. }
  294. }else if(sObjLId == "trv_trvtopholist"){
  295. var item = trvObj.item(trvObj.selectedIndex);
  296. var indxcd = trvObj.value;
  297. model.removenode("/root/send/reqdata");
  298. model.makeNode("/root/send/reqdata");
  299. model.makeValue("/root/send/reqdata/srchindxcd",indxcd);
  300. //2009-08-01 nj 수정
  301. //model.makeValue("/root/send/flag", "indx");
  302. model.makeValue("/root/send/reqdata/flag", "indx");
  303. //2009-08-01 nj 아래 내용 삭제. 사용하지 않음
  304. //model.makeValue("/root/send/reqdata/indxflag", "1");
  305. //2009-08-01 nj 아래 내용 용어 검색시 사용하는 flag 값
  306. //model.makeValue("/root/send/reqdata/diagflag", "c");
  307. model.makeValue("/root/send/reqdata/diagflag", "");
  308. //2009-08-01 nj 아래 내용 용어 검색시 사용하는 값
  309. model.makeValue("/root/send/reqdata/srchnm", "");
  310. //2009-08-01 nj 추가 기준일자를 넘겨서 기준일자에 맞는 용어만 조회
  311. var stndd = opener.javascript.getParameter("stndd");
  312. if(stndd!=""){
  313. model.makeValue("/root/send/reqdata/stndd",stndd);
  314. }else{
  315. model.makeValue("/root/send/reqdata/stndd",getCurrentDate());
  316. }
  317. // 2009-08-01 아래 내용 삭제 사용하지 않음
  318. //model.makeValue("/root/send/reqdata/indxnmflag", "E");
  319. if(submit("TRMRT00502")){
  320. }
  321. }else if(sObjLId=="trv_trvmopholist"){
  322. var item = trvObj.item(trvObj.selectedIndex);
  323. var indxcd = trvObj.value;
  324. /*if(item.depth == 0){ //상위index만을 클릭한 경우 return한다.
  325. return;
  326. }*/
  327. model.removenode("/root/send/reqdata");
  328. model.makeNode("/root/send/reqdata");
  329. model.makeValue("/root/send/reqdata/srchindxcd",indxcd);
  330. //2009-08-01 nj 수정
  331. //model.makeValue("/root/send/flag", "indx");
  332. model.makeValue("/root/send/reqdata/flag", "indx");
  333. //2009-08-01 nj 아래 내용 삭제. 사용하지 않음
  334. //model.makeValue("/root/send/reqdata/indxflag", "3");
  335. //2009-08-01 nj 아래 내용 용어 검색시 사용하는 flag 값
  336. //model.makeValue("/root/send/reqdata/diagflag", "c");
  337. model.makeValue("/root/send/reqdata/diagflag", "");
  338. //2009-08-01 nj 아래 내용 용어 검색시 사용하는 값
  339. model.makeValue("/root/send/reqdata/srchnm", "");
  340. model.makeValue("/root/send/reqdata/valiyn", "N");
  341. //2009-08-01 nj 추가 기준일자를 넘겨서 기준일자에 맞는 용어만 조회
  342. var stndd = opener.javascript.getParameter("stndd");
  343. if(stndd!=""){
  344. model.makeValue("/root/send/reqdata/stndd",stndd);
  345. }else{
  346. model.makeValue("/root/send/reqdata/stndd",getCurrentDate());
  347. }
  348. // 2009-08-01 아래 내용 삭제 사용하지 않음
  349. // model.makeValue("/root/send/reqdata/indxnmflag", "E");
  350. if(submit("TRMRT00501")){
  351. }
  352. }
  353. }
  354. /**
  355. * @group :
  356. * @ver :
  357. * @by : 이창록
  358. * @---------------------------------------------------
  359. * @type : function
  360. * @access : public
  361. * @desc : Morphology/Tophology 진단 코드 조회
  362. * @param :
  363. * @return :
  364. * @---------------------------------------------------
  365. */
  366. function fDiagSearch(){
  367. var flag = model.getValue("/root/hidden/search/flag");
  368. if(flag==1){//진단용어
  369. var cond1 = model.getValue("/root/main/cond/srchflag");
  370. var cond5 = model.getValue("/root/main/cond/reqdata");
  371. if(cond5.length < 1){
  372. messageBox("검색어를 ", "C002");
  373. return;
  374. }
  375. model.removenode("/root/send/reqdata");
  376. model.makeNode("/root/send/reqdata");
  377. if(cond1 == "code"){
  378. model.makeValue("/root/send/reqdata/srchflag", "C");
  379. Srchnm = cond5.toUpperCase();
  380. model.makeValue("/root/send/reqdata/srchnm", Srchnm);
  381. }else{
  382. model.makeValue("/root/send/reqdata/srchflag", "");
  383. }
  384. if(cond1 == "word"){
  385. if((cond5 != "") && (fIsHangul(cond5) == "E")){
  386. model.makeValue("/root/send/reqdata/srchflag", "E");
  387. model.makeValue("/root/send/reqdata/srchnm", cond5);
  388. }else if((cond5 != "") && (fIsHangul(cond5) == "H")){
  389. model.makeValue("/root/send/reqdata/srchflag", "H");
  390. model.makeValue("/root/send/reqdata/srchnm", cond5);
  391. }
  392. }
  393. var stndd = opener.javascript.getParameter("stndd");
  394. if(stndd!=""){
  395. model.makeValue("/root/send/reqdata/stndd",stndd);
  396. } else {
  397. model.makeValue("/root/send/reqdata/stndd",getCurrentDate());
  398. }
  399. //2009-04-29 오후 8:20:58 강지훈 수정 : 중앙에서 조회할경우 진단, 수술용어는 전기관의 용어를 보여준다.
  400. model.makeValue("/root/send/reqdata/maininstyn", model.getValue("/root/temp/maininstyn"));
  401. if(model.getValue("/root/temp/maininstyn") == "Y"){
  402. // 용어 마스터화면에서 대체코드 입력시 전기관의 용어가 조회가 되어야 함
  403. model.makeValue("/root/send/reqdata/selInstcd", "001");
  404. } else {
  405. model.makeValue("/root/send/reqdata/selInstcd", getUserInfo("dutplceinstcd"));
  406. }
  407. submit("TRMRT00204");
  408. }else if(flag ==2)//mophology
  409. {
  410. var cond1 = model.getValue("/root/main/cond/srchflag");
  411. var cond5 = model.getValue("/root/main/cond/reqdata");
  412. var reqflag = model.getValue("/root/main/cond/reqflag");
  413. if(cond5.length < 1){
  414. messageBox("검색어를 ", "C002");
  415. return;
  416. }
  417. model.removenode("/root/send/reqdata");
  418. model.makeNode("/root/send/reqdata");
  419. model.removenode("/root/send/flag");
  420. model.makeValue("/root/send/reqdata/indxflag", "3");
  421. if(cond1 == "code"){//코드로 검색
  422. model.makeValue("/root/send/reqdata/diagflag", "C");
  423. model.makeValue("/root/send/reqdata/srchnm", cond5.toUpperCase());
  424. }else{
  425. model.makeValue("/root/send/reqdata/diagflag", "WORD");
  426. }
  427. if(cond1 == "word"){//단어로 검색
  428. if((cond5 != "") && (fIsHangul(cond5) == "E")){
  429. model.makeValue("/root/send/reqdata/srchnm", cond5);
  430. }else{
  431. model.makeValue("/root/send/reqdata/srchnm", cond5);
  432. }
  433. }
  434. model.makeValue("/root/send/reqdata/flag", "srch");
  435. submit("TRMRT00501");
  436. }else if(flag ==3)//topholigy
  437. {
  438. var cond1 = model.getValue("/root/main/cond/srchflag");
  439. var cond5 = model.getValue("/root/main/cond/reqdata");
  440. var reqflag = model.getValue("/root/main/cond/reqflag");
  441. if(cond5.length < 1){
  442. messageBox("검색어를 ", "C002");
  443. return;
  444. }
  445. model.removenode("/root/send/reqdata");
  446. model.makeNode("/root/send/reqdata");
  447. model.removenode("/root/send/flag");
  448. model.makeValue("/root/send/reqdata/indxflag", "1");
  449. if(cond1 == "code"){//코드로 검색
  450. model.makeValue("/root/send/reqdata/diagflag", "C");
  451. model.makeValue("/root/send/reqdata/srchnm", cond5.toUpperCase());
  452. }else{
  453. model.makeValue("/root/send/reqdata/diagflag", "WORD");
  454. }
  455. if(cond1 == "word"){//단어로 검색
  456. if((cond5 != "") && (fIsHangul(cond5) == "E")){
  457. model.makeValue("/root/send/reqdata/srchnm", cond5);
  458. } else{
  459. model.makeValue("/root/send/reqdata/srchnm", cond5);
  460. }
  461. }
  462. model.makeValue("/root/send/reqdata/flag", "srch");
  463. submit("TRMRT00502");
  464. }else if(flag ==4)//icd10cd
  465. {
  466. var cond1 = model.getValue("/root/main/cond/srchflag");
  467. var cond5 = model.getValue("/root/main/cond/reqdata");
  468. var reqflag = model.getValue("/root/main/cond/reqflag");
  469. if(cond5.length < 1){
  470. messageBox("검색어를 ", "C002");
  471. return;
  472. }
  473. model.removenode("/root/send/reqdata");
  474. model.makeNode("/root/send/reqdata");
  475. model.removenode("/root/send/flag");
  476. model.makeValue("/root/send/reqdata/indxflag", "0");
  477. if(cond1 == "code"){//코드로 검색
  478. model.makeValue("/root/send/reqdata/diagflag", "C");
  479. model.makeValue("/root/send/reqdata/srchnm", cond5.toUpperCase());
  480. }else{
  481. model.makeValue("/root/send/reqdata/diagflag", "WORD");
  482. }
  483. if(cond1 == "word"){//단어로 검색
  484. if((cond5 != "") && (fIsHangul(cond5) == "E")){
  485. model.makeValue("/root/send/reqdata/srchnm", cond5);
  486. } else{
  487. model.makeValue("/root/send/reqdata/srchnm", cond5);
  488. }
  489. }
  490. model.makeValue("/root/send/reqdata/flag", "srch");
  491. submit("TRMRT00505");
  492. }else if(flag ==5)//수술용어
  493. {
  494. var cond1 = model.getValue("/root/main/cond/srchflag");
  495. var cond5 = model.getValue("/root/main/cond/reqdata");
  496. if(cond5.length < 1){
  497. messageBox("검색어를 ", "C002");
  498. return;
  499. }
  500. model.removenode("/root/send/reqdata");
  501. model.makeNode("/root/send/reqdata");
  502. if(cond1 == "code"){
  503. model.makeValue("/root/send/reqdata/srchflag", "C");
  504. Srchnm = cond5.toUpperCase();
  505. model.makeValue("/root/send/reqdata/srchnm", Srchnm);
  506. }else{
  507. model.makeValue("/root/send/reqdata/srchflag", "");
  508. }
  509. if(cond1 == "word"){
  510. if((cond5 != "") && (fIsHangul(cond5) == "E")){
  511. model.makeValue("/root/send/reqdata/srchflag", "E");
  512. model.makeValue("/root/send/reqdata/srchnm", cond5);
  513. }else if((cond5 != "") && (fIsHangul(cond5) == "H")){
  514. model.makeValue("/root/send/reqdata/srchflag", "H");
  515. model.makeValue("/root/send/reqdata/srchnm", cond5);
  516. }
  517. }
  518. var stndd = opener.javascript.getParameter("stndd");
  519. if(stndd!=""){
  520. model.makeValue("/root/send/reqdata/stndd",stndd);
  521. }else{
  522. model.makeValue("/root/send/reqdata/stndd",getCurrentDate());
  523. }
  524. //2009-04-29 오후 8:20:58 강지훈 수정 : 중앙에서 조회할경우 진단, 수술용어는 전기관의 용어를 보여준다.
  525. model.makeValue("/root/send/reqdata/maininstyn", model.getValue("/root/temp/maininstyn"));
  526. if(model.getValue("/root/temp/maininstyn") == "Y"){
  527. // 용어 마스터화면에서 대체코드 입력시 전기관의 용어가 조회가 되어야 함
  528. model.makeValue("/root/send/reqdata/selInstcd", "001");
  529. } else {
  530. model.makeValue("/root/send/reqdata/selInstcd", getUserInfo("dutplceinstcd"));
  531. }
  532. submit("TRMRT00704");
  533. }
  534. }
  535. /**
  536. * @desc : 더블클릭시 그리드로 내리기
  537. * @
  538. * @param :진단코드
  539. * @return :
  540. * @author : 이창록
  541. * @---------------------------------------------------
  542. */
  543. function fAddicd10Hist(srcRow){
  544. var icd10medireccd = model.getValue(sICD10LIST + "[" + srcRow + "]/icd10medireccd");
  545. var icd10engnm = model.getValue(sICD10LIST + "[" + srcRow + "] /icd10engnm");
  546. var icd10hngnm = model.getValue(sICD10LIST + "[" + srcRow + "] /icd10hngnm");
  547. var icd10cd = model.getValue(sICD10LIST + "[" + srcRow + "] /icd10cd");
  548. var icd10drindxcd = model.getValue(sICD10LIST + "[" + srcRow + "]/icd10drindxcd");
  549. var icd10seqno = model.getValue(sICD10LIST + "[" + srcRow + "]/icd10seqno");
  550. var iFndRow1 = grd_icd10info.findRow(icd10cd, 1, 3, "true", "true");//중복한 행선택시
  551. if(iFndRow1 > 0){
  552. messageBox("이미선택하신코드","E008");
  553. return;
  554. }else{
  555. grd_icd10info.addRow(false);
  556. desRow = grd_icd10info.row;
  557. model.setValue(sICD10Path + "[" + desRow + "]/stat" , "I");
  558. model.setValue(sICD10Path + "[" + desRow + "]/icd10cd" , icd10cd);
  559. model.setValue(sICD10Path + "[" + desRow + "]/icd10medireccd", icd10medireccd);
  560. model.setValue(sICD10Path + "[" + desRow + "]/icd10engnm" , icd10engnm);
  561. model.setValue(sICD10Path + "[" + desRow + "]/icd10hngnm" , icd10hngnm);
  562. model.setValue(sICD10Path + "[" + desRow + "]/icd10drindxcd" , icd10drindxcd);
  563. model.setValue(sICD10Path + "[" + desRow + "]/icd10seqno" , icd10seqno);
  564. }
  565. model.refresh();
  566. }
  567. /**
  568. * @desc : 더블클릭시 그리드로 내리기
  569. * @
  570. * @param ://Tophology
  571. * @return :
  572. * @author : 이창록
  573. * @---------------------------------------------------
  574. */
  575. function fAddTophoHist(toRow){
  576. var grde = model.getValue(xTophlgPath + "[" + toRow + "]/grde");
  577. var seqno = model.getValue(xTophlgPath + "[" + toRow + "]/seqno");
  578. var engnm = model.getValue(xTophlgPath + "[" + toRow + "]/engnm");
  579. var hngnm = model.getValue(xTophlgPath + "[" + toRow + "]/hngnm");
  580. var fromdd = model.getValue(xTophlgPath + "[" + toRow + "]/fromdd");
  581. var todd = model.getValue(xTophlgPath + "[" + toRow + "]/todd");
  582. var tophlgcd = model.getValue(xTophlgPath + "[" + toRow + "]/tophlgcd");
  583. var iFndRow1 = grd_tophoinfo.findRow(tophlgcd, 1, 3, "true", "true");//중복한 행선택시
  584. var iFndRow2 = grd_tophoinfo.findRow(seqno, 1, 2, "true", "true");//중복한 행선택시
  585. if((iFndRow1 > 0) && (iFndRow2 > 0)){
  586. messageBox("이미선택하신코드","E008");
  587. return;
  588. } else {
  589. grd_tophoinfo.addRow(false);
  590. desRow = grd_tophoinfo.row;
  591. var sParamTophoPath = "/root/param/topho/tophoinfo" ;
  592. model.setValue(sParamTophoPath + "[" + desRow + "]/stat" , "I");
  593. model.setValue(sParamTophoPath + "[" + desRow + "]/grde" , grde);
  594. model.setValue(sParamTophoPath + "[" + desRow + "]/seqno" , seqno);
  595. model.setValue(sParamTophoPath + "[" + desRow + "]/engnm" , engnm);
  596. model.setValue(sParamTophoPath + "[" + desRow + "]/hngnm" , hngnm);
  597. model.setValue(sParamTophoPath + "[" + desRow + "]/tophlgcd" , tophlgcd);
  598. model.setValue(sParamTophoPath + "[" + desRow + "]/fromdd" , fromdd);
  599. model.setValue(sParamTophoPath + "[" + desRow + "]/todd" , todd);
  600. }
  601. model.refresh();
  602. }
  603. //
  604. /**
  605. * @desc : 더블클릭시 그리드로 내리기
  606. * @
  607. * @param ://mophology
  608. * @return :
  609. * @author : 이창록
  610. * @---------------------------------------------------
  611. */
  612. function fAddMophoHist(mRow){
  613. var grde = model.getValue(xMophlgPath + "[" + mRow + "]/grde");
  614. var seqno = model.getValue(xMophlgPath + "[" + mRow + "]/seqno");
  615. var engnm = model.getValue(xMophlgPath + "[" + mRow + "]/engnm");
  616. var hngnm = model.getValue(xMophlgPath + "[" + mRow + "]/hngnm");
  617. var fromdd = model.getValue(xMophlgPath + "[" + mRow + "]/fromdd");
  618. var todd = model.getValue(xMophlgPath + "[" + mRow + "]/todd");
  619. var histlgccd = model.getValue(xMophlgPath + "[" + mRow + "]/histlgccd");
  620. var indxcd = model.getValue(xMophlgPath + "[" + mRow + "]/indxcd");
  621. var iFndRow1 = grd_mophoinfo.findRow(histlgccd, 1, 3, "true", "true");//중복한 행선택시
  622. var iFndRow2 = grd_mophoinfo.findRow(seqno, 1, 2, "true", "true");//중복한 행선택시
  623. if((iFndRow1 > 0) && (iFndRow2 > 0)){
  624. messageBox("이미선택하신코드","E008");
  625. return;
  626. } else {
  627. grd_mophoinfo.addRow(false);
  628. dRow = grd_mophoinfo.row;
  629. var sMophoPath="/root/param/mopho/mophoinfo";
  630. model.makeValue(sMophoPath + "[" + dRow + "]/stat" , "I");
  631. model.setValue(sMophoPath + "[" + dRow + "]/grde" , grde);
  632. model.setValue(sMophoPath + "[" + dRow + "]/seqno" , seqno);
  633. model.setValue(sMophoPath + "[" + dRow + "]/engnm" , engnm);
  634. model.setValue(sMophoPath + "[" + dRow + "]/hngnm" , hngnm);
  635. model.setValue(sMophoPath + "[" + dRow + "]/fromdd" , fromdd);
  636. model.setValue(sMophoPath + "[" + dRow + "]/todd" , todd);
  637. model.setValue(sMophoPath + "[" + dRow + "]/histlgccd" , histlgccd);
  638. model.setValue(sMophoPath + "[" + dRow + "]/indxcd" , indxcd);
  639. }
  640. model.refresh();
  641. }
  642. /**
  643. * @desc : 더블클릭시 그리드로 내리기
  644. * @
  645. * @param ://icd10
  646. * @return :
  647. * @author : 이창록
  648. * @---------------------------------------------------
  649. */
  650. function fAddDiagHist(dgRow) {
  651. var sDiagCD = model.getValue("/root/main/diagcdinfo/diagcd[" + dgRow + "]/termcd");
  652. var sDispDiagCD= model.getValue("/root/main/diagcdinfo/diagcd[" + dgRow + "]/diagattrcd");
  653. var sLglyisflag = model.getValue("/root/main/diagcdinfo/diagcd[" + dgRow + "]/lglydisflag");
  654. var sDiagEngNM = model.getValue("/root/main/diagcdinfo/diagcd[" + dgRow + "]/termengnm");
  655. var sDiagHngNM = model.getValue("/root/main/diagcdinfo/diagcd[" + dgRow + "]/termhngnm");
  656. var termfromdd = model.getValue("/root/main/diagcdinfo/diagcd[" + dgRow + "]/termfromdd");
  657. var iFndRow = grd_selectdiag.findRow(sDiagCD, 1, 0, "true", "true");//중복한 행선택시
  658. if(iFndRow < 0){
  659. grd_selectdiag.addRow(false);
  660. iCurRow = grd_selectdiag.row;
  661. model.makeValue("/root/param/selectdiaginfo/selectdiaglist[" + iCurRow + "]/stat" , "I");
  662. model.setValue("/root/param/selectdiaginfo/selectdiaglist[" + iCurRow + "]/diagcd" , sDiagCD);
  663. model.setValue("/root/param/selectdiaginfo/selectdiaglist[" + iCurRow + "]/dispdiagcd", sDispDiagCD);
  664. model.setValue("/root/param/selectdiaginfo/selectdiaglist[" + iCurRow + "]/diagengnm" , sDiagEngNM);
  665. model.setValue("/root/param/selectdiaginfo/selectdiaglist[" + iCurRow + "]/diaghngnm" , sDiagHngNM);
  666. model.setValue("/root/param/selectdiaginfo/selectdiaglist[" + iCurRow + "]/lglydisflag" , sLglyisflag);
  667. model.setValue("/root/param/selectdiaginfo/selectdiaglist[" + iCurRow + "]/termfromdd" , termfromdd);
  668. }else if(iFndRow > 0){
  669. messageBox("이미 선택하신 코드","E008");
  670. return;
  671. }
  672. model.refresh();
  673. }
  674. function fAddopHist(opRow){
  675. var sOpCD = model.getValue("/root/main/opcdinfo/opcd[" + opRow + "]/termcd");
  676. var sDispOpCD= model.getValue("/root/main/opcdinfo/opcd[" + opRow + "]/opattrcd");
  677. var sDiagEngNM = model.getValue("/root/main/opcdinfo/opcd[" + opRow + "]/termengnm");
  678. var sDiagHngNM = model.getValue("/root/main/opcdinfo/opcd[" + opRow + "]/termhngnm");
  679. var termfromdd = model.getValue("/root/main/opcdinfo/opcd[" + opRow + "]/termfromdd");
  680. var iFndRow = grd_selectop.findRow(sOpCD, 1, 0, "true", "true");//중복한 행선택시
  681. if(iFndRow < 0){
  682. grd_selectop.addRow(false);
  683. iCurRow = grd_selectop.row;
  684. model.makeValue("/root/param/selectopinfo/selectoplist[" + iCurRow + "]/stat", "I");
  685. model.setValue("/root/param/selectopinfo/selectoplist[" + iCurRow + "]/opcd", sOpCD);
  686. model.setValue("/root/param/selectopinfo/selectoplist[" + iCurRow + "]/dispopcd", sDispOpCD);
  687. model.setValue("/root/param/selectopinfo/selectoplist[" + iCurRow + "]/opengnm", sDiagEngNM);
  688. model.setValue("/root/param/selectopinfo/selectoplist[" + iCurRow + "]/ophngnm", sDiagHngNM);
  689. model.setValue("/root/param/selectopinfo/selectoplist[" + iCurRow + "]/termfromdd", termfromdd);
  690. }else if(iFndRow > 0){
  691. messageBox("이미 선택하신 코드","E008");
  692. return;
  693. }
  694. model.refresh();
  695. }
  696. /**
  697. * @desc : 용어 추가 버튼 클릭시
  698. * :
  699. * @
  700. * @param :
  701. * @return :
  702. * @author : 이창록
  703. * @---------------------------------------------------
  704. */
  705. function fAddBtnTerm(){
  706. var flag = model.getValue("/root/hidden/search/flag");
  707. if(flag==1){
  708. var diagRow = grd_diaglist.selectedRows;
  709. for(var i = 0; i < diagRow; i++){
  710. var dgRow = grd_diaglist.selectedRow(i);
  711. fAddDiagHist(dgRow);
  712. }
  713. }else if(flag==2){
  714. var mrow = grd_icdo3list.selectedRows;
  715. for(var i = 0; i < mrow; i++){
  716. var mRow = grd_icdo3list.selectedRow(i);
  717. fAddMophoHist(mRow);
  718. }
  719. }else if(flag==3){
  720. var torow = grd_tophlglist.selectedRows;
  721. for(var i = 0; i < torow; i++){
  722. var toRow = grd_tophlglist.selectedRow(i);
  723. fAddTophoHist(toRow);
  724. }
  725. }else if(flag==4){
  726. var totrow = grd_icd10list.selectedRows;
  727. for(var i = 0; i < totrow; i++){
  728. var dRow = grd_icd10list.selectedRow(i);
  729. fAddicd10Hist(dRow);
  730. }
  731. }else if(flag==5){
  732. var totrow = grd_oplist.selectedRows;
  733. for(var i = 0; i < totrow; i++){
  734. var opRow = grd_oplist.selectedRow(i);
  735. fAddopHist(opRow);
  736. }
  737. }
  738. }
  739. /**
  740. * @desc : 초기화 버튼 클릭시
  741. * :
  742. * @
  743. * @param :,
  744. * @return :
  745. * @author : 이창록 btn_Cdiag
  746. * @---------------------------------------------------
  747. */
  748. function fCleanTerm(){
  749. var flag = model.getValue("/root/hidden/search/flag");
  750. if(flag==1){
  751. model.removeNodeset(DiagPath);
  752. model.removeNodeset("/root/param/selectdiaginfo/selectdiaglist");
  753. grd_diaglist.rebuild();
  754. grd_selectdiag.rebuild();
  755. }else if(flag==2){
  756. model.removeNodeset(xMophlgPath);
  757. model.removeNodeset("/root/param/mopho/mophoinfo");
  758. grd_icdo3list.rebuild();
  759. grd_mophoinfo.rebuild();
  760. }else if(flag==3){
  761. model.removeNodeset(xTophlgPath);
  762. model.removeNodeset("/root/param/topho/tophoinfo");
  763. grd_tophlglist.rebuild();
  764. grd_tophoinfo.rebuild();
  765. }else if(flag==4){
  766. model.removeNodeset(sICD10LIST);
  767. model.removeNodeset("/root/param/icd10/icd10info");
  768. grd_icd10list.rebuild();
  769. grd_icd10info.rebuild();
  770. }else if(flag==5){
  771. model.removeNodeset("/root/main/opcdinfo/opcd");
  772. model.removeNodeset("/root/param/selectopinfo/selectoplist");
  773. grd_oplist.rebuild();
  774. grd_selectop.rebuild();
  775. }
  776. }
  777. /**
  778. * @desc : 오른쪽마우스클릭시 삭제
  779. * @
  780. * @param :
  781. * @return :
  782. * @author : 이창록
  783. * @---------------------------------------------------
  784. */
  785. function fdelRow_TermList(){
  786. var flag = model.getValue("/root/hidden/search/flag");
  787. if(flag==1){
  788. if(grd_selectdiag.row < 0)
  789. return;
  790. if (grd_selectdiag.selectedRows > 0) {
  791. var selectedRows = Array(grd_selectdiag.selectedRows);
  792. for(i=0;i<grd_selectdiag.selectedRows;i++) {
  793. selectedRows[i] = grd_selectdiag.selectedRow(i);
  794. }
  795. }
  796. var rowIdx;
  797. for ( var i= selectedRows.length ; i >= 0 ; i--){
  798. rowIdx = selectedRows[i];
  799. grd_selectdiag.deleteRow( rowIdx , false);
  800. }
  801. model.refresh();
  802. }else if(flag==2){
  803. if(grd_mophoinfo.row < 0)
  804. return;
  805. if (grd_mophoinfo.selectedRows > 0) {
  806. var selectedRows = Array(grd_mophoinfo.selectedRows);
  807. for(i=0;i<grd_mophoinfo.selectedRows;i++) {
  808. selectedRows[i] = grd_mophoinfo.selectedRow(i);
  809. }
  810. }
  811. var rowIdx;
  812. for ( var i= selectedRows.length ; i >= 0 ; i--){
  813. rowIdx = selectedRows[i];
  814. grd_mophoinfo.deleteRow( rowIdx , false);
  815. }
  816. model.refresh();
  817. }else if(flag==3){
  818. if(grd_tophoinfo.row < 0)
  819. return;
  820. if (grd_tophoinfo.selectedRows > 0) {
  821. var selectedRows = Array(grd_tophoinfo.selectedRows);
  822. for(i=0;i<grd_tophoinfo.selectedRows;i++) {
  823. selectedRows[i] = grd_tophoinfo.selectedRow(i);
  824. }
  825. }
  826. var rowIdx;
  827. for ( var i= selectedRows.length ; i >= 0 ; i--){
  828. rowIdx = selectedRows[i];
  829. grd_tophoinfo.deleteRow( rowIdx , false);
  830. }
  831. model.refresh();
  832. }else if(flag==4){
  833. if(grd_icd10info.row < 0)
  834. return;
  835. if (grd_icd10info.selectedRows > 0) {
  836. var selectedRows = Array(grd_icd10info.selectedRows);
  837. for(i=0;i<grd_tophoinfo.selectedRows;i++) {
  838. selectedRows[i] = grd_icd10info.selectedRow(i);
  839. }
  840. }
  841. var rowIdx;
  842. for ( var i= selectedRows.length ; i >= 0 ; i--){
  843. rowIdx = selectedRows[i];
  844. grd_icd10info.deleteRow( rowIdx , false);
  845. }
  846. model.refresh();
  847. }else if(flag==5) {
  848. if(grd_selectop.row < 0)
  849. return;
  850. if (grd_selectop.selectedRows > 0) {
  851. var selectedRows = Array(grd_selectop.selectedRows);
  852. for(i=0;i<grd_selectop.selectedRows;i++) {
  853. selectedRows[i] = grd_selectop.selectedRow(i);
  854. }
  855. }
  856. var rowIdx;
  857. for ( var i= selectedRows.length ; i >= 0 ; i--){
  858. rowIdx = selectedRows[i];
  859. grd_selectop.deleteRow( rowIdx , false);
  860. }
  861. model.refresh();
  862. }
  863. }
  864. /**
  865. * @group :
  866. * @ver :
  867. * @by : 이창록
  868. * @---------------------------------------------------
  869. * @type : function
  870. * @access : public
  871. * @desc : 더블클릭및 확인버튼클릭시 그리드와 연계(parameter)
  872. * @param :
  873. * @return :
  874. * @---------------------------------------------------
  875. */
  876. function fSendTermCd(){
  877. var flag = model.getValue("/root/hidden/search/flag");
  878. if(flag==1){
  879. if(checkOpener()){//자신을 Open한 opener의 현재 UID가 자신을 open한 시점의 UID와 비교하여 변경되었는지 여부를 반환
  880. var nodepath = opener.javascript.getParameter("SPMRT01500_param_nodepath");//parameter nodepath 설정
  881. if(nodepath == ""){
  882. var selectNode = opener.instance1.selectSingleNode("/root/temp");
  883. if(selectNode == null){
  884. opener.model.makeNode("/root/temp");//선택한 노드가 없을 시 강제 노드생성
  885. }
  886. model.copyNode(opener.root.temp, root.param.selectdiaginfo);
  887. opener.javascript.setParameter("SPMRT01500_FLAG","1");//진단용어
  888. }else{
  889. var selectnode = opener.instance1.selectSingleNode(nodepath);
  890. if(selectnode == null){
  891. opener.model.makeNode(nodepath);
  892. }
  893. opener.model.copyNode(nodepath, root.param.selectdiaginfo);
  894. opener.javascript.setParameter("SPMRT01500_FLAG","1");
  895. }
  896. }else{
  897. messageBox("상위 화면이 변경되어 데이터를 전달", "E001");
  898. }
  899. window.close();
  900. }else if(flag==2) { //Mophology
  901. if(checkOpener()){
  902. var nodepath = opener.javascript.getParameter("SPMRT01500_param_nodepath");
  903. if(nodepath == ""){
  904. var selectNode = opener.instance1.selectSingleNode("/root/temp");
  905. if(selectNode == null){
  906. opener.model.makeNode("/root/temp");
  907. }
  908. model.copyNode(opener.root.temp, root.param.mopho);
  909. opener.javascript.setParameter("SPMRT01500_FLAG","2");
  910. }else{
  911. var selectnode = opener.instance1.selectSingleNode(nodepath);
  912. if(selectnode == null){
  913. opener.model.makeNode(nodepath);
  914. }
  915. copyNodeset(nodepath, "/root/param/mopho/mophoinfo", "replace", opener.model, model);
  916. opener.javascript.setParameter("SPMRT01500_FLAG","2");
  917. }
  918. }else{
  919. messageBox("상위 화면이 변경되어 데이터를 전달", "E001");
  920. }
  921. window.close();
  922. }else if(flag==3) {
  923. if(checkOpener()){//tophology
  924. var nodepath = opener.javascript.getParameter("SPMRT01500_param_nodepath");
  925. if(nodepath == ""){
  926. var selectNode = opener.instance1.selectSingleNode("/root/temp");
  927. if(selectNode == null){
  928. opener.model.makeNode("/root/temp");
  929. }
  930. model.copyNode(opener.root.temp, root.param.topho);
  931. opener.javascript.setParameter("SPMRT01500_FLAG","3");
  932. }else{
  933. var selectnode = opener.instance1.selectSingleNode(nodepath);
  934. if(selectnode == null){
  935. opener.model.makeNode(nodepath);
  936. }
  937. copyNodeset(nodepath, "/root/param/topho/tophoinfo", "replace", opener.model, model);
  938. //opener.model.copyNode(nodepath, root.param.tophoinfo);
  939. opener.javascript.setParameter("SPMRT01500_FLAG","3");
  940. }
  941. }else{
  942. messageBox("상위 화면이 변경되어 데이터를 전달", "E001");
  943. }
  944. window.close();
  945. }else if(flag==4){
  946. if(checkOpener()){//icd10cd
  947. var nodepath = opener.javascript.getParameter("SPMRT01500_param_nodepath");
  948. if(nodepath == ""){
  949. var selectNode = opener.instance1.selectSingleNode("/root/temp");
  950. if(selectNode == null){
  951. opener.model.makeNode("/root/temp");
  952. }
  953. model.copyNode(opener.root.temp, root.param.icd10);
  954. opener.javascript.setParameter("SPMRT01500_FLAG","4");
  955. }else{
  956. var selectnode = opener.instance1.selectSingleNode(nodepath);
  957. if(selectnode == null){
  958. opener.model.makeNode(nodepath);
  959. }
  960. copyNodeset(nodepath, "/root/param/icd10/icd10info", "replace", opener.model, model);
  961. //opener.model.copyNode(nodepath, root.param.icd10);
  962. opener.javascript.setParameter("SPMRT01500_FLAG","4");
  963. }
  964. }else{
  965. messageBox("상위 화면이 변경되어 데이터를 전달", "E001");
  966. }
  967. window.close();
  968. }else if(flag==5){
  969. if(checkOpener()){//자신을 Open한 opener의 현재 UID가 자신을 open한 시점의 UID와 비교하여 변경되었는지 여부를 반환
  970. var nodepath = opener.javascript.getParameter("SPMRT01500_param_nodepath");//parameter nodepath 설정
  971. if(nodepath == ""){
  972. var selectNode = opener.instance1.selectSingleNode("/root/temp");
  973. if(selectNode == null){
  974. opener.model.makeNode("/root/temp");//선택한 노드가 없을 시 강제 노드생성
  975. }
  976. model.copyNode(opener.root.temp, root.param.selectopinfo);
  977. opener.javascript.setParameter("SPMRT01500_FLAG","5");//진단용어
  978. }else{
  979. var selectnode = opener.instance1.selectSingleNode(nodepath);
  980. if(selectnode == null){
  981. opener.model.makeNode(nodepath);
  982. }
  983. opener.model.copyNode(nodepath, root.param.selectopinfo);
  984. opener.javascript.setParameter("SPMRT01500_FLAG","5");
  985. }
  986. }else{
  987. messageBox("상위 화면이 변경되어 데이터를 전달", "E001");
  988. }
  989. window.close();
  990. }
  991. }