SMMRD01800.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219
  1. /**
  2. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  3. 의료정보 - 연구용검색 ( SMMRD018600_연구용검색 리스트.xrw - JScript )
  4. - Version :
  5. 1) : Ver.1.00.00
  6. - Author : 강지훈
  7. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  8. **/
  9. var xDschAnalyListPath = "/root/main/cond";
  10. /**
  11. * @ver : 2009-01-13
  12. * @desc : 화면초기화
  13. * @
  14. * @by : 강지훈
  15. * @param :
  16. * @return :
  17. * @---------------------------------------------------
  18. */
  19. function fSearchList(){
  20. //ref 및 caption값 고정
  21. var colString = "";
  22. var refString = "";
  23. //기본정보
  24. var baseRefString = "pid^hngnm^indd^erintm^erouttm^indeptcd^inclrsdeptcd^indrid^inapprtcdrid^inward^dschdd^dschdeptcd^dschclrsdeptcd^dschdrid^dschapprtcdrid^dschward^indg^totinhospdayno^age^sexflag^forgeryn^zipcd"; //기본정보
  25. var baseString = "등록번호^환자명^입원일^내원시간(ER)^퇴실시간(ER)^입원과^입원분과^입원담당교수^입원담당의^입원병동^퇴원일^퇴원과^퇴원분과^퇴원담당교수^퇴원담당의^퇴원병동^회차^재원일수^나이^성별^외국인여부^우편번호"; //기본정보
  26. "^opbfinhospdayno^lastdschyy^religncd^marystatcd^jobcd^specordyn^insukind^cptrgtyn^wundcasclscd^curersltcd^dethtypecd^dschtypecd^opdethtypecd^chosprogcd^inpathcd^reinresncd^reinpyn^reopresncd^infccascd^infcpartcd^cmplcd^spcscnt^spcnscnt^opyn^gnrlanstcnt^prtanstcnt^tpclanstcnt";
  27. //퇴원분석 part1
  28. var dschanalyRefStr1 = "^fstrgstdd^fstrgstrid^opbfinhospdayno^lastdschyy^religncd^marystatcd^jobcd^specordyn^insukind^cptrgtyn^wundcasclscd^curersltcd^dethtypecd^dschtypecd^opdethtypecd^chosprogcd^inpathcd^reinresncd^reinpyn^reopresncd^infccascd^infcpartcd^cmplcd^spcscnt^spcnscnt^opyn^gnrlanstcnt^prtanstcnt^tpclanstcnt";
  29. var dschanalyStr1 = "^작성일^작성자^수술전 재원일수^최종 퇴원년도^종교^결혼상태^직업^선택진료^보험유형^CP대상^상해원인분류^치료결과^사망형태^퇴원형태^수술사망^내원경위^입원경로^재입원(U)^재입원(P)^재수술(U)^감염종류1^감염종류2^합병증^생검(S)^생검(NS)^수술여부^전신마취건수^부분마취건수^국소마취건수";
  30. //수술
  31. var opRefStr = "^opdd^opdeptcd^opclrsdeptcd^perfdrid^lastmainopyn^anstmthdcd1^anstmthdcd2^anstmthdcd3^opreqflag^opscaleflag^opfromtm^optotm^preanstmthdinfo";
  32. var opStr = "^수술일자^수술과^수술분과^집도의^최종 주수술여부^마취방법1^마취방법2^마취방법3^정규/응급^수술구분^수술 시작시간^수술 끝 시간^이전 마취 정보";
  33. //퇴원분석 part2
  34. var dschanalyRefStr2 = "^dscnyn";
  35. var dschanalyStr2 = "^협진여부";
  36. //협진
  37. var cnstRefStr = "^reqdeptcd^reqclrsdeptcd^reqdrid^reqdd^execdeptcd^execlrsdeptcd^execdrid^execdd";
  38. var cnstStr = "^의뢰과^의뢰분과^의뢰과의사^의뢰일^시행과^시행분과^시행과의사^시행일";
  39. //퇴원분석 part3
  40. var dschanalyRefStr3 = "^chngdeptyn";
  41. var dschanalyStr3 = "^전과여부";
  42. //전과
  43. var chngdeptRefStr = "^chngdeptdd^chngdeptcd^chngclrsdeptcd^chngdeptdrid^chngdeptdayno^chngdeptmaindiagcd";
  44. var chngdeptStr = "^전출일자^전출과^전출분과^담당교수^전과재원일수^주진단코드";
  45. //퇴원분석 part4
  46. var dschanalyRefStr4 = "^dswmyn";
  47. var dschanalyStr4 = "^분만여부";
  48. //분만형태
  49. var partrtnRefStr = "^womntypecd^partrtnrsltcnt^partrtndd^stlborncnt^nbabyid^partrtneprccd^nbabygubun^womnid^partrtnkindcd^prgweekcnt^prgdayno^nbabybdwtqty";
  50. var partrtnStr = "^산모형태^분만결과^분만일자^사산아수^애기번호^분만경험^구분^산모번호^분만형태^임신주수^임신일^체중";
  51. /* 2010.11.30. 중환자실 병원별 분석 참고자료
  52. 병원 부서코드 부서명칭
  53. 전체 2110201000 신생아중환자실
  54. 전체 3060100000 내과중환자실
  55. 전체 3060200000 외과중환자실
  56. 전체 3060300000 신경외과중환자실
  57. 전체 3060400000 순환기계중환자실
  58. 서울 3060600000 2층중환자실
  59. 서울 3062300000 소아중환자실
  60. 서울 3062400000 BMT중환자실
  61. 의정부 3062100000 응급센터중환자실
  62. 의정부 3062200000 병동중환자실
  63. 부천 3060900000 신경외과중환자실 Unit
  64. 부천 3062700000 내외과중환자실A Unit
  65. */
  66. //퇴원분석 part5 -> 20120924 이윤주 수정
  67. //var dschanalyRefStr5 = "^nbicu^micu^sicu^nicu^ccu^icu2^picu^bmticu^eicu^wicu^nsicu^micua^icudethyn^reinyn^qiindx1^qiindx2^qiindx3^qiindx4^qiindx5^qiindx6^qiindx7^qiindx8^qiindx9^qiindx10";
  68. //var dschanalyStr5 = "^신생아중환자실^내과중환자실^외과중환자실^신경외과중환자실^순환기계중환자실^2층중환자실^소아중환자실^BMT중환자실^응급센터중환자실^병동중환자실^신경외과중환자실 Unit^내외과중환자실A Unit^중환자실 사망^재입실 여부^지표관리1^지표관리2^지표관리3^지표관리4^지표관리5^지표관리6^지표관리7^지표관리8^지표관리9^지표관리10";
  69. var dschanalyRefStr5 = "^nbicu^micu^sicu^nicu^ccu^picu^ccusu^eicu^icu032^icudethyn^reinyn^qiindx1^qiindx2^qiindx3^qiindx4^qiindx5^qiindx6^qiindx7^qiindx8^qiindx9^qiindx10";
  70. var dschanalyStr5 = "^신생아중환자실^MICU^SICU^NSICU^CICU^PICU^심뇌혈관질환응급치료실^EICU^칠곡중환자실^중환자실 사망^재입실 여부^지표관리1^지표관리2^지표관리3^지표관리4^지표관리5^지표관리6^지표관리7^지표관리8^지표관리9^지표관리10";
  71. //질병 및 수술 분류
  72. var chkopt = model.getValue("/root/main/cond/chkopt");
  73. if(chkopt == "Y"){
  74. var sickandopRefStr = "^cncrrgstyn^cncrflag^infdis1^infdis2^infdis3^infdis4^cctermcd1^cctermcd2^cctermcd3^cctermcd4^cctermcd5^diagcd1^diagcdnm1^diagcd2^diagcdnm2^diagcd3^diagcdnm3^diagcd4^diagcdnm4^diagcd5^diagcdnm5^diagcd6^diagcdnm6^diagcd7^diagcdnm7^diagcd8^diagcdnm8^diagcd9^diagcdnm9^diagcd10^diagcdnm10^diagcd11^diagcdnm11^diagcd12^diagcdnm12^diagcd13^diagcdnm13^diagcd14^diagcdnm14^diagcd15^diagcdnm15^diagcd16^diagcdnm16^diagcd17^diagcdnm17^diagcd18^diagcdnm18^diagcd19^diagcdnm19^diagcd20^diagcdnm20^opcd1^opcdnm1^opcd2^opcdnm2^opcd3^opcdnm3^opcd4^opcdnm4^opcd5^opcdnm5^opcd6^opcdnm6^opcd7^opcdnm7^opcd8^opcdnm8^opcd9^opcdnm9^opcd10^opcdnm10^opcd11^opcdnm11^opcd12^opcdnm12^opcd13^opcdnm13^opcd14^opcdnm14^opcd15^opcdnm15^opcd16^opcdnm16^opcd17^opcdnm17^opcd18^opcdnm18^opcd19^opcdnm19^opcd20^opcdnm20^bfdethcd^mdldethcd^direcdethcd";
  75. var sickandopStr = "^암등록여부^종양구분^전염병1^전염병2^전염병3^전염병4^주호소1^주호소2^주호소3^주호소4^주호소5^진단1^진단명1^진단2^진단명2^진단3^진단명3^진단4^진단명4^진단5^진단명5^진단6^진단명6^진단7^진단명7^진단8^진단명8^진단9^진단명9^진단10^진단명10^진단11^진단명11^진단12^진단명12^진단13^진단명13^진단14^진단명14^진단15^진단명15^진단16^진단명16^진단17^진단명17^진단18^진단명18^진단19^진단명19^진단20^진단명20^수술1^수술명1^수술2^수술명2^수술3^수술명3^수술4^수술명4^수술5^수술명5^수술6^수술명6^수술7^수술명7^수술8^수술명8^수술9^수술명9^수술10^수술명10^수술11^수술명11^수술12^수술명12^수술13^수술명13^수술14^수술명14^수술15^수술명15^수술16^수술명16^수술17^수술명17^수술18^수술명18^수술19^수술명19^수술20^수술명20^선행사인^중간사인^직접사인";
  76. }else{
  77. var sickandopRefStr = "^cncrrgstyn^cncrflag^infdis1^infdis2^infdis3^infdis4^cctermcd1^cctermcd2^cctermcd3^cctermcd4^cctermcd5^diagcd1^diagcd2^diagcd3^diagcd4^diagcd5^diagcd6^diagcd7^diagcd8^diagcd9^diagcd10^diagcd11^diagcd12^diagcd13^diagcd14^diagcd15^diagcd16^diagcd17^diagcd18^diagcd19^diagcd20^opcd1^opcd2^opcd3^opcd4^opcd5^opcd6^opcd7^opcd8^opcd9^opcd10^opcd11^opcd12^opcd13^opcd14^opcd15^opcd16^opcd17^opcd18^opcd19^opcd20^bfdethcd^mdldethcd^direcdethcd";
  78. var sickandopStr = "^암등록여부^종양구분^전염병1^전염병2^전염병3^전염병4^주호소1^주호소2^주호소3^주호소4^주호소5^진단1^진단2^진단3^진단4^진단5^진단6^진단7^진단8^진단9^진단10^진단11^진단12^진단13^진단14^진단15^진단16^진단17^진단18^진단19^진단20^수술1^수술2^수술3^수술4^수술5^수술6^수술7^수술8^수술9^수술10^수술11^수술12^수술13^수술14^수술15^수술16^수술17^수술18^수술19^수술20^선행사인^중간사인^직접사인";
  79. }
  80. //암환자 관리
  81. var cncrpatRefStr = "^cncrno^prmycncryn^dethyn^yearcnt^monthcnt^lastdiagmthdcd^clinical^tophcd^morphcd1^morphcd2^icd10cd^seer^t^n^m^etcstagflagcd^etcstagcnts^rerntmetstaspartnm1^rerntmetstaspartnm2^rerntmetstaspartnm3^rerntmetstaspartnm4^ecog^regimen1^regimen2^chosbfcurecd1^chosbfcurecd2^chosbfcurecd3^prmypartcurecd1^prmypartcurecd2^prmypartcurecd3^metstaspartcurecd1^metstaspartcurecd2^metstaspartcurecd3";
  82. var cncrpatStr = "^암등록번호^다발성원발암 여부^사망여부^생존기간(년)^생존기간(월)^최종진단방법^최종진단방법 기타^T-Code^M-Code1^M-Code2^ICD-10^seer^T^N^M^기타병기구분^기타병기내용^원격전이1^원격전이2^원격전이3^원격전이4^ECOG^regimen1^regimen2^내원전 치료1^내원전 치료2^내원전 치료3^본원치료방법1^본원치료방법2^본원치료방법3^원발부위 치료방법1^원발부위 치료방법2^원발부위 치료방법3";
  83. //조건에따른 ref및 caption 값 설정
  84. var baseinfo = model.getValue("/root/main/cond/baseinfo"); //기본정보
  85. var duplelmn = model.getValue("/root/main/cond/duplelmn"); //중복제거
  86. var addr = model.getValue("/root/main/cond/addr"); //주소
  87. var rrgstno = model.getValue("/root/main/cond/rrgstno"); //주민번호
  88. var cntctel = model.getValue("/root/main/cond/cntctel"); //전화번호
  89. var dschanaly = model.getValue("/root/main/cond/dschanaly"); //퇴원분석
  90. var sickandop = model.getValue("/root/main/cond/sickandop"); //질병 및 수술 분류
  91. var cncrpat = model.getValue("/root/main/cond/cncrpat"); //암환자관리
  92. var opkind = model.getValue("/root/main/cond/opkind"); // 수술분류
  93. var cnstkind = model.getValue("/root/main/cond/cnstkind"); //협진분류
  94. var chngdeptkind = model.getValue("/root/main/cond/chngdeptkind"); //전과분류
  95. var partrtnkind = model.getValue("/root/main/cond/partrtnkind"); //분만분류
  96. refString = baseRefString;
  97. colString = baseString;
  98. if(addr == "Y"){
  99. refString += "^addr^detladdr";
  100. colString += "^주소^상세주소";
  101. }
  102. if(rrgstno == "Y"){
  103. refString += "^rrgstno";
  104. colString += "^주민등록번호";
  105. }
  106. if(cntctel == "Y"){
  107. refString += "^cntctel";
  108. colString += "^전화번호";
  109. }
  110. if(dschanaly == "Y"){ // 퇴원분석 파트1
  111. refString += dschanalyRefStr1;
  112. colString += dschanalyStr1;
  113. }
  114. if(opkind == "Y"){ // 수술 전체
  115. refString += opRefStr;
  116. colString += opStr;
  117. }
  118. if(dschanaly == "Y"){ // 퇴원분석 파트2
  119. refString += dschanalyRefStr2;
  120. colString += dschanalyStr2;
  121. }
  122. if(cnstkind == "Y"){ // 협진 전체
  123. refString += cnstRefStr;
  124. colString += cnstStr;
  125. }
  126. if(dschanaly == "Y"){ // 퇴원분석 파트3
  127. refString += dschanalyRefStr3;
  128. colString += dschanalyStr3;
  129. }
  130. if(chngdeptkind == "Y"){ //전과
  131. refString += chngdeptRefStr;
  132. colString += chngdeptStr;
  133. }
  134. if(dschanaly == "Y"){ // 퇴원분석 파트4
  135. refString += dschanalyRefStr4;
  136. colString += dschanalyStr4;
  137. }
  138. if(partrtnkind == "Y"){ // 분만
  139. refString += partrtnRefStr;
  140. colString += partrtnStr;
  141. }
  142. if(dschanaly == "Y"){ // 퇴원분석 파트5
  143. refString += dschanalyRefStr5;
  144. colString += dschanalyStr5;
  145. }
  146. if(sickandop == "Y"){ // 질병 및 수술 분류
  147. refString += sickandopRefStr;
  148. colString += sickandopStr;
  149. }
  150. if(cncrpat == "Y"){ // 암환자 관리
  151. refString += cncrpatRefStr;
  152. colString += cncrpatStr;
  153. }
  154. //조회를 위한 그리드 재구성
  155. //model.removeNode("/root/main/list");
  156. model.removeNodeset("/root/main/list");
  157. model.setValue("/root/main/cond/offset", "0"); // grid의 header row는 제외
  158. //model.refresh();
  159. if (submit("TRMRD01600") == true){
  160. if (model.getValue("/root/main/list/stdysrchlist[1]/pid") == "")
  161. {
  162. messageBox("조회된 데이타가 없습니다.", "I999");
  163. return false;
  164. }
  165. grd_list.nodeset = "/root/main/templist/row";
  166. //model.refresh()
  167. // 그리드 초기화
  168. var cols = grd_list.cols-grd_list.fixedCols;
  169. for( var i = 0; i < cols; i++ ) {
  170. grd_list.removeColumn(false);
  171. }
  172. // 그리드 ref 지정
  173. var refStringArray = refString.split("^");
  174. for( var i = 0; i < refStringArray.length; i++ ) {
  175. grd_list.addColumn("ref:" + refStringArray[i] + ";", false);
  176. grd_list.colWidth(i) = 80;
  177. }
  178. grd_list.caption = colString;
  179. grd_list.nodeset = "/root/main/list/stdysrchlist";
  180. //grd_list.refresh();
  181. model.refresh();
  182. return true;
  183. }
  184. }