123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480 |
- /*
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- 진료 - 사망등록 ( SMMRD01000_진료사망등록.xrw - JScript )
- - Version :
- 1) : Ver.1.00.01
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- */
- var instcd = "";
- var pid = "";
- var userid = "";
- var deptcd = "";
- var ordtype ="";
- /**
- * @desc : 폼초기화
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fFormInit(){
- // 기관코드, 사용자ID, 과코드
- instcd = getUserInfo("posinstcd");
- userid = getUserInfo("userid");
- //deptcd = getUserInfo("posdeptcd");
- deptcd = getUserInfo("dutplcecd");
-
- // 선택환자정보
- var node = getGlobalVariable("paminfo");
- model.removeNodeset("/root/main/paminfo/list");
- setCSVToNode("/root/main/paminfo", node);
- // 환자등록번호
- pid = model.getValue("/root/main/paminfo/list/pid");
- if (pid == "") {
- messageBox("선택된 환자정보가","I004");
- window.close();
- return;
- }
-
- ordtype = model.getValue("/root/main/paminfo/list/ioflag");
-
- model.setValue("/root/send/reqdata/instcd" , instcd);
- model.setValue("/root/send/reqdata/pid" , pid);
- // 부서코드 콤보조회
- zbcfGetDeptCodeList(instcd, "orduseyn", "D", "/root/init/deptlist", "depthngnm");
- model.refresh();
-
- // 환자의 사망여부 조회
- submit("TRMRD01001");
-
- //결핵으로 인한 진단이 있는지와 제일 최근의 진단명을 검색한다.
- submit("TRMRD01099");
-
- var tubechkyn=model.getValue("/root/main/tubeinfo/dethpattube/chkyn"); //결핵으로 진단이 있는지 여부 체크
- var diagcd=model.getValue("/root/main/tubeinfo/tubepatdiag/diagcd"); //제일 최근 진단코드
- var termengnm=model.getValue("/root/main/tubeinfo/tubepatdiag/termengnm"); //제일 최근 진단명(영문)
-
- model.makeValue("/root/main/orddethpat/ioflag", "I");
- model.makeValue("/root/main/orddethpat/pid", pid);
-
- if(model.getValue("/root/main/dethpat/dethyn")=="Y"){
- fOrdDethPat();//사망내역 조회
- }else{
- //2012/09/10 Start
- if(tubechkyn=="Y"){
- var push_btn=messageBox("결핵으로 인한 사망입니까? 결핵 사망으로 등록", "S001", ""); //예:6 아니오:7 취소:2
- if(push_btn=="6"){
- model.makeValue("/root/main/orddethpat/ioflag", "T");
- btn_tube.dispatch("onclick");
- if(diagcd!="" && termengnm!=""){
- model.setValue("/root/main/tdeth/indirecdethcd", diagcd);
- model.setValue("/root/main/tdeth/indirecdeth", termengnm);
- }
- }
- }
- btn_dethcncl.disabled = true;
- //2012/09/10 End
- }
-
- model.refresh();
- }
- /**
- * @desc : 진료 - 사망내역 조회
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fOrdDethPat(){
- // 진료 - 사망내역 조회
- submit("TRMRD01002");
- var dethyn = model.getValue("/root/main/orddethpat/dethyn"); // 사망여부
- var dethdd = model.getValue("/root/main/orddethpat/dethdd"); // 사망일자
- var dethtm = model.getValue("/root/main/orddethpat/dethtm"); // 사망시간
- var ioflag = model.getValue("/root/main/orddethpat/ioflag"); // 원내(I), 원외(O), 결핵(T)
- var inerflag = model.getValue("/root/main/orddethpat/inerflag"); // 입원(I), 응급실(E)
- if (inerflag == "") { inerflag = "I" }
- var indirecdethcd = model.getValue("/root/main/orddethpat/indirecdethcd"); // 직접사인
- var indirecdeth = model.getValue("/root/main/orddethpat/indirecdeth"); // 직접사인
- var inbasedethcd = model.getValue("/root/main/orddethpat/inbasedethcd"); // 중간선행사인
- var inbasedeth = model.getValue("/root/main/orddethpat/inbasedeth"); // 중간선행사인
- var inmeddethcd = model.getValue("/root/main/orddethpat/inmeddethcd"); // 선행사인
- var inmeddeth = model.getValue("/root/main/orddethpat/inmeddeth"); // 선행사인
- var outestmdethcd = model.getValue("/root/main/orddethpat/outestmdethcd"); // 추정사인
- var outestmdeth = model.getValue("/root/main/orddethpat/outestmdeth"); // 추정사인
- var outdethplce = model.getValue("/root/main/orddethpat/outdethplce"); // 사망장소
- var dethdeptcd = model.getValue("/root/main/orddethpat/dethdeptcd"); // 등록부서
- var cnclid = model.getValue("/root/main/orddethpat/cnclid"); // 취소자ID
- var cncldt = model.getValue("/root/main/orddethpat/cncldt"); // 취소일시
- var dethresn = model.getValue("/root/main/orddethpat/dethresn"); // 결핵사망시 직접사인
-
- if (ioflag == "O") { //원외 사망
- btn_outdeth.dispatch("onclick");
- model.toggle("case_outdeth");
- // 사망일자, 사망시간
- model.setValue("/root/main/odeth/dethdd", dethdd);
- model.setValue("/root/main/odeth/dethtm", dethtm);
- // 추정사인
- model.setValue("/root/main/odeth/outestmdethcd", outestmdethcd);
- model.setValue("/root/main/odeth/outestmdeth", outestmdeth);
- // 사망장소
- model.setValue("/root/main/odeth/outdethplce", outdethplce);
- // 등록부서
- model.setValue("/root/main/odeth/dethdeptcd", dethdeptcd);
- } else if (ioflag == "I") { //원내 사망
- btn_indeth.dispatch("onclick");
- model.toggle("case_indeth");
- // 사망일자, 사망시간
- model.setValue("/root/main/ideth/dethdd", dethdd);
- model.setValue("/root/main/ideth/dethtm", dethtm);
- // 구분 - 입원(I), 응급실(E)
- model.setValue("/root/main/ideth/inerflag", inerflag);
- // 직접사인
- model.setValue("/root/main/ideth/indirecdethcd", indirecdethcd);
- model.setValue("/root/main/ideth/indirecdeth", indirecdeth);
- // 중간선행사인
- model.setValue("/root/main/ideth/inbasedethcd", inbasedethcd);
- model.setValue("/root/main/ideth/inbasedeth", inbasedeth);
- // 선행사인
- model.setValue("/root/main/ideth/inmeddethcd", inmeddethcd);
- model.setValue("/root/main/ideth/inmeddeth", inmeddeth);
- } else if(ioflag == "T"){ //결핵 사망
- btn_tube.dispatch("onclick");
- model.toggle("case_tubedeth");
- // 사망일자, 사망시간
- model.setValue("/root/main/tdeth/dethdd", dethdd);
- model.setValue("/root/main/tdeth/dethtm", dethtm);
- // 구분 - 입원(I), 응급실(E)
- model.setValue("/root/main/tdeth/inerflag", inerflag);
- // 질병코드
- model.setValue("/root/main/tdeth/indirecdethcd", indirecdethcd);
- model.setValue("/root/main/tdeth/indirecdeth", indirecdeth);
- //직접사인
- model.setValue("/root/main/tdeth/dethresn", dethresn);
- }
- /* 2012/09/10 Start
- else {
- btn_indeth.dispatch("onclick");
- model.toggle("case_indeth");
- // 구분 - 입원(I), 응급실(E)
- model.setValue("/root/main/ideth/inerflag", "I");
- // 사망일자, 사망시간
- model.setValue("/root/main/ideth/dethdd", getCurrentDate());
- model.setValue("/root/main/ideth/dethtm", getCurrentTime());
- // 사망일자, 사망시간
- model.setValue("/root/main/odeth/dethdd", getCurrentDate());
- model.setValue("/root/main/odeth/dethtm", getCurrentTime());
- // 등록부서
- model.setValue("/root/main/odeth/dethdeptcd", deptcd);
- // 버튼처리
- btn_dethregt.disabled = false; btn_dethcncl.disabled = true;
- }
- */
-
- // 사망취소인 경우 - 취소정보
- if (cnclid != "") {
- var cnclinfo = "사망취소 : (" + cncldt.toDate("YYYYMMDDhhmm").getDateFormat("YYYY/MM/DD hh:mm") + ")";
- model.makeValue("/root/main/dethpat/cnclinfo", cnclinfo);
- model.refresh();
- //ioflag = "";
- }
-
- model.refresh();
- }
- /**
- * @desc : 사망등록
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSaveDethPat(){
- var ioflag = model.getValue("/root/main/orddethpat/ioflag"); // 원내(I), 원외(O), 결핵(T)
-
- if (ioflag == "O") {//원외 사망
- var dethdd = model.getValue("/root/main/odeth/dethdd"); // 사망일자
- var dethtm = model.getValue("/root/main/odeth/dethtm"); // 사망시간
- var outestmdethcd = model.getValue("/root/main/odeth/outestmdethcd"); // 추정사인
- var outdethplce = model.getValue("/root/main/odeth/outdethplce"); // 사망장소
- model.setValue("/root/main/orddethpat/dethdd", dethdd); // 사망일자
- model.setValue("/root/main/orddethpat/dethtm", dethtm); // 사망시간
- model.setValue("/root/main/orddethpat/inerflag", ""); // 입원(I), 응급실(E)
- model.setValue("/root/main/orddethpat/indirecdethcd", ""); // 직접사인
- model.setValue("/root/main/orddethpat/inbasedethcd", ""); // 중간선행사인
- model.setValue("/root/main/orddethpat/inmeddethcd", ""); // 선행사인
- model.setValue("/root/main/orddethpat/outestmdethcd", outestmdethcd); // 추정사인
- model.setValue("/root/main/orddethpat/outdethplce", outdethplce); // 사망장소
- model.setValue("/root/main/orddethpat/dethdeptcd", deptcd); // 등록부서
- model.setValue("/root/main/orddethpat/cnclid", ""); // 취소자ID
- model.setValue("/root/main/orddethpat/cncldt", ""); // 취소일시
- } else if (ioflag == "I") {//원내사망
- var dethdd = model.getValue("/root/main/ideth/dethdd"); // 사망일자
- var dethtm = model.getValue("/root/main/ideth/dethtm"); // 사망시간
- var inerflag = model.getValue("/root/main/ideth/inerflag"); // 입원(I), 응급실(E)
- var indirecdethcd = model.getValue("/root/main/ideth/indirecdethcd"); // 직접사인
- var inbasedethcd = model.getValue("/root/main/ideth/inbasedethcd"); // 중간선행사인
- var inmeddethcd = model.getValue("/root/main/ideth/inmeddethcd"); // 선행사인
- model.setValue("/root/main/orddethpat/dethdd", dethdd); // 사망일자
- model.setValue("/root/main/orddethpat/dethtm", dethtm); // 사망시간
- model.setValue("/root/main/orddethpat/inerflag", inerflag); // 입원(I), 응급실(E)
- model.setValue("/root/main/orddethpat/indirecdethcd", indirecdethcd); // 직접사인
- model.setValue("/root/main/orddethpat/inbasedethcd", inbasedethcd); // 중간선행사인
- model.setValue("/root/main/orddethpat/inmeddethcd", inmeddethcd); // 선행사인
- model.setValue("/root/main/orddethpat/outestmdethcd", ""); // 추정사인
- model.setValue("/root/main/orddethpat/outdethplce", ""); // 사망장소
- model.setValue("/root/main/orddethpat/dethdeptcd", deptcd); // 등록부서
- model.setValue("/root/main/orddethpat/cnclid", ""); // 취소자ID
- model.setValue("/root/main/orddethpat/cncldt", ""); // 취소일시
-
- // 2008.01.16. 입원환자인 경우 원무키 셋하여 입원내역에 사망일시 업데이트 하기...
- var indd = model.getValue("/root/main/paminfo/list/indd");
- var cretno = model.getValue("/root/main/paminfo/list/cretno");
- var seqno = model.getValue("/root/main/paminfo/list/seqno");
- model.makeValue("/root/main/orddethpat/indd" , indd); // 원무키
- model.makeValue("/root/main/orddethpat/cretno" , cretno); // 원무키
- model.makeValue("/root/main/orddethpat/seqno" , seqno); // 원무키
- }else if (ioflag == "T") { // 결핵사망
- var dethdd = model.getValue("/root/main/tdeth/dethdd"); // 사망일자
- var dethtm = model.getValue("/root/main/tdeth/dethtm"); // 사망시간
- var inerflag = model.getValue("/root/main/tdeth/inerflag"); // 입원(I), 응급실(E)
- var indirecdethcd = model.getValue("/root/main/tdeth/indirecdethcd"); // 직접사인
- var dethresn = model.getValue("/root/main/tdeth/dethresn"); // 직접사인
- model.setValue("/root/main/orddethpat/dethdd", dethdd); // 사망일자
- model.setValue("/root/main/orddethpat/dethtm", dethtm); // 사망시간
- model.setValue("/root/main/orddethpat/inerflag", inerflag); // 입원(I), 응급실(E)
- model.setValue("/root/main/orddethpat/indirecdethcd", indirecdethcd); // 직접사인
- model.setValue("/root/main/orddethpat/outestmdethcd", ""); // 추정사인
- model.setValue("/root/main/orddethpat/outdethplce", ""); // 사망장소
- model.setValue("/root/main/orddethpat/dethdeptcd", deptcd); // 등록부서
- model.setValue("/root/main/orddethpat/cnclid", ""); // 취소자ID
- model.setValue("/root/main/orddethpat/cncldt", ""); // 취소일시
- model.makeValue("/root/main/orddethpat/dethresn", dethresn); // 취소일시
- model.makeValue("/root/main/orddethpat/ordtype", ordtype); // 원무키 수진형태
-
- // 2008.01.16. 입원환자인 경우 원무키 셋하여 입원내역에 사망일시 업데이트 하기...
- var indd ="";
- if(model.getValue("/root/main/paminfo/list/ioflag")=="O" || model.getValue("/root/main/paminfo/list/ioflag")=="S"){
- indd = model.getValue("/root/main/paminfo/list/orddd");
- }else if(model.getValue("/root/main/paminfo/list/ioflag")=="E" || model.getValue("/root/main/paminfo/list/ioflag")=="I"){
- indd = model.getValue("/root/main/paminfo/list/indd");
- }
- //var indd = model.getValue("/root/main/paminfo/list/indd");
- var cretno = model.getValue("/root/main/paminfo/list/cretno");
- var seqno = model.getValue("/root/main/paminfo/list/seqno");
- model.makeValue("/root/main/orddethpat/indd" , indd); // 원무키
- model.makeValue("/root/main/orddethpat/cretno" , cretno); // 원무키
- model.makeValue("/root/main/orddethpat/seqno" , seqno); // 원무키
- }
- model.makeValue("/root/main/orddethpat/dethyn", "Y"); // 사망여부
- model.refresh();
- // 환자사망정보 copy...
- model.copyNode("/root/send/orddepthpat","/root/main/orddethpat");
- model.refresh();
- if(!fSaveCheck()){
- if(submit("TXMRD01001")){
- btn_dethcncl.disabled = false;
- }
- }else{
- return;
- }
-
- // 진료 - 사망내역 조회
- fOrdDethPat();
- }
- /**
- * @desc : 사망취소
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fCancleDethPat(){
- // 2008.01.16. 입원환자인 경우 원무키 셋하여 입원내역에 사망일시 업데이트 하기...
- var indd ="";
- if(model.getValue("/root/main/paminfo/list/ioflag")=="O" || model.getValue("/root/main/paminfo/list/ioflag")=="S"){
- indd = model.getValue("/root/main/paminfo/list/orddd");
- }else if(model.getValue("/root/main/paminfo/list/ioflag")=="E" || model.getValue("/root/main/paminfo/list/ioflag")=="I"){
- indd = model.getValue("/root/main/paminfo/list/indd");
- }
-
- // var indd = model.getValue("/root/main/paminfo/list/indd");
- var cretno = model.getValue("/root/main/paminfo/list/cretno");
- var seqno = model.getValue("/root/main/paminfo/list/seqno");
- model.makeValue("/root/main/orddethpat/indd" , indd); // 원무키
- model.makeValue("/root/main/orddethpat/cretno" , cretno); // 원무키
- model.makeValue("/root/main/orddethpat/seqno" , seqno); // 원무키
- model.setValue("/root/main/orddethpat/cnclid", userid); // 취소자ID
- model.setValue("/root/main/orddethpat/cncldt", getCurrentDate() + getCurrentTime()); // 취소일시
- model.makeValue("/root/main/orddethpat/dethyn", "N"); // 사망여부
- model.makeValue("/root/main/orddethpat/dethdd", "99991231"); // 사망일자
- model.makeValue("/root/main/orddethpat/dethtm", "595959"); // 사망시간
- model.refresh();
- // 환자사망정보 copy...
- model.copyNode("/root/send/orddepthpat","/root/main/orddethpat");
- model.refresh();
- submit("TXMRD01001");
- // 진료 - 사망내역 조회
- fOrdDethPat();
- }
- /**
- * @desc : 진단 팝업
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fClickPopUp(flag){
- var instance = document.models(0).instances(0);
- // selectdiaglist
- var nodelistTemp = instance.selectNodes("/root/temp/selectdiaglist");
- for (var i=1 ; i <= nodelistTemp.length ; i++) {
- model.destroy("/root/temp/selectdiaglist["+ i +"]");
- }
- model.refresh();
- modal("../../../emr/prcpmngtweb/xrw/SPMMO03200_진단팝업.xrw", 1, 0, 0, "", "", "");
-
- var sTmpdiagcd = "";
- var sTmpdiagengnm = "";
- var nodelistTemp = instance.selectNodes("/root/temp/selectdiaglist");
- if(nodelistTemp.length >= 1){
- sTmpdiagcd = model.getValue("/root/temp/selectdiaglist[1]/diagcd");
- sTmpdiagengnm = model.getValue("/root/temp/selectdiaglist[1]/diagengnm");
- if (flag == "1") {
- model.setValue("/root/main/ideth/indirecdethcd", sTmpdiagcd);
- model.setValue("/root/main/ideth/indirecdeth", sTmpdiagengnm);
- } else if (flag == "2") {
- model.setValue("/root/main/ideth/inbasedethcd", sTmpdiagcd);
- model.setValue("/root/main/ideth/inbasedeth", sTmpdiagengnm);
- } else if (flag == "3") {
- model.setValue("/root/main/ideth/inmeddethcd", sTmpdiagcd);
- model.setValue("/root/main/ideth/inmeddeth", sTmpdiagengnm);
- } else if (flag == "4") {
- model.setValue("/root/main/odeth/outestmdethcd", sTmpdiagcd);
- model.setValue("/root/main/odeth/outestmdeth", sTmpdiagengnm);
- } else if (flag == "5") {
- model.setValue("/root/main/tdeth/indirecdethcd", sTmpdiagcd);
- model.setValue("/root/main/tdeth/indirecdeth", sTmpdiagengnm);
- }
- model.refresh();
- }
- }
- /**
- *
- *
- */
- function fSaveCheck(){
-
- var ioflag = model.getValue("/root/main/orddethpat/ioflag");
-
- if(ioflag=="O"){
- var dethdd = model.getValue("/root/main/odeth/dethdd"); // 사망일자
- var dethtm = model.getValue("/root/main/odeth/dethtm"); // 사망시간
-
- if(dethdd=="" || dethtm==""){
- messageBox ( "사망 추정 일시를 ", "C001" );
- return true;
- }
-
- var currentdt = getCurrentDate() + getCurrentTime();
- if(currentdt < (dethdd + dethtm)) {
- messageBox ( "미래 일시로 사망을 등록하실수", "I004" );
- return true;
- }
- return false;
-
- }else if(ioflag=="I"){
- var dethdd = model.getValue("/root/main/ideth/dethdd"); // 사망일자
- var dethtm = model.getValue("/root/main/ideth/dethtm"); // 사망시간
-
-
- if(dethdd=="" || dethtm==""){
- messageBox ( "사망일시를 ", "C001" );
- return true;
- }
-
- var currentdt = getCurrentDate() + getCurrentTime();
- if(currentdt < (dethdd + dethtm)) {
- messageBox ( "미래 일시로 사망을 등록하실수", "I004" );
- return true;
- }
- return false;
- }else if(ioflag=="T"){
- var dethdd = model.getValue("/root/main/tdeth/dethdd"); // 사망일자
- var dethtm = model.getValue("/root/main/tdeth/dethtm"); // 사망시간
- var indirecdethcd = model.getValue("/root/main/tdeth/indirecdethcd"); //질병코드
- var dethresn = model.getValue("/root/main/tdeth/dethresn"); //직접사인
- var currentdt = getCurrentDate() + getCurrentTime();
-
- if(dethdd=="" || dethtm==""){
- messageBox ( "사망일시를 ", "C001" );
- return true;
- }
-
- if(indirecdethcd==""){
- messageBox ( "질병코드를 ", "C001" );
- return true;
- }
-
- if(dethresn==""){
- messageBox ( "직접사인을 ", "C001" );
- return true;
- }
- if(currentdt < (dethdd + dethtm)) {
- messageBox ( "미래 일시로 사망을 등록하실 수", "I004" );
- return true;
- }
- return false;
- }
- }
|