123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734 |
- /**
- * @desc : 화면초기화
- * @
- * @param :
- * @return :
- * @author : 문세희
- * @---------------------------------------------------
- */
- function fInitAfSignScrn(){
- var admininfo = model.getValue ( "/root/admininfo" );
- var pid = "";
- var orddd = "";
- var cretno = "";
- var instcd = "";
- var ioflag = "";
- var issdept = "";
- var indschacptstat = "";
- var dschdd = "";
-
- //PRN 적용여부를 실시간으로 가져와서 체크한다. 2010-01-02 by LYJ
- reqHardCodeInfo("/root/hidden/prnprcpyninfo", "/root/hidden/prnprcpyninfo", "173");
- model.makeValue( "/root/save/saveflaginfo/prnprcpyninfo", model.getValue("/root/hidden/prnprcpyninfo/hardcd/hardcd") );
-
- pid = opener.javascript.getParameter ( "SMMMO00200_pid" );
- if (!isNull ( pid )) {
- orddd = opener.javascript.getParameter ( "SMMMO00200_orddd");
- cretno = opener.javascript.getParameter ( "SMMMO00200_cretno");
- instcd = opener.javascript.getParameter ( "SMMMO00200_instcd");
- ioflag = opener.javascript.getParameter ( "SMMMO00200_ioflag");
- issdept = opener.javascript.getParameter ( "SMMMO00200_issdept");
- } else {
- var pamInfoCvs = getGlobalVariable("paminfo"); //상단정보가 있을 경우는 검색
- var patFlagCvs = getGlobalVariable("patflag");
-
- var pid = "";
- if(pamInfoCvs.length > 0){
- model.removeNodeSet ( "/root/paminfo/list" );
- model.removeNodeSet ( "/root/patflag/list" );
-
- setCSVToNode ( "/root/paminfo", pamInfoCvs );
- setCSVToNode ( "/root/patflag" , patFlagCvs );
- pid = model.getValue ( "/root/paminfo/list/pid" );
- ioflag = model.getValue ( "/root/paminfo/list/ioflag" );
- if ( ioflag == "O" || ioflag == "S") {
- orddd = model.getValue ( "/root/paminfo/list/orddd" );
-
- } else {
- orddd = model.getValue ( "/root/paminfo/list/indd" );
- }
- cretno = model.getValue ( "/root/paminfo/list/cretno" );
- instcd = model.getValue ( "/root/paminfo/list/instcd");
- }
- model.setValue("/root/init/srchcond2", pid);
- model.setValue("/root/init/srchcond3", model.getValue("/root/paminfo/list/hngnm"));
- model.setValue("/root/init/orddd", orddd);
- model.setValue("/root/init/orddeptnm", model.getValue("/root/paminfo/list/orddeptnm"));
- model.setValue("/root/init/wardcd", model.getValue("/root/paminfo/list/wardcd"));
- }
-
- if ( !isNull ( pid )) {
- model.setValue ( "/root/send/cond1", "1");
- model.setValue ( "/root/send/cond2", pid);
- model.setValue ( "/root/send/cond3", instcd);
- model.setValue ( "/root/send/cond4", "Y");
- model.setValue ( "/root/send/cond5", "N");
- model.setValue ( "/root/send/cond6", ioflag);
- model.setValue ( "/root/send/cond7", pid);
- model.setValue ( "/root/send/cond8", orddd);
- model.setValue ( "/root/send/cond9", cretno);
- model.setValue("/root/init/srchcond2", pid);
- if (!submit ( "TRMMO00200",false )) { //검색 시작 값이 없으면 clear 한다.
- fClearAddPrcp();
- return;
- }
- var srcNodeList = model.instances(0).selectNodes("/root/patordinfo/patordinfolist");
- var currentDate = getCurrentDate();
-
- model.setValue("/root/formerkey/pseuacptflag", "N");
- if ( srcNodeList.length < 1) {
- model.setValue ("/root/init/srchcond1", "1" );
- model.setValue ("/root/init/srchcond2", pid);
- model.setValue ("/root/init/srchcond5", ((getCurrentDate().toDate()).getAddDate(-12,"M")).getDateFormat());
- fAfSignPatSrch();
- } else if ( srcNodeList.length == 1 ) { //값이 한개면 바로 화면에 보여준다.
- var pid = model.getValue("/root/patordinfo/patordinfolist/pid" );
- var orddd = model.getValue("/root/patordinfo/patordinfolist/orddd" );
- var cretno = model.getValue("/root/patordinfo/patordinfolist/cretno" );
- var instcd = model.getValue("/root/patordinfo/patordinfolist/instcd" );
- var ioflag = model.getValue("/root/patordinfo/patordinfolist/ioflag" );
- var orddeptcd = model.getValue("/root/patordinfo/patordinfolist/orddeptcd" );
- var orddrid = model.getValue("/root/patordinfo/patordinfolist/orddrid" );
- var insukind = model.getValue("/root/patordinfo/patordinfolist/insukindcd" );
- var suppkind = model.getValue("/root/patordinfo/patordinfolist/suppkind" );
- var drvalidyn = model.getValue("/root/patordinfo/patordinfolist/drvalidyn" ); // 퇴직 여부
-
- indschacptstat = model.getValue("/root/patordinfo/patordinfolist/indschacptstat" );
- dschdd = model.getValue("/root/patordinfo/patordinfolist/dschdd" );
-
- if ( drvalidyn == "N" || drvalidyn == "H") { // 퇴직 또는 휴직 중인 의사
- model.setValue ("/root/init/srchcond1", "1" );
- model.setValue ("/root/init/srchcond2", pid);
- model.setValue ("/root/init/srchcond5", ((getCurrentDate().toDate()).getAddDate(-12,"M")).getDateFormat());
- fAfSignPatSrch();
- } else if ( "T" == indschacptstat && admininfo.substring( 0, 1 ) == "Y") {
- model.setValue ("/root/init/srchcond1", "1" );
- model.setValue ("/root/init/srchcond2", pid);
- model.setValue ("/root/init/srchcond5", ((getCurrentDate().toDate()).getAddDate(-12,"M")).getDateFormat());
- fAfSignPatSrch();
- } else {
- // 진료일과 현재일이 다른 경우 가접수 후 데이타 셋팅
- if ( currentDate != orddd && ( ioflag == "O" || ioflag == "S" )) {
- // 진단명 조회를 위한 구 키 셋팅
- model.setValue("/root/formerkey/pid", pid);
- model.setValue("/root/formerkey/orddd_old", orddd);
- model.setValue("/root/formerkey/cretno_old", cretno);
- model.setValue("/root/formerkey/instcd", instcd);
- model.setValue("/root/formerkey/genrflagcd_old", ioflag);
- model.setValue("/root/formerkey/pseuacptflag", "Y");
-
- var returnkey = fSetAssumAccept(pid, orddd, cretno, "O", orddeptcd, orddrid);
- if (returnkey == false) return ;
-
- pid = model.getValue("/root/execpatordinfo/execpatordinfolist/otpt_pid" );
- orddd = model.getValue("/root/execpatordinfo/execpatordinfolist/otpt_orddd" );
- cretno = model.getValue("/root/execpatordinfo/execpatordinfolist/otpt_cretno" );
-
- model.setValue("/root/formerkey/orddd", orddd);
- model.setValue("/root/formerkey/cretno", cretno);
- model.setValue("/root/formerkey/genrflagcd", ioflag);
- } else if ( (ioflag == "I" || ioflag == "D" || ioflag == "E") && indschacptstat == "D" ) {
- // 진단명 조회를 위한 구 키 셋팅
- model.setValue("/root/formerkey/pid", pid);
- model.setValue("/root/formerkey/orddd_old", orddd);
- model.setValue("/root/formerkey/cretno_old", cretno);
- model.setValue("/root/formerkey/instcd", instcd);
- model.setValue("/root/formerkey/genrflagcd_old", ioflag);
- model.setValue("/root/formerkey/pseuacptflag", "Y");
-
- var returnkey = fSetAssumAccept(pid, orddd, cretno, "I", orddeptcd, orddrid, insukind, suppkind );
- if (returnkey == false) return ;
-
- pid = model.getValue ( "/root/followup/followup/otpt_pid" );
- orddd = model.getValue ( "/root/followup/followup/otpt_orddd" );
- cretno = model.getValue ( "/root/followup/followup/otpt_cretno" );
- ioflag = "O" ; // 강제로 외래 셋팅
- model.setValue( "/root/patordinfo/patordinfolist/ioflag", ioflag);
-
- model.setValue("/root/formerkey/orddd", orddd);
- model.setValue("/root/formerkey/cretno", cretno);
- model.setValue("/root/formerkey/genrflagcd", ioflag);
- }
-
- fAddPrcpInitConDone( pid, orddd, cretno, instcd, ioflag , "N", dschdd );
- }
- } else if ( srcNodeList.length >= 1 ) { //값이 한개이상이면 팝업을 띄운다.
- var xpt = window.screenleft + 50;
- var ypt = window.screenTop + 80;
- var coord = getRelativeCoordinate ( xpt, ypt );
- var mon = coord[0];
- xpt = coord[1];
- ypt = coord[2];
- modal ( "SPMMO09100", mon, xpt, ypt, "patordinfo", "/root/patordinfo", "/root/patordinfo", "", false );
- // 팝업에서 취소 시 이벤트 처리
- var cancelKey = getParameter ( "SPMMO09100_rtnyn");
- if (cancelKey != "Y") {
- fClearAddPrcp();
- clearParameter("SPMMO09100_rtnyn" );
- return ;
- }
-
- model.removeNodeset("/root/patordinfo/patordinfolist");
- var rtnparam = getParameter( "SPMMO09100_rtn_param");
- setCSVToNode("/root/patordinfo", rtnparam, "patordinfolist");
-
- var pid = getParameter ( "SPMMO09100_pid" );
- var orddd = getParameter ( "SPMMO09100_orddd");
- var cretno = getParameter ( "SPMMO09100_cretno");
- var instcd = getParameter ( "SPMMO09100_instcd");
- var ioflag = getParameter ( "SPMMO09100_ioflag");
- var orddeptcd = getParameter ( "SPMMO09100_orddeptcd");
- var orddrid = getParameter ( "SPMMO09100_orddrid");
- var insukind = getParameter ( "SPMMO09100_insukind");
- var suppkind = getParameter ( "SPMMO09100_suppkind");
- indschacptstat = getParameter ( "SPMMO09100_indschacptstat");
- dschdd = getParameter ( "SPMMO09100_dschdd");
-
- if ( getParameter ( "SPMMO09100_dc") != "DC" ) {
- // 진료일과 현재일이 다른 경우 가접수 후 데이타 셋팅
- if ( currentDate != orddd && (ioflag == "O" || ioflag == "S")) {
- // 진단명 조회를 위한 구 키 셋팅
- model.setValue("/root/formerkey/pid", pid);
- model.setValue("/root/formerkey/orddd_old", orddd);
- model.setValue("/root/formerkey/cretno_old", cretno);
- model.setValue("/root/formerkey/instcd", instcd);
- model.setValue("/root/formerkey/genrflagcd_old", ioflag);
- model.setValue("/root/formerkey/pseuacptflag", "Y");
-
- var returnkey = fSetAssumAccept(pid, orddd, cretno, "O", orddeptcd, orddrid);
- if (returnkey == false) return ;
-
- pid = model.getValue ( "/root/execpatordinfo/execpatordinfolist/otpt_pid" );
- orddd = model.getValue ( "/root/execpatordinfo/execpatordinfolist/otpt_orddd" );
- cretno = model.getValue ( "/root/execpatordinfo/execpatordinfolist/otpt_cretno" );
-
- model.setValue("/root/formerkey/orddd", orddd);
- model.setValue("/root/formerkey/cretno", cretno);
- model.setValue("/root/formerkey/genrflagcd", ioflag);
- } else if ( (ioflag == "I" || ioflag == "D" || ioflag == "E") && indschacptstat == "D" ) {
- // 진단명 조회를 위한 구 키 셋팅
- model.setValue("/root/formerkey/pid", pid);
- model.setValue("/root/formerkey/orddd_old", orddd);
- model.setValue("/root/formerkey/cretno_old", cretno);
- model.setValue("/root/formerkey/instcd", instcd);
- model.setValue("/root/formerkey/genrflagcd_old", ioflag);
- model.setValue("/root/formerkey/pseuacptflag", "Y");
-
- var returnkey = fSetAssumAccept(pid, orddd, cretno, "I", orddeptcd, orddrid, insukind, suppkind );
- if (returnkey == false) return ;
-
- pid = model.getValue ( "/root/followup/followup/otpt_pid" );
- orddd = model.getValue ( "/root/followup/followup/otpt_orddd" );
- cretno = model.getValue ( "/root/followup/followup/otpt_cretno" );
- ioflag = "O" ; // 강제로 외래 셋팅
- model.setValue( "/root/patordinfo/patordinfolist/ioflag", ioflag);
-
- model.setValue("/root/formerkey/orddd", orddd);
- model.setValue("/root/formerkey/cretno", cretno);
- model.setValue("/root/formerkey/genrflagcd", ioflag);
- }
- }
-
- clearParameter("SPMMO09100_pid" );
- clearParameter("SPMMO09100_orddd");
- clearParameter("SPMMO09100_cretno");
- clearParameter("SPMMO09100_instcd");
- clearParameter("SPMMO09100_ioflag");
- clearParameter("SPMMO09100_orddeptcd");
- clearParameter("SPMMO09100_orddrid");
- clearParameter("SPMMO09100_indschacptstat");
- clearParameter("SPMMO09100_dschdd");
- clearParameter("SPMMO09100_insukind");
- clearParameter("SPMMO09100_suppkind");
- if ( isNull(pid )) {
- fClearAddPrcp();
- } else {
- fAddPrcpInitConDone( pid, orddd, cretno, instcd, ioflag , "N", dschdd );
- }
- }
- }
- if ( ioflag == "O" ) caption14.visible = true; //원내처방사유
- if (isNull(issdept)) issdept = getUserInfo( "dutplcecd" ); //발행처
-
- model.setValue ( "/root/init/issdept", issdept );
- var depthngnm = model.getValue ( "/root/init/issdept/dept[deptcd='" + issdept + "']/depthngnm" );
- var sDutPlceCd = getUserInfo("dutplcecd");
-
- if ( isNull(depthngnm)) {
- if (sDutPlceCd != "4072000000" && sDutPlceCd != "4070700000" ) { // 심사실 요청으로 메세지 팝업 제거 2012.09.18 엄영만
- messageBox ( "현재 시행부서처방의 발행부서는 [" + getUserInfo ( "dutplcenm" ) + "] 입니다. \n해당부서 코드는 발행부서로 등록되어 있지는 않습니다. \n다른 발행부서로 처방을 등록하시려면 발행처를 수정하여 주십시오.", "E");
- }
- }
-
- if (getScreenMenuParameter() == "PAM") {
- cmb_prcpkind.disabled = true;
- }
- zesfInitSign();
- model.removeNode ( "/root/init/prcpkindcd/M0003[cdid=80]" );
- model.setValue ( "/root/init/setprcpyn", "Y" );
-
- if (sDutPlceCd != "4072000000" && sDutPlceCd != "4070700000" ) { // 심사실 요청으로 전처방탭 조회 하도록 수정. 2012.09.18 엄영만
- if (ivw_prcp3 != null) {
- ivw_prcp3.visible = false;
- ivw_prcp3.src = "SMMMO02100_전회처방.xrw";
- }
- }
-
- //20131119 이정택 추가(산정특례 기간 알 수 있도록 표시)
- if(!isNull(model.getValue( "/root/initsrchprcp/prcpetccnts/message"))){
- model.makeValue("/root/init/message", model.getValue( "/root/initsrchprcp/prcpetccnts/message"));
- }else{
- model.makeValue("/root/init/message", "");
- }//20131119
- }
- /**
- * @desc : 환자 조회
- * @
- * @param :
- * @return :
- * @author : 문세희
- * @---------------------------------------------------
- */
- function fAfSignPatSrch(){
- var adminInfo = model.getValue ( "/root/admininfo" );
- var srchcond4 = model.getValue ( "/root/init/srchcond4" );
- setParameter("SPMMO09100_paminfoyn", model.getValue ( "/root/init/paminfoyn" ));
-
- if (isNull(srchcond4)) {
- model.setValue ( "/root/init/srchcond4", "-" );
- model.refresh();
- }
- // 누락처방입력 정보 초기화
- setGlobalVariable("SPMMO16800_rtn1", "");
- model.resetInstanceNode("/root/prcpresn");
-
- // 구 인스턴스 초기화
- model.resetInstanceNode("/root/formerkey");
- model.resetInstanceNode("/root/paminfo");
- clearParameter("SPMMO09100_pid" );
- clearParameter("SPMMO09100_orddd");
- clearParameter("SPMMO09100_cretno");
- clearParameter("SPMMO09100_instcd");
- clearParameter("SPMMO09100_ioflag");
- clearParameter("SPMMO09100_orddeptcd");
- clearParameter("SPMMO09100_orddrid");
- clearParameter("SPMMO09100_indschacptstat");
- clearParameter("SPMMO09100_rtnyn");
- clearParameter("SPMMO09100_dschdd");
- clearParameter("SPMMO09100_dc");
- clearParameter("SPMMO09100_insukind");
- clearParameter("SPMMO09100_suppkind");
- clearParameter("SPMMO09100_drvalidyn");
- model.setValue ( "/root/init/rrgstno1", "");
- model.setValue ( "/root/init/rrgstno2", "");
- model.setValue ( "/root/init/orddeptnm", "");
- model.setValue ( "/root/init/sex", "");
- model.setValue ( "/root/init/age", "");
- model.setValue ( "/root/init/wardcd", "");
- model.setValue ( "/root/init/orddd", "");
- model.setValue ( "/root/send/cond1", model.getValue ( "/root/init/srchcond1" ));
- if ( model.getValue ( "/root/send/cond1") == "1" ) {
- model.setValue ( "/root/send/cond2", model.getValue ("/root/init/srchcond2" ));
- } else {
- //이름으로 검색할 경우
- model.setValue ( "/root/send/cond2", model.getValue ("/root/init/srchcond3" ));
- }
-
- model.setValue ( "/root/send/cond3", getUserInfo("dutplceinstcd"));
- model.setValue ( "/root/send/cond4", "N");
- model.setValue ( "/root/send/cond5", "N");
- model.setValue ( "/root/send/cond6", model.getValue ("/root/init/srchcond4"));
- model.setValue ( "/root/send/cond10", model.getValue ("/root/init/srchcond5"));
- model.setValue ( "/root/send/cond11", model.getValue ("/root/init/srchcond6"));
- if (!submit ( "TRMMO00200",false )) { //검색 시작 값이 없으면 clear 한다.
- fClearAddPrcp();
- return;
- }
- var srcNodeList = model.instances(0).selectNodes("/root/patordinfo/patordinfolist");
- var currentDate = getCurrentDate();
-
- model.setValue("/root/formerkey/pseuacptflag", "N");
- if ( srcNodeList.length >= 1 ) { //값이 한개이상이면 팝업을 띄운다.
- var xpt = window.screenleft + 50;
- var ypt = window.screenTop + 80;
- var coord = getRelativeCoordinate ( xpt, ypt );
- var mon = coord[0];
- xpt = coord[1];
- ypt = coord[2];
- modal ( "SPMMO09100", mon, xpt, ypt, "patordinfo", "/root/patordinfo", "/root/patordinfo", "", false );
- // 팝업에서 취소 시 이벤트 처리
- var cancelKey = getParameter ( "SPMMO09100_rtnyn");
- if (cancelKey != "Y") {
- fClearAddPrcp();
- clearParameter("SPMMO09100_rtnyn" );
- clearParameter("SPMMO09100_paminfoyn" );
- return ;
- }
- model.removeNodeset("/root/patordinfo/patordinfolist");
- var rtnparam = getParameter( "SPMMO09100_rtn_param");
- setCSVToNode("/root/patordinfo", rtnparam, "patordinfolist");
- var pid = getParameter ( "SPMMO09100_pid" );
- var orddd = getParameter ( "SPMMO09100_orddd");
- var cretno = getParameter ( "SPMMO09100_cretno");
- var instcd = getParameter ( "SPMMO09100_instcd");
- var ioflag = getParameter ( "SPMMO09100_ioflag");
- var orddeptcd = getParameter ( "SPMMO09100_orddeptcd");
- var orddrid = getParameter ( "SPMMO09100_orddrid");
- var indschacptstat = getParameter ( "SPMMO09100_indschacptstat");
- var dschdd = getParameter ( "SPMMO09100_dschdd");
- var insukind = getParameter ( "SPMMO09100_insukind");
- var suppkind = getParameter ( "SPMMO09100_suppkind");
- var dcflag = getParameter ( "SPMMO09100_dc");
- var drvalidyn = getParameter ( "SPMMO09100_drvalidyn");
- //var srchdd = getParameter ( "SPMMO09100_srchdd");
- var srchdd = ""; // 기존에 입원일자로 조회 하던것을 퇴원 일자로 조회 하도록 수정 응급실 내원후 병동 이동일 경우 icdr에 ordtype 'E' 로 존재 하여 상단정보 조회시 오류 발생 방지 2014.07.11 엄영만
- if(dschdd == "99991231") {
- srchdd = getCurrentDate();
- } else {
- srchdd = dschdd;
- }
- if ( dcflag != "DC" ) {
- if ( currentDate != orddd && (ioflag == "O" || ioflag == "S")) { // 진료일과 현재일이 다른 경우 가접수 후 데이타 셋팅. 20090604 퇴원후 바로 가접수처리건때문에 외래에만 적용.
- // 진단명 조회를 위한 구 키 셋팅
- model.setValue("/root/formerkey/pid", pid);
- model.setValue("/root/formerkey/orddd_old", orddd);
- model.setValue("/root/formerkey/cretno_old", cretno);
- model.setValue("/root/formerkey/instcd", instcd);
- model.setValue("/root/formerkey/genrflagcd_old", ioflag);
- model.setValue("/root/formerkey/pseuacptflag", "Y");
-
- var returnkey = fSetAssumAccept(pid, orddd, cretno, "O", orddeptcd, orddrid);
- if (returnkey == false) return ;
-
- pid = model.getValue ( "/root/execpatordinfo/execpatordinfolist/otpt_pid" );
- orddd = model.getValue ( "/root/execpatordinfo/execpatordinfolist/otpt_orddd" );
- cretno = model.getValue ( "/root/execpatordinfo/execpatordinfolist/otpt_cretno" );
- model.setValue("/root/formerkey/orddd", orddd);
- model.setValue("/root/formerkey/cretno", cretno);
- model.setValue("/root/formerkey/genrflagcd", ioflag);
- } else if ( (ioflag == "I" || ioflag == "D" || ioflag == "E") && indschacptstat == "D" ) {
- // 진단명 조회를 위한 구 키 셋팅
- model.setValue("/root/formerkey/pid", pid);
- model.setValue("/root/formerkey/orddd_old", orddd);
- model.setValue("/root/formerkey/cretno_old", cretno);
- model.setValue("/root/formerkey/instcd", instcd);
- model.setValue("/root/formerkey/genrflagcd_old", ioflag);
- model.setValue("/root/formerkey/pseuacptflag", "Y");
-
- var returnkey = fSetAssumAccept(pid, orddd, cretno, "I", orddeptcd, orddrid, insukind, suppkind );
- if (returnkey == false) return ;
-
- pid = model.getValue ( "/root/followup/followup/otpt_pid" );
- orddd = model.getValue ( "/root/followup/followup/otpt_orddd" );
- cretno = model.getValue ( "/root/followup/followup/otpt_cretno" );
- ioflag = "O" ; // 강제로 외래 셋팅
- model.setValue( "/root/patordinfo/patordinfolist/ioflag", ioflag);
-
- model.setValue("/root/formerkey/orddd", orddd);
- model.setValue("/root/formerkey/cretno", cretno);
- model.setValue("/root/formerkey/genrflagcd", ioflag);
- }
- }
- clearParameter("SPMMO09100_pid" );
- clearParameter("SPMMO09100_orddd");
- clearParameter("SPMMO09100_cretno");
- clearParameter("SPMMO09100_instcd");
- clearParameter("SPMMO09100_ioflag");
- clearParameter("SPMMO09100_orddeptcd");
- clearParameter("SPMMO09100_orddrid");
- clearParameter("SPMMO09100_indschacptstat");
- clearParameter("SPMMO09100_rtnyn");
- clearParameter("SPMMO09100_dschdd");
- clearParameter("SPMMO09100_dc");
- clearParameter("SPMMO09100_insukind");
- clearParameter("SPMMO09100_suppkind");
- clearParameter("SPMMO09100_drvalidyn");
- if ( isNull(pid )) {
- fClearAddPrcp();
- } else {
- var sPamInfoYn = model.getValue ( "/root/init/paminfoyn" );
- if ( dcflag == "DC" || sPamInfoYn == "Y") { // 상단정보 설정(과거처방DC, 상단정보 연계)
- // 퇴직의사에 대해서 admin 권한을 가진 사람일 경우는 입원일로 체크하도록 한다.
- var sTopSrchDd = "";
- if ( drvalidyn == "N" && adminInfo.substring(0, 6) == "YYYYYY") {
- sTopSrchDd = orddd;
- }
- fSetTopPatInfo(instcd, ioflag, pid, orddd, cretno, sTopSrchDd);
- setParameter("SPMMO08900_rtn_useyn", ""); // 처방 저장후 의사처방화면 설정로직을 스킵 하기 위해
- } else {
- var sDutPlceCd = getUserInfo("dutplcecd");
- if (sDutPlceCd != "4072000000" && sDutPlceCd != "4070700000" ) { // 심사실에서 가퇴원 환자 선택시 상단 정보 삭제 되지 않도록 처리 2013.09.25 엄영만
- delPatientInfos();
- }
- }
-
- if(adminInfo.substring(0, 6) != "YYYYYY") {
- fAddPrcpInitConDone( pid, orddd, cretno, instcd, ioflag , "N", dschdd );
- } else {
- fAddPrcpInitConDone( pid, orddd, cretno, instcd, ioflag , "N", dschdd , srchdd);
- }
- fPatDethInfo(); //사망환자 alert(2009.12.21 JJE)
- }
- }
- model.refresh();
- }
- /**
- * @desc : 상단 정보를 셋팅 한다.
- * @
- * @param :
- * @return :
- * @author : 2014-06-09 엄영만
- * @---------------------------------------------------
- */
- function fSetTopPatInfo(sInstCd, sIoFlag, sPid, sOrdDd, sCretNo, sSrchDd) {
- var sTopIoFlag = "";
- if(sIoFlag == "O" || sIoFlag =="S") { //외래, 건진
- sTopIoFlag = "O";
- } else if(sIoFlag == "I" || sIoFlag =="D") { //입원환자, DSC
- sTopIoFlag = "I";
- } else if(sIoFlag == "E") { //응급실
- sTopIoFlag = "E";
- }
-
- var sParam = sTopIoFlag + "▦"
- + sPid + "▦"
- + sOrdDd + "▦"
- + sCretNo + "▦"
- + sInstCd + "▦"
- + sSrchDd;
-
- setParameter("condparam", sParam);
- modal("SPMMO08900", 1, "", "", "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
- }
- /**
- * @desc : 후인증 대상 검사
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fChkAfSignUser(){
- //20090302 마정민 수정 의사 직정코드가 아니면 모두 후인증 팝업 뜨도록 수정
- var jobkindcd = getUserInfo("jobkindcd");
- var userid = getUserInfo("userid");
-
- if ( isNull(model.getValue ( "/root/initsrch/drjobkindcd[trgtcd='" + jobkindcd + "']/trgtcd" ))) {
- //후인증 대상의사 선택 팝업 띄움
- if (!fChkAfSignPrcpInfo()){
- return false;
- }
-
- var prcpflag = model.getValue("/root/init/prcpauthflag");
- if(!fPrcpSave(prcpflag)) {
- model.removeNodeset("/root/prcpdc/prcplist");
- }
- } else {
- var prcpflag = model.getValue("/root/init/prcpauthflag");
- if(!fPrcpSave(prcpflag)) {
- model.removeNodeset("/root/prcpdc/prcplist");
- }
- }
- }
- /**
- * @desc : 후인증 처방 검사
- * : H2 - 수술
- * : A2 - 경구
- * : A4 - 외용
- * : A6 - 주사
- * : C2 - 영상
- * : C4 - Angio
- * : B2 - 진검
- * : B4 - 수혈
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fChkAfSignPrcpInfo(){
- //var prcpclscd = model.getValue("/root/main/prcp/prcplist[prcpclscd='H2' or prcpclscd='A2' or prcpclscd='A4' or prcpclscd='A6' or prcpclscd='C2' or prcpclscd='C4' or prcpclscd='B2' or prcpclscd='B4' or prcpclscd='G2']/prcpclscd");
- var chkprcpclscd = "";
- var chkearnclscd = "";
- var chkaftcertyn = "";
- //20090302 마정민 수정: 후인증 처방종류, 수익분류 체크. hardcd 테이블 정보 이용
- for (var i=1; i < grd_prcplist.rows; i++) {
- chkprcpclscd = model.getValue("/root/main/prcp/prcplist[" + i + "]/prcpclscd");
- chkearnclscd = model.getValue("/root/main/prcp/prcplist[" + i + "]/tempcol2");
- if (!isNull(model.getValue ( "/root/initsrch/aftcertprcpcls[trgtcd='" + chkprcpclscd + "']/trgtcd" ))) {
- chkaftcertyn = "Y";
- break;
- } else if (!isNull(model.getValue ( "/root/initsrch/aftcertearncls[trgtcd='" + chkearnclscd + "']/trgtcd" ))) {
- chkaftcertyn = "Y";
- break;
- }
- }
- if ( chkaftcertyn == "Y" ) {
-
- var ioflag = model.getValue ( "/root/paminfo/list/ioflag");
- if ( ioflag == "O" || ioflag == "S" ) {
- setParameter("SPMMB04100_orddrid", model.getValue ( "/root/paminfo/list/orddrid" ));
- } else {
- setParameter("SPMMB04100_orddrid", model.getValue ( "/root/paminfo/list/medispclid" ));
- }
- setParameter("SPMMB04100_defdeptcd", model.getValue ( "/root/paminfo/list/orddeptcd" ));
- setParameter("SPMMB04100_prcpcd", model.getValue ( "/root/init/prcpdd" ));
- modal("SPMMB04100");
-
- var useyn = getParameter("SPMMB04100_useyn");
- if (useyn != "Y") {
- return false;
- }
- if(useyn == "Y"){ //후인증 선택의사로 설정
- var orddrid = getParameter("SPMMB04100_orddrid");
-
- } else if(useyn == "X"){ //환자의 전문의로 설정
- var ioflag = model.getValue("/root/patflag/list/prcpgenrflag");
-
- if(ioflag == "O" || ioflag == "S"){ //외래, 건진
- var orddrid = model.getValue("/root/paminfo/list/orddrid");
-
- }else{
- var orddrid = model.getValue("/root/paminfo/list/medispclid");
-
- }
- }
- fSetAfSignDr(orddrid); //후인증 구분 및 의사 설정
- }
- return true;
- }
- /**
- * @desc : 후인증 구분 및 의사 설정
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fSetAfSignDr( orddrid ) {
- //20090302 마정민 수정: 후인증 처방종류, 수익분류 체크. hardcd 테이블 정보 이용
- for (var i=1; i < grd_prcplist.rows; i++) {
- chkprcpclscd = model.getValue("/root/main/prcp/prcplist[" + i + "]/prcpclscd");
- chkearnclscd = model.getValue("/root/main/prcp/prcplist[" + i + "]/tempcol2");
- if (!isNull(model.getValue ( "/root/initsrch/aftcertprcpcls[trgtcd='" + chkprcpclscd + "']/trgtcd" ))) {
- model.setValue("/root/main/prcp/prcplist[" + i + "]/aftcertflag", "01");
- model.setValue("/root/main/prcp/prcplist[" + i + "]/aftcertdrid", orddrid);
- } else if (!isNull(model.getValue ( "/root/initsrch/aftcertearncls[trgtcd='" + chkearnclscd + "']/trgtcd" ))) {
- model.setValue("/root/main/prcp/prcplist[" + i + "]/aftcertflag", "01");
- model.setValue("/root/main/prcp/prcplist[" + i + "]/aftcertdrid", orddrid);
- }
- }
- }
- /**
- * @desc : 발생일이 틀릴 경우 가접수 발생
- * @
- * @param :
- * @return :
- * @author : 문세희
- * @---------------------------------------------------
- */
- function fSetAssumAccept( pid, orddd, cretno, ioflag, orddeptcd, orddrid, insukind, suppkind ){
- // 수진정보가 외래, 입원일 경우 따로 처리
- if (ioflag == "O") {
- model.makeValue("root/send/flag", "I");
- model.makeValue("root/send/otpt_pid", pid);
- model.makeValue("root/send/otpt_orddd", orddd);
- model.makeValue("root/send/otpt_cretno", cretno);
- model.makeValue("root/send/otpt_orddeptcd", orddeptcd);
- model.makeValue("root/send/otpt_orddrid", orddrid);
- model.makeValue("root/send/otpt_histstat", "T");
-
- if(submit("TRMMO09101") == false){
- // 진단명 조회를 위한 구 인스턴스 초기화
- model.resetInstanceNode("/root/formerkey");
- return false;
- }
- } else if (ioflag == "I") {
- var otpt_flag = "I"; // 구분 정보
- var otpt_orddd = getCurrentDate(); // 발생일
- var otpt_orddeptcd = orddeptcd; // 발생부서
- var otpt_orddrid = orddrid; // 발생의
- var otpt_ordtm = eval(getCurrentTime().substr(0,4)); // 현재 시간
- var otpt_rsrvflag = "P"; // 시행부서 처방 'P'
- var sess_userid = getUserInfo("userid"); // 사용자 ID
- var indd = orddd; // 입원일
- var otpt_pid = pid; // 환자ID
- var otpt_etcordflag = "-" ; // 재활 :M 외에는 넣지 말것, 기타접수구분
- var otpt_medamtestmyn = "N"; // 'N' 진찰료산정여부 면제
- var otpt_medamtfreeresn = "17"; // 진찰료미산정사유 - '17' 시행부서처방
-
- model.makeValue("/root/send/cond1", otpt_flag);
- model.makeValue("/root/send/cond3", otpt_orddd);
- model.makeValue("/root/send/cond4", otpt_orddeptcd);
- model.makeValue("/root/send/cond5", otpt_orddrid);
- model.makeValue("/root/send/cond6", otpt_ordtm);
- model.makeValue("/root/send/cond7", otpt_rsrvflag);
- model.makeValue("/root/send/cond8", sess_userid);
- model.makeValue("/root/send/cond9", indd);
- model.makeValue("/root/send/cond10", cretno);
- model.makeValue("/root/send/cond11", otpt_pid);
- model.makeValue("/root/send/cond12", otpt_etcordflag);
- model.makeValue("/root/send/cond13", otpt_medamtestmyn);
- model.makeValue("/root/send/cond14", otpt_medamtfreeresn);
- model.makeValue("/root/send/cond15", insukind);
- model.makeValue("/root/send/cond16", suppkind);
-
- if(submit("TXMMO00107") == false){
- // 진단명 조회를 위한 구 인스턴스 초기화
- model.resetInstanceNode("/root/formerkey");
- return false;
- }
- }
- }
- /**
- * @desc : 간호에서 환자의 사망정보 불러오기
- * @
- * @param :
- * @return :
- * @author : 박유진
- * @---------------------------------------------------
- */
- function fPatDethInfo(){
- var pid = model.getValue("/root/paminfo/list/pid");
- if(!isNull(pid)){
- model.makeValue("root/send/getpatdethinfo",pid);
- if(submit("TRMMO00216", false)){
- var dethyn = model.getValue("/root/temp/deth/dethinfo/dethyn");
- if(dethyn=="Y"){
- var dethdd = model.getValue("/root/temp/deth/dethinfo/dethdd");
- messageBox( dethdd + " 사망 등록된", "I005");
- }
- }
- model.removeNode ("root/send/getpatdethinfo");
- }
- }
|