123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903 |
- /*
-
- 외래 메인 화면 (SMMNO00100.xfm - JScript )
- - Version :
- 1) : Ver.1.00.01
- */
- /**
- * @group :
- * @ver : 2007.04.11
- * @by : 김병국
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fCalcDate(yr, dt) {
-
- var dt = model.getValue("/root/init/orddd");
- dt = dt.toDate("YYYYMMDD");
- dt = dt.getAddDate(yr, "Y");
- dt = dt.getDateFormat("YYYYMMDD");
-
- return dt;
- }
- /**
- * @group :
- * @ver : 2007.04.11
- * @by : 김병국
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fGridDbClicked() {
-
- var dt = fCalcDate(-5, model.getValue("/root/main/opatlist/opatlist[" + grd_opatmngt.row + "]/orddd"));
- model.setValue("/root/main/condition/preorddd", dt);
-
- //submit
- model.removeNodeset("/root/main/patdetlinfo");
- grd_ordinfo.refresh();
- grd_prcpspec.refresh();
- grd_ordrsrvinfo.refresh();
- grd_outerspec.refresh();
- model.removeNodeset("/root/send/reqpredata");
- model.makeValue("/root/send/reqpredata/orddd", model.getValue("/root/main/opatlist/opatlist[" + grd_opatmngt.row + "]/orddd"));
- model.makeValue("/root/send/reqpredata/pid", model.getValue("/root/main/opatlist/opatlist[" + grd_opatmngt.row + "]/pid"));
- model.makeValue("/root/send/reqpredata/orddeptcd", model.getValue("/root/main/opatlist/opatlist[" + grd_opatmngt.row + "]/orddeptcd"));
- model.makeValue("/root/send/reqpredata/orddrid", model.getValue("/root/main/opatlist/opatlist[" + grd_opatmngt.row + "]/orddrid"));
- model.makeValue("/root/send/reqpredata/cretno", model.getValue("/root/main/opatlist/opatlist[" + grd_opatmngt.row + "]/cretno"));
- model.makeValue("/root/send/reqpredata/instcd", model.getValue("/root/main/opatlist/opatlist[" + grd_opatmngt.row + "]/instcd"));
- model.makeValue("/root/send/reqpredata/preorddd", dt);
- model.makeValue("/root/send/reqpredata/MDdeptcd", MDdeptcd); // 하드코딩수정_내과부서코드 추가_20090423(ByJA)
- model.makeValue("/root/send/reqpredata/RDdeptcd", RDdeptcd); // 하드코딩수정_영상의학과부서코드 추가_20090423(ByJA)
- model.makeValue("/root/send/reqpredata/insukindcd", model.getValue("/root/main/opatlist/opatlist[" + grd_opatmngt.row + "]/insukindcd")); //진료정보에 산정특례추가로 인해 수정-20090623
-
-
-
- submit("TRMNO00102", false);
-
- var node = instance1.selectSingleNode("/root/main/patdetlinfo/ordinfo/rem");
- if(node == null){
- model.makeValue("/root/main/patdetlinfo/ordinfo/rem", model.getValue("/root/main/opatlist/opatlist["+grd_opatmngt.row+ "]/telrsrvrem"));
- }else{
- model.setValue("/root/main/patdetlinfo/ordinfo/rem", model.getValue("/root/main/opatlist/opatlist["+grd_opatmngt.row+ "]/telrsrvrem"));
- }
-
- //진료예정자리스트에서 의뢰가 있을경우에만 Consult관리화면 연동을 위해 추가-20090220
- var node2 = instance1.selectSingleNode("/root/main/patdetlinfo/ordinfo/reqcnstyn");
- if(node2 == null){
- model.makeValue("/root/main/patdetlinfo/ordinfo/reqcnstyn", model.getValue("/root/main/opatlist/opatlist["+grd_opatmngt.row+ "]/req"));
- }else{
- model.setValue("/root/main/patdetlinfo/ordinfo/reqcnstyn", model.getValue("/root/main/opatlist/opatlist["+grd_opatmngt.row+ "]/req"));
- }
-
- grd_ordinfo.refresh();
- grd_prcpspec.refresh();
- grd_ordrsrvinfo.refresh();
- grd_outerspec.refresh();
- grd_testrsrv.refresh();
- grd_inspec.refresh();
-
-
- var prcpspecflag = model.getValue("/root/main/condition/prcpspecflag");
- var orddd = model.getValue("/root/main/opatlist/opatlist[" + grd_opatmngt.row + "]/orddd");
- var orddeptcd = model.getValue("/root/main/opatlist/opatlist[" + grd_opatmngt.row + "]/orddeptcd");
- var orddrid = model.getValue("/root/main/opatlist/opatlist[" + grd_opatmngt.row + "]/orddrid");
- if(prcpspecflag == "1") {
- cmb_prcpspec.choices.itemset.attribute("nodeset") = "/root/main/patdetlinfo/prcpcmbdatainfo";
- cmb_prcpspec.refresh();
- } else if(prcpspecflag == "1 2") {
- cmb_prcpspec.choices.itemset.attribute("nodeset") = "/root/main/patdetlinfo/prcpcmbdatainfo";
- cmb_prcpspec.refresh();
- } else {
- cmb_prcpspec.choices.itemset.attribute("nodeset") = "/root/main/patdetlinfo/prcpcmbdatainfo[orddeptcd = '" + orddeptcd + "']";
- cmb_prcpspec.refresh();
- }
-
- var str = orddd + "/" + orddeptcd + "/" + orddrid;
-
- // 처방내역의 콤보에 내용
- cmb_prcpspec.value = str;
- cmb_prcpspec.refresh();
-
-
- // 예약구분이 당일인 환자에 대해서 항암프로토콜 처방이 있으면 팝업 메시지 보이기
- var srsrvflag = model.getValue("/root/main/opatlist/opatlist[" + grd_opatmngt.row + "]/rsrvflag"); //예약구분
- var scpgyn = model.getValue("/root/main/patdetlinfo/cpginfo/cpgyn"); // 외래항암프로토콜 처방여부
-
- if ((srsrvflag == "당일") && (scpgyn == "Y")) {
- messageBox("외래 항암프로토콜 처방이 있는", "I005");
- }
-
- model.makeValue("/root/send/reqdata1/pid", model.getValue("/root/main/opatlist/opatlist[" + grd_opatmngt.row + "]/pid"));
- ipt_pid2.refresh();
- btn_pid2.dispatch("DOMActivate");
-
- // 상단정보 환자 선택되도록 수정
- fGetParamSetting();
- model.refresh();
-
-
- }
- /**
- * @group :
- * @ver : 2007.04.11
- * @by : 김병국
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fBtnRefClicked(){
- if(isRequiredControls("ipt_orddd", "cmb_orddept")) {
-
- //submit
- model.removenode("/root/main/opatlist/prescond");
- //재구성
- model.makeValue("/root/main/opatlist/prescond","");
- //model.removeNodeset("/root/main/opatlist/prescond");
- model.makeValue("/root/send/reqdata/orddd", model.getValue("/root/init/orddd"));
- model.makeValue("/root/send/reqdata/orddeptcd", model.getValue("/root/main/condition/orddeptcd"));
- model.makeValue("/root/send/reqdata/orddrid", model.getValue("/root/main/condition/orddrid"));
- //20101203_KNUH_Start 추가(전체여부)
- model.makeValue("/root/send/reqdata/chkyn", model.getValue("/root/main/condition/prcpspecflag1"));
- //20101203_KNUH_End 추가(전체여부)
-
- model.makeValue("/root/send/reqdata/stat", model.getValue("/root/main/condition/stat"));
- model.makeValue("/root/send/reqdata/sortseq", model.getValue("/root/main/condition/sortseq"));
- model.makeValue("/root/send/reqdata/ordclsdeptflag", model.getValue("/root/main/condition/ordclsdeptflag"));
- model.makeValue("/root/send/reqdata/supdeptcd", model.getValue("/root/main/condition/supdeptcd"));
- model.makeValue("/root/send/reqdata/MDdeptcd", MDdeptcd); // 하드코딩수정_내과부서코드 추가_20090423(ByJA)
- model.makeValue("/root/send/reqdata/timeflag", model.getValue("/root/main/condition/timeflag")); // 진료구분(AM/PM) 2011.06.29 엄영만
- model.makeValue("/root/send/reqdata/chrtyn", model.getValue("/root/main/condition/chrtyn")); //2011.12.08
- model.makeValue("/root/send/reqdata/rsrvyn", model.getValue("/root/main/condition/rsrvyn")); //2011.12.08
-
- var orddr = "";
- var drid = "";
- for(var i = 1; i <= cmb_orddr.length; i++) {
- drid = model.getValue("/root/init/orddr/orddr[" + i + "]/userid");
-
- if(drid == "") {
-
- } else {
- orddr += "'" + drid + "'";
- if(i == cmb_orddr.length) {
-
- } else {
- orddr += ",";
- }
- }
- }
- model.makeValue("/root/send/reqdata/orddrlist", orddr);
-
- submit("TRMNO00101", false);
- // 상단정보 환자 선택되도록 수정
- //fGetParamSetting();
- grd_opatmngt.refresh();
-
- }
- }
- /**
- * @group :
- * @ver : 2007.10.11
- * @by : 홍영표
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 외래진료의사변경을위한 데이터 조회
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fBtnRef1Clicked(){
- if(isRequiredControls("ipt_orddd", "cmb_orddept")) {
-
- //submit
- //model.removenode("/root/main/opatlist1/prescond");
- //재구성
- //model.makeValue("/root/main/opatlist1/prescond","");
- //model.removeNodeset("/root/main/opatlist/prescond");
-
- var orddrid = model.getValue("/root/main/condition/orddrid");
-
- model.makeValue("/root/send/reqdata1/orddd", model.getValue("/root/init/orddd"));
-
- //if(orddrid == "") {
- model.makeValue("/root/send/reqdata1/orddeptcd", model.getValue("/root/main/condition/orddeptcd"));
- model.makeValue("/root/send/reqdata1/ordclsdeptflag", model.getValue("/root/main/condition/ordclsdeptflag"));
- model.makeValue("/root/send/reqdata1/supdeptcd", model.getValue("/root/main/condition/supdeptcd"));
- // }
- /*
- else {
-
- model.makeValue("/root/send/reqdata1/orddeptcd", model.getValue("/root/init/orddr/orddr[userid = '"+ orddrid + "']/deptcd"));
- }*/
-
- submit("TRMNO00109", false);
-
- //환자 더블클릭시 스크롤 아래에 선택된 환자 topRow로 조회되도록 추가_20091127_SMY
- grd_opatmngt.topRow = grd_opatmngt.row;
-
- // grd_opatmngt1.refresh();
- }
- }
- /**
- * @group :
- * @ver : 2007.04.11
- * @by : 김병국
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fFindRow(data, col){
- var row = grd_opatmngt.findRow(data, 1, col);
- grd_opatmngt.select(row, 1, row,grd_opatmngt.cols-1) = true;
-
- return row;
- }
-
- //결과값을 담을 위치
- var zbcResultRef = "/root/hidden/rsrvinfo";
- var zbcRef = "root/send/rsrsvinfo";
- /**
- * @group :
- * @ver : 2007.04.11
- * @by : 김병국
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 검사결과정보를 가져온다
- * @param : pid, orddd, orddeptcd, orddrid
- * @return :
- * @---------------------------------------------------
- */
- function fGetRsrvInfo(pid, orddd,orddeptcd, orddrid ) {
- model.makeNode(zbcRef);
-
- model.makeValue("/root/send/rsrvinfo/pid", pid);
- model.makeValue("/root/send/rsrvinfo/orddd" , orddd);
- model.makeValue("/root/send/rsrvinfo/orddeptcd" , orddeptcd);
- model.makeValue("/root/send/rsrvinfo/orddrid" , orddrid);
-
-
-
- submit("TRMNO00106");
- model.refresh();
-
- }
- /**
- * @desc : 처방 상세보기
- * @param : 전처방, 연속처방, 처방검색 탭버튼 눌렀을 경우 원복 orgflag => Y
- * @id : btn_detlvw
- * @event : DOMActivate
- * @return : void
- * @authur : 마정민 2007. 3. 12
- */
- function fDetlVw2 ( orgflag ) {
- var grdLeft = 750;
- var grdWidht = 444;
- var grdHeight = 205; //205->180으로 변경(중복처방조회버튼추가로인해 그리드크기변경)-20091028-kys->중복처방호출연기로 205로 재변경20091103
- var extnGrdLeft = 0;
- var extnGrdWidht = 1194;
- var extnGrdHeight = 625;
- var prcpcdCol = grd_prcpspec.colRef("prcpcd"); //처방코드 컬럼 index
- var prcpnmCol = grd_prcpspec.colRef("prcpnm"); //처방명 컬럼 index
- var prcpengnmCol = grd_prcpspec.colRef("prcpengnm"); //처방영문명 컬럼 index
- var prcpspecCol = grd_prcpspec.colRef("prcpspec"); //처방내역 컬럼 index
- var abbrnmCol = grd_prcpspec.colRef("abbrnm"); //경로내역 컬럼 index
- var prcpdelivefactCol = grd_prcpspec.colRef("prcpdelivefact"); //전달사항(remark 컬럼 index)
- var tempcol7Col = grd_prcpspec.colRef("tempcol7"); //처방내역_20090716_SMY추가
-
- // var ivwLeft = 8;
- // var ivwWidth = 416;
- // var minIvwLeft = ivwLeft;
- // var minIvwWidth = 7;
- var lineX1 = grdLeft;
- var lineX2 = grdLeft + grdWidht;
- var extnLineX1 = extnGrdLeft;
- var extnLineX2 = lineX2;
-
- var prcpColsize = 40;
- var prcpnmColsize = 200;
- var prcpengnmColsize = 200;
- var prcpspecColsize = 80;
- var abbrnmColsize = 80;
- var prcpdelivefactColsize = 40;
- var tempcol7Colsize = 150;
-
- if ( model.getValue( "/root/init/detlvw" ) == "p" && orgflag != "y" ) {
- grd_prcpspec.attribute ( "left" ) = extnGrdLeft;
- grd_prcpspec.attribute ( "width" ) = extnGrdWidht;
- grd_prcpspec.attribute ( "height" ) = extnGrdHeight;
- // ivw_prcp.attribute ( "left" ) = minIvwLeft;
- // ivw_prcp.attribute ( "width" ) = minIvwWidth;
- line3.attribute ( "x1" ) = extnLineX1;
- line3.attribute ( "x2" ) = extnLineX2;
- // line2.attribute ( "x1" ) = extnLineX1;
- // line2.attribute ( "x2" ) = extnLineX2;
- model.setValue( "/root/init/detlvw", "m" );
-
- grd_prcpspec.colWidth(prcpcdCol) = grd_prcpspec.colWidth(prcpcdCol) + prcpColsize;
- if(grd_prcpspec.colWidth(prcpnmCol) != 0) {
- grd_prcpspec.colWidth(prcpnmCol) = grd_prcpspec.colWidth(prcpnmCol) + prcpnmColsize;
- }
- if(grd_prcpspec.colWidth(prcpengnmCol) != 0) {
- grd_prcpspec.colWidth(prcpengnmCol) = grd_prcpspec.colWidth(prcpengnmCol) + prcpengnmColsize;
- }
- grd_prcpspec.colWidth(prcpspecCol) = grd_prcpspec.colWidth(prcpspecCol) + prcpspecColsize;
- grd_prcpspec.colWidth(abbrnmCol) = grd_prcpspec.colWidth(abbrnmCol) + abbrnmColsize;
- grd_prcpspec.colWidth(prcpdelivefactCol) = grd_prcpspec.colWidth(prcpdelivefactCol) + prcpdelivefactColsize;
- grd_prcpspec.colWidth(tempcol7Col) = grd_prcpspec.colWidth(tempcol7Col) + tempcol7Colsize;
-
- } else {
- grd_prcpspec.attribute ( "left" ) = grdLeft;
- grd_prcpspec.attribute ( "width" ) = grdWidht;
- grd_prcpspec.attribute ( "height" ) = grdHeight;
- // ivw_prcp.attribute ( "left" ) = ivwLeft;
- // ivw_prcp.attribute ( "width" ) = ivwWidth;
- line3.attribute ( "x1" ) = lineX1;
- line3.attribute ( "x2" ) = lineX2;
- // line2.attribute ( "x1" ) = lineX1;
- // line2.attribute ( "x2" ) = lineX2;
- model.setValue( "/root/init/detlvw", "p" );
- grd_prcpspec.colWidth(prcpcdCol) = grd_prcpspec.colWidth(prcpcdCol) - prcpColsize;
- grd_prcpspec.colWidth(prcpnmCol) = grd_prcpspec.colWidth(prcpnmCol) - prcpnmColsize;
- grd_prcpspec.colWidth(prcpengnmCol) = grd_prcpspec.colWidth(prcpengnmCol) - prcpengnmColsize;
- grd_prcpspec.colWidth(prcpspecCol) = grd_prcpspec.colWidth(prcpspecCol) - prcpspecColsize;
- grd_prcpspec.colWidth(abbrnmCol) = grd_prcpspec.colWidth(abbrnmCol) - abbrnmColsize;
- grd_prcpspec.colWidth(prcpdelivefactCol) = grd_prcpspec.colWidth(prcpdelivefactCol) - prcpdelivefactColsize;
- grd_prcpspec.colWidth(tempcol7Col) = grd_prcpspec.colWidth(tempcol7Col) - tempcol7Colsize;
- }
- }
- /**
- * @desc : 보호자대진 적용
- * @
- * @param : sEtcOrdFlag - 'F' 보호자대진 적용
- *
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fProcerSubtApp(){
- //마우스 오른쪽버튼 팝업에서 parameter처리가 되지 않아 우선 함수로 나누어 처리, 차후 수정되면 변경예정
- fUpdtOutPatPamInfo("F");
- }
- /**
- * @desc : 보호자대진 취소
- * @
- * @param : sEtcOrdFlag - '-' 보호자대진 적용
- *
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fProcerSubtCncl(){
- //마우스 오른쪽버튼 팝업에서 parameter처리가 되지 않아 우선 함수로 나누어 처리, 차후 수정되면 변경예정
- fUpdtOutPatPamInfo("-");
- }
- /**
- * @desc : 보호자대진 적용, 취소(외래등록 tbl에 etcordflag설정)
- * @
- * @param : sEtcOrdFlag - 'F' 보호자대진 적용
- * : - '-' 보호자대진 취소
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fUpdtOutPatPamInfo(sEtcOrdFlag){
- var iRow = grd_opatmngt.row;
- if(iRow < 1)
- return;
- var sFsexamflag = model.getValue("/root/main/opatlist/opatlist[" + iRow + "]/fsexamflag"); //20100127-kys-병초, 과초인경우 보호자대진적용블럭킹
- if(sFsexamflag == "병초" || sFsexamflag == "과초"){ //20100127-kys-병초, 과초인경우 보호자대진적용블럭킹
- if(sEtcOrdFlag == "-"){
- var msg = "취소를";
- }else if(sEtcOrdFlag == "F"){
- var msg = "적용을";
- }
- messageBox("초진환자는 보호자대진 " + msg + " 하실수 없습니다.", "I");
- return;
- }
- var sPID = model.getValue("/root/main/opatlist/opatlist[" + iRow + "]/pid");
- var sOrdDD = model.getValue("/root/main/opatlist/opatlist[" + iRow + "]/orddd");
- var sCretNO = model.getValue("/root/main/opatlist/opatlist[" + iRow + "]/cretno");
- var sInstCD = model.getValue("/root/main/opatlist/opatlist[" + iRow + "]/instcd");
- var sAcptSeqNO = model.getValue("/root/main/opatlist/opatlist[" + iRow + "]/acptseqno");
- var sEtcOrdFlag2= model.getValue("/root/main/opatlist/opatlist[" + iRow + "]/etcordflag");
- var sHngNM = model.getValue("/root/main/opatlist/opatlist[" + iRow + "]/hngnm");
- var sUserID = getUserInfo("userid");
- var sUserDeptCD = getUserInfo("dutplcecd");
- if(sEtcOrdFlag == "-"){ //보호자 대진 취소
- var msgstr = "취소를";
- sProcFlag = "P";
-
- }else if(sEtcOrdFlag == "F"){ //보호자 대진 적용
- if(sEtcOrdFlag2 == "F"){
- messageBox("[" + sHngNM + "]환자는 이미 보호자 대진 적용환자", "E008");
- return;
- }else{
- var msgstr = "적용을";
- sProcFlag = "P";
- }
- }
-
- var rtnval = messageBox("[" + sHngNM + "]환자의 보호자 대진 " + msgstr, "Q004");
- if(rtnval == 7){ //취소 버튼을 클릭한 경우
- return;
- }
- model.removeNodeset("/root/send/reqsavedata");
- model.makeNode("/root/send/reqsavedata/save");
- var sSave = "pid▦orddd▦cretno▦instcd▦acptseqno▦userid▦etcordflag▦userdeptcd▦procflag▩";
- sSave +=sPID + "▦" +
- sOrdDD + "▦" +
- sCretNO + "▦" +
- sInstCD + "▦" +
- sAcptSeqNO + "▦" +
- sUserID + "▦" +
- sEtcOrdFlag + "▦" +
- sUserDeptCD + "▦" +
- sProcFlag + "▩";
- model.makeNode("/root/send/reqsavedata/req");
- model.makeValue("/root/send/reqdata/orddd", model.getValue("/root/init/orddd"));
- model.makeValue("/root/send/reqdata/orddeptcd", model.getValue("/root/main/condition/orddeptcd"));
- model.makeValue("/root/send/reqdata/orddrid", model.getValue("/root/main/condition/orddrid"));
- model.makeValue("/root/send/reqdata/stat", model.getValue("/root/main/condition/stat"));
- model.makeValue("/root/send/reqdata/sortseq", model.getValue("/root/main/condition/sortseq"));
- var sReq = "orddd▦pid▦orddeptcd▦orddrid▦elbulbodstat▦srchdd▦deptflag▩";
- sReq += model.getValue("/root/init/orddd") + "▦" +
- model.getValue("/root/main/opatlist/opatlist[" + iRow + "]/pid") + "▦" +
- model.getValue("/root/main/condition/orddeptcd") + "▦" +
- model.getValue("/root/main/condition/orddrid") + "▦" +
- "-" + "▦" +
- model.getValue("/root/init/orddd") + "▦" +
- "-" + "▩";
- model.setValue("/root/send/reqsavedata/save", sSave);
- model.setValue("/root/send/reqsavedata/req" , sReq);
- if (submit("TXMNO00102", false)) {
- //grd_opatmngt.isReadOnly(iRow,1) = true;
- //grd_opatmngt.cellstyle("background-color", iRow, 1, iRow, grd_opatmngt.cols-1) ="#FFC8C8";
- model.setValue("/root/main/opatlist/opatlist[" + iRow + "]/etcordflag", sEtcOrdFlag);
- model.setValue("/root/main/opatlist/opatlist[" + iRow + "]/acptseqno", model.getValue("/root/temp/outpatinfo/outpatlist/acptseqno"));
-
- grd_opatmngt.refresh();
- }
- }
- /**
- * @group :
- * @ver : 2007.04.11
- * @by : 김병국
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 과List 조회
- * @param : ord_deptflag
- * @return :
- * @---------------------------------------------------
- */
- function fGetDeptCodeList(ord_deptflag) {
- model.setValue("/root/send/session", ord_deptflag);
- submit("TRMNO00108");
- }
- /**
- * @group :
- * @ver : 2008.12.19
- * @by : 정경화
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 상단 정보 이용 환자 선택
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fGetParamSetting(){
- var chkPid = getPatientInfo("pid");
- var iTgPatRow = 0;
-
- //alert(chkPid);
-
- if(chkPid != ""){
- var tRow = grd_opatmngt.rows;
- if(tRow == "1"){
- return;
- }else{
- for( i =0 ; i < tRow ; i++ ){
- iTgPatRow = grd_opatmngt.findRow(chkPid ,1, 6,true,true);
- }
- }
- }
- //alert(iTgPatRow);
- //iTgPatRow = 20;
- if(iTgPatRow > 0){
- grd_opatmngt.row = iTgPatRow;
- grd_opatmngt.topRow = iTgPatRow;
- //fSelectPatList();
- }
-
- }
- /**
- * @group :
- * @ver : 2009.07.02
- * @by : 김양수
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 중증 및 희귀난치 서명 여부 체크
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fRooaSodaYnInfo(){
- model.makeValue("/root/send/reqsdoarooasignyn/pid", model.getValue("/root/main/opatlist/opatlist["+ grd_opatmngt.row +"]/pid"));
- model.makeValue("/root/send/reqsdoarooasignyn/instcd", model.getValue("/root/main/opatlist/opatlist["+ grd_opatmngt.row +"]/instcd"));
- model.makeValue("/root/send/reqsdoarooasignyn/insukindcd", model.getValue("/root/main/opatlist/opatlist["+ grd_opatmngt.row +"]/insukindcd"));
-
- if(submit("TRMNO02903")){
- var sdoayn = model.getValue("/root/main/sdoarooayn/sdoarooayn/sdoayn"); //중증사인여부
- var rooayn = model.getValue("/root/main/sdoarooayn/sdoarooayn/rooayn"); //희귀난치사인여부
- var burnyn = model.getValue("/root/main/sdoarooayn/sdoarooayn/burnyn"); //중증화상 조회 20100708 김홍점 요청번호 14788
- var msgstr = "";
-
- if(sdoayn == "Y" ){
- msgstr = "중증진료신청";
- }
- if(rooayn == "Y"){
- if ( isNull(msgstr) ){
- msgstr = "희귀난치성질환자신청";
- }else {
- msgstr += "/희귀난치성질환자신청";
- }
-
- }
- if(burnyn == "Y"){
- if ( isNull(msgstr) ){
- msgstr = "중증화상신청";
- }else {
- msgstr += "/중증화상신청";
- }
-
- }
- if ( !isNull(msgstr) ){
- messageBox(msgstr + " 등록 서명이 되지 않은 환자입니다.","I");
- }
-
- // if(sdoayn == "Y" && rooayn == "N"){
- // messageBox("중증진료신청 등록 서명이 되지 않은 환자입니다.","I");
- // }
- // else if(sdoayn == "N" && rooayn == "Y"){
- // messageBox("희귀난치성질환자신청 등록 서명이 되지 않은 환자입니다.","I");
- // }
- // else if(sdoayn == "Y" && rooayn == "Y"){
- // messageBox("중증진료신청/희귀난치성질환자신청 등록 서명이 되지 않은 환자입니다.","I");
- // }
- }
- }
- /**
- * @group :
- * @ver : 2009.07.03
- * @by : 김양수
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 의뢰서확인 여부 체크 후 상황에 맞는 메시지 생성
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fCnstExitAlram(){
- //예외사항:본원의 종합건진[기간:1년]을 본경우, 해당과의 응급실 경유, 타과의 의뢰인경우에는 메시지창을 띄우지 않고
- //자동으로 의뢰서를 등록한다-20090630변경요청서건(예외사항의 경우 재진일수도 과초일수도 있음)
-
- //여의도 환자동의서 서명여부 체크
- var sungmopat= "";
- var consult = model.getValue("/root/main/opatlist/opatlist[" + grd_opatmngt.row + "]/req"); //의뢰
-
- //진료의뢰서 등록 알림 및 메시지 띄우기.
- caption22.value = "";
- btn_cnstup.visible = true;
- btn_cnstup.disabled = true;
- img_btncnstup.visible = false;
- group2.attribute("visibility") = "hidden";
-
- var insukind = model.getValue("/root/main/opatlist/opatlist[" + grd_opatmngt.row + "]/insukindcd"); //보험유형
- var fsexamflag = model.getValue("/root/main/opatlist/opatlist[" + grd_opatmngt.row + "]/fsexamflag");
- var hngnm = model.getValue("/root/main/opatlist/opatlist[" + grd_opatmngt.row + "]/hngnm");
-
- model.makeValue("/root/send/reqeixtcnstchk/pid", model.getValue("/root/main/opatlist/opatlist["+ grd_opatmngt.row +"]/pid"));
- model.makeValue("/root/send/reqeixtcnstchk/orddd", model.getValue("/root/main/opatlist/opatlist["+ grd_opatmngt.row +"]/orddd"));
- model.makeValue("/root/send/reqeixtcnstchk/cretno", model.getValue("/root/main/opatlist/opatlist["+ grd_opatmngt.row +"]/cretno"));
- model.makeValue("/root/send/reqeixtcnstchk/instcd", model.getValue("/root/main/opatlist/opatlist["+ grd_opatmngt.row +"]/instcd"));
- model.makeValue("/root/send/reqeixtcnstchk/orddeptcd", model.getValue("/root/main/opatlist/opatlist["+ grd_opatmngt.row +"]/orddeptcd"));
- model.makeValue("/root/send/reqeixtcnstchk/fsexamflag", model.getValue("/root/main/opatlist/opatlist["+ grd_opatmngt.row +"]/fsexamflag"));
- //여의도 확인시 진료를 본 해당진료과인경우에만 진료의뢰서 확인을 하지 않는다로 변경-20090717-kys
- //submit을 다시 통합함-20090717-kys
- //초진일경우(병초,과초) 성모초진 동의서여부를 확인하여 동의서에 서명한 환자는 진료의뢰서 확인을 하지 않는다.-20090708-kys
- sungmopat = "N";
- if(submit("TRMNO02905")){//진료의뢰서 존재 확인
- //예외사항 체크
- var healexamchk = "";
- var erchk = "";
- var cnstexityn = model.getValue("/root/main/exitcnstrgstchk/exitcnstrgstchk/rtnvalue"); //진료의뢰서 존재여부
- healexamchk = model.getValue("/root/main/exitcnstrgstchk/autocnstup/healexamchk"); //건진기간체크
- erchk = model.getValue("/root/main/exitcnstrgstchk/autocnstup/erchk"); //응급실경유 체크
- sungmopat = model.getValue("/root/main/exitcnstrgstchk/sungmopatrgstchk/sungmopat"); //여의도 동의서 서명환자
- //alert("sungmopat : " + sungmopat);
- if(sungmopat == "Y"){
- //여의도환자 초진일경우 해당과 진료본 내역이 있다면 진료의뢰서 확인을 하지 않는다-kys-20090717
- }else{
- btn_cnstsave.disabled = false;
- btn_cnstdel.disabled = false;
- //병원초진/과초진인 경우
- if(fsexamflag == "병초" || (fsexamflag == "과초" && (healexamchk != "Y" && erchk != "Y" && consult != "의"))){//병초이거나 과초이면서 예외사항이 아닌 환자
- //병초 과초인경우 진료의뢰서 확인버튼 깜박거림(사용자에게 알림기능)
- if(cnstexityn == "N"){
- caption22.value = "진료의뢰서 확인이 완료되었습니다.";
- btn_cnstup.visible = true; //기존버튼 visible
- btn_cnstup.disabled = false; //기존버튼 활성화.
- img_btncnstup.visible = false; //깜박이 버튼 unvisible
- btn_cnstsave.disabled = true; //저장버튼 비활성화(의뢰서가 존재하므로 저장을 하면 안되므로)
- }else if(cnstexityn == "Y" && insukind != "21" && insukind != "22"){
- if(fsexamflag == "병초"){
- caption22.value = hngnm + "님은 병초진환자입니다. 진료의뢰서를 확인하시기 바랍니다.";
- }else if(fsexamflag == "과초"){
- caption22.value = hngnm + "님은 과초진환자입니다. 진료의뢰서를 확인하시기 바랍니다.";
- }
- //btn_cnstsave.disabled = false;
- btn_cnstup.visible = false; //기존버튼 숨김
- img_btncnstup.visible = true; //깜박이 버튼 보임
- }else if(cnstexityn == "Y" && (insukind == "21" || insukind == "22")){
- if(fsexamflag == "병초"){
- caption22.value = hngnm + "님은 병초진, 의료보호대상자입니다. 진료의뢰서를 확인하시기 바랍니다.";
- }else if(fsexamflag == "과초"){
- caption22.value = hngnm + "님은 과초진, 의료보호대상자입니다. 진료의뢰서를 확인하시기 바랍니다.";
- }
- //btn_cnstsave.disabled = false;
- btn_cnstup.visible = false; //기존버튼 숨김
- img_btncnstup.visible = true; //깜박이 버튼 보임
- }
- }else if(healexamchk == "Y" || erchk == "Y" || consult == "의"){//과초 혹은 재진이면서 예외사항인 환자
- if(cnstexityn == "N"){
- caption22.value = "진료의뢰서 확인이 완료되었습니다.";
- btn_cnstup.visible = true; //기존버튼 visible
- btn_cnstup.disabled = false; //기존버튼 활성화.
- img_btncnstup.visible = false; //깜박이 버튼 unvisible
- btn_cnstsave.disabled = true; //저장버튼 비활성화(프로그램에서 의뢰서 자동등록하므로 버튼활성 불필요)
- btn_cnstdel.disabled = true; //삭제버튼 비활성화(프로그램에서 의뢰서 자동등록하므로 버튼활성 불필요)
- }else if(cnstexityn == "Y" && healexamchk == "Y"){
- //caption22.value = hngnm + "님은 종합건진을 본 환자입니다. 진료의뢰서를 확인하시기 바랍니다.";
- //btn_cnstsave.dispatch("DOMActivate"); //자동저장
- //btn_cnstsave.disabled = false;
- }else if(cnstexityn == "Y" && erchk == "Y"){
- //caption22.value = hngnm + "님은 응급실 경유환자입니다. 진료의뢰서를 확인하시기 바랍니다.";
- //btn_cnstsave.dispatch("DOMActivate"); //자동저장
- //btn_cnstsave.disabled = false;
- }else if(cnstexityn == "Y" && consult == "의"){
- //caption22.value = hngnm + "님은 타과 의뢰 환자입니다. 진료의뢰서를 확인하시기 바랍니다.";
- //btn_cnstsave.dispatch("DOMActivate"); //자동저장
- //btn_cnstsave.disabled = false;
- }
- //btn_cnstup.visible = false;
- //img_btncnstup.visible = true;
- }
- }
- }else{
- messageBox("진료의뢰서 확인 실패하였습니다.","E");
- var acptyn = model.getValue("/root/main/opatlist/opatlist[" + grd_opatmngt.row + "]/acptyn");
- if(acptyn != true) {
- model.setValue("/root/main/opatlist/opatlist[" + grd_opatmngt.row + "]/acptyn", "");
- } else {
- model.setValue("/root/main/opatlist/opatlist[" + grd_opatmngt.row + "]/acptyn", "true")
- }
- grd_opatmngt.rebuild();
- return;
- }
- }
- /**
- * @group :
- * @ver : 2009.07.04
- * @by : 김양수
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 진료의뢰서를 등록 및 삭제한다.
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fcnstsave(saveyn){
- //예외사항:본원의 종합건진[기간:1년]을 본경우, 해당과의 응급실 경유(7일), 타과의 의뢰인경우에는 메시지창을 띄우지 않고
- //자동으로 의뢰서를 등록한다-20090630변경요청서건(예외사항의 경우 재진일수도 과초일수도 있음)
- //현재 클릭되어 있는 환자와 의뢰서 존재 조회한 환자가 동일여부 체크 block
- if(model.getValue("/root/main/opatlist/opatlist["+ grd_opatmngt.row +"]/pid") != model.getValue("/root/send/reqeixtcnstchk/pid")){
- messageBox("현재 클릭된 환자와 의뢰서 존재 확인한 환자가 동일하지 않습니다.\n확인하시기 바랍니다.","E");
- return;
- }
- //삭제시 당일 등록건만 삭제할수 있도록 block
- if(saveyn == 2){
- var dt = getCurrentDate();
- if(model.getValue("/root/main/opatlist/opatlist["+ grd_opatmngt.row +"]/orddd") < dt){
- messageBox("당일 등록건만 삭제 가능합니다.","E");
- return;
- }
- }
- //체크 변수
- var healexamchk = model.getValue("/root/main/exitcnstrgstchk/autocnstup/healexamchk"); //건진기간체크(1년)
- var erchk = model.getValue("/root/main/exitcnstrgstchk/autocnstup/erchk"); //응급실경유 체크(7일)
- var consult = model.getValue("/root/main/opatlist/opatlist[" + grd_opatmngt.row + "]/req"); //의뢰
- var insukind = model.getValue("/root/main/opatlist/opatlist[" + grd_opatmngt.row + "]/insukindcd"); //보험유형
- var fsexamflag = model.getValue("/root/main/opatlist/opatlist[" + grd_opatmngt.row + "]/fsexamflag"); //초.재진여부
- var hngnm = model.getValue("/root/main/opatlist/opatlist[" + grd_opatmngt.row + "]/hngnm"); //환자성명
- //트랜잭션 data setting
- model.makeValue("/root/send/requpprcpcnst/pid", model.getValue("/root/main/opatlist/opatlist["+ grd_opatmngt.row +"]/pid"));
- model.makeValue("/root/send/requpprcpcnst/orddd", model.getValue("/root/main/opatlist/opatlist["+ grd_opatmngt.row +"]/orddd"));
- model.makeValue("/root/send/requpprcpcnst/cretno", model.getValue("/root/main/opatlist/opatlist["+ grd_opatmngt.row +"]/cretno"));
- model.makeValue("/root/send/requpprcpcnst/instcd", model.getValue("/root/main/opatlist/opatlist["+ grd_opatmngt.row +"]/instcd"));
- if(saveyn == 1){
- model.makeValue("/root/send/requpprcpcnst/workflag", "I");//저장
- }else{
- model.makeValue("/root/send/requpprcpcnst/workflag", "D");//삭제(간호에서 입력한 데이터만 삭제가능하다)
- }
- if(saveyn == 1){ //저장
- if(fsexamflag == "병초" || (fsexamflag == "과초" && (healexamchk != "Y" && erchk != "Y" && consult != "의"))){//병초이거나 과초이면서 예외사항이 아닌 환자
- if(messageBox(hngnm + "님의 진료의뢰서를 확인하시겠습니까?","Q") == 6){
- //의료급여1,2종인경우
- if(insukind == "21" || insukind == "22"){
- if(messageBox(hngnm + "님은 의료보호대상자입니다.\n병원급 진료의뢰서를 확인하시겠습니까?","Q") == 6){
- if(submit("TXMNO02901")){ //의뢰서 등록
- model.removeNodeset("/root/prcpcnstinfo/prcpcnstinfo");
- model.makeNode("/root/prcpcnstinfo/prcpcnstinfo");
- btn_cnstsave.disabled = false; //저장버튼 활성화
- }else{
- messageBox("의뢰서 등록에 실패하였습니다.","E");
- return;
- }
- }
- }else{
- if(submit("TXMNO02901")){
- model.removeNodeset("/root/prcpcnstinfo/prcpcnstinfo");
- model.makeNode("/root/prcpcnstinfo/prcpcnstinfo");
- btn_cnstsave.disabled = false; //저장버튼 활성화
- }else{
- messageBox("의뢰서 등록에 실패하였습니다.","E");
- return;
- }
- }
- }
- }else if(healexamchk == "Y" || erchk == "Y" || consult == "의"){//과초 혹은 재진이면서 예외사항인 환자
- if(submit("TXMNO02901")){ //의뢰서 등록
- model.removeNodeset("/root/prcpcnstinfo/prcpcnstinfo");
- model.makeNode("/root/prcpcnstinfo/prcpcnstinfo");
- btn_cnstsave.disabled = false;
- }else{
- messageBox("의뢰서 등록에 실패하였습니다.","E");
- return;
- }
- }
- }else{ //삭제
- if(messageBox(hngnm + "님의 진료의뢰서를 삭제하시겠습니까?","Q") == 6){
- if(submit("TXMNO02901")){
- model.removeNodeset("/root/prcpcnstinfo/prcpcnstinfo");
- model.makeNode("/root/prcpcnstinfo/prcpcnstinfo");
- btn_cnstsave.disabled = false; //저장버튼 활성화
- }else{
- messageBox("의뢰서 등록에 실패하였습니다.","E");
- return;
- }
- }
- }
- }
- /**
- * @group :
- * @ver : 2009.07.04
- * @by : 김양수
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 진료의뢰서에 관한 알림 및 버튼 초기화.
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fCnsrAlramClear(){
- caption22.value = "";
- btn_cnstup.visible = true;
- btn_cnstup.disabled = true;
- img_btncnstup.visible = false;
- group2.attribute("visibility") = "hidden";
- }
- /**
- * @group :
- * @ver : 2009.07.04
- * @by : 김양수
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 진료의뢰서를 등록 후 메시지 설정.
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fCnstResultAlram(){
- //체크 변수
- var healexamchk = model.getValue("/root/main/exitcnstrgstchk/autocnstup/healexamchk"); //건진기간체크(1년)
- var erchk = model.getValue("/root/main/exitcnstrgstchk/autocnstup/erchk"); //응급실경유 체크(7일)
- var consult = model.getValue("/root/main/opatlist/opatlist[" + grd_opatmngt.row + "]/req"); //의뢰
- var fsexamflag = model.getValue("/root/main/opatlist/opatlist[" + grd_opatmngt.row + "]/fsexamflag"); //초.재진여부
-
- if(fsexamflag == "병초" || (fsexamflag == "과초" && (healexamchk != "Y" && erchk != "Y" && consult != "의"))){//병초이거나 과초이면서 예외사항이 아닌 환자
- //병초 과초인경우 진료의뢰서 확인버튼 깜박거림(사용자에게 알림기능)
- caption22.value = "진료의뢰서 확인이 완료되었습니다.";
- btn_cnstup.visible = true; //기존버튼 visible
- btn_cnstup.disabled = false; //기존버튼 활성화.
- img_btncnstup.visible = false; //깜박이 버튼 unvisible
- btn_cnstsave.disabled = true; //저장버튼 비활성화(의뢰서가 존재하므로 저장을 하면 안되므로)
- }else if(healexamchk == "Y" || erchk == "Y" || consult == "의"){//과초 혹은 재진이면서 예외사항인 환자
- caption22.value = "진료의뢰서 확인이 완료되었습니다.";
- btn_cnstup.visible = true; //기존버튼 visible
- btn_cnstup.disabled = false; //기존버튼 활성화.
- img_btncnstup.visible = false; //깜박이 버튼 unvisible
- btn_cnstsave.disabled = true; //저장버튼 비활성화(프로그램에서 의뢰서 자동등록하므로 버튼활성 불필요)
- btn_cnstdel.disabled = true; //삭제버튼 비활성화(프로그램에서 의뢰서 자동등록하므로 버튼활성 불필요)
- }
- }
|