123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452 |
- /*
-
- 임상관찰기록(SMMNR00900.xfm - JScript )
- - Version :
- 1) : Ver.1.00.01
- */
- var sCondPath = "/root/main/cond";
- var xChartHeaderListPath = "/root/main/chartheaderlist";
- var xStnddayClincObsRecListPath = "/root/main/clincobsrecinfo/stnddayclincobsrecinfo/stnddayclincobsreclist";
- var xFormerdayClincObsRecListPath = "/root/main/clincobsrecinfo/formerclincobsrecinfo/formerclincobsreclist";
- var xHoursClincObsRecList = "/root/main/clincobsrecinfo/hoursclincobsrecinfo/hoursclincobsreclist";
- var xDaysClincObsRecList = "/root/main/clincobsrecinfo/daysclincobsrecinfo/daysclincobsreclist";
- var xIntervalRecYNListPath = "/root/temp/clincobsrecinfo/intervalrecynlist";
- var xClincObsRecListPath = "/root/temp/clincobsrecinfo/clincobsreclist";
- var sAttrListPath = "/root/temp/clincobsrecinfo/attrlist";
- var sAttrListPath1 = "/root/temp/clincobsrecinfo/attrlist1";
- var xRecUserListPath = "/root/temp/clincobsrecinfo/recuserlist";
- var xTMSettingListPath = "/root/temp/clincobsrecinfo/tmsettinglist";
- var sAttrListTempPath = "/root/temp/attrinfo/attrlist";
- var sAttrListInitPath = "/root/temp/initcmblnfo/initcmblist";
- var xFormerIntervalRecYNListPath = "/root/temp/formerclincobsrecinfo/intervalrecynlist";
- var xFormerClincObsRecListPath = "/root/temp/formerclincobsrecinfo/clincobsreclist";
- var xFormerAttrListPath = "/root/temp/formerclincobsrecinfo/attrlist";
- var xFormerAttrListPath1 = "/root/temp/formerclincobsrecinfo/attrlist1";
- var xFormerRecUserListPath = "/root/temp/formerclincobsrecinfo/recuserlist";
- var xPamInfoPath = "/root/main/paminfo/pamlist"; // 환자정보
- var xDayCountListPath = "/root/main/daycountinfo/daycountlist";
- var xFormerDayCountListPath = "/root/main/formerdaycountinfo/daycountlist";
- var xResultPath = "/root/certtemp/recinfo";
- var xResultAttrPath = "/root/certattrtemp/recattrinfo";
- var xPathViewData = "/root/temp/clincobsrecinfo/rtnsigndata";
- var xFormerRecPath = "/root/temp/formerclincobsrecinfo";
- var sHeader = new Array();
- var sFormerHeader = new Array();
- var sPid = ""; // 환자번호
- var sIndd = ""; // 입원일자
- var sCretNo = ""; // 환자 일자별 일련번호
- var sInstcd = ""; // 기관코드
- var sIOFlag = ""; // 입원/외래 구분
- var sWardCD = ""; // 병동코드
- var sRoomCD = ""; // 병실코드
- var sJobKindCD = ""; // 직급코드
- var sIndschacptstat = "";
- var sDschdd = "";
- var sDayCountFlag = "";
- var sPopUpMenuFlag = "";
- var s4DateSrch = "";
- var sViewerRecDD = "";
- var sViewerFunc = "sign";
- var sMakeChartInfo = new Array();
- var sImageRecDD = "";
- var sPatNm = "";
- var sSexAge = "";
- var sDutplcecd = "";
- var sOrdDeptcd = "";
- var sMedispclid = "";
- var sUserFlag = "";
- var sUserDeptCd = "";
- var sUserId = "";
- var sSpParamInfo = "";
- var sParamInfo = "";
- /**
- * @group :
-
- * @ver : 2007.06.27
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 화면 초기화
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fInitialize(pFlag){
- if(pFlag == "init"){
- sParamInfo = "";
- sSpParamInfo = "";
-
- }
-
- browser1.visible = false;
-
- model.setValue(sCondPath+"/srchflag", "2");
- sUserFlag = "2";
-
- model.setValue(sCondPath+"/cmbstatusx", "0");
- model.setValue(sCondPath+"/cmbstatusy", "0");
- model.setValue(sCondPath+"/rectm","060000");
- model.setValue(sCondPath+"/timeflag", "60");
- model.setValue(sCondPath+"/vwctrl_button","24hours");
- model.setValue(sCondPath+"/daycountinfo", "1 2 3 4 5 6");
- model.setValue(sCondPath+"/formerdaycountinfo", "1 2 3 4 5 6");
- // 환자정보 강제 세팅 ****************************************************
-
- model.setValue("/root/main/cond/pid", model.property("pid"));
- model.setValue("/root/main/cond/indd", model.property("indd"));
- model.setValue("/root/main/cond/cretno", model.property("cretno"));
- model.setValue("/root/main/cond/patnm", model.property("hngnm"));
- model.setValue("/root/main/cond/sexage", model.property("sexage"));
- model.setValue("/root/main/cond/orddeptnm", model.property("deptnm"));
- model.setValue("/root/main/cond/orddrnm", model.property("medispclnm"));
- model.setValue("/root/main/cond/wardroomnm", model.property("wardroomnm"));
- model.setValue("/root/main/cond/ordtype", "I");
- model.setValue("/root/main/cond/indschacptstat", "A");
- model.setValue("/root/main/cond/dschdd", "99991231");
- var sRecdate = "";
- var sRectime = "";
-
- if(getCurrentTime().substr(0,4) < "0700"){
- sRecdate = getDateCalc(getCurrentDate(),1,"-");
- }else{
- sRecdate = getCurrentDate();
- }
-
- model.setValue(sCondPath+"/recdd",sRecdate);
- model.setValue(sCondPath+"/formerrecdd", getDateCalc(model.getValue(sCondPath+"/recdd"),1));
-
- fSearchClincObsRec();
- }
- /**
- * @group :
- * @ver : 2007.07.11
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 이전/이후 날짜 Setting
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fDateCalc(pFlag, pVWFlag, pTerm){
- var sRecDT = model.getValue(sCondPath+"/recdd")+model.getValue(sCondPath+"/rectm");
- switch(pVWFlag){
- case "24hours" :
- var sTime = eval(model.getValue(sCondPath+"/timeflag")) * pTerm;
- sRecDT = sRecDT.toDate("YYYYMMDDhhmmss");
- if(pFlag == "-"){
- sRecDT.setMinutes(sRecDT.getMinutes() - sTime);
- }else{
- sRecDT.getAddDate(sTime, "m");
- }
- model.setValue(sCondPath+"/recdd",getDateTime(sRecDT,'기본').substr(0,8));
- model.setValue(sCondPath+"/rectm",getDateTime(sRecDT,'기본').substr(8,6));
- break;
- }
-
- fSearchClincObsRec(pVWFlag);
- }
- /**
- * @group :
- * @ver : 2007.07.11
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 시작일자 계산
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fCalStartDate(pDate, pTimeFlag){
- var sStartDT = pDate.toDate("YYYYMMDDhhmmss");
- var sTime = "";
- var sRemainder = 0;
-
- if(pTimeFlag != 1 ){
- sRemainder = eval(pDate.substr(10,2))%pTimeFlag;
- }
- sStartDT.setMinutes(sStartDT.getMinutes()-sRemainder);
-
- return sStartDT;
- }
- /**
- * @group :
- * @ver : 2007.08.16
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 그리드 Header 생성
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fCreateHeader(pFlag){
- var sRecDT = "";
- //var sChartCapNm = "";
- var sGridCapNm = "";
- var sTimeFlag = 0;
- var sCDay = new Array();
- var sDayInfo = "";
- var iDayRow = 0;
- var sDayCountInfo = "";
- var sDateList = "";
- sHeader[1] = new Array();
- sHeader[2] = new Array();
- sHeader[1][0] = "날 짜";
- sHeader[2][0] = "시 간";
-
- model.removenode("/root/send");
- model.makeValue("/root/send/pid", sPid);
- model.makeValue("/root/send/indd", sIndd);
- model.makeValue("/root/send/cretno", sCretNo);
- model.makeValue("/root/send/instcd", sInstcd);
- model.makeValue("/root/send/ioflag", sIOFlag);
- switch(pFlag){
- case "24hours" :
- sTimeFlag = eval(model.getValue(sCondPath+"/timeflag"));
- sRecDT = model.getValue(sCondPath+"/recdd")+model.getValue(sCondPath+"/rectm");
- var sStartDT = fCalStartDate(sRecDT,sTimeFlag);
- var sTime = 0;
- for(var i=1; i<=25; i++){
- if(i>1){
- sStartDT = sStartDT.getAddDate(sTimeFlag,"m");
- }
- sHeader[1][i] = getDateTime(sStartDT,'기본').substr(0,8);
- if(iDayRow == 0 || sCDay[iDayRow-1] != sHeader[1][i]){
- sCDay[iDayRow] = sHeader[1][i];
- iDayRow++;
- }
- sHeader[2][i] = getDateTime(sStartDT,'기본').substr(8,2);
- }
-
- for(var iRow=1; iRow<=2; iRow++){
- // if(iRow == 2 && model.getValue(sCondPath+"/vwctrl_24hours") == "A") continue;
- for(var iCol=0; iCol<=24; iCol++){
- if(iRow == 1){
- // sChartCapNm += sHeader[iRow+1][iCol]; // day count
- if(iCol == 0){
- sGridCapNm += sHeader[iRow][iCol]; // 년월일
- }else{
- sGridCapNm += sHeader[iRow][iCol].toDate("YYYYMMDD").getDateFormat("YYYY년 MM월 DD일")+
- " ("+sHeader[iRow][iCol].toDate("YYYYMMDD").getDayOfWeek("k")+")";
- }
- }else if(iRow == 2){ // 시
- // sChartCapNm += sHeader[iRow][iCol];
- sGridCapNm += sHeader[iRow][iCol];
- if(iCol != 0){
- sGridCapNm += "시";
- // sChartCapNm += "시";
- }
- }
-
- if(iCol != 24){
- // if(iRow != 2) sChartCapNm += "^";
- sGridCapNm += "^";
- }
- }
-
- if(iRow != 2){
- // if((iRow%2)== 1) sChartCapNm += "|";
- sGridCapNm += "|";
- }
- }
- // grd_24hoursheader.caption = sChartCapNm;
- grd_24hoursclincobsreclist.caption = sGridCapNm;
- break;
- }
- }
- /**
- * @group :
- * @ver : 2008.07.30
- * @by : 양천덕
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc :
- * @param : 화면 초기화 초기화
- * @return :
- * @---------------------------------------------------
- */
- function fTPRviewInit(){
- model.removeNodeset(xHoursClincObsRecList);
- model.removeNodeset(xDaysClincObsRecList);
- model.removeNodeset(xStnddayClincObsRecListPath);
- model.removeNodeset(xFormerdayClincObsRecListPath);
- model.removeNodeset(xClincObsRecListPath);
- model.removeNodeset(xFormerRecPath);
- model.removeNodeset(xDayCountListPath);
- model.removeNodeset(xFormerDayCountListPath);
- model.removeNodeset(xPamInfoPath);
- model.removeNodeset(xRecUserListPath);
- model.removeNodeset(sAttrListPath1);
- model.removeNodeset(xFormerAttrListPath1);
- model.removeNodeset(xFormerRecUserListPath);
- model.removeNodeset("/root/init/clsinfo");
- model.removeNode("/root/temp/cond/patientgrup");
- grd_24hoursclincobsreclist.caption = "";
- if(getNodesetCount("/root/main/patinfo") > 0){
- model.setValue("/root/main/patinfo/pid", "");
- model.setValue("/root/main/patinfo/indd", "");
- model.setValue("/root/main/patinfo/cretno", "");
- model.setValue("/root/main/patinfo/ordtype", "");
- model.setValue("/root/main/patinfo/indschacptstat", "");
- model.setValue("/root/main/patinfo/dschdd", "");
- model.setValue("/root/main/patinfo/eroutdd", "");
- model.setValue("/root/main/patinfo/patnm", "");
- model.setValue("/root/main/patinfo/sexage", "");
- model.setValue("/root/main/patinfo/wardcd", "");
- model.setValue("/root/main/patinfo/roomcd", "");
- }
- sPid = "";
- sIndd = "";
- sCretNo = "";
- sInstcd = "";
- sIOFlag = "";
- sWardCD = "";
- sRoomCD = "";
- sIndschacptstat = "";
- sDschdd = "";
- sOrdDeptcd = "";
- sMedispclid = "";
- model.setValue(sCondPath+"/pid", "");
- }
- /**
- * @group :
- * @ver : 2007.08.16
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 임상관찰 기록 조회
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSearchClincObsRec(pClsFlag){
- if(model.getValue("/root/main/cond/pid") == ""){
- messageBox("환자를 선택하십시요","I");
- return;
- }
- var sStrTime = "";
- var sRecCnt = 0;
- var pFlag = model.getValue(sCondPath+"/vwctrl_button");
-
- fCreateHeader(pFlag);
- model.removeNode("/root/send");
- model.makeValue("/root/send/pid", model.getValue(sCondPath+"/pid"));
- model.makeValue("/root/send/indd", model.getValue(sCondPath+"/indd"));
- model.makeValue("/root/send/cretno", model.getValue(sCondPath+"/cretno"));
- model.makeValue("/root/send/instcd", model.getValue(sCondPath+"/instcd"));
- model.makeValue("/root/send/timeflag", model.getValue(sCondPath+"/timeflag"));
- model.makeValue("/root/send/srchdd",model.getValue(sCondPath+"/recdd"));
- model.makeValue("/root/send/fromdt",sHeader[1][1]+sHeader[2][1]+"00");
-
- model.removeNodeset(xHoursClincObsRecList);
-
- switch(pFlag){
- case "24hours" :
- var iHoursRecRow = 0;
- var iHoursDataRow = 0;
- var sBizLnkFlag = model.getValue(sCondPath+"/bizlnkflag");
- model.makeValue("/root/send/todt",sHeader[1][25]+sHeader[2][25]+"0000");
- model.makeValue("/root/send/recflag", "24hours");
- for(var i=1; i <= 25; i++){
- if(sStrTime == ""){
- sStrTime += sHeader[1][i]+sHeader[2][i]+"0000";
- }else{
- sStrTime += ","+sHeader[1][i]+sHeader[2][i]+"0000";
- }
- }
- model.makeValue("/root/send/strtime", sStrTime);
-
- if(model.getValue("/root/main/cond/bizlnkflag") == "Y"){
- model.makeValue("/root/send/bizdeptcd", sDutplcecd);
- }
- if(pClsFlag == "selectedcls"){
- model.makeValue("/root/send/clsinfo", model.getValue(sCondPath+"/hoursclsinfo"));
- }else{
- model.setValue(sCondPath+"/hoursclsinfo","");
- }
-
- grd_24hoursclincobsreclist.rebuild();
- submit("TRMOB00903");
- break;
- }
- }
- /**
- * 임상관찰 기록 Chart 그리기
- *
- * 수정이력
- * 2011-07-14 오전 10:26:33 chart 모듈 변경으로 인한 title 출력 파라미터 설정 추가
- * Chart 관련 파라미터 정보
- * @param chart의 종료선택 type(string) "pie","column","line"
- * @param print 출력버튼 type(boolean) true/false
- * @param title 출력 type (string) ex> "임상관찰"
- * @param Y축 title 출력 type (string) ex> "figure"
- * @param X축 값설정 type (string) ex>"06시 00분^07시 00분^08시 00분^09시 00분"
- * @param Y축 값설정 type (string) ex>"BP(S)^135^130^130^130|BP(D)^100^90^100^95|.."
- * @param 그래프의 width type (int) ex> 450
- * @param 그래프의 height type (int) ex> 270
- *
- */
- function visibleChart(){
- var strChart = "line";
- var bPrint = false;
- var strTitle = "임상관찰기록";
- var strYTitle = model.getValue("/root/main/cond/recdd");
- strYTitle = strTitle.substr(0,4)+"년"+strTitle.substr(4,2)+"월"+strTitle.substr(6,2)+"일";
- var iRowCnt = getNodesetCount("/root/main/clincobsrecinfo/hoursclincobsrecinfo/hoursclincobsreclist");
- var strXdata = "";
- var strYdata = "";
- if(iRowCnt > 0){
- strXdata = "07시^08시^09시^10시^11시^12시^13시^14시^15시^16시^17시^18시^19시^20시^21시^22시^23시^00시^01시^02시^03시^04시^05시^06시";
- strYdata = "";
- for(var i = 1; i <= iRowCnt; i++){
- if(model.getValue("/root/main/clincobsrecinfo/hoursclincobsrecinfo/hoursclincobsreclist["+i+"]/itemnm") != "V/S"){
- for(var j = 0; j <25; j++){
- if(j == 0){
- strYdata = strYdata + (model.getValue("/root/main/clincobsrecinfo/hoursclincobsrecinfo/hoursclincobsreclist["+i+"]/itemnm")).replace("…","")+"^";
- }else if(j == 24){
- if(i == iRowCnt){
- strYdata = strYdata + grd_24hoursclincobsreclist.valueMatrix(i+1,j);
- }else{
- strYdata = strYdata + grd_24hoursclincobsreclist.valueMatrix(i+1,j)+"|";
- }
- }else{
- strYdata = strYdata + grd_24hoursclincobsreclist.valueMatrix(i+1,j)+"^";
- }
- }
- }
- }
- var nWidth = 1500;
- var nHeight = 270;
- browser1.window.dataCharPicture(strChart, bPrint, strTitle, strYTitle, strXdata, strYdata, nWidth, nHeight);
- browser1.visible = true;
- }else{
- browser1.visible = false;
- }
- }
|