SPMNE04400.xjs 79 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/*
  3. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  4. 응급실Triage ( SPMNE04400_응급실Triage.xrw - JScript )
  5. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  6. */
  7. var sERTRIAGE_PATH = "/root/main/ertriage/ertriage";
  8. /**
  9. * @desc : 화면 초기화
  10. * @
  11. * @param :
  12. * @return :
  13. * @author : 오지훈
  14. * @---------------------------------------------------
  15. */
  16. //function fInitialize_SPMMO06100(){
  17. function fInitialize_SPMNE04400(){
  18. fGetNursHardCdInfo("'186','002'", utlf_getCurrentDate()); //CareCom.js 통증사정관련 추가 20100303 김홍점
  19. ds_main_erpatinfo_erpatlist.clear();
  20. appf_getCodeList([{dsNm: "ds_init_M0117_M0117", cdGrpId: "M0117"}
  21. , {dsNm: "ds_init_M0118_M0118", cdGrpId: "M0118"}
  22. , {dsNm: "ds_init_M0119_M0119", cdGrpId: "M0119"}
  23. , {dsNm: "ds_init_M0120_M0120", cdGrpId: "M0120"}
  24. , {dsNm: "ds_init_M0121_M0121", cdGrpId: "M0121"}
  25. , {dsNm: "ds_init_M0122_M0122", cdGrpId: "M0122"}
  26. , {dsNm: "ds_init_M0123_M0123", cdGrpId: "M0123"}
  27. , {dsNm: "ds_init_M0124_M0124", cdGrpId: "M0124"}
  28. , {dsNm: "ds_init_M0125_M0125", cdGrpId: "M0125"}
  29. , {dsNm: "ds_init_M0126_M0126", cdGrpId: "M0126"}
  30. , {dsNm: "ds_init_M0535_M0535", cdGrpId: "M0535"}
  31. , {dsNm: "ds_init_M0761_M0761", cdGrpId: "M0761"}], true);
  32. //cp_checkboxList 설정
  33. var sProp="col="+ds_init_M0123_M0123.rowcount+",row=1,cellspacing=0,vcellspacing=2,itemWidth=80,itemHeight=20,overflow='visible'";
  34. grp_triage.chk_algyflag.setInitComp(sProp,ds_init_M0123_M0123,"cdid","cdnm","fn_cmpEvent");
  35. var rtn = grp_triage.chk_algyflag.getData();
  36. var aData = new Array();
  37. for(var i =0; i<rtn.length; i++){
  38. aData[i] = rtn[i];
  39. }
  40. grp_triage.chk_algyflag.setData(aData, null, false);
  41. var chk_algyflagrtn = grp_triage.chk_algyflag.getData();
  42. ds_main_ertriage_ertriage.setColumn(0, "algyflag", chk_algyflagrtn );
  43. //
  44. //cp_checkboxList2 설정
  45. var sProp="col=3,row=3,cellspacing=0,vcellspacing=2,itemWidth=130,itemHeight=25,overflow='visible'";
  46. grp_triage.chk_proceqmtflag.setInitComp(sProp,ds_init_M0125_M0125,"cdid","cdnm","fn_cmpEvent2");
  47. var rtn = grp_triage.chk_proceqmtflag.getData();
  48. var aData = new Array();
  49. for(var i =0; i<rtn.length; i++){
  50. aData[i] = rtn[i];
  51. }
  52. grp_triage.chk_proceqmtflag.setData(aData, null, false);
  53. var chk_proceqmtflagrtn = grp_triage.chk_proceqmtflag.getData();
  54. ds_main_ertriage_ertriage.setColumn(0, "proceqmtflag", chk_proceqmtflagrtn );
  55. //chk_proceqmtflag 처음 enable = false
  56. grp_triage.chk_proceqmtflag.enable = false;
  57. //
  58. //cp_checkboxList3 설정
  59. var sProp="col="+ds_init_M0124_M0124.rowcount+",row=1,cellspacing=0,vcellspacing=2,itemWidth=80,itemHeight=20,overflow='visible'";
  60. grp_triage.chk_pasthistflag.setInitComp(sProp,ds_init_M0124_M0124,"cdid","cdnm","fn_cmpEvent3");
  61. var rtn = grp_triage.chk_pasthistflag.getData();
  62. var aData = new Array();
  63. for(var i =0; i<rtn.length; i++){
  64. aData[i] = rtn[i];
  65. }
  66. grp_triage.chk_pasthistflag.setData(aData, null, false);
  67. var chk_pasthistflagrtn = grp_triage.chk_pasthistflag.getData();
  68. ds_main_ertriage_ertriage.setColumn(0, "pasthistflag", chk_pasthistflagrtn );
  69. //
  70. frmf_addComboItem("grp_triage.cmb_inhosptype","-","-","above");
  71. ds_main_cond.setColumn(0, "acptdd", utlf_getCurrentDate()); //접수일자
  72. //main에서 열린화면이 아닌 opener가 있을시에는 opener로부터 환자기본정보 key값을 setting한다.
  73. if(frmf_checkOpener()){
  74. //var param = opener.javascript.getParameter("SPMMO06100_param"); //parameter
  75. var param = opener.frmf_getParameter("SPMNE04400_param"); //parameter
  76. if(utlf_transNullToEmpty(param).length > 1){ //opener에서 넘어온 parameter가 있는 경우
  77. fReqERTriagePatInfoPrimaryKey(param);
  78. fReqERTriagePatList(); //현재일자를 기준으로 Triage환자리스트를 조회한다.
  79. }else{ //opener에서 넘어온 parameter가 없는 경우, 상단정보가 있는지 확인한다.
  80. var patflagcsv = sysf_getGlobalVariable("patflag");
  81. var paminfocsv = sysf_getGlobalVariable("paminfo");
  82. //alert(patflagcsv + "," + paminfocsv);
  83. ds_patflag_list.clear();
  84. dsf_setCSVToDs("ds_patflag_list", patflagcsv);
  85. var ioflag = ds_patflag_list.getColumn(0, "prcpgenrflag");
  86. if(utlf_transNullToEmpty(patflagcsv).length > 1 && utlf_transNullToEmpty(paminfocsv).length > 1 && ( ioflag == "E" || ioflag == "I" ) ){ //상단정보가 있고, 환자정보가 응급인 경우
  87. ds_paminfo_list.clear();
  88. dsf_setCSVToDs("ds_paminfo_list", paminfocsv);
  89. var param = ds_paminfo_list.getColumn(0, "pid") + "▦" +
  90. ds_paminfo_list.getColumn(0, "indd") + "▦" +
  91. ds_paminfo_list.getColumn(0, "cretno") + "▦" +
  92. ds_paminfo_list.getColumn(0, "sex") + "▦" +
  93. ds_paminfo_list.getColumn(0, "age") + "▦▦" +
  94. ds_paminfo_list.getColumn(0, "hngnm") + "▦" +
  95. ds_paminfo_list.getColumn(0, "orddeptcd") + "▦" +
  96. ds_paminfo_list.getColumn(0, "orddeptnm") + "▦" +
  97. ds_paminfo_list.getColumn(0, "medispclid");
  98. fReqERTriagePatInfoPrimaryKey(param);
  99. fReqERTriagePatList();
  100. //ByCY 진료외방문관련코드조회시 Blocking(20090304)
  101. //emr.mnembtms 진료외방문관련코드(C0043303, C0809949, C0260844)
  102. //var fMainsympcd = model.getValue("/root/main/ertriage/ertriage/mainsympcd");
  103. //model.makeValue("/root/blockflag/reqdata/mainsympcd",fMainsympcd);
  104. //submit("TRMNE04404", false);
  105. fCtrlSetting();
  106. //ByCY 진료외방문관련코드입력시 Blocking(20090304)
  107. }else{ //상단정보가 없는 경우
  108. ds_main_ertriage_ertriage.setColumn(0, "fstexamorddd" , utlf_getCurrentDate()); //초진진료일자
  109. ds_main_ertriage_ertriage.setColumn(0, "fstexamordtm" , (utlf_getCurrentTime()).substr(0,4)); //초진진료일자
  110. ds_main_ertriage_ertriage.setColumn(0, "attackdd" , utlf_getCurrentDate()); //발병일자
  111. ds_main_ertriage_ertriage.setColumn(0, "attacktm" , (utlf_getCurrentTime()).substr(0,4)); //발병시간
  112. fReqERTriagePatList(); //현재일자를 기준으로 Triage환자리스트를 조회한다.
  113. }
  114. }
  115. if(parseInt(ds_main_ertriage_ertriage.getColumn(0, "age")) >= 100) {
  116. sysf_messageBox("환자의 나이가 100세 이상입니다. 다시 한번 확인 하시기바랍니다.","I");
  117. }
  118. }
  119. }
  120. /**
  121. * @desc : Enter 혹은 Tab키 입력시, 지정한 콘트롤로 이동
  122. * @
  123. * @param :
  124. * @return :
  125. * @author : 오지훈
  126. * @---------------------------------------------------
  127. */
  128. function fNextMoveCtrl(ctrlID){
  129. if(event.keyCode == 13){ //Enter키가 눌린 경우
  130. //model.setFocus(ctrlID);
  131. }
  132. }
  133. /**
  134. * @desc : String에서 특정 문자 검사
  135. * @
  136. * @param : trgtStr - 타켓이 되는 String문자열
  137. * : fndCh - 찾을 Char문자
  138. *
  139. * @return : true/false
  140. * @author : 오지훈
  141. * @---------------------------------------------------
  142. */
  143. function fSearchChar(sTrgtStr, chFndChar){
  144. if(!utlf_isNull(sTrgtStr)){
  145. for(var i=0; i < sTrgtStr.length; i++){
  146. var ch = sTrgtStr.charAt(i);
  147. if(ch == chFndChar){
  148. return true;
  149. }
  150. }
  151. }
  152. return false;
  153. }
  154. /**
  155. * @desc : 알러지 선택, 선택취소
  156. * @
  157. * @param :
  158. * @return :
  159. * @author : 오지훈
  160. * @---------------------------------------------------
  161. */
  162. function fSelctAlgy(){
  163. //cp_checkboxList 이벤트
  164. var rtn = "";
  165. var tmp = "";
  166. rtn = grp_triage.chk_algyflag.getData();
  167. for(var i=0; i<rtn.length; i++){
  168. if( i == 0 ) tmp = rtn[i];
  169. else tmp = tmp + "|" +rtn[i];
  170. }
  171. ds_main_ertriage_ertriage.setColumn(0, "algyflag", tmp);
  172. //
  173. var sAglyFlag = ds_main_ertriage_ertriage.getColumn(0, "algyflag");
  174. grp_triage.ipt_algyetccnt.enable = false;
  175. if(fSearchChar(sAglyFlag, "8") == true){ // 없음(8)이 선택된 경우
  176. deselectAll("chk_algyflag");
  177. }else if(fSearchChar(sAglyFlag, "7") == true){ // 기타(7)이 선택된 경우
  178. grp_triage.ipt_algyetccnt.enable = true;
  179. }else if(fSearchChar(sAglyFlag, "7") == false){ // 기타(7)이 선택해제된 경우
  180. grp_triage.ipt_algyetccnt.enable = false;
  181. grp_triage.ipt_algyetccnt.value = "";
  182. }else if(utlf_isNull(sAglyFlag)){
  183. selectAll("chk_algyflag");
  184. grp_triage.ipt_algyetccnt.enable = false;
  185. }
  186. if(fSearchChar(sAglyFlag, "8") == false){ // 없음(8)이 선택해제된 경우
  187. for(var i=0; i<ds_init_M0123_M0123.rowcount; i++)
  188. {
  189. grp_triage.chk_algyflag.components["chk_"+i].enable = true;
  190. }
  191. }
  192. }
  193. /**
  194. * @desc : 과거력 선택, 선택취소
  195. * @
  196. * @param :
  197. * @return :
  198. * @author : 오지훈
  199. * @---------------------------------------------------
  200. */
  201. function fSelctPastHist(){
  202. //cp_checkboxList3 이벤트
  203. var rtn = "";
  204. var tmp = "";
  205. rtn = grp_triage.chk_pasthistflag.getData();
  206. for(var i=0; i<rtn.length; i++){
  207. if( i == 0 ) tmp = rtn[i];
  208. else tmp = tmp + "|" +rtn[i];
  209. }
  210. ds_main_ertriage_ertriage.setColumn(0, "pasthistflag", tmp);
  211. //
  212. var sPastHistFlag = ds_main_ertriage_ertriage.getColumn(0, "pasthistflag");
  213. grp_triage.ipt_pasthistetccnt.enable = false;
  214. if(fSearchChar(sPastHistFlag, "9") == true){ // 없음(9)이 선택된 경우
  215. deselectAll("chk_pasthistflag");
  216. }else if(fSearchChar(sPastHistFlag, "8") == true){ // 기타(8)이 선택된 경우
  217. grp_triage.ipt_pasthistetccnt.enable = true;
  218. }else if(fSearchChar(sPastHistFlag, "8") == false){ // 기타(8)이 선택해제된 경우
  219. grp_triage.ipt_pasthistetccnt.enable = false;
  220. grp_triage.ipt_pasthistetccnt.value = "";
  221. }else if(utlf_isNull(sPastHistFlag)){
  222. selectAll("chk_pasthistflag");
  223. ds_main_ertriage_ertriage.setColumn(0, "pasthistetccnts", "");
  224. grp_triage.ipt_pasthistetccnt.enable = false;
  225. }
  226. if(fSearchChar(sPastHistFlag, "9") == false){ // 없음(8)이 선택해제된 경우
  227. for(var i=0; i<ds_init_M0124_M0124.rowcount; i++)
  228. {
  229. grp_triage.chk_pasthistflag.components["chk_"+i].enable = true;
  230. }
  231. }
  232. }
  233. // 모든 체크를 disabled = true
  234. function deselectAll(flag) {
  235. if (flag == "chk_algyflag") { // 알러지
  236. var i = 0;
  237. for(i=0; i<ds_init_M0123_M0123.rowcount-1; i++)
  238. {
  239. grp_triage.chk_algyflag.components["chk_"+i].enable = false;
  240. grp_triage.chk_algyflag.components["chk_"+i].value = "";
  241. }
  242. // if(!utlf_isNull(ds_main_ertriage_ertriage.getColumnInfo("algyetccnts"))){
  243. // ds_main_ertriage_ertriage.deleteColumn("algyetccnts");
  244. // }
  245. // ds_main_ertriage_ertriage.addColumn("algyetccnts", "string");
  246. ds_main_ertriage_ertriage.setColumn(0, "algyetccnts", "");
  247. }
  248. else if (flag == "chk_pasthistflag") { // 과거력
  249. var i = 0;
  250. for(i=0; i<ds_init_M0124_M0124.rowcount-1; i++)
  251. {
  252. grp_triage.chk_pasthistflag.components["chk_"+i].enable = false;
  253. grp_triage.chk_pasthistflag.components["chk_"+i].value = "";
  254. }
  255. // if(!utlf_isNull(ds_main_ertriage_ertriage.getColumnInfo("pasthistetccnts"))){
  256. // ds_main_ertriage_ertriage.deleteColumn("pasthistetccnts");
  257. // }
  258. // ds_main_ertriage_ertriage.addColumn("pasthistetccnts", "string");
  259. ds_main_ertriage_ertriage.setColumn(0, "pasthistetccnts", "");
  260. }
  261. }
  262. // 모든 체크를 disabled = false
  263. function selectAll(flag)
  264. {
  265. if (flag == "chk_algyflag") { // 알러지
  266. var i = 0;
  267. for(i=0; i<ds_init_M0123_M0123.rowcount-1; i++)
  268. {
  269. grp_triage.chk_algyflag.components["chk_"+i].enable = true;
  270. grp_triage.chk_algyflag.components["chk_"+i].value = ds_init_M0123_M0123.getColumn(i, "cdid");
  271. }
  272. // if(!utlf_isNull(ds_main_ertriage_ertriage.getColumnInfo("algyetccnts"))){
  273. // ds_main_ertriage_ertriage.deleteColumn("algyetccnts");
  274. // }
  275. // ds_main_ertriage_ertriage.addColumn("algyetccnts", "string");
  276. ds_main_ertriage_ertriage.setColumn(0, "algyetccnts", "");
  277. } else if (flag == "chk_pasthistflag") { // 과거력
  278. var i = 0;
  279. for(i=0; i<ds_init_M0124_M0124.rowcount-1; i++) {
  280. grp_triage.chk_pasthistflag.components["chk_"+i].enable = true;
  281. grp_triage.chk_pasthistflag.components["chk_"+i].value = ds_init_M0124_M0124.getColumn(i, "cdid");
  282. }
  283. // if(!utlf_isNull(ds_main_ertriage_ertriage.getColumnInfo("pasthistetccnts"))){
  284. // ds_main_ertriage_ertriage.deleteColumn("pasthistetccnts");
  285. // }
  286. // ds_main_ertriage_ertriage.addColumn("pasthistetccnts", "string");
  287. ds_main_ertriage_ertriage.setColumn(0, "pasthistetccnts", "");
  288. }
  289. }
  290. /**
  291. * @desc : 응급환자 가등록
  292. * @
  293. * @param :
  294. * @return :
  295. * @author : 오지훈
  296. * @---------------------------------------------------
  297. */
  298. function fPreRgstTriage(){
  299. ds_main_ertriage_ertriage.clearData();
  300. ds_main_ertriage_ertriage.addRow();
  301. dsf_makeValue(ds_main_ertriage_ertriage, "status", "string", "i"); //신규로 설정
  302. ds_main_ertriage_ertriage.setColumn(0, "rgstflag" , "N"); //가등록 설정
  303. ds_main_ertriage_ertriage.setColumn(0, "sex" , "M");
  304. ds_main_ertriage_ertriage.setColumn(0, "attackdd" , utlf_getCurrentDate()); //발병일자
  305. ds_main_ertriage_ertriage.setColumn(0, "attacktm" , (utlf_getCurrentTime()).substr(0,4)); //발병시간
  306. ds_main_ertriage_ertriage.setColumn(0, "fstexamorddd", utlf_getCurrentDate()); //초진진료일자
  307. ds_main_ertriage_ertriage.setColumn(0, "fstexamordtm", (utlf_getCurrentTime()).substr(0,4)); //초진진료시간
  308. ds_main_ertriage_ertriage.setColumn(0, "cscsflag", "-"); //의식
  309. //model.setValue(sERTRIAGE_PATH + "/painflag", "-"); //통증
  310. ds_main_ertriage_ertriage.setColumn(0, "chospathflag", "-"); //내원수단
  311. ds_main_ertriage_ertriage.setColumn(0, "chosresnflag", "-"); //내원사유
  312. ds_main_ertriage_ertriage.setColumn(0, "intenflag" , "-"); //의도성여부
  313. ds_main_ertriage_ertriage.setColumn(0, "injmechflag" , "-"); //손상기전
  314. ds_main_ertriage_ertriage.setColumn(0, "chospathflag", "-"); //내원경로
  315. grp_triage.ipt_hngnm.enable = true; //환자이름
  316. grp_triage.ipt_pid.enable = false; //등록번호
  317. grp_triage.ipt_age.enable = true; //나이
  318. grp_triage.cmb_sex.enable = true; //성별
  319. grp_triage.ipt_algyetccnt.enable = false; //알러지
  320. grp_triage.chk_proceqmtflag.enable = false; //보호장구
  321. grp_triage.ipt_pasthistetccnt.enable = false; //과거력
  322. }
  323. function compareNodeVal(oDescDs, oSrcDs)
  324. {
  325. // 컬럼 갯수가 다른 경우 true
  326. if (oDescDs.colcount != oSrcDs.colcount) return true;
  327. for (var i=0 ; i<oDescDs.colcount ; i++) {
  328. var oColInfo = oDescDs.getColumnInfo(i);
  329. var desValue = utlf_transNullToEmpty(oDescDs.getColumn(0, oColInfo.name));
  330. var srcValue = utlf_transNullToEmpty(oSrcDs.getColumn(0, oColInfo.name));
  331. // 값이 다른 경우 true
  332. if (utlf_trim(desValue) != utlf_trim(srcValue)) {
  333. return true;
  334. }
  335. }
  336. return false; // 값이 같은 경우 false
  337. }
  338. /**
  339. * @desc : 응급Triage 저장시 주승상을 반드시 입력하도록 설정
  340. * @
  341. * @param :
  342. * @return :
  343. * @author : 오지훈
  344. * @---------------------------------------------------
  345. */
  346. function fChkValidTriageInfo(){
  347. var chStatus;
  348. if( ds_main_ertriage_ertriage.getColumnInfo("status") != null ){
  349. chStatus = ds_main_ertriage_ertriage.getColumn(0, "status");
  350. }
  351. if(chStatus != "i"){ //신규등록이 아닌 수정일 경우에는 수정내역이 있는지를 검사한다.
  352. //if(compareNodeVal("/root/temp/ertriage", "/root/main/ertriage/ertriage") == false){ //변경된 사항이 없는 경우,
  353. if(compareNodeVal(ds_temps_ertriage, ds_main_ertriage_ertriage) == false){ //변경된 사항이 없는 경우,
  354. sysf_messageBox("변경된 사항이", "I004");
  355. return false;
  356. }else{
  357. dsf_makeValue(ds_main_ertriage_ertriage, "status", "string", "u");
  358. }
  359. }
  360. /* 2009-05-19 ycd 삭제 처리
  361. var chMainSympCD = model.getValue(sERTRIAGE_PATH + "/mainsympcd"); //주증상
  362. var iSerDiagFlag = model.getValue(sERTRIAGE_PATH + "/serdiagflag"); //중증도입력
  363. var sPatNM = model.getValue(sERTRIAGE_PATH + "/patnm"); //환자이름
  364. if(chMainSympCD == ""){
  365. messageBox("주증상은 반드시", "C001");
  366. return false;
  367. }else if(sPatNM == ""){
  368. messageBox("환자이름은 반드시", "C001");
  369. return false;
  370. }else if(iSerDiagFlag == ""){
  371. messageBox("중증도는 반드시", "C001");
  372. return false;
  373. }
  374. */
  375. /* 원본_응급실 triage 등록전환버튼 기능추가로 주석처리함_20100114
  376. var sPatNM = model.getValue(sERTRIAGE_PATH + "/pid"); //환자이름
  377. if(sPatNM == ""){
  378. messageBox("등록할 환자를 선택하지 않았습니다.", "C000");
  379. return false;
  380. }
  381. */
  382. return true;
  383. }
  384. /**
  385. * @desc : UML주호소 화면 OPEN
  386. * @
  387. * @param :
  388. * @return :
  389. * @author : 오지훈
  390. * @---------------------------------------------------
  391. */
  392. function fOpenUMLSCC(){
  393. /*
  394. modal("SPMMO06200");
  395. var chUseYN = getParameter("SPMMO06200_rtn_useyn");
  396. if(chUseYN == "Y"){
  397. var sRtnUMLSCC = getParameter("SPMMO06200_rtn_umlscclist");
  398. var sRtnVal = sRtnUMLSCC.split("▦");
  399. model.setValue(sERTRIAGE_PATH + "/mainsympcd" , sRtnVal[0]);
  400. model.setValue(sERTRIAGE_PATH + "/mainsympcdno", sRtnVal[1]);
  401. model.setValue(sERTRIAGE_PATH + "/mainsympnm" , sRtnVal[4]);
  402. }
  403. model.refresh();
  404. */
  405. frmf_modal("SPMRF04200","SPMRF04200","", "", "", "","","", "", "", "", "", "M");
  406. frmf_setParameter("SPMRF04200_param_nodepath", "");
  407. ds_main_ertriage_ertriage.setColumn(0, "mainsympcd", ds_temp_selectdiaglist.getColumn(0, "umlscd"));
  408. ds_main_ertriage_ertriage.setColumn(0, "mainsympcdno", 0);
  409. ds_main_ertriage_ertriage.setColumn(0, "mainsympnm", ds_temp_selectdiaglist.getColumn(0, "termengnm"));
  410. //ByCY 진료외방문관련코드입력시 Triage전송항목 blocking(20090304)
  411. //emr.mnembtms 진료외방문관련코드(C0043303, C0809949, C0260844)
  412. //var fMainsympcd = model.getValue("/root/main/ertriage/ertriage/mainsympcd");
  413. //model.makeValue("/root/blockflag/reqdata/mainsympcd",fMainsympcd);
  414. //submit("TRMNE04404", false);
  415. fCtrlSetting();
  416. }
  417. /**
  418. * @desc : 응급실 Triage Ctrl 세팅
  419. * @
  420. * @param :
  421. * @return :
  422. * @author : 양천덕
  423. * @---------------------------------------------------
  424. */
  425. function fCtrlSetting(){
  426. var fMainsympcd = grp_triage.input11.value;
  427. dsf_makeValue(ds_blockflag_reqdata,"mainsympcd","string", fMainsympcd);
  428. dsf_createDs("ds_blockflag2_blockyn");
  429. var oParam = {};
  430. oParam.id = "TRMNE04404";
  431. oParam.service = "ercareapp.ERInRmOutRmMngt";
  432. oParam.method = "reqGetBlockYN";
  433. oParam.inds = "req=ds_blockflag_reqdata";
  434. oParam.outds = "ds_blockflag2_blockyn=blockyn";
  435. oParam.async = false;
  436. tranf_submit(oParam);
  437. if(ds_blockflag2_blockyn.getColumn(0, "grpblock") == "Y") { //진료외코드여부 확인
  438. ds_main_ertriage_ertriage.setColumn(0, "chosresnflag","3"); //내원사유
  439. grp_triage.enable = false;
  440. if("032" == sysf_getUserInfo("dutplceinstcd")) { // 기관급일경우 내원경로, 내원 수단 입력 가능 하도록 수정 2016.07.12 엄영만 요청서 20160630031
  441. cmb_choswayflag.enable = true;
  442. cmb_chospathflag.enable = true;
  443. } else {
  444. cmb_choswayflag.enable = false;
  445. cmb_chospathflag.enable = false;
  446. }
  447. //cap_serdiag.enable = true;
  448. //중증도, 초진진료일자, 주증상, 초진진료시간, 발병일자, 발병시간, 내원사유제외한 부분 Null로 셋팅!!
  449. ds_main_ertriage_ertriage.setColumn(0, "cntctel" , "" ); //ipt_tel.value="";
  450. ds_main_ertriage_ertriage.setColumn(0, "attackdd" , "11111111" ); //ipt_attackdd.value = "11111111";
  451. ds_main_ertriage_ertriage.setColumn(0, "attacktm" , "1111" ); //ipt_attacktm.value = "1111";
  452. ds_main_ertriage_ertriage.setColumn(0, "mainsympnm1" , "" ); //ipt_mainsynm1.value="";
  453. ds_main_ertriage_ertriage.setColumn(0, "mainsympnm2" , "" ); //ipt_mainsynm2.value="";
  454. ds_main_ertriage_ertriage.setColumn(0, "etcsymp" , "" ); //ipt_etcsymp.value="";
  455. ds_main_ertriage_ertriage.setColumn(0, "cscsflag" , "-" ); //cmb_cscs.value="-";
  456. ds_main_ertriage_ertriage.setColumn(0, "highbp" , "-1" ); //ipt_highbp.value="999";
  457. ds_main_ertriage_ertriage.setColumn(0, "lowbp" , "-1" ); //ipt_lowbp.value="999";
  458. ds_main_ertriage_ertriage.setColumn(0, "mntpulsecnt" , "-1" ); //ipt_mntpulsecnt.value="999";
  459. ds_main_ertriage_ertriage.setColumn(0, "mntbrethcnt" , "-1" ); //ipt_mntbrethcnt.value="999";
  460. ds_main_ertriage_ertriage.setColumn(0, "chosbdtp" , "-1" ); //ipt_chosbdtp.value="99.9";
  461. ds_main_ertriage_ertriage.setColumn(0, "oxyconcen" , "-1" ); //ipt_oxyconcen.value="";
  462. ds_main_ertriage_ertriage.setColumn(0, "algyflag" , "" ); //chk_algyflag.value="";
  463. ds_main_ertriage_ertriage.setColumn(0, "algyetccnts" , "" ); //ipt_algyetccnt.value="";
  464. ds_main_ertriage_ertriage.setColumn(0, "pasthistflag" , "" ); //chk_pasthistflag.value="";
  465. ds_main_ertriage_ertriage.setColumn(0, "pasthistetccnts" , "" ); //ipt_pasthistetccnt.value="";
  466. ds_main_ertriage_ertriage.setColumn(0, "choswayflag" , "-" ); //cmb_choswayflag.value="-";
  467. ds_main_ertriage_ertriage.setColumn(0, "intenflag" , "-" ); //cmb_intenflag.value="-";
  468. ds_main_ertriage_ertriage.setColumn(0, "injmechflag" , "-" ); //cmb_injmechflag.value="-";
  469. ds_main_ertriage_ertriage.setColumn(0, "chospathflag" , "-" ); //cmb_chospathflag.value="-";
  470. ds_main_ertriage_ertriage.setColumn(0, "acdowndetailflag" , "" ); //rdo_acdowndetailflag.value="";
  471. ds_main_ertriage_ertriage.setColumn(0, "proceqmtflag" , "" ); //chk_proceqmtflag.value="";
  472. ds_main_ertriage_ertriage.setColumn(0, "acdownflag" , "" ); //chk_acdownflag.value="";
  473. ds_main_ertriage_ertriage.setColumn(0, "inhosptype" , "-" ); //cmb_inhosptype.value = "-";
  474. ds_main_ertriage_ertriage.setColumn(0, "inhospcd" , "-" ); //ipt_inhoscd.value = "-";
  475. ds_main_ertriage_ertriage.setColumn(0, "inhospnm" , "-" ); //ipt_inhosnm.value = "-";
  476. }else if(ds_blockflag2_blockyn.getColumn(0, "doablock") == "Y"){ //DOA 환자일 경우
  477. grp_triage.enable = true;
  478. ds_main_ertriage_ertriage.setColumn(0, "highbp" , "0" ); //ipt_highbp.value="0";
  479. ds_main_ertriage_ertriage.setColumn(0, "lowbp" , "0" ); //ipt_lowbp.value="0";
  480. ds_main_ertriage_ertriage.setColumn(0, "mntpulsecnt" , "0" ); //ipt_mntpulsecnt.value="0";
  481. ds_main_ertriage_ertriage.setColumn(0, "mntbrethcnt" , "0" ); //ipt_mntbrethcnt.value="0";
  482. ds_main_ertriage_ertriage.setColumn(0, "cscsflag" , "U" );
  483. cmb_choswayflag.enable = true;
  484. cmb_chospathflag.enable = true;
  485. grp_triage.cmb_cscs.enable = false;
  486. grp_triage.ipt_highbp.enable = false;
  487. grp_triage.ipt_lowbp.enable = false;
  488. grp_triage.ipt_mntpulsecnt.enable = false;
  489. grp_triage.ipt_mntbrethcnt.enable = false;
  490. //ipt_chosbdtp.value="";
  491. grp_triage.ipt_pasthistetccnt.enable = false;
  492. grp_triage.ipt_algyetccnt.enable = false;
  493. grp_triage.ipt_mainsynm2.enable = false;
  494. grp_triage.ipt_mainsynm1.enable = false;
  495. grp_triage.ipt_mainsynm.enable = false;
  496. grp_triage.input1.enable = false;
  497. grp_triage.input2.enable = false;
  498. grp_triage.ipt_hngnm.enable = false;
  499. grp_triage.ipt_pid.enable = false;
  500. grp_triage.ipt_age.enable = false;
  501. grp_triage.cmb_sex.enable = false;
  502. grp_triage.input5.enable = false;
  503. grp_triage.input6.enable = false;
  504. grp_triage.input13.enable = false;
  505. grp_triage.combo1.enable = false;
  506. fSelctAlgy();
  507. fValueChng_injmechflag();
  508. fValueChng_choswayflag();
  509. fChngChosResnFlag();
  510. fValueChng_chospathflag();
  511. fValueChng_acdownflag();
  512. }else{
  513. grp_triage.enable = true;
  514. if(grp_triage.cmb_chosresnflag.value == "3") {
  515. ds_main_ertriage_ertriage.setColumn(0, "chosresnflag" , "-" ); //내원사유
  516. ds_main_ertriage_ertriage.setColumn(0, "highbp" , "" ); //ipt_highbp.value="999";
  517. ds_main_ertriage_ertriage.setColumn(0, "lowbp" , "" ); //ipt_lowbp.value="999";
  518. ds_main_ertriage_ertriage.setColumn(0, "mntpulsecnt" , "" ); //ipt_mntpulsecnt.value="999";
  519. ds_main_ertriage_ertriage.setColumn(0, "mntbrethcnt" , "" ); //ipt_mntbrethcnt.value="999";
  520. ds_main_ertriage_ertriage.setColumn(0, "chosbdtp" , "" ); //ipt_chosbdtp.value="99.9";
  521. }
  522. cmb_choswayflag.enable = true;
  523. cmb_chospathflag.enable = true;
  524. grp_triage.ipt_pasthistetccnt.enable = false;
  525. grp_triage.ipt_algyetccnt.enable = false;
  526. grp_triage.ipt_mainsynm2.enable = false;
  527. grp_triage.ipt_mainsynm1.enable = false;
  528. grp_triage.ipt_mainsynm.enable = false;
  529. grp_triage.input1.enable = false;
  530. grp_triage.input2.enable = false;
  531. grp_triage.ipt_pid.enable = false;
  532. grp_triage.input5.enable = false;
  533. grp_triage.input6.enable = false;
  534. grp_triage.input13.enable = false;
  535. grp_triage.combo1.enable = false;
  536. if(!utlf_isNull(ds_main_ertriage_ertriage.getColumn(0, "pid"))){// 응급등록된 환자_20100121
  537. grp_triage.ipt_hngnm.enable = false;
  538. grp_triage.ipt_age.enable = false;
  539. grp_triage.cmb_sex.enable = false;
  540. }
  541. fSelctAlgy();
  542. fValueChng_injmechflag();
  543. fValueChng_choswayflag();
  544. fChngChosResnFlag();
  545. fValueChng_chospathflag();
  546. fValueChng_acdownflag();
  547. }
  548. }
  549. /**
  550. * @desc : 응급Triage환자리스트 조회
  551. * @
  552. * @param :
  553. * @return :
  554. * @author : 오지훈
  555. * @---------------------------------------------------
  556. */
  557. function fReqERTriagePatList(){
  558. ds_send_reqdata.clear();
  559. dsf_makeValue(ds_send_reqdata, "acptdd", "string", ds_main_cond.getColumn(0, "acptdd"));
  560. //submit("TRMMO06102");
  561. var oParam = {};
  562. oParam.id = "TRMNE04402";
  563. oParam.service = "ercareapp.ERInRmOutRmMngt";
  564. oParam.method = "reqGetERTriagePatList";
  565. oParam.inds = "req=ds_send_reqdata";
  566. oParam.outds = "ds_main_erpatinfo_erpatlist=erpatlist";
  567. oParam.async = false;
  568. tranf_submit(oParam);
  569. //var painflag1= rdo_painflag1.value;
  570. //if ( !isNull(painflag1) && painflag1 != "-" ){
  571. //cmb_pain.choices.itemset.attribute("nodeset") = "/root/codeinfo/codeinfo/codelist[cdgrupid ='186' and supcdid='"+ painflag1 +"']";
  572. //cmb_pain.refresh();
  573. //}
  574. }
  575. /**
  576. * @desc : 응급Triage환자정보 조회
  577. * @
  578. * @param :
  579. * @return :
  580. * @author : 오지훈
  581. * @---------------------------------------------------
  582. */
  583. function fReqERTriagePatInfo(iRow){
  584. ds_send_reqdata.clear();
  585. if(ds_send_reqdata.rowcount==0){
  586. dsf_copyColInfo(ds_send_reqdata, ds_main_erpatinfo_erpatlist);
  587. }
  588. ds_send_reqdata.addRow();
  589. ds_send_reqdata.copyRow(0, ds_main_erpatinfo_erpatlist,iRow);
  590. //if(submit("TRMMO06101")){
  591. var oParam = {};
  592. oParam.id = "TRMNE04401";
  593. oParam.service = "ercareapp.ERInRmOutRmMngt";
  594. oParam.method = "reqGetERTriagePatInfo";
  595. oParam.inds = "req=ds_send_reqdata";
  596. oParam.outds = "ds_main_ertriage_ertriage=ertriage";
  597. oParam.async = false;
  598. oParam.callback = "cf_TRMNE04401";
  599. tranf_submit(oParam);
  600. if( utlf_isNull(ds_main_ertriage_ertriage.getColumnInfo("preday")) ){
  601. ds_main_ertriage_ertriage.addColumn("preday", "string");
  602. }
  603. if( utlf_isNull(ds_main_ertriage_ertriage.getColumnInfo("prehour")) ){
  604. ds_main_ertriage_ertriage.addColumn("prehour", "string");
  605. }
  606. if( utlf_isNull(ds_main_ertriage_ertriage.getColumnInfo("premin")) ){
  607. ds_main_ertriage_ertriage.addColumn("premin", "string");
  608. }
  609. if(arErrorCode.pop("TRMNE04401") > -1){
  610. // 조회 시 m0125 setdata
  611. var prosplit= utlf_transNullToEmpty(ds_main_ertriage_ertriage.getColumn(0, "proceqmtflag")).split("|");
  612. var aData = new Array();
  613. for(var i = 0; i < prosplit.length; i++){
  614. aData[i] = prosplit[i];
  615. }
  616. grp_triage.chk_proceqmtflag.setData(aData, null, false);
  617. if(utlf_isNull(ds_main_ertriage_ertriage.getColumn(0, "proceqmtflag"))){
  618. ds_main_ertriage_ertriage.setColumn(0, "proceqmtflag", "");
  619. }else{
  620. ds_main_ertriage_ertriage.setColumn(0, "proceqmtflag", ds_main_ertriage_ertriage.getColumn(0, "proceqmtflag"));
  621. }
  622. //
  623. // 조회 시 m0123 setdata
  624. var prosplit2= utlf_transNullToEmpty(ds_main_ertriage_ertriage.getColumn(0, "algyflag")).split("|");
  625. var aData = new Array();
  626. for(var i = 0; i < prosplit2.length; i++){
  627. aData[i] = prosplit2[i];
  628. }
  629. grp_triage.chk_algyflag.setData(aData, null, false);
  630. if(utlf_isNull(ds_main_ertriage_ertriage.getColumn(0, "algyflag"))){
  631. ds_main_ertriage_ertriage.setColumn(0, "algyflag", "");
  632. }else{
  633. ds_main_ertriage_ertriage.setColumn(0, "algyflag", ds_main_ertriage_ertriage.getColumn(0, "algyflag") );
  634. }
  635. //
  636. // 조회 시 m0124 setdata
  637. var prosplit3= utlf_transNullToEmpty(ds_main_ertriage_ertriage.getColumn(0, "pasthistflag")).split("|");
  638. var aData = new Array();
  639. for(var i = 0; i < prosplit3.length; i++){
  640. aData[i] = prosplit3[i];
  641. }
  642. grp_triage.chk_pasthistflag.setData(aData, null, false);
  643. if(utlf_isNull(ds_main_ertriage_ertriage.getColumn(0, "pasthistflag"))){
  644. ds_main_ertriage_ertriage.setColumn(0, "pasthistflag", "");
  645. }else{
  646. ds_main_ertriage_ertriage.setColumn(0, "pasthistflag", ds_main_ertriage_ertriage.getColumn(0, "pasthistflag") );
  647. }
  648. //
  649. if(grp_triage.chk_acdownflag.value !="Y"){
  650. ds_main_ertriage_ertriage.setColumn(0, "acdownflag", "");
  651. }
  652. if(utlf_isNull(grp_triage.rdo_acdowndetailflag.value)){
  653. ds_main_ertriage_ertriage.setColumn(0, "acdowndetailflag", "");
  654. }
  655. if(utlf_isNull(grp_triage.ipt_dsid.value)){
  656. ds_main_ertriage_ertriage.setColumn(0, "dsid", "");
  657. }
  658. if(utlf_isNull(grp_triage.ipt_reid.value)){
  659. ds_main_ertriage_ertriage.setColumn(0, "reid", "");
  660. }
  661. fSelctAlgy(); //알러지에 기타란이 선택된 경우, 기타 입력란을 활성화
  662. fSelctPastHist(); //과거력에 기타란이 선택된 경우, 기타 입력란을 활성화
  663. fSelctAcdOwnFlag(); //교통사고당사자란이 선택된 경우, 보호장구 입력란을 활성화
  664. fChngChosResnFlag(); //내원사유 선택된 경우, 의도성, 손상기, 내원경로, 보호장구 disabled
  665. //model.copyNode("/root/temp/ertriage", sERTRIAGE_PATH);
  666. //var painflag1= rdo_painflag1.value;
  667. //if ( !isNull(painflag1) && painflag1 != "-" ){
  668. //cmb_pain.choices.itemset.attribute("nodeset") = "/root/codeinfo/codeinfo/codelist[cdgrupid ='186' and supcdid='"+ painflag1 +"']";
  669. //cmb_pain.refresh();
  670. //}
  671. ds_temps_ertriage.copyData(ds_main_ertriage_ertriage);
  672. }
  673. }
  674. /**
  675. * @desc : 응급Triage환자정보 등록전환
  676. * @
  677. * @param :
  678. * @return :
  679. * @author : 오지훈
  680. * @---------------------------------------------------
  681. */
  682. function fChngRgstERTriagePatInfo(){
  683. //응급환자리스트 Tab이 뜨면서 환자를 선택, 가등록된 환자정보를 pid, orddd, cretno 변경, 추후개발
  684. var chRgstFlag = ds_main_ertriage_ertriage.getColumn(0, "rgstflag");
  685. if(chRgstFlag == "Y"){
  686. sysf_messageBox("이미 등록전환된 환자", "E008");
  687. return;
  688. }
  689. //modal("SPMMO06400");
  690. frmf_modal("SPMNE04500","SPMNE04500","", "", "", "","","", "", "", "", "", "M");
  691. //var useflag = getParameter("SPMMO06400_useyn");
  692. var useflag = frmf_getParameter("SPMNE04500_useyn");
  693. if(useflag == "Y"){
  694. // var condparam = getParameter("SPMMO06400_condparam");
  695. var condparam = frmf_getParameter("SPMNE04500_condparam");
  696. condparam = condparam.split("▦");
  697. ds_main_ertriage_ertriage.setColumn(0, "pid" , condparam[0]);
  698. ds_main_ertriage_ertriage.setColumn(0, "orddd" , condparam[1]);
  699. ds_main_ertriage_ertriage.setColumn(0, "cretno" , condparam[2]);
  700. ds_main_ertriage_ertriage.setColumn(0, "sex" , condparam[3]);
  701. ds_main_ertriage_ertriage.setColumn(0, "age" , condparam[4]);
  702. ds_main_ertriage_ertriage.setColumn(0, "patnm" , condparam[5]);
  703. ds_main_ertriage_ertriage.setColumn(0, "orddeptcd" , condparam[6]);
  704. ds_main_ertriage_ertriage.setColumn(0, "orddeptnm" , condparam[7]);
  705. ds_main_ertriage_ertriage.setColumn(0, "orddrid" , condparam[8]);
  706. }else{
  707. return;
  708. }
  709. ds_main_ertriage_ertriage.setColumn(0, "rgstflag" , "Y"); //등록설정
  710. var status;
  711. if( ds_main_ertriage_ertriage.getColumnInfo("status") != null ){
  712. status = ds_main_ertriage_ertriage.getColumn(0, "status");
  713. }
  714. if(status != "i"){
  715. dsf_makeValue(ds_main_ertriage_ertriage,"status","string", "u"); //UPDATE설정
  716. }
  717. }
  718. /**
  719. * @desc : 응급Triage환자정보 저장
  720. * @
  721. * @param :
  722. * @return :
  723. * @author : 오지훈
  724. * @---------------------------------------------------
  725. */
  726. function fSaveERTriagePatInfo(){
  727. //khj 20100303 통증사정도구가 선택되었을경우 점수도 반드시 선택되어야함.
  728. //if( (!isNull( model.getValue("/root/main/ertriage/ertriage/painflag1"))
  729. // && model.getValue("/root/main/ertriage/ertriage/painflag1") != "-"
  730. // && rdo_painflag1.disabled != true )
  731. // && ( isNull( model.getValue("/root/main/ertriage/ertriage/painflag") )
  732. // || model.getValue("/root/main/ertriage/ertriage/painflag") =='-' ) ){
  733. // messageBox("통증 사정 점수를 선택 하십시오","I");
  734. // model.setFocus("cmb_pain");
  735. // return;
  736. //}
  737. var instcd = sysf_getUserInfo("dutplceinstcd");
  738. var Chkserdiagflag = ds_main_ertriage_ertriage.getColumn(0, "serdiagflag"); // 중증도
  739. var Chkstatus = ds_main_ertriage_ertriage.getColumn(0, "status");
  740. var Chkptmikpr1 = ds_main_ertriage_ertriage.getColumn(0, "ptmikpr1");
  741. if(instcd == "031" || utlf_isNull(ds_main_ertriage_ertriage.getColumn(0, "orddd")) ||ds_main_ertriage_ertriage.getColumn(0, "orddd") >= "20161024") {
  742. if(utlf_isNull(Chkserdiagflag) || Chkserdiagflag == "-") {
  743. sysf_messageBox("중증도가 입력 되지 않았습니다.","I");
  744. return;
  745. }
  746. if(Chkstatus == "i" && Chkserdiagflag != "8" && (utlf_isNull(Chkptmikpr1) || Chkptmikpr1 == "-")) {
  747. sysf_messageBox("중증도 분류기록(KTAS)이 작성 되지 않았습니다.","I");
  748. return;
  749. }
  750. }
  751. var sAattackDd = utlf_transNullToEmpty(ds_main_ertriage_ertriage.getColumn(0, "attackdd")); // 발병일자
  752. var sAattackTm = utlf_transNullToEmpty(ds_main_ertriage_ertriage.getColumn(0, "attacktm")); // 발병시간
  753. if(!utlf_isNull(sAattackDd) && sAattackDd.length != 8) {
  754. sysf_messageBox("발병일자가 날짜 유형이 아닙니다.","I");
  755. grp_triage.ipt_attackdd.setFocus();
  756. return;
  757. }
  758. if(!utlf_isNull(sAattackTm) && sAattackTm.length != 4) {
  759. sysf_messageBox("발병시간이 시간 유형이 아닙니다.","I");
  760. grp_triage.ipt_attacktm.setFocus();
  761. return;
  762. }
  763. if(!utlf_isNull(sAattackDd) && utlf_isNull(sAattackTm)) {
  764. sysf_messageBox("발병일자가 입력 되었습니다. 발병시간을 입력 하세요.","I");
  765. grp_triage.ipt_attacktm.setFocus();
  766. return;
  767. }
  768. if(utlf_isNull(sAattackDd) && !utlf_isNull(sAattackTm)) {
  769. sysf_messageBox("발병시간이 입력 되었습니다. 발병일자를 입력 하세요.","I");
  770. grp_triage.ipt_attackdd.setFocus();
  771. return;
  772. }
  773. var sfstexamorddd = utlf_transNullToEmpty(ds_main_ertriage_ertriage.getColumn(0, "fstexamorddd")); // 발병일자
  774. var sfstexamordtm = utlf_transNullToEmpty(ds_main_ertriage_ertriage.getColumn(0, "fstexamordtm")); // 발병시간
  775. if(!utlf_isNull(sfstexamorddd) && sfstexamorddd.length != 8) {
  776. sysf_messageBox("초진진료일자가 날짜 유형이 아닙니다.","I");
  777. grp_triage.ipt_fstexamorddd.setFocus();
  778. return;
  779. }
  780. if(!utlf_isNull(sfstexamordtm) && sfstexamordtm.length != 4) {
  781. sysf_messageBox("초진진료시간이 시간 유형이 아닙니다.","I");
  782. grp_triage.ipt_fstexamordtm.setFocus();
  783. return;
  784. }
  785. if(!utlf_isNull(sfstexamorddd) && utlf_isNull(sfstexamordtm)) {
  786. sysf_messageBox("초진진료일자가 입력 되었습니다. 초진진료시간을 입력 하세요.","I");
  787. grp_triage.ipt_fstexamordtm.setFocus();
  788. return;
  789. }
  790. if(utlf_isNull(sfstexamorddd) && !utlf_isNull(sfstexamordtm)) {
  791. sysf_messageBox("초진진료시간이 입력 되었습니다. 초진진료일자를 입력 하세요.","I");
  792. grp_triage.ipt_fstexamorddd.setFocus();
  793. return;
  794. }
  795. var sChosDt = ds_main_ertriage_ertriage.getColumn(0, "chosdt"); // 내원일시
  796. var sAattackDt = sAattackDd + sAattackTm; // 발병일시
  797. trace("sChosDt : " + sChosDt);
  798. trace("sAattackDt : " + sAattackDt);
  799. if(!utlf_isNull(sChosDt) && (sChosDt.length == 12) && !utlf_isNull(sAattackDt) && (sAattackDt.length == 12)) {
  800. if(sChosDt <= sAattackDt) {
  801. sysf_messageBox("발병일자, 발병시간은 내원시간 이전이어야 합니다.","I");
  802. grp_triage.ipt_attacktm.setFocus();
  803. return;
  804. }
  805. }
  806. var sYearAgoDd = (utlf_transNullToEmpty(sChosDt).toDate().getAddDate(-365,"D")).getDateFormat();
  807. if(!utlf_isNull(sAattackDd) && !utlf_isNull(sYearAgoDd)&& sAattackDd != "11111111") { // 미상일경우 체크 제외처리 2015.08.19 엄영만
  808. if(sAattackDd < sYearAgoDd) {
  809. sysf_messageBox("발병일자는 내원일자 기준 1년 이내로 입력 하세요.","I");
  810. grp_triage.ipt_attackdd.setFocus();
  811. //model.setFocus("attackdd"); //확인하기 tf
  812. return;
  813. }
  814. }
  815. var sBrthDd = ds_main_ertriage_ertriage.getColumn(0, "brthdd"); // 생년월일
  816. if(!utlf_isNull(sBrthDd) && sBrthDd.length == 8 && !utlf_isNull(sAattackDd) && sAattackDd != "11111111") { // 미상일경우 체크 제외처리
  817. if(sAattackDd < sBrthDd) {
  818. sysf_messageBox("발병일자는 생년월일 이후로 입력 하세요.","I");
  819. grp_triage.ipt_attackdd.setFocus();
  820. //model.setFocus("attackdd"); //확인하기 tf
  821. return;
  822. }
  823. }
  824. //byCY 수축기혈압,이완기혈압,분당맥박수 300이상/ 분당호흡수 99이상/ 내온시체온 20미만또는 45이상시 Blocking
  825. var Chkhighbp = ds_main_ertriage_ertriage.getColumn(0, "highbp");
  826. if( !utlf_isNull(Chkhighbp) && Chkhighbp != -1 && (( Chkhighbp > 300 || Chkhighbp < 0 ) || (Chkhighbp.isNumber() == false))) {
  827. sysf_messageBox("수축기혈압은 0~300이어야 합니다.","I");
  828. grp_triage.ipt_highbp.setFocus();
  829. return;
  830. }
  831. var Chklowbp = ds_main_ertriage_ertriage.getColumn(0, "lowbp");
  832. if( !utlf_isNull(Chklowbp) && Chklowbp != -1 && (( Chklowbp > 300 || Chklowbp < 0 ) || (Chklowbp.isNumber() == false))) {
  833. sysf_messageBox("이완기혈압은 0~300이어야 합니다.","I");
  834. grp_triage.ipt_lowbp.setFocus();
  835. return;
  836. }
  837. if( !utlf_isNull(Chkhighbp) && Chkhighbp != -1 && Chklowbp != "" && Chklowbp != -1 && parseInt(Chkhighbp) < parseInt(Chklowbp)) {
  838. sysf_messageBox("수축기혈압은 이완기혈압보다 큰값이어야 합니다.","I");
  839. grp_triage.ipt_lowbp.setFocus();
  840. return;
  841. }
  842. var Chkmntpulsecnt = ds_main_ertriage_ertriage.getColumn(0, "mntpulsecnt");
  843. if( !utlf_isNull(Chkmntpulsecnt) && Chkmntpulsecnt != -1 && (( Chkmntpulsecnt > 300 || Chkmntpulsecnt < 0 ) || (Chkmntpulsecnt.isNumber() == false))) {
  844. sysf_messageBox("분당맥박수는 0~300이어야 합니다.","I");
  845. grp_triage.ipt_mntpulsecnt.setFocus();
  846. return;
  847. }
  848. var Chkmntbrethcnt = ds_main_ertriage_ertriage.getColumn(0, "mntbrethcnt");
  849. if( !utlf_isNull(Chkmntbrethcnt) && Chkmntbrethcnt != -1 && (( Chkmntbrethcnt > 99 || Chkmntbrethcnt < 0 ) || (Chkmntbrethcnt.isNumber() == false))) {
  850. sysf_messageBox("분당호흡수는 0~99이어야 합니다.","I");
  851. grp_triage.ipt_mntbrethcnt.setFocus();
  852. return;
  853. }
  854. var Chkchosbdtp = ds_main_ertriage_ertriage.getColumn(0, "chosbdtp");
  855. if( !utlf_isNull(Chkchosbdtp) && Chkchosbdtp != 0 && Chkchosbdtp != -1 && (( Chkchosbdtp > 45 || Chkchosbdtp < 20 ) || (Chkchosbdtp.isFloat() == false))) {
  856. sysf_messageBox("내원시체온은 20.0~45.0이어야 합니다.","I");
  857. grp_triage.ipt_chosbdtp.setFocus();
  858. return;
  859. }
  860. var Chkoxyconcen = ds_main_ertriage_ertriage.getColumn(0, "oxyconcen");
  861. if( !utlf_isNull(Chkoxyconcen) && Chkoxyconcen != -1 && (( Chkoxyconcen > 100 || Chkoxyconcen < 0 ) || (Chkoxyconcen.isNumber() == false))) {
  862. sysf_messageBox("산소포화도는 0~100이어야 합니다.","I");
  863. grp_triage.ipt_oxyconcen.setFocus();
  864. return;
  865. }
  866. var Chkcscsflag = ds_main_ertriage_ertriage.getColumn(0, "cscsflag");
  867. if(Chkcscsflag == "A") {
  868. if( !utlf_isNull(Chkhighbp) && Chkhighbp != -1 && Chkhighbp <= 30) { // 수축기혈압이 30이하
  869. sysf_messageBox("의식이 Alert이며 수축기혈압이 30 이하 입니다.","I");
  870. grp_triage.ipt_highbp.setFocus();
  871. return;
  872. }
  873. if( !utlf_isNull(Chkmntbrethcnt) && Chkmntbrethcnt != -1 && Chkmntbrethcnt <= 6) { // 분당호흡수가 6이하
  874. sysf_messageBox("의식이 Alert이며 분당호흡수가 6 이하 입니다.","I");
  875. grp_triage.ipt_mntbrethcnt.setFocus();
  876. return;
  877. }
  878. }
  879. //byCY
  880. var sInitVsDd = ds_main_ertriage_ertriage.getColumn(0, "initvsdd"); // initial v/s 측정일자
  881. if( !utlf_isNull(Chkhighbp) && Chkhighbp != -1 && utlf_isNull(sInitVsDd) ) { // 수축기혈압 입력시 initial v/s 측정일시 필수 입력
  882. sysf_messageBox("Initial V/S 일자을 입력하세요.","I");
  883. grp_triage.ipt_inistvsdd.setFocus();
  884. return;
  885. }
  886. var sInitVsTm = ds_main_ertriage_ertriage.getColumn(0, "initvstm"); // initial v/s 측정시간
  887. if( !utlf_isNull(Chkhighbp) && Chkhighbp != -1 && utlf_isNull(sInitVsTm) ) { // 수축기혈압 입력시 initial v/s 측정일시 필수 입력
  888. sysf_messageBox("Initial V/S 시간을 입력하세요.","I");
  889. grp_triage.ipt_inistvstm.setFocus();
  890. return;
  891. }
  892. var sInitVsDt = sInitVsDd + sInitVsTm; // initial v/s 측정일일시
  893. if(!utlf_isNull(sChosDt) && (sChosDt.length == 12) && !utlf_isNull(sInitVsDt) && (sInitVsDt.length == 12)) {
  894. if(sInitVsDt <= sChosDt) {
  895. sysf_messageBox("Initial V/S 시간은 내원시간 이후이어야 합니다.","I");
  896. grp_triage.ipt_inistvsdd.setFocus();
  897. return;
  898. }
  899. }
  900. var chospathflag = ds_main_ertriage_ertriage.getColumn(0, "chospathflag");
  901. var inhospcd = ds_main_ertriage_ertriage.getColumn(0, "inhospcd");
  902. var inhospnm = ds_main_ertriage_ertriage.getColumn(0, "inhospnm");
  903. if (chospathflag == "2" && inhospnm != "기타" && ( utlf_isNull(inhospcd) || inhospcd == "-")) {
  904. sysf_messageBox("내원경로가 '전원'입니다. 전원 온 의료기관 정보를 반드시 입력하세요.","I");
  905. return;
  906. }
  907. var acdowndetailflag = ds_main_ertriage_ertriage.getColumn(0, "acdowndetailflag");
  908. var injmechflag = ds_main_ertriage_ertriage.getColumn(0, "injmechflag");
  909. if(acdowndetailflag == "1" && injmechflag != "08") { // 교통사고 당사자를 보행자로 선택시 손상기전이 교통사고 - 기타가 아니면 블러킹 처리 요청서 20180329009
  910. sysf_messageBox("교통사고 당사자를 '보행자'이면 손상기전은 반드시 '교통사고-기타'로 입력하세요.","I");
  911. return;
  912. }
  913. if(fChkValidTriageInfo()==true){ //응급Triage 저장 정보가 유효한 경우
  914. ds_send_savedata.clear();
  915. ds_send_savedata.addRow();
  916. dsf_makeValue(ds_main_ertriage_ertriage,"recdt" , "string", utlf_getCurrentDate() + utlf_getCurrentTime().substr(0,4));
  917. ds_send_savedata.copyData(ds_main_ertriage_ertriage);
  918. //교통사고당사자 false -> ""처리
  919. if(ds_main_ertriage_ertriage.getColumn(0, "acdownflag") != "Y"){
  920. ds_main_ertriage_ertriage.setColumn(0, "acdownflag", "");
  921. }
  922. dsf_setDefaultVal(ds_send_savedata, "rgstflag:N,pid:-,orddd:-,cretno:0,sex:M,age:0,chospathflag:-,choswayflag:-,chosresnflag:-,intenflag:-,injmechflag:-,acdownflag:N");
  923. //dsf_setTypeFormat(ds_send_savedata, "cretno:INT^mainsympcdno:INT^mainsympcdno1:INT^mainsympcdno2:INT");
  924. ds_send_savedata.enableevent = false;
  925. ds_send_savedata.updatecontrol = false;
  926. if(utlf_isNull(ds_send_savedata.getColumnInfo("acptdd"))){
  927. dsf_makeValue(ds_send_savedata, "acptdd", "string", "");
  928. }
  929. if(utlf_isNull(ds_send_savedata.getColumnInfo("acptno"))){
  930. dsf_makeValue(ds_send_savedata, "acptno", "string", "");
  931. }
  932. if(utlf_isNull(ds_send_savedata.getColumnInfo("histno"))){
  933. dsf_makeValue(ds_send_savedata, "histno", "string", "");
  934. }
  935. ds_send_savedata.updatecontrol = true;
  936. ds_send_savedata.enableevent = true;
  937. //return;
  938. var oParam = {};
  939. oParam.id = "TXMNE04401";
  940. oParam.service = "ercareapp.ERInRmOutRmMngt";
  941. oParam.method = "reqExeSaveERTriagePatInfo";
  942. oParam.inds = "req=ds_send_savedata";
  943. oParam.outds = "ds_main_ertriage_ertriage=ertriage";
  944. oParam.async = false;
  945. oParam.callback = "cf_TXMNE04401";
  946. tranf_submit(oParam);
  947. if( utlf_isNull(ds_main_ertriage_ertriage.getColumnInfo("preday")) ){
  948. ds_main_ertriage_ertriage.addColumn("preday", "string");
  949. }
  950. if( utlf_isNull(ds_main_ertriage_ertriage.getColumnInfo("prehour")) ){
  951. ds_main_ertriage_ertriage.addColumn("prehour", "string");
  952. }
  953. if( utlf_isNull(ds_main_ertriage_ertriage.getColumnInfo("premin")) ){
  954. ds_main_ertriage_ertriage.addColumn("premin", "string");
  955. }
  956. //dsf_setTypeFormat(ds_main_ertriage_ertriage, "mainsympcdno1:INT^mainsympcdno2:INT");
  957. if(arErrorCode.pop("TXMNE04401") > -1){
  958. // 조회 시 m0125 setdata
  959. var prosplit4= utlf_transNullToEmpty(ds_main_ertriage_ertriage.getColumn(0, "proceqmtflag")).split("|");
  960. var aData = new Array();
  961. for(var i = 0; i < prosplit4.length; i++){
  962. aData[i] = prosplit4[i];
  963. }
  964. grp_triage.chk_proceqmtflag.setData(aData, null, false);
  965. ds_main_ertriage_ertriage.setColumn(0, "proceqmtflag", ds_main_ertriage_ertriage.getColumn(0, "proceqmtflag") );
  966. //
  967. // 조회 시 m0123 setdata
  968. var prosplit5= utlf_transNullToEmpty(ds_main_ertriage_ertriage.getColumn(0, "algyflag")).split("|");
  969. var aData = new Array();
  970. for(var i = 0; i < prosplit5.length; i++){
  971. aData[i] = prosplit5[i];
  972. }
  973. grp_triage.chk_algyflag.setData(aData, null, false);
  974. ds_main_ertriage_ertriage.setColumn(0, "algyflag", ds_main_ertriage_ertriage.getColumn(0, "algyflag") );
  975. //
  976. // 조회 시 m0124 setdata
  977. var prosplit6= utlf_transNullToEmpty(ds_main_ertriage_ertriage.getColumn(0, "pasthistflag")).split("|");
  978. var aData = new Array();
  979. for(var i = 0; i < prosplit6.length; i++){
  980. aData[i] = prosplit6[i];
  981. }
  982. grp_triage.chk_pasthistflag.setData(aData, null, false);
  983. ds_main_ertriage_ertriage.setColumn(0, "pasthistflag", ds_main_ertriage_ertriage.getColumn(0, "pasthistflag") );
  984. //
  985. if(grp_triage.chk_acdownflag.value !="Y"){
  986. ds_main_ertriage_ertriage.setColumn(0, "acdownflag", "");
  987. }
  988. if(utlf_isNull(grp_triage.rdo_acdowndetailflag.value)){
  989. ds_main_ertriage_ertriage.setColumn(0, "acdowndetailflag", "");
  990. }
  991. if(utlf_isNull(grp_triage.ipt_dsid.value)){
  992. ds_main_ertriage_ertriage.setColumn(0, "dsid", "");
  993. }
  994. if(utlf_isNull(grp_triage.ipt_reid.value)){
  995. ds_main_ertriage_ertriage.setColumn(0, "reid", "");
  996. }
  997. fReqERTriagePatList();
  998. /// 20200210 김현석, KTAS 1~3 등급 인 경우 문자 메시지 전송하기, 요청번호:20200205009
  999. // KTAS 1~3 등급 확인 조건
  1000. var sSerdiagflag = utlf_transNullToEmpty(ds_main_ertriage_ertriage.getColumn(0, "serdiagflag")); // KTAS 점수
  1001. var sChosresnflag = utlf_transNullToEmpty(ds_main_ertriage_ertriage.getColumn(0, "chosresnflag")); // 내원사유
  1002. var sInjmechflag = utlf_transNullToEmpty(ds_main_ertriage_ertriage.getColumn(0, "injmechflag")); // 손상기전
  1003. if ( String("1|2|3").indexOf(sSerdiagflag) >= 0
  1004. && sChosresnflag == "2" // 내원사유 질병외 :2
  1005. && String("60|70|80|-").indexOf(sInjmechflag) == -1 // 손상기전 : 60, 70, 80 제외
  1006. )
  1007. {
  1008. dsf_createDsRow("ds_smsmsg", [{col:"pid" , type:"STRING", size:256, val: ds_main_ertriage_ertriage.getColumn(0, "pid")}
  1009. ,{col:"indd" , type:"STRING", size:256, val: ds_main_ertriage_ertriage.getColumn(0, "orddd")}
  1010. ,{col:"cretno" , type:"STRING", size:256, val: ds_main_ertriage_ertriage.getColumn(0, "cretno")}
  1011. ,{col:"patnm" , type:"STRING", size:256, val: ds_main_ertriage_ertriage.getColumn(0, "patnm")}
  1012. ,{col:"smsflag" , type:"STRING", size:256, val: "001"}
  1013. ]);
  1014. var oParam = {};
  1015. oParam.id = "TXMNE04402";
  1016. oParam.service = "ercareapp.ERInRmOutRmMngt";
  1017. oParam.method = "reqExeSendMsgTrPat";
  1018. oParam.inds = "req=ds_smsmsg";
  1019. oParam.outds = "";
  1020. oParam.async = false;
  1021. oParam.callback = "cf_TXMNE04402";
  1022. tranf_submit(oParam);
  1023. }
  1024. }
  1025. }
  1026. // 질병외일 경우 손상기 화면으로 연결 2012.01.04 KJS
  1027. var chosresnflag = ds_main_ertriage_ertriage.getColumn(0, "chosresnflag");
  1028. if (chosresnflag == "2") {
  1029. var rtn = sysf_messageBox("내원사유가 '질병외'인 환자입니다. 손상 정보를 등록하시겠습니까?","Q999");
  1030. if (rtn == 6) {
  1031. frmf_setParameter("SPMMO07500_pid", ds_main_ertriage_ertriage.getColumn(0, "pid"));
  1032. frmf_setParameter("SPMMO07500_orddd", ds_main_ertriage_ertriage.getColumn(0, "orddd"));
  1033. frmf_setParameter("SPMMO07500_cretno", ds_main_ertriage_ertriage.getColumn(0, "cretno"));
  1034. frmf_open("SPMMO07500","SPMMO07500","","","","","","","","","","","M");
  1035. }
  1036. }
  1037. }
  1038. /**
  1039. * @desc : 중증도 구분값 변경
  1040. * @
  1041. * @param :
  1042. * @return :
  1043. * @author : 오지훈
  1044. * @---------------------------------------------------
  1045. */
  1046. function fChngSerDiagFlag(){
  1047. var sSerDiagFlag = ds_main_ertriage_ertriage.getColumn(0, "serdiagflag");
  1048. var sPtmikPr1 = ds_main_ertriage_ertriage.getColumn(0, "ptmikpr1");
  1049. var instcd = sysf_getUserInfo("dutplceinstcd");
  1050. if ( instcd == "031" || utlf_isNull(ds_main_ertriage_ertriage.getColumn(0, "orddd")) || ds_main_ertriage_ertriage.getColumn(0, "orddd") >= "20161024") {
  1051. if(!utlf_isNull(sSerDiagFlag) && sSerDiagFlag != "8" && sPtmikPr1 == "-") { // KTAS이전 방식으로 중증도가 입력된 경우
  1052. var iSerDiagVal = cap_serdiag.text; //cap_serdiag.label;
  1053. iSerDiagVal++;
  1054. if(iSerDiagVal > 5){
  1055. iSerDiagVal = 1;
  1056. }
  1057. } else {
  1058. var pid = ds_main_ertriage_ertriage.getColumn(0, "pid");
  1059. var hngnm = ds_main_ertriage_ertriage.getColumn(0, "patnm");
  1060. var sa = ds_main_ertriage_ertriage.getColumn(0, "sex") +"/"+ ds_main_ertriage_ertriage.getColumn(0, "age");
  1061. var orddd = ds_main_ertriage_ertriage.getColumn(0, "orddd");
  1062. var cretno = ds_main_ertriage_ertriage.getColumn(0, "cretno");
  1063. var ioflag = ds_main_ertriage_ertriage.getColumn(0, "ordtype");
  1064. var orddeptcd = ds_main_ertriage_ertriage.getColumn(0, "orddeptcd");
  1065. var orddeptnm = ds_main_ertriage_ertriage.getColumn(0, "orddeptnm");
  1066. var orddeptnm = "";
  1067. var roomcd = ds_main_ertriage_ertriage.getColumn(0, "roomcd");
  1068. var orddrid = ds_main_ertriage_ertriage.getColumn(0, "orddrid");
  1069. var ktasformrecseq = ds_main_ertriage_ertriage.getColumn(0, "ktasformrecseq");
  1070. var disparam = pid +"▦" + hngnm +"▦" + sa+"▦" + orddeptnm +"▦" + roomcd + "▦";
  1071. frmf_setParameter("pid", pid );
  1072. frmf_setParameter("orddd", orddd );
  1073. frmf_setParameter("cretno", cretno);
  1074. frmf_setParameter("ioflag", ioflag);
  1075. frmf_setParameter("orddeptcd", orddeptcd);
  1076. frmf_setParameter("orddrid", orddrid);
  1077. frmf_setParameter("disppatinfo", disparam); //등록번호▦환자명▦성별/나이▦진료과▦병실▦
  1078. if(utlf_isNull(sSerDiagFlag)) { // KTAS 중증도 신규 입력
  1079. frmf_setParameter("openmode", "newform"); //신규작성
  1080. frmf_setParameter("formcd", "1500017172"); //KTAS 중증도 분류
  1081. } else { // KTAS 수정
  1082. frmf_setParameter("formrecseq", ktasformrecseq);
  1083. frmf_setParameter("openmode", "recform"); //수정
  1084. }
  1085. var vFormcd = "";
  1086. var vFormKind = "";
  1087. //신규모드 일 경우
  1088. if(utlf_isNull(sSerDiagFlag)){
  1089. vFormcd = "1500017172";
  1090. vFormKind = "new";
  1091. }else{
  1092. vFormcd = ktasformrecseq;
  1093. vFormKind = "rec";
  1094. }
  1095. var objArg = new Object();
  1096. ds_cond_formdata.clearData();
  1097. ds_cond_formdata.addRow();
  1098. ds_cond_formdata.setColumn(0, "formcd", vFormcd);
  1099. ds_cond_formdata.setColumn(0, "formkind", vFormKind);
  1100. ds_cond_formdata.setColumn(0, "btnvisible", true);
  1101. ds_cond_formdata.setColumn(0, "pid", pid);
  1102. ds_cond_formdata.setColumn(0, "orddd", orddd);
  1103. ds_cond_formdata.setColumn(0, "cretno", cretno);
  1104. ds_cond_formdata.setColumn(0, "modalyn", "Y");
  1105. ds_cond_formdata.setColumn(0, "topyn", "N");
  1106. ds_cond_formdata.setColumn(0, "orddeptcd", orddeptcd);
  1107. ds_cond_formdata.setColumn(0, "ioflag", ioflag);
  1108. ds_cond_formdata.setColumn(0, "orddrid", orddrid);
  1109. objArg.ds_cond_formdata = ds_cond_formdata;
  1110. lf_loadSMMMR01100(true, objArg);
  1111. //frmf_modal("SSMMR01100","SSMMR01100","", 1, 0, 0,"","", "", "", "", "", "M");
  1112. fGetKtasInfo();
  1113. if( utlf_isNull(ds_main_ertriage_ertriage.getColumn(0, "serdiagflag")) ) {
  1114. iSerDiagVal = "";
  1115. } else {
  1116. iSerDiagVal = parseInt(ds_main_ertriage_ertriage.getColumn(0, "serdiagflag"));
  1117. }
  1118. }
  1119. } else {
  1120. var iSerDiagVal = cap_serdiag.text;
  1121. iSerDiagVal++;
  1122. if(iSerDiagVal > 3){
  1123. iSerDiagVal = 1;
  1124. }
  1125. }
  1126. switch(iSerDiagVal){
  1127. case 1 : cap_serdiag.style.color = "#ff0000";
  1128. break;
  1129. case 2 : cap_serdiag.style.color = "#ff6600";
  1130. break;
  1131. case 3 : cap_serdiag.style.color = "#0000ff";
  1132. break;
  1133. case 4 : cap_serdiag.style.color = "#000000";
  1134. break;
  1135. case 5 : cap_serdiag.style.color = "#000000";
  1136. break;
  1137. case 8 : cap_serdiag.style.color = "#000000";
  1138. break;
  1139. default : cap_serdiag.style.color = "#ffffff";
  1140. break;
  1141. }
  1142. cap_serdiag.text = iSerDiagVal;
  1143. ds_main_ertriage_ertriage.setColumn(0, "serdiagflag", iSerDiagVal);
  1144. }
  1145. function fGetKtasInfo() {
  1146. var pid = ds_main_ertriage_ertriage.getColumn(0, "pid");
  1147. var orddd = ds_main_ertriage_ertriage.getColumn(0, "orddd");
  1148. var cretno = ds_main_ertriage_ertriage.getColumn(0, "cretno");
  1149. grp_triage.cap_ptmikpr1.tooltiptext = "";
  1150. ds_send_reqdata.clearData();
  1151. dsf_makeValue(ds_send_reqdata,"pid","string", pid);
  1152. dsf_makeValue(ds_send_reqdata,"orddd","string", orddd);
  1153. dsf_makeValue(ds_send_reqdata,"cretno","string", cretno);
  1154. var oParam = {};
  1155. oParam.id = "TRMNE04405";
  1156. oParam.service = "ercareapp.ERInRmOutRmMngt";
  1157. oParam.method = "reqGetFirstKtasInfo";
  1158. oParam.inds = "req=ds_send_reqdata";
  1159. oParam.outds = "ds_main_ktasinfo_ktasinfo=ktasinfo";
  1160. oParam.async = false;
  1161. oParam.callback = "cf_TRMNE04405";
  1162. tranf_submit(oParam);
  1163. if(arErrorCode.pop("TRMNE04405") > -1){
  1164. ds_main_ertriage_ertriage.setColumn(0, "ktasformrecseq" , ds_main_ktasinfo_ktasinfo.getColumn(0, "ktasformrecseq"));
  1165. ds_main_ertriage_ertriage.setColumn(0, "serdiagflag" , ds_main_ktasinfo_ktasinfo.getColumn(0, "serdiagflag"));
  1166. ds_main_ertriage_ertriage.setColumn(0, "ptmikpr1" , ds_main_ktasinfo_ktasinfo.getColumn(0, "ptmikpr1"));
  1167. ds_main_ertriage_ertriage.setColumn(0, "ptmiktdt" , ds_main_ktasinfo_ktasinfo.getColumn(0, "ptmiktdt"));
  1168. ds_main_ertriage_ertriage.setColumn(0, "ptmikttm" , ds_main_ktasinfo_ktasinfo.getColumn(0, "ptmikttm"));
  1169. ds_main_ertriage_ertriage.setColumn(0, "ptmikjob" , ds_main_ktasinfo_ktasinfo.getColumn(0, "ptmikjob"));
  1170. ds_main_ertriage_ertriage.setColumn(0, "ptmikidn" , ds_main_ktasinfo_ktasinfo.getColumn(0, "ptmikidn"));
  1171. ds_main_ertriage_ertriage.setColumn(0, "ptmikpr1nm" , ds_main_ktasinfo_ktasinfo.getColumn(0, "ptmikpr1nm"));
  1172. grp_triage.cap_ptmikpr1.tooltiptext = ds_main_ertriage_ertriage.getColumn(0, "ptmikpr1nm");
  1173. }
  1174. }
  1175. /**
  1176. * @desc : 교통사고 당사자란 선택시, 보호장구란 disabled유무 설정
  1177. * @
  1178. * @param :
  1179. * @return :
  1180. * @author : 오지훈
  1181. * @---------------------------------------------------
  1182. */
  1183. function fSelctAcdOwnFlag(){
  1184. var chAcdOwnFlag = ds_main_ertriage_ertriage.getColumn(0, "acdownflag");
  1185. if(chAcdOwnFlag == "Y"){
  1186. grp_triage.chk_proceqmtflag.enable = true;
  1187. }else{
  1188. grp_triage.chk_proceqmtflag.enable = false;
  1189. }
  1190. }
  1191. /**
  1192. * @desc : 응급Triage환자 기본정보 조회(primary key를 이용해서 조회한다.)
  1193. * @
  1194. * @param :
  1195. * @return :
  1196. * @author : 오지훈
  1197. * @---------------------------------------------------
  1198. */
  1199. function fReqERTriagePatInfoPrimaryKey(param){
  1200. var condparam = param.split("▦");
  1201. ds_send_reqdata.clear();
  1202. dsf_makeValue(ds_send_reqdata,"pid", "string",condparam[0]);
  1203. dsf_makeValue(ds_send_reqdata,"orddd", "string",condparam[1]);
  1204. dsf_makeValue(ds_send_reqdata,"cretno", "string",condparam[2]);
  1205. dsf_makeValue(ds_send_reqdata,"queryflag", "string","K"); //쿼리구분 K : 기본키를 이용해 조회한다.
  1206. //submit("TRMMO06103");
  1207. var oParam = {};
  1208. oParam.id = "TRMNE04403";
  1209. oParam.service = "ercareapp.ERInRmOutRmMngt";
  1210. oParam.method = "reqGetERTriagePatInfo";
  1211. oParam.inds = "req=ds_send_reqdata";
  1212. oParam.outds = "ds_main_ertriage_ertriage=ertriage";
  1213. oParam.async = false;
  1214. tranf_submit(oParam);
  1215. if( utlf_isNull(ds_main_ertriage_ertriage.getColumnInfo("preday")) ){
  1216. ds_main_ertriage_ertriage.addColumn("preday", "string");
  1217. }
  1218. if( utlf_isNull(ds_main_ertriage_ertriage.getColumnInfo("prehour")) ){
  1219. ds_main_ertriage_ertriage.addColumn("prehour", "string");
  1220. }
  1221. if( utlf_isNull(ds_main_ertriage_ertriage.getColumnInfo("premin")) ){
  1222. ds_main_ertriage_ertriage.addColumn("premin", "string");
  1223. }
  1224. // 조회 시 m0125 setdata
  1225. var prosplit7= utlf_transNullToEmpty(ds_main_ertriage_ertriage.getColumn(0, "proceqmtflag")).split("|");
  1226. var aData = new Array();
  1227. for (var i = 0; i < prosplit7.length; i++) {
  1228. aData[i] = prosplit7[i];
  1229. }
  1230. grp_triage.chk_proceqmtflag.setData(aData, null, false);
  1231. ds_main_ertriage_ertriage.setColumn(0, "proceqmtflag", ds_main_ertriage_ertriage.getColumn(0, "proceqmtflag") );
  1232. //
  1233. // 조회 시 m0123 setdata
  1234. var prosplit8= utlf_transNullToEmpty(ds_main_ertriage_ertriage.getColumn(0, "algyflag")).split("|");
  1235. var aData = new Array();
  1236. for(var i = 0; i < prosplit8.length; i++){
  1237. aData[i] = prosplit8[i];
  1238. }
  1239. grp_triage.chk_algyflag.setData(aData, null, false);
  1240. ds_main_ertriage_ertriage.setColumn(0, "algyflag", ds_main_ertriage_ertriage.getColumn(0, "algyflag") );
  1241. //
  1242. // 조회 시 m0124 setdata
  1243. var prosplit9= utlf_transNullToEmpty(ds_main_ertriage_ertriage.getColumn(0, "pasthistflag")).split("|");
  1244. var aData = new Array();
  1245. for(var i = 0; i < prosplit9.length; i++){
  1246. aData[i] = prosplit9[i];
  1247. }
  1248. grp_triage.chk_pasthistflag.setData(aData, null, false);
  1249. ds_main_ertriage_ertriage.setColumn(0, "pasthistflag", ds_main_ertriage_ertriage.getColumn(0, "pasthistflag") );
  1250. if(grp_triage.chk_acdownflag.value !="Y"){
  1251. ds_main_ertriage_ertriage.setColumn(0, "acdownflag", "");
  1252. }
  1253. if(utlf_isNull(grp_triage.rdo_acdowndetailflag.value)){
  1254. ds_main_ertriage_ertriage.setColumn(0, "acdowndetailflag", "");
  1255. }
  1256. if(utlf_isNull(grp_triage.ipt_dsid.value)){
  1257. ds_main_ertriage_ertriage.setColumn(0, "dsid", "");
  1258. }
  1259. if(utlf_isNull(grp_triage.ipt_reid.value)){
  1260. ds_main_ertriage_ertriage.setColumn(0, "reid", "");
  1261. }
  1262. var node = ds_main_ertriage_ertriage.rowcount;
  1263. if(node == 0){
  1264. fMakeERTriageNode(); //조회 결과가 없는 경우 node를 생성한다.
  1265. //ds_main_ertriage_ertriage.setColumn(0, "status", "i");
  1266. dsf_makeValue(ds_main_ertriage_ertriage, "status", "string" , "i");
  1267. var condparam = param.split("▦");
  1268. //dsf_makeValue(ds_main_ertriage_ertriage, "pid", "string" , condparam[0]);
  1269. ds_main_ertriage_ertriage.setColumn(0, "pid" , condparam[0]);
  1270. ds_main_ertriage_ertriage.setColumn(0, "orddd" , condparam[1]);
  1271. ds_main_ertriage_ertriage.setColumn(0, "cretno" , condparam[2]);
  1272. ds_main_ertriage_ertriage.setColumn(0, "sex" , condparam[3]);
  1273. ds_main_ertriage_ertriage.setColumn(0, "age" , condparam[4]);
  1274. ds_main_ertriage_ertriage.setColumn(0, "cntctel" , condparam[5]);
  1275. ds_main_ertriage_ertriage.setColumn(0, "patnm" , condparam[6]);
  1276. ds_main_ertriage_ertriage.setColumn(0, "orddeptcd" , condparam[7]);
  1277. ds_main_ertriage_ertriage.setColumn(0, "orddeptnm" , condparam[8]);
  1278. ds_main_ertriage_ertriage.setColumn(0, "orddrid" , condparam[9]);
  1279. ds_main_ertriage_ertriage.setColumn(0, "cscsflag" , "-"); //의식
  1280. ds_main_ertriage_ertriage.setColumn(0, "choswayflag" , "-"); //내원수단
  1281. //model.setValue(sERTRIAGE_PATH + "/painflag" , "-"); //통증
  1282. ds_main_ertriage_ertriage.setColumn(0, "chosresnflag" , "-"); //내원사유
  1283. ds_main_ertriage_ertriage.setColumn(0, "intenflag" ,"-"); //의도성여부
  1284. ds_main_ertriage_ertriage.setColumn(0, "injmechflag" , "-"); //손상기전
  1285. ds_main_ertriage_ertriage.setColumn(0, "chospathflag" , "-"); //내원경로
  1286. ds_main_ertriage_ertriage.setColumn(0, "inhosptype" , "-"); //전원병원구분
  1287. ds_main_ertriage_ertriage.enableevent = false;
  1288. ds_main_ertriage_ertriage.updatecontrol = false;
  1289. ds_main_ertriage_ertriage.setColumn(0, "preday" , "0"); //전원병원구분
  1290. ds_main_ertriage_ertriage.setColumn(0, "prehour" , "00"); //전원병원구분
  1291. ds_main_ertriage_ertriage.setColumn(0, "premin" , "00"); //전원병원구분
  1292. ds_main_ertriage_ertriage.updatecontrol = true;
  1293. ds_main_ertriage_ertriage.enableevent = true;
  1294. dsf_makeValue(ds_main_ertriage_ertriage,"wardcd", "string", ds_codelist.lookup("cdgrupid", "002", "cdid")); //전원병원구분
  1295. dsf_makeValue(ds_main_ertriage_ertriage,"roomcd", "string", "ERBD"); //전원병원구분
  1296. dsf_makeValue(ds_main_ertriage_ertriage,"ordtype", "string", "E"); //전원병원구분
  1297. dsf_makeValue(ds_main_ertriage_ertriage,"instcd", "string", sysf_getUserInfo("dutplceinstcd")); //전원병원구분
  1298. dsf_makeValue(ds_main_ertriage_ertriage,"slightyn", "string", "N"); //경증환자
  1299. fGetKtasInfo(); // 작성된 중증도를 조회 한다.
  1300. }else{
  1301. //조회 결과가 있는 경우, status를 update로 설정한다.
  1302. //dsf_makeValue(ds_main_ertriage_ertriage, "status", "string", "");
  1303. //model.copyNode("/root/temp/ertriage", "/root/main/ertriage/ertriage");
  1304. ds_temps_ertriage.copyData(ds_main_ertriage_ertriage);
  1305. if (ds_main_ertriage_ertriage.getColumn(0, "status") == "i") {
  1306. ds_main_ertriage_ertriage.setColumn(0, "cscsflag" , "-"); //의식
  1307. ds_main_ertriage_ertriage.setColumn(0, "choswayflag" , "-"); //내원수단
  1308. //model.setValue(sERTRIAGE_PATH + "/painflag" , "-"); //통증
  1309. ds_main_ertriage_ertriage.setColumn(0, "chosresnflag" , "-"); //내원사유
  1310. ds_main_ertriage_ertriage.setColumn(0, "intenflag" ,"-"); //의도성여부
  1311. ds_main_ertriage_ertriage.setColumn(0, "injmechflag" , "-"); //손상기전
  1312. ds_main_ertriage_ertriage.setColumn(0, "chospathflag" , "-"); //내원경로
  1313. ds_main_ertriage_ertriage.setColumn(0, "inhosptype" , "-"); //전원병원구분
  1314. ds_main_ertriage_ertriage.enableevent = false;
  1315. ds_main_ertriage_ertriage.updatecontrol = false;
  1316. ds_main_ertriage_ertriage.setColumn(0, "preday" , "0"); //전원병원구분
  1317. ds_main_ertriage_ertriage.setColumn(0, "prehour" , "00"); //전원병원구분
  1318. ds_main_ertriage_ertriage.setColumn(0, "premin" , "00"); //전원병원구분
  1319. ds_main_ertriage_ertriage.updatecontrol = true;
  1320. ds_main_ertriage_ertriage.enableevent = true;
  1321. dsf_makeValue(ds_main_ertriage_ertriage,"wardcd", "string", ds_codelist.lookup("cdgrupid", "002", "cdid")); //전원병원구분
  1322. dsf_makeValue(ds_main_ertriage_ertriage,"roomcd", "string", "ERBD"); //전원병원구분
  1323. dsf_makeValue(ds_main_ertriage_ertriage,"ordtype", "string", "E"); //전원병원구분
  1324. dsf_makeValue(ds_main_ertriage_ertriage,"instcd", "string", sysf_getUserInfo("dutplceinstcd")); //전원병원구분
  1325. dsf_makeValue(ds_main_ertriage_ertriage,"slightyn", "string", "N"); //경증환자
  1326. fGetKtasInfo(); // 작성된 중증도를 조회 한다.
  1327. }
  1328. grp_triage.cap_ptmikpr1.tooltiptext = ds_main_ertriage_ertriage.getColumn(0, "ptmikpr1nm");
  1329. }
  1330. }
  1331. /**
  1332. * @desc : 응급Triage Node 생성
  1333. * @
  1334. * @param :
  1335. * @return :
  1336. * @author : 오지훈
  1337. * @---------------------------------------------------
  1338. */
  1339. function fMakeERTriageNode(){
  1340. ds_main_ertriage_ertriage.addColumn("status","string");
  1341. ds_main_ertriage_ertriage.addColumn("acptddno","string");
  1342. ds_main_ertriage_ertriage.addColumn("acptddtm","string");
  1343. ds_main_ertriage_ertriage.addColumn("acptdd","string");
  1344. ds_main_ertriage_ertriage.addColumn("acptno","string");
  1345. ds_main_ertriage_ertriage.addColumn("histno","string");
  1346. ds_main_ertriage_ertriage.addColumn("histcd","string");
  1347. ds_main_ertriage_ertriage.addColumn("rgstflag","string");
  1348. ds_main_ertriage_ertriage.addColumn("pid","string");
  1349. ds_main_ertriage_ertriage.addColumn("orddd","string");
  1350. ds_main_ertriage_ertriage.addColumn("cretno","string");
  1351. ds_main_ertriage_ertriage.addColumn("sex","string");
  1352. ds_main_ertriage_ertriage.addColumn("age","string");
  1353. ds_main_ertriage_ertriage.addColumn("serdiagflag","string");
  1354. ds_main_ertriage_ertriage.addColumn("mainsympcd","string");
  1355. ds_main_ertriage_ertriage.addColumn("mainsympcdno","string");
  1356. ds_main_ertriage_ertriage.addColumn("mainsympnm","string");
  1357. ds_main_ertriage_ertriage.addColumn("attackdd","string");
  1358. ds_main_ertriage_ertriage.addColumn("attacktm","string");
  1359. ds_main_ertriage_ertriage.addColumn("cscsflag","string");
  1360. //model.makeNode("/root/main/ertriage/ertriage/painflag");
  1361. //model.makeNode("/root/main/ertriage/ertriage/painflag1");
  1362. ds_main_ertriage_ertriage.addColumn("chospathflag","string");
  1363. ds_main_ertriage_ertriage.addColumn("choswayflag","string");
  1364. ds_main_ertriage_ertriage.addColumn("chosresnflag","string");
  1365. ds_main_ertriage_ertriage.addColumn("intenflag","string");
  1366. ds_main_ertriage_ertriage.addColumn("injmechflag","string");
  1367. ds_main_ertriage_ertriage.addColumn("acdownflag","string");
  1368. ds_main_ertriage_ertriage.addColumn("cntctel","string");
  1369. ds_main_ertriage_ertriage.addColumn("highbp","string");
  1370. ds_main_ertriage_ertriage.addColumn("lowbp","string");
  1371. ds_main_ertriage_ertriage.addColumn("mntpulsecnt","string");
  1372. ds_main_ertriage_ertriage.addColumn("mntbrethcnt","string");
  1373. ds_main_ertriage_ertriage.addColumn("chosbdtp","string");
  1374. ds_main_ertriage_ertriage.addColumn("oxyconcen","string");
  1375. ds_main_ertriage_ertriage.addColumn("algyflag","string");
  1376. ds_main_ertriage_ertriage.addColumn("pasthistflag","string");
  1377. ds_main_ertriage_ertriage.addColumn("proceqmtflag","string");
  1378. ds_main_ertriage_ertriage.addColumn("patnm","string");
  1379. ds_main_ertriage_ertriage.addColumn("orddeptcd","string");
  1380. ds_main_ertriage_ertriage.addColumn("orddeptnm","string");
  1381. ds_main_ertriage_ertriage.addColumn("orddrid","string");
  1382. ds_main_ertriage_ertriage.addColumn("algyetccnts","string");
  1383. ds_main_ertriage_ertriage.addColumn("pasthistetccnts","string");
  1384. ds_main_ertriage_ertriage.addColumn("fstexamorddd","string");
  1385. ds_main_ertriage_ertriage.addColumn("fstexamordtm","string");
  1386. ds_main_ertriage_ertriage.addColumn("mainsympcd1","string");
  1387. ds_main_ertriage_ertriage.addColumn("mainsympcdno1","string");
  1388. ds_main_ertriage_ertriage.addColumn("mainsympnm1","string");
  1389. ds_main_ertriage_ertriage.addColumn("mainsympcd2","string");
  1390. ds_main_ertriage_ertriage.addColumn("mainsympcdno2","string");
  1391. ds_main_ertriage_ertriage.addColumn("mainsympnm2","string");
  1392. ds_main_ertriage_ertriage.addColumn("etcsymp","string");
  1393. ds_main_ertriage_ertriage.addColumn("acdowndetailflag","string");
  1394. ds_main_ertriage_ertriage.addColumn("inhosptype","string");
  1395. ds_main_ertriage_ertriage.addColumn("inhospcd","string");
  1396. ds_main_ertriage_ertriage.addColumn("inhospnm","string");
  1397. ds_main_ertriage_ertriage.addColumn("dsid","string");
  1398. ds_main_ertriage_ertriage.addColumn("reid","string");
  1399. ds_main_ertriage_ertriage.addColumn("preday","string");
  1400. ds_main_ertriage_ertriage.addColumn("prehour","string");
  1401. ds_main_ertriage_ertriage.addColumn("premin","string");
  1402. ds_main_ertriage_ertriage.addColumn("slightyn","string");
  1403. ds_main_ertriage_ertriage.addColumn("ktasformrecseq","string");
  1404. ds_main_ertriage_ertriage.addColumn("ptmikpr1","string");
  1405. ds_main_ertriage_ertriage.addColumn("ptmiktdt","string");
  1406. ds_main_ertriage_ertriage.addColumn("ptmikttm","string");
  1407. ds_main_ertriage_ertriage.addColumn("ptmikjob","string");
  1408. ds_main_ertriage_ertriage.addColumn("ptmikidn","string");
  1409. ds_main_ertriage_ertriage.addColumn("ptmikpr1nm","string");
  1410. }
  1411. /**
  1412. * @desc : 내원사유 변경
  1413. * @
  1414. * @param :
  1415. * @return :
  1416. * @author : 오지훈
  1417. * @---------------------------------------------------
  1418. */
  1419. function fChngChosResnFlag(){
  1420. var chosresnflag = grp_triage.cmb_chosresnflag.value;
  1421. if(grp_triage.cmb_chosresnflag.value == "1" || grp_triage.cmb_chosresnflag.value == "-"){ //내원사유가 질병인 경우, 미설정일 경우
  1422. ds_main_ertriage_ertriage.setColumn(0, "intenflag", "-"); //의도성여부
  1423. ds_main_ertriage_ertriage.setColumn(0, "injmechflag", "-"); //손상기전
  1424. ds_main_ertriage_ertriage.setColumn(0, "acdownflag", ""); //교통사고 당사자
  1425. ds_main_ertriage_ertriage.setColumn(0, "proceqmtflag", ""); //보호장구
  1426. grp_triage.cmb_intenflag.enable = false;
  1427. grp_triage.cmb_injmechflag.enable = false;
  1428. //chk_acdownflag.disabled = true;
  1429. //chk_proceqmtflag.disabled= true;
  1430. //model.setValue(sERTRIAGE_PATH + "/chospathflag", "-"); //내원경로
  1431. //cmb_chospathflag.disabled= true; //내원사유가 질병인 경우, 내원경로 disabled해체
  1432. //model.refresh();
  1433. }else{
  1434. grp_triage.cmb_intenflag.enable = true;
  1435. grp_triage.cmb_injmechflag.enable = true;
  1436. cmb_chospathflag.enable= true;
  1437. //chk_acdownflag.disabled = false;
  1438. //chk_proceqmtflag.disabled= false;
  1439. //model.refresh();
  1440. }
  1441. }
  1442. /**
  1443. * @desc : UML주호소 화면 OPEN
  1444. * @
  1445. * @param :
  1446. * @return :
  1447. * @author : 정경화
  1448. * @---------------------------------------------------
  1449. */
  1450. function fOpenUMLSCC1(){
  1451. //model.removeNodeset("/root/temp");
  1452. //model.makeNode("/root/send/reqdata");
  1453. if(utlf_isNull(grp_triage.ipt_mainsynm.value)){
  1454. sysf_messageBox("주증상 정보를 입력하셔야 합니다.","C");
  1455. return;
  1456. }
  1457. frmf_modal("SPMRF04200","SPMRF04200","","","","","","","","","","","M");
  1458. //setParameter("SPMRF04200_param_nodepath", "/root/temp/selectdiaglist");
  1459. frmf_setParameter("SPMRF04200_param_nodepath", "");
  1460. ds_main_ertriage_ertriage.setColumn(0, "mainsympcd1", ds_temp_selectdiaglist.getColumn(0,"umlscd"));
  1461. ds_main_ertriage_ertriage.setColumn(0, "mainsympcdno1", 0);
  1462. ds_main_ertriage_ertriage.setColumn(0, "mainsympnm1", ds_temp_selectdiaglist.getColumn(0,"termengnm"));
  1463. }
  1464. /**
  1465. * @desc : UML주호소 화면 OPEN
  1466. * @
  1467. * @param :
  1468. * @return :
  1469. * @author : 정경화
  1470. * @---------------------------------------------------
  1471. */
  1472. function fOpenUMLSCC2(){
  1473. if(utlf_isNull(grp_triage.ipt_mainsynm.value)){
  1474. sysf_messageBox("주증상 정보를 입력하셔야 합니다.","C");
  1475. return;
  1476. }
  1477. frmf_modal("SPMRF04200","SPMRF04200","","","","","","","","","","","M");
  1478. frmf_setParameter("SPMRF04200_param_nodepath", "");
  1479. ds_main_ertriage_ertriage.setColumn(0, "mainsympcd2", ds_temp_selectdiaglist.getColumn(0,"umlscd"));
  1480. ds_main_ertriage_ertriage.setColumn(0, "mainsympcdno2", 0);
  1481. ds_main_ertriage_ertriage.setColumn(0, "mainsympnm2", ds_temp_selectdiaglist.getColumn(0,"termengnm"));
  1482. }
  1483. /**
  1484. * @desc : 손상기전 변경 Event
  1485. * @
  1486. * @param :
  1487. * @return :
  1488. * @author : 양천덕
  1489. * @---------------------------------------------------
  1490. */
  1491. function fValueChng_injmechflag(){
  1492. if(grp_triage.cmb_injmechflag.value == "01" || grp_triage.cmb_injmechflag.value == "02" || grp_triage.cmb_injmechflag.value == "03" || grp_triage.cmb_injmechflag.value == "04" ||
  1493. grp_triage.cmb_injmechflag.value == "05" || grp_triage.cmb_injmechflag.value == "06" || grp_triage.cmb_injmechflag.value == "07" || grp_triage.cmb_injmechflag.value == "08" ||
  1494. grp_triage.cmb_injmechflag.value == "09"){
  1495. grp_triage.chk_acdownflag.enable = true;
  1496. }else{
  1497. grp_triage.chk_acdownflag.value = "";
  1498. grp_triage.chk_acdownflag.enable = false;
  1499. }
  1500. }
  1501. /**
  1502. * @desc : 내원수단 변경 Event
  1503. * @
  1504. * @param :
  1505. * @return :
  1506. * @author : 양천덕
  1507. * @---------------------------------------------------
  1508. */
  1509. function fValueChng_choswayflag(){
  1510. if(cmb_choswayflag.value == "1"){
  1511. grp_triage.ipt_dsid.enable = true;
  1512. grp_triage.ipt_reid.enable = true;
  1513. grp_triage.btn_reidsetting.enable = true;
  1514. grp_triage.btn_dsidsetting.enable = true;
  1515. // 20200210 김현석, 내원수단 119 구굽차 선택 시 재난번호, 구급활동일지 일련번호 미상 처리(2016년 이후 미전송 항목), 요청번호:20200205028
  1516. grp_triage.ipt_dsid.value = "99999999999999999999";
  1517. grp_triage.ipt_reid.value = "99999999999999999999";
  1518. }else{
  1519. grp_triage.ipt_dsid.value = "";
  1520. grp_triage.ipt_reid.value = "";
  1521. grp_triage.ipt_dsid.enable = false;
  1522. grp_triage.ipt_reid.enable = false;
  1523. grp_triage.btn_reidsetting.enable = false;
  1524. grp_triage.btn_dsidsetting.enable = false;
  1525. }
  1526. }
  1527. /**
  1528. * @desc : 내원경로 변경 Event
  1529. * @
  1530. * @param :
  1531. * @return :
  1532. * @author : 양천덕
  1533. * @---------------------------------------------------
  1534. */
  1535. function fValueChng_chospathflag(){
  1536. grp_triage.cmb_inhosptype.enable = false;
  1537. grp_triage.ipt_inhosnm.enable = false;
  1538. if(cmb_chospathflag.value == "2"){
  1539. //cmb_inhosptype.disabled = false;
  1540. grp_triage.btn_hossear.enable = true;
  1541. }else{
  1542. grp_triage.cmb_inhosptype.value = "-";//의료기관 코드
  1543. ds_main_ertriage_ertriage.setColumn(0, "inhospnm", ""); //의료기관명
  1544. ds_main_ertriage_ertriage.setColumn(0, "inhospcd", ""); //의료기관명
  1545. //cmb_inhosptype.disabled = true;
  1546. grp_triage.btn_hossear.enable = false;
  1547. }
  1548. }
  1549. /**
  1550. * @desc : 내원경로 변경 Event
  1551. * @
  1552. * @param :
  1553. * @return :
  1554. * @author : 양천덕
  1555. * @---------------------------------------------------
  1556. */
  1557. function fValueChng_acdownflag(){
  1558. if(grp_triage.chk_acdownflag.value == "Y"){
  1559. grp_triage.rdo_acdowndetailflag.enable = true;
  1560. grp_triage.chk_proceqmtflag.enable = true;
  1561. }else{
  1562. grp_triage.rdo_acdowndetailflag.value = "";
  1563. /////////////////////////////////////////////////chk_proceqmtflag checkboxlist value 값 빼기
  1564. var rtn = "";
  1565. var tmp = "";
  1566. rtn = grp_triage.chk_proceqmtflag.getData();
  1567. for(var i=0; i<rtn.length; i++){
  1568. if( i == 0 ) tmp = rtn[i];
  1569. else tmp = tmp + "|" +rtn[i];
  1570. }
  1571. if(tmp.indexOf("|") != -1){
  1572. var temp = tmp.split("|");
  1573. var templen = temp.length;
  1574. for(var i =0 ; i < templen; i++){
  1575. var aFalseData = new Array();
  1576. aFalseData[i] = temp[i];
  1577. grp_triage.chk_proceqmtflag.setData(null, aFalseData, false);
  1578. }
  1579. }else{
  1580. var temp = tmp;
  1581. var templen = 1;
  1582. for(var i =0 ; i < templen; i++){
  1583. var aFalseData = new Array();
  1584. aFalseData[i] = temp;
  1585. grp_triage.chk_proceqmtflag.setData(null, aFalseData, false);
  1586. }
  1587. }
  1588. var checklistrtn= "";
  1589. checklistrtn = grp_triage.chk_proceqmtflag.getData();
  1590. var tmpsave = "";
  1591. for(var i=0; i<checklistrtn.length; i++){
  1592. if( i == 0 ) tmpsave = checklistrtn[i];
  1593. else tmpsave = tmpsave + "|" +checklistrtn[i];
  1594. }
  1595. ds_main_ertriage_ertriage.setColumn(0, "proceqmtflag", tmpsave);
  1596. /////////////////////////////////////////////////
  1597. grp_triage.rdo_acdowndetailflag.enable = false;
  1598. grp_triage.chk_proceqmtflag.enable = false;
  1599. }
  1600. }
  1601. /**
  1602. * @desc : 몇일 몇시간 몇분전으로 발병일시 발병시간을 조회한다.
  1603. * @
  1604. * @param :
  1605. * @return :
  1606. * @author : 김병국
  1607. * @---------------------------------------------------
  1608. */
  1609. function fCalcAttackDate() {
  1610. var curdd = utlf_getCurrentDate();
  1611. var curtm = utlf_getCurrentTime();
  1612. var curdate = curdd + curtm;
  1613. var curdt = curdd + curtm;
  1614. var stat = 0;
  1615. var dd = Number(grp_triage.ipt_preday.value);
  1616. var hh = Number(grp_triage.ipt_prehour.value);
  1617. var min = Number(grp_triage.ipt_premin.value);
  1618. if( !utlf_isNull(min)) {
  1619. curdt = (utlf_transNullToEmpty(String(curdate)).toDate("YYYYMMDDhhmmss")).getAddDate(min * -1, "m").getDateFormat("YYYYMMDDhhmmss");
  1620. stat++;
  1621. }
  1622. if( !utlf_isNull(hh)) {
  1623. if(stat == 0) {
  1624. curdt = (utlf_transNullToEmpty(String(curdt)).toDate("YYYYMMDDhhmmss")).getAddDate(hh * -1, "h").getDateFormat("YYYYMMDDhhmmss");
  1625. } else {
  1626. curdt = utlf_transNullToEmpty(String(curdt)).toDate("YYYYMMDDhhmmss").getAddDate(utlf_transNullToEmpty(hh) * -1, "h").getDateFormat("YYYYMMDDhhmmss");
  1627. }
  1628. }
  1629. if( !utlf_isNull(dd)) {
  1630. if(stat == 0) {
  1631. curdt = (utlf_transNullToEmpty(String(curdt)).toDate("YYYYMMDDhhmmss")).getAddDate(dd * -1, "D").getDateFormat("YYYYMMDDhhmmss");
  1632. } else {
  1633. curdt = utlf_transNullToEmpty(String(curdt)).toDate("YYYYMMDDhhmmss").getAddDate(utlf_transNullToEmpty(dd) * -1).getDateFormat("YYYYMMDDhhmmss");
  1634. }
  1635. }
  1636. // sFDate = curdt.getFullYear();
  1637. // sFDate = sFDate.toString() + (( curdt.getMonth() + 1 > 9 ) ? curdt.getMonth() + 1 : "0" + (curdt.getMonth() + 1));
  1638. // sFDate = sFDate.toString() + (( curdt.getDate() > 9 ) ? curdt.getDate() : "0" + curdt.getDate());
  1639. //
  1640. // sFTime = (( curdt.getHours() > 9 ) ? curdt.getHours() : "0" + curdt.getHours());
  1641. // sFTime = sFTime.toString() + (( curdt.getMinutes() > 9 ) ? curdt.getMinutes() : "0" + curdt.getMinutes());
  1642. sFDate = curdt.substr(0,8);
  1643. sFTime = curdt.substr(8,12);
  1644. ds_main_ertriage_ertriage.setColumn(0, "attackdd", sFDate);
  1645. ds_main_ertriage_ertriage.setColumn(0, "attacktm", sFTime.substr(0,4));
  1646. }
  1647. /*checkbox 교통사고당사자 값 변경시 */
  1648. function ds_main_ertriage_ertriage_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  1649. {
  1650. if(e.columnid == "acdownflag"){
  1651. if(grp_triage.chk_acdownflag.value !="Y"){
  1652. ds_main_ertriage_ertriage.setColumn(0, "acdownflag", "");
  1653. }
  1654. }
  1655. }
  1656. ]]></Script>