123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[/*
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- 입원환자리스트 ( SMMMO04300_입원환자리스트.xfdl - JScript )
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- */
- var arErrorCode = new HashArray();
- /**
- * @desc : 화면 초기화
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fInitialize_SMMMO04300(){
- ds_cond.setColumn(0, "indd", utlf_getCurrentDate());
- //의료협력 컬럼 추가 (성가 제외) 091019 kimsj
- // 하드코드 테이블 한번에 조회하도록 프로그램 수정
- lf_gethardcdArrayList(new Array(
- "reqphardcdno|138" , // 진료대상자 의료협력 컬럼 사용여부
- "npdeptcd|104", // 정신과 과 코드 조회
- "hardcdno|63", // 응급의학과
- "opdrugresn|76", // 수술예방적 항생제 사유 입력 부서코드 조회
- "jobhardcdno|65", // 주치의 코드(jobposcd)
- "hardcd|445"
- ),
- new Array(
- "ds_reqphardcdno",
- "ds_npdeptcd",
- "ds_hardcdno",
- "ds_opdrugresn",
- "ds_jobhardcdno",
- "ds_hardcd"
- )
- );
- /*
- mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/reqphardcdno", 138); //진료대상자 의료협력 컬럼 사용여부
- mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/npdeptcd", 104); //정신과 과 코드 조회
- */
- if (ds_reqphardcdno.getColumn(0, "hardcd") == "N") {
- grid.setFormatColProperty(grid.getBindCellIndex("body", "refer"), "size", 0);
- grid.setFormatColProperty(grid.getBindCellIndex("body", "replstat"), "size", 0);
- }
-
- appf_getCodeList([{dsNm: "ds_P0008", cdGrpId: "P0008"}
- , {dsNm: "ds_M0525", cdGrpId: "M0525"}
- , {dsNm: "ds_M0623", cdGrpId: "M0623"}], true);
-
- /*
- mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/hardcdno", 63); //응급의학과 부서코드 조회
- mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/opdrugresn", 76); //수술예방적 항생제 사유 입력 부서코드 조회
- */
-
- var dutplcecd = sysf_getUserInfo("dutplcecd");
- var medispclid = "-";
- var atdoctid = "-";
-
- var reopenflag = parent.parent.ds_reopen.getColumn(0, "reopenflag"); //진료대상자 리스트 open여부
- if(reopenflag != "Y"){ //다시 열린 경우가 아니면, 기본 조회 조건 설정
- var jobposcd = ds_jobhardcdno.lookup("hardcd", sysf_getUserInfo("jobkindcd"), "hardcd");
- if (!utlf_isNull(jobposcd)) {
- medispclid = sysf_getUserId(); //담당교수
- }
- } else { //다시 열린 경우, main에 ordtab의 condlist(화면이 닫힐때 설정된 정보)를 그대로 재설정
- try {
- ds_cond.copyData(parent.parent.ds_reopen_condlist);
- dutplcecd = ds_cond.getColumn(0, "orddeptcd");
- medispclid = ds_cond.getColumn(0, "medispclid");
- atdoctid = ds_cond.getColumn(0, "atdoctid");
- } catch(E) {
- }
- parent.parent.ds_reopen.setColumn(0, "reopenflag", "N");
- }
-
- setDeptCodeList(dutplcecd);
- setUserList(dutplcecd, medispclid, atdoctid);
-
- reqOrderInfoOfCol(ds_reqdata1, ds_gridseq, "SMMMO04300", grd_inpatlist); //입원환자리스트 컬럼 조회 및 설정
-
- if(Div00.cmb_orddept.value == ""){Div00.cmb_orddept.index = 1;} //선택된 진료과가 없는 경우 default로 첫번째 설정
- if(Div00.cmb_medispclid.value == ""){Div00.cmb_medispclid.index = 1;} //선택된 담당교수가 없는 경우 default로 첫번째 설정
-
- var orddeptcd = ds_cond.getColumn(0, "orddeptcd");
- var medispclid = ds_cond.getColumn(0, "medispclid");
- var atdoctid = ds_cond.getColumn(0, "atdoctid");
- var wardcd = ds_cond.getColumn(0, "wardcd");
-
- setRadiationMsg(orddeptcd);
-
- setSubDeptCodeList(orddeptcd);
-
- if (orddeptcd == "-" && medispclid == "-" && atdoctid == "-" && wardcd == "-" ) {
- sysf_messageBox("조회조건 전부가 전체가 될수는", "I004");
- } else {
- fReqInPatList();
- }
- }
- function setDeptCodeList(sDeptcd, sOrddd){
- lf_mmbfGetDeptCodeComboList(ds_orddept, "D", sOrddd); //부서코드 콤보
- lf_mmbfGetDeptCodeComboList(ds_orddept2, "W", sOrddd); //병동코드 콤보
-
- frmf_addComboItem("Div00.cmb_orddept"); //부서콤보 Item '전체'추가
- frmf_addComboItem("Div00.cmb_wardcd"); //병동콤보 전체항목 추가
-
- if(!utlf_isNull(sDeptcd)) {
- Div00.cmb_orddept.value = sDeptcd; //진료과
- Div00.cmb_wardcd.value = "-"; //병동콤보
- }
- }
- function setUserList(sOrddeptcd, sMedispclid, sAtdoctid, sOrddd){
- lf_mmbfGetUserComboList(ds_userlist, sOrddeptcd, "0330", "", "M", sOrddd, "", "P");
- lf_mmbfGetUserComboList(ds_userlist2, sOrddeptcd, "0330", "", "A", sOrddd, "", "P");
-
- frmf_addComboItem("Div00.cmb_medispclid"); //의사콤보 전체항목 추가
- frmf_addComboItem("Div00.cmb_atdoctid"); //의사콤보 전체항목 추가
-
- Div00.cmb_medispclid.value = sMedispclid; //담당교수
- Div00.cmb_atdoctid.value = sAtdoctid; //전공의
- }
- function setSubDeptCodeList(sOrddeptcd) {
- lf_mmbfGetSubDeptComboList(ds_subdeptinfo, sOrddeptcd);
- frmf_addComboItem("Div00.cmb_subdept"); //세부과 전체항목 추가
- ds_cond.setColumn(0, "subdeptcd", "-");
- }
- function setRadiationMsg(sOrddeptcd) {
- var rtorddeptcd = ds_hardcdno.getColumn(0, "hardcd");
- if (sOrddeptcd == rtorddeptcd) { // 진료과가 방사선종양학과 일 경우 stt_radiation이 보여짐
- stt_radiation.visible = true;
- } else {
- stt_radiation.visible = false;
- }
- }
- /**
- * @desc : (입원)관심환자등록창 호출
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fCallWndConcPatRgst(){
- var iRow = ds_inpatlist.rowposition;
- var pid = ds_inpatlist.getColumn(iRow, "pid");
- var hngnm = ds_inpatlist.getColumn(iRow, "hngnm");
- var indd = ds_inpatlist.getColumn(iRow, "indd");
- var cretno = ds_inpatlist.getColumn(iRow, "cretno");
- var seqno = ds_inpatlist.getColumn(iRow, "seqno");
- var instcd = ds_inpatlist.getColumn(iRow, "instcd");
- var param = "I" + "▩" + pid + "▩" + hngnm + "▩" + indd + "▩" + cretno + "▩" + seqno + "▩" + instcd;
- frmf_setParameter("param", param);
- frmf_modal("SPMMO08200", "SPMMO08200", null, null, null, null, null, null, null, null, null, null, "M");
-
- fReqInPatList();
- }
- /**
- * @desc : (입원)주의요망환자창 호출
- * @
- * @param :
- * @return :
- * @author : 엄영만
- * @---------------------------------------------------
- */
- function fCallWndWarnPat(){
- var nCurRow = ds_inpatlist.rowposition;
- var sPid = ds_inpatlist.getColumn(nCurRow, "pid");
- var sHngnm = ds_inpatlist.getColumn(nCurRow, "hngnm");
-
- frmf_setParameter("SMMMO19100_warncd" , sPid);
- frmf_setParameter("SMMMO19100_warnnm" , sHngnm);
-
- frmf_modal("SMMMO19100", "SMMMO19100", null, null, null, null, null, null, null, null, null, null, "M");
-
- frmf_clearParameter("SMMMO19100_warncd");
- frmf_clearParameter("SMMMO19100_warnnm");
- }
- /**
- * @desc : 입원환자 환자 기본정보설정
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fReqInPatPamInfo(){
- var iRow = ds_inpatlist.rowposition;
- var pid = ds_inpatlist.getColumn(iRow, "pid");
- var indd = ds_inpatlist.getColumn(iRow, "indd");
- var cretno = ds_inpatlist.getColumn(iRow, "cretno");
- var instcd = ds_inpatlist.getColumn(iRow, "instcd");
- var srchdd = ds_cond.getColumn(0, "indd"); //조회일자
- var param = "I" + "▦" + pid + "▦" + indd + "▦" + cretno + "▦" + instcd + "▦" + srchdd;
-
- return appf_initPatientInfo(param);
- }
- /**
- * @desc : 내 환자 적용/해제
- * @
- * @param :
- * @event : 팝업창 내 환자 적용 EVENT
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fRgstCnclMyPat(){
- var mypatinfo = "";
- var totrow = ds_inpatlist.rowcount;
- for(var currow = 0; currow < totrow; currow++){
- if(ds_inpatlist.getSelect(currow)){
- var pid = ds_inpatlist.getColumn(currow, "pid");
- var indd = ds_inpatlist.getColumn(currow, "indd");
- var cretno = ds_inpatlist.getColumn(currow, "cretno");
- var seqno = ds_inpatlist.getColumn(currow, "seqno");
- var deptcd = ds_inpatlist.getColumn(currow, "orddeptcd");
- var tmpstr = "▦" + pid + "▦" + indd + "▦" + cretno + "▦" + seqno + "▦" + deptcd + "▩" ;
- mypatinfo += tmpstr;
- }
- }
-
- frmf_setParameter("apntflag", "mypat"); //화면 적용 구분을 내 환자 적용
- frmf_setParameter("mypatinfo", mypatinfo);
- frmf_modal("SPMMO10700", "SPMMO10700", null, null, null, null, null, null, null, null, null, null, "P");
-
- fReqInPatList();
- }
- /**
- * @desc : 협진관리 화면 open
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fOpenCnstPat(){
- var currow = ds_inpatlist.rowposition;
- if(currow < 0){
- return;
- }
- var pid = ds_inpatlist.getColumn(currow, "pid");
- var hngnm = ds_inpatlist.getColumn(currow, "hngnm");
- var sa = ds_inpatlist.getColumn(currow, "sa");
- var orddeptcd = ds_inpatlist.getColumn(currow, "orddeptcd");
- var medispclid = ds_inpatlist.getColumn(currow, "medispclid");
- var medispclnm = ds_inpatlist.getColumn(currow, "medispclnm");
- var indd = ds_inpatlist.getColumn(currow, "indd");
- var roomcd = ds_inpatlist.getColumn(currow, "roomcd");
- var cretno = ds_inpatlist.getColumn(currow, "cretno");
- var patinfo = hngnm + "▦" + sa + "▦" + orddeptcd + "▦" + medispclid + "▦" + cretno + "▦" + medispclnm;
- frmf_setParameter("SPMMO03600_pid" , pid);
- frmf_setParameter("SPMMO03600_orddd" , indd);
- frmf_setParameter("SPMMO03600_roomcd" , roomcd);
- frmf_setParameter("SPMMO03600_patinfo", patinfo);
- frmf_setParameter("SPMMO03600_ioflag" , "I");
- frmf_modal("SPMMO03600", "SPMMO03600", null, null, null, null, null, null, null, null, null, null, "M");
- fReqInPatList();
- }
- /**
- * @desc : 간호 TPR 조회
- * @
- * @param :
- * @return :
- * @author :박유진 20091102
- * @---------------------------------------------------
- */
- function fCallCareTPRInfo(){
- var currow = ds_inpatlist.rowposition;
- var pid = ds_inpatlist.getColumn(currow, "pid");
- var indd = ds_inpatlist.getColumn(currow, "indd");
- var cretno = ds_inpatlist.getColumn(currow, "cretno");
- var instcd = sysf_getUserInfo("dutplceinstcd");
-
- frmf_setParameter("SMMNR00900_Param", "pid▦indd▦cretno▦instcd▦gbn▩" + pid + "▦" + indd + "▦" + cretno + "▦" + instcd +"▦dr▩");
-
- var curNurTprObj = frmf_findPopup("SMMNR00900"); //활성화된 간호 TPR 화면 object loading
- if(!utlf_isNull(curNurTprObj)){ //간호 TPR 화면 refresh
- curNurTprObj.fInitViewer();
- curNurTprObj.fInitialize("init");
- } else {
- frmf_open("SMMNR00900", "SMMNR00900", null, null, null, null, null, null, null, null, null, null, "M");
- }
- }
- /**
- * @desc : 그리드 data 엑셀화일로 저장
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fSaveGridToExcel(){
- grdf_exportExcel(grd_inpatlist, "입원환자리스트", "입원");
- }
- /**
- * @desc : 입원환자 리스트 조회
- * @
- * @param :
- * @event : 조회버튼 EVENT
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fReqInPatList(){
- parent.parent.ds_cond_inpatlist.copyData(ds_cond);
-
- ds_cond.setColumn(0, "srchdd", ds_cond.getColumn(0, "indd"));
-
- ds_reqInPat.copyData(ds_cond);
-
- var compsrefcnts = ds_gridseq.getColumn(0, "compsrefcnts");
- var compssizecnts = ds_gridseq.getColumn(0, "compssizecnts");
-
- if(utlf_isNull(compsrefcnts)) compsrefcnts = "";
- if(utlf_isNull(compssizecnts)) compssizecnts = "";
-
- ds_reqInPat.addColumn("compsrefcnts", "string", 1024);
- ds_reqInPat.addColumn("compssizecnts", "string", 1024);
-
- ds_reqInPat.setColumn(0, "compsrefcnts", compsrefcnts);
- ds_reqInPat.setColumn(0, "compssizecnts", compssizecnts);
-
- var oParam = {};
- oParam.id = "TRMMO04301";
- oParam.service = "prcpmngtapp.EtcPrcpMngt";
- oParam.method = "reqGetInPatList";
- oParam.inds = "req=" + "ds_reqInPat";
- oParam.outds = "ds_inpatlist=inpatlist";
- oParam.async = true;
- oParam.callback = "cf_TRMMO04301";
- tranf_submit(oParam);
- }
- function cf_TRMMO04301(sSvcId, nErrorCode, sErrorMsg) {
- var orderby = ds_cond.getColumn(0, "orderby");
- var sortcol = ds_cond.getColumn(0, "sortcol");
- if(sortcol != "" && orderby != "")
- ds_inpatlist.keystring.current = "S:" + orderby + sortcol;
-
- ds_cond.setColumn(0, "totcnt", ds_inpatlist.rowcount);
- }
- /**
- * @desc : 환자 선택 후, 환자 정보 조회 및 기록지 화면 연동
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fSelectInPat(){
- var currow = ds_inpatlist.rowposition;
- if(currow < 0){
- return;
- }
-
- //처방, CP화면에 modal 또는 modaless가 뜬 경우, 환자 선택 불가
- if(fChkScrnDisable() == false){
- return;
- }
- var pid = ds_inpatlist.getColumn(currow, "pid");
- var orddd = ds_inpatlist.getColumn(currow, "indd");
- var cretno = ds_inpatlist.getColumn(currow, "cretno");
- var ordtype = ds_inpatlist.getColumn(currow, "ordtype");
- var orddeptcd = ds_inpatlist.getColumn(currow, "orddeptcd");
- frmf_setParameter("SPMMO016000_resnflag" , "P"); // 진료대상자에서 수술시 예방적 항생제를 띄울경우
- frmf_setParameter("SPMMO021100_resnflag" , "001"); // 진료대상자에서 정신과 차등수가제도 도입과 관련된 특정내역 팝업을 띄울경우
- frmf_setParameter("SPMMO016000_pid" , pid);
- frmf_setParameter("SPMMO016000_orddd" , orddd);
- frmf_setParameter("SPMMO016000_cretno" , cretno);
- frmf_setParameter("SPMMO016000_ordtype" , ordtype);
- frmf_setParameter("SPMMO016000_orddeptcd" , orddeptcd);
-
- var hngnm = ds_inpatlist.getColumn(currow, "hngnm");
- var reqptype = lf_getDsValue(ds_inpatlist, currow, "reqptype");
- var stnddd = ds_cond.getColumn(0, "indd");
-
- if( sysf_getGlobalVariable("able_sel_patlist", "M") == "N" ) { // 환자 선택 가능 여부 체크 2012.09.03 엄영만
- sysf_messageBox("현재 로그인한 '"+ sysf_getUserInfo("dutplcenm") +"' 부서는 기록저장 및 처방발행이 불가능한 부서 입니다.\n\n다시 로그인 후 진행 하십시오.","E");
- return false;
- }
-
- //환자수술 여부 및 수술처방 확인, 수술처방이 없는 경우 처방화면을 blocking
- if(fChkPatOpPrcp(pid, stnddd, cretno)==false){
- var opcnfmdd = ds_opprcpinfo.getColumn(0, "opcnfmdd");
- //opcnfmdd = opcnfmdd.substring(0, 4) + "-" + opcnfmdd.substring(4, 6) + "-" + opcnfmdd.substring(6, 8);
- //messageBox("[" + hngnm + "]환자의 [" + opcnfmdd + "]일자 수술 처방을 수술탭에서", "C001");
- sysf_messageBox("수술 처방을 수술탭에서", "C001");
- }
-
- fChkPatDSCBook(pid, orddd, orddeptcd);
- var opstatcd = ds_opprcpinfo.getColumn(0, "opstatcd");
- if (opstatcd =="10") {
- sysf_messageBox("수술마취의뢰 내역에 환자 구분이 DSC로 되어 있습니다. \n\n 재원중인 경우 DSC 로 수술마취 확정이 불가합니다.\n\n 수술마취의뢰 정보를 확인하시기 바랍니다.", "");
- } else if (opstatcd =="20") {
- sysf_messageBox("수술마취의뢰 내역에 환자 구분이 DSC로 되어 있습니다. \n\n 수술 여부에 따라 변경 또는 취소 의뢰를 해야 합니다. \n\n 수술마취의뢰 정보를 확인하시기 바랍니다.", "");
- }
-
- //CP환자 여부 확인
- if(fChkCPPatValid(currow)==false){
- return;
- }
- // 진료기록에 수정된 사항이 있을 경우 저장할 것인지 묻는 함수 호출 : 2009. 07. 27 김영학
- var mainobj = frmf_getMainViewer();
- var mainscrnid = mainobj.frmf_getScreenID(); //메인화면의 기록지 ID
- if(mainscrnid == "SMMMR00100"){
- var prvIntRecPamInfRtn = mainobj.fPrevInitRecPamInfo();
- if(prvIntRecPamInfRtn == false){
- return;
- }// 기록지에 필수 입력사항을 입력하지 않았을 때 그냥 넘어가 버리는 오류 수정 20100305 LYJ
- }
- //상단정보 설정 및 진료기록 처방화면 연동
- //var mainObj = getViewer("sysMessage");
-
- if(fReqInPatPamInfo()==true){
- if (fChkOpDrugResn() == false) {
- return;
- }
- if (fChkNpDiffCalcScorResn() == false) {
- return;
- }
-
- parent.parent.frmf_setParameter("SMMMO04100_reqptype", reqptype);
- var cpflag = parent.parent.SMMMO04100_getDSRoot("cpflag");
-
- var ordrecflag = parent.parent.SMMMO04100_getDSMainCond("ordrecflag");
- var recflag = parent.parent.SMMMO04100_getDSMainCond("recflag");
- var chngflag = parent.parent.SMMMO04100_getDSMainCond("chngflag");
-
- if (recflag == "Y") {
- var curEmrRecObj = frmf_findPopup("SMMRI00400"); //활성화된 통합기록 조회 화면 object loading
- var curExamRsltObj = frmf_findPopup("SMAER00800"); //활성화된 검사결과 화면 object loading
- var curNurTprObj = frmf_findPopup("SMMNR00900"); //활성화된 간호 TPR 화면 object loading
- var curNurBSEMRObj = frmf_findPopup("SMMNR02500"); //활성화된 간호 TPR 화면 object loading
- var curGrphObj = frmf_findPopup("SPMRF05200"); //활성화된 그래프 서식 화면 object loading
- var curCunsultObj = frmf_findPopup("SMMMR05000"); //활성화된 Consult 화면 object loading
- var curExamRsltNewObj = frmf_findPopup("SMMMI00100"); //활성화된 검사결과 화면 object loading
- var curCpObj = mainobj.frmf_findPopup("SMMMP00800"); //활성화된 CP Main 화면 object loading
- var curPrcpObj = mainobj.frmf_findPopup("SMMMO00100"); //활성화된 처방Main 화면 object loading
- var curCpSrchObj = mainobj.frmf_findPopup("SPMMP01200"); //활성화된 CP 검색 화면 object loading
-
- if(!utlf_isNull(curEmrRecObj)){ //통합기록 조회화면 refresh;
- frmf_setParameter("SMMRI00400_param_pid" , parent.parent.SMMMO04100_getPid());
- frmf_setParameter("SMMRI00400_param_chosflag", "");//model.getValue("/root/main/paminfo/list/ordtype")); 어디에 있는 노드지?
- curEmrRecObj.fInitalize();
- frmf_setFocusPop("SMMRI00400");
- }
-
- if(!utlf_isNull(curExamRsltObj)){ //검사결과 화면 refresh;
- curExamRsltObj.ds_singdata.setColumn(0, "srchpid", pid );
- curExamRsltObj.btn_srch.onclick.fireEvent(curExamRsltObj.btn_srch, new ClickEventInfo);
- }
-
- if(!utlf_isNull(curNurTprObj)){ //간호 TPR 화면 refresh : 2008-11-28 : 김영학 ;
- curNurTprObj.fInitialize("init");
- }
-
- if(!utlf_isNull(curNurBSEMRObj)){ //혈당간호기록 refresh : 2008-12-24 : 김영학 ;
- curNurBSEMRObj.fInitialize("init");
- }
-
- if(!utlf_isNull(curGrphObj)){ //그래프 서식 refresh : 2009-01-02 : 박민규 SW 요청 : 김영학 ;
- curGrphObj.fInitialize();
- }
-
- if(!utlf_isNull(curCunsultObj)){
- curCunsultObj.fInitalize();
- }
-
- if(!utlf_isNull(curExamRsltNewObj)){
- curExamRsltNewObj.ds_singdata.setColumn(0, "srchpid", pid );
- curExamRsltNewObj.btn_srch.onclick.fireEvent(curExamRsltNewObj.btn_srch, new ClickEventInfo);
- }
-
- if(!utlf_isNull(curPrcpObj)) { //활성화된 처방Main 화면이 있는 경우 close
- curPrcpObj.fPrcpWndClose();
- }
-
- if(!utlf_isNull(curCpObj)){ //활성화된 CP Main화면이 있는 경우 close
- curCpObj.fCloseGPS();
- }
-
- if(!utlf_isNull(curCpSrchObj)){ //활성화된 CP검색화면이 있는 경우 close
- curCpSrchObj.fCpSrchWndClose();
- }
-
- frmf_clearParameter("SMMMO04100_ANSWCNT");
- parent.parent.fChngEMRScrn();// 진료기록 Open
- } else {
- parent.parent.fOpenPrcpMainWnd();
- }
- }
- }
- /**
- * @desc : 전공의 등록
- * @
- * @param :
- * @event : 팝업창 내 환자 적용 EVENT
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fRgstCnclAtDoct(){
- var mypatinfo = "";
- var deptcd = ds_cond.getColumn(0, "orddeptcd");
- var userdeptcd = sysf_getUserInfo("dutplcecd");
- if (deptcd != userdeptcd) {
- sysf_messageBox("환자의 진료과가 다르면 담당의 적용을 할 수 없습니다.", "I");
- return;
- }
- var totrow = ds_inpatlist.rowcount;
- for(var currow = 0; currow < totrow ; currow++){
- if(ds_inpatlist.getSelect(currow)){
- var pid = ds_inpatlist.getColumn(currow, "pid");
- var indd = ds_inpatlist.getColumn(currow, "indd");
- var cretno = ds_inpatlist.getColumn(currow, "cretno");
- var seqno = ds_inpatlist.getColumn(currow, "seqno");
- var orddeptcd = ds_inpatlist.getColumn(currow, "orddeptcd");
- var tmpstr = "▦" + pid +
- "▦" + indd +
- "▦" + cretno +
- "▦" + seqno +
- "▦" + orddeptcd +
- "▩";
- mypatinfo += tmpstr;
- }
- }
-
- frmf_setParameter("apntflag" , "atdoct"); //화면 적용 구분을 전공의 등록으로 적용
- frmf_setParameter("mypatinfo", mypatinfo);
- frmf_modal("SPMMO16200", "SPMMO16200", null, null, null, null, null, null, null, null, null, null, "P");
- fReqInPatList();
- }
- /**
- * @desc : CP환자 여부 검사
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fChkCPPatValid(currow){
- var pid = ds_inpatlist.getColumn(currow, "pid");
- var orddd = ds_inpatlist.getColumn(currow, "indd");
- var cretno = ds_inpatlist.getColumn(currow, "cretno");
- var cpyn = ds_inpatlist.getColumn(currow, "cpyn");
- var hngnm = ds_inpatlist.getColumn(currow, "hngnm");
- var orddeptcd = ds_inpatlist.getColumn(currow, "orddeptcd");
- var ordtype = ds_inpatlist.getColumn(currow, "ordtype");
- if(utlf_isNull(orddeptcd)) orddeptcd = ds_cond.getColumn(0, "orddeptcd");
- if(utlf_isNull(ordtype)) ordtype = "I";
-
- ds_reqdata4.clearData();
- ds_reqdata4.addRow();
-
- ds_reqdata4.setColumn(0, "pid" , pid);
- ds_reqdata4.setColumn(0, "orddd" , orddd);
- ds_reqdata4.setColumn(0, "cretno" , cretno);
- ds_reqdata4.setColumn(0, "hngnm" , hngnm); //추가(2008.08.25)
- ds_reqdata4.setColumn(0, "prcpgenrflag", ordtype);
- ds_reqdata4.setColumn(0, "srchtabflag" , "I"); //대상자리스트탭(I/D):조회결과orddd,cretno는 외래이력의 수전정보임
-
- var oParam = {};
- oParam.id = "TRMMO04303";
- oParam.service = "prcpbaseapp.CpMngt";
- oParam.method = "reqGePattValidity";
- oParam.inds = "req=" + "ds_reqdata4";
- oParam.outds = "ds_rsltgetdata" + "=getdata";
- oParam.async = false;
- oParam.callback = "cf_TRMMO04303";
- tranf_submit(oParam);
-
- if(arErrorCode.pop("TRMMO04303") >= 0){
- if(ds_rsltgetdata.rowcount < 1){ //cp적용환자 tbl에 유효한 데이터가 없는 경우
- parent.parent.SMMMO04100_setDSRoot("cpflag", "N");
- return true;
- } else { //CP적용환자 tbl에 유효한 데이터가 있는 경우
- dsf_setDefaultVal(ds_rsltgetdata, "appyn:Y");
- var appstat = ds_rsltgetdata.getColumn(0, "appstat");
- var cpgnm = ds_rsltgetdata.getColumn(0, "cpgnm");
- var cpgappno = ds_rsltgetdata.getColumn(0, "cpgappno");
- var msgcnts = ds_rsltgetdata.getColumn(0, "msgcnts");
- var msgflag = ds_rsltgetdata.getColumn(0, "msgflag");
- var prtlflagcd = ds_rsltgetdata.getColumn(0, "prtlflagcd"); //01:CP,02:CPG
- if(appstat == 52){ //case52: 입원장 CP
- var rtnval = sysf_messageBox(msgcnts, msgflag);
- if(rtnval == 6){
- parent.parent.SMMMO04100_setDSRoot("cpflag", "X"); // CP Main open
- return true;
- } else {
- parent.parent.SMMMO04100_setDSRoot("cpflag", "N");
- if(fUpdtCPPatAppStatVal(41) != false && !utlf_isNull(ds_inpatlist.getColumn(currow, "cpyn"))){ //41 : CP 취소
- ds_inpatlist.setColumn(currow, "cpyn", "N");
- return;
- }else{
- return false;
- }
- }
- }else{
- if( prtlflagcd == "02" && utlf_isNull(appstat) && msgflag == "P" ){ //모니터링구분:대상자탐색 Case. CPG & 호출flag:Popup(appyn:평가용여부)
- //CPG적용대상자 알림 팝업 호출 (2009.05.04)
- frmf_setParameter("SMMMO041_hngnm" , hngnm);
- frmf_setParameter("SMMMO041_pid" , pid);
- frmf_setParameter("SMMMO041_cretno" , cretno);
- frmf_setParameter("SMMMO041_orddd" , orddd);
- frmf_setParameter("SMMMO041_ordtype" , ordtype);
- frmf_setParameter("SMMMO041_orddeptcd" , orddeptcd);
- frmf_setParameter("SMMMO041_slipnm" , ds_rsltgetdata.getColumn(0, "msgcnts")); //cpgno▦cpghistseq▦cpgnm▦slipno▦slipnm▦valusgeyn▦valunm▦guidedocucnts
- frmf_setParameter("SMMMO041_cpgmntrflag", appstat); //null, SPMMP03200화면에서 cpgmntrflag(M or S)으로 따짐
- frmf_setParameter("SMMMO041_cpgappno" , cpgappno); //적용중인 CP가 존재하면 값이 있음
- frmf_setParameter("SMMMO041_cpgnm" , cpgnm); //적용중인 CP가 존재하면 값이 있음
-
- frmf_modal("SPMMP03200", "SPMMP03200", null, null, null, null, null, null, null, null, null, null, "P"); //CP대상자 알람 팝업
-
- if( cpgappno > 0 && cpgappno != frmf_getParameter("SPMMP032_cpgappno") && !utlf_isNull(ds_inpatlist.getColumn(currow, "cpyn"))){ //진행중인 CP가 있는데 팝업에서 Drop한 경우 CP여부 N으로..
- ds_inpatlist.setColumn(currow, "cpyn", "N");
- }
-
- if( !utlf_isNull(frmf_getParameter("SPMMP032_cpgappno")) && frmf_getParameter("SPMMP032_cpgappno") > 0 ){
- parent.parent.SMMMO04100_setDSRoot("cpflag", "Y"); //CPG적용한 경우, MGPS 호출
- }else{
- parent.parent.SMMMO04100_setDSRoot("cpflag", "N"); //미적용 시 처방 화면 호출
- }
-
- frmf_clearParameter("SPMMP032_cpgappno");
- frmf_clearParameter("SMMMO041_hngnm");
- frmf_clearParameter("SMMMO041_pid");
- frmf_clearParameter("SMMMO041_cretno");
- frmf_clearParameter("SMMMO041_orddd");
- frmf_clearParameter("SMMMO041_ordtype");
- frmf_clearParameter("SMMMO041_orddeptcd");
- frmf_clearParameter("SMMMO041_slipnm");
- frmf_clearParameter("SMMMO041_cpgmntrflag");
- frmf_clearParameter("SMMMO041_cpgappno");
- frmf_clearParameter("SMMMO041_cpgnm");
-
- return true;
-
- } else{
- //case 12 : D0 ~ D1 CP
- //그외 case : (10 : 진행중...)
- if( !utlf_isNull(msgcnts) && !utlf_isNull(msgflag) ){
- //12: D0 처방일과 == 입원일 -> Drop 유도
- //그외: 오늘날짜 > CP퇴원예정일 -> Drop 유도
- sysf_messageBox(msgcnts, msgflag);
- frmf_setParameter("SMMMO043_cpgappno", cpgappno); //drop 팝업에서 인식할 수 있는 param
- frmf_setParameter("SMMMO043_drop" , "N"); //drop 팝업에서 인식할 수 있는 param
-
- frmf_modal("SPMMP02300", "SPMMP02300", null, null, null, null, null, null, null, null, null, null, "M"); //Drop 팝업 호출
-
- parent.parent.SMMMO04100_setDSRoot("cpflag", "N");
- if( frmf_getParameter("SMMMO043_drop") == "Y" ){
- ds_inpatlist.setColumn(currow, "cpyn", "N");
- }else{
- return false;
- }
- frmf_clearParameter("SMMMO043_cpgappno");
- frmf_clearParameter("SMMMO043_drop");
- return true;
- }
-
- parent.parent.SMMMO04100_setDSRoot("cpflag", "Y");
- return true;
- }
- }
- }
- } //end submit
- }
- function cf_TRMMO04303(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /**
- * @desc : 미수행처방관리 화면 Open
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fOpenInFinPrcp(){
- var currow = ds_inpatlist.rowposition;
- if(currow < 0){
- return;
- }
-
- var pid = ds_inpatlist.getColumn(currow, "pid");
- var orddeptcd = ds_inpatlist.getColumn(currow, "orddeptcd");
- var medispclid= ds_inpatlist.getColumn(currow, "medispclid");
-
- frmf_setParameter("SMMMO02800_pid" , pid);
- frmf_setParameter("SMMMO02800_ioflag" , "I");
- frmf_setParameter("SMMMO02800_orddeptcd", orddeptcd);
- frmf_setParameter("SMMMO02800_orddrid" , medispclid);
- frmf_open("SMMMO02800", "SMMMO02800", null, null, null, null, null, null, null, null, null, null, "M");
- }
- /**
- * @desc : 입원환자리스트 색상설정
- * : 내환자적용 환자는 color instance에 ffffff이외의 값이 들어옴
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fChngGrdCellColor(color){
- if(color == undefined || color == "" || color == "ffffff")
- color = "default";
- else
- color = "#" + color;
-
- return color;
- }
- /**
- * @desc : 수술시 예방적 항생제 평가관련 사유를 입력
- * @param :
- * @return :
- * @author : 김영학
- * @---------------------------------------------------
- */
- function fChkOpDrugResn() {
- var currow = ds_inpatlist.rowposition;
- var orddeptcd = ds_inpatlist.getColumn(currow, "orddeptcd");
- var ordtype = ds_inpatlist.getColumn(currow, "ordtype");
- var hardcd = ds_opdrugresn.lookup("hardcd", orddeptcd, "hardcd");
- var cdseqno = ds_opdrugresn.lookup("hardcd", orddeptcd, "cdseqno");
- frmf_setParameter("SPMMO016000_seqno" , cdseqno);
- if (!utlf_isNull(hardcd)) {
- var resnyn = appf_getPatientInfoDetail("resnyn");
- if(ordtype =="I" && utlf_isNull(resnyn)) {
- frmf_modal("SPMMO16000", "SPMMO16000", null, false, 1, 510, 427, null, null, "min=true,max=true,resize=true", null, null, "M");
- }
- }
- /*
- if (orddeptcd =="2040000000" || orddeptcd =="2050000000" || orddeptcd =="2100000000" || orddeptcd =="2070000000") {
- var resnyn = getPatientInfoDetail("resnyn");
- if(ordtype =="I") {
- if (resnyn == "") {
- modal("SPMMO16000", "", "510px", "427px", "SPMMO16000", "", "", "sysmenu:hidden; min:visible; max:visible; icon:visible", false);
- }
- }
- }
- */
- return true;
- }
- /**
- * @desc : 입원환자 선택시 입원일이후 DSC 수술의뢰 또는 확정이 되어 있는 경우 경고를 띄워줌
- * @param :
- * @return :
- * @author : 김영학
- * @---------------------------------------------------
- */
- function fChkPatDSCBook(pid, orddd, orddeptcd){
- ds_reqdata3.clearData();
- ds_reqdata3.addRow();
-
- ds_reqdata3.getColumn(0, "pid" , pid);
- ds_reqdata3.getColumn(0, "orddd" , orddd);
- ds_reqdata3.getColumn(0, "orddeptcd" , orddeptcd);
-
- var oParam = {};
- oParam.id = "TRMMO04309";
- oParam.service = "prcpmngtapp.EtcPrcpMngt";
- oParam.method = "reqGetChkPatDSCBook";
- oParam.inds = "req=" + "ds_reqdata3";
- oParam.outds = "ds_opprcpinfo" + "=opprcpinfo";
- oParam.async = false;
- tranf_submit(oParam);
- }
- function fPrtPatList() {
- if(utlf_isNull(ds_cond.getColumnInfo("orddeptnm"))) ds_cond.addColumn("orddeptnm", "string");
- if(utlf_isNull(ds_cond.getColumnInfo("medispclnm"))) ds_cond.addColumn("medispclnm", "string");
- if(utlf_isNull(ds_cond.getColumnInfo("atdocnm"))) ds_cond.addColumn("atdocnm", "string");
- ds_cond.setColumn(0, "orddeptnm", Div00.cmb_orddept.text);
- ds_cond.setColumn(0, "medispclnm", Div00.cmb_medispclid.text);
- ds_cond.setColumn(0, "atdocnm", Div00.cmb_atdoctid.text);
-
- var objDOM = rptf_createDOM(); // DOM 객체 설정
- rptf_setNodeListToDOM(objDOM, "/root/main/outpatinfo/outpatlist", ds_inpatlist); // 데이터셋 1
- rptf_setNodeListToDOM(objDOM, "/root/main/cond", ds_cond); // 데이터셋 2
- //sysf_trace(objDOM.documentElement.source); // XML 내용출력
-
- var objParam = new Object();
- objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
- var option = "open=1;save=1;directprint=0;print=1;zoom=0;callback=cbf_rpt_onFinishPrintXML";
- rptf_exeReportPreview30(["RPMMO04103"],[objParam], option);
- }
- /**
- * @desc : 정신과 의료급여 환자 환자수진별 입/퇴원 유형 입력 - 정신과 의료급여환자 차등수가제 관련 추가. 요청번호 :
- * @param :
- * @return :
- * @author : 김영학
- * @---------------------------------------------------
- */
- function fChkNpDiffCalcScorResn() {
- var currow = ds_inpatlist.rowposition;
- var orddeptcd = ds_inpatlist.getColumn(currow, "orddeptcd");
- var ordtype = ds_inpatlist.getColumn(currow, "ordtype");
- var insukind = ds_inpatlist.getColumn(currow, "insukind");
- var patdeptcd = ds_npdeptcd.lookup("hardcd", orddeptcd, "hardcd");
- var userdeptcd = ds_npdeptcd.lookup("hardcd", sysf_getUserInfo("dutplcecd"), "hardcd");
- //alert(ordtype + "=====" + getPatientInfoDetail("npresnyn") + "=====" + insukind + "=====" + patdeptcd + "=====" + userdeptcd)
- if (!utlf_isNull(patdeptcd) && !utlf_isNull(userdeptcd)) {
- var resnyn = appf_getPatientInfoDetail("npresnyn");
-
- if(ordtype == "I" && resnyn == "000" && (insukind == "21" || insukind == "22")) {
- frmf_setParameter ( "SPMMO21100_title1" , "입원유형입력"); //정신과 의료급여 환자
- frmf_setParameter ( "SPMMO21100_title2" , "정신과 차등수가제도 특정내역"); //정신과 의료급여 환자
- frmf_setParameter ( "SPMMO21100_resnflag" , "001"); //입원유형사유입력
- frmf_setParameter ( "SPMMO21100_hardcdno" , "174"); //입원유형사유 HARDCODE 번호
- frmf_setParameter ( "SPMMO21100_pid" , ds_inpatlist.getColumn(currow, "pid"));
- frmf_setParameter ( "SPMMO21100_orddd" , ds_inpatlist.getColumn(currow, "indd"));
- frmf_setParameter ( "SPMMO21100_cretno" , ds_inpatlist.getColumn(currow, "cretno"));
- frmf_setParameter ( "SPMMO21100_orddeptcd" , orddeptcd);
- frmf_setParameter ( "SPMMO21100_ordtype" , ordtype);
-
- frmf_modal("SPMMO21100", "SPMMO21100", null, false, 1, 510, 427, null, null, "min=true,max=true,resize=true", null, null, "M");
- }
- }
-
- return true;
- }
- /**
- * @desc : 안전사고 보고
- * @param :
- * @return :
- * @author : 엄영만
- * @---------------------------------------------------
- */
- function fPatQi(){
- var currow = ds_inpatlist.rowposition;
- var pid = ds_inpatlist.getColumn(currow, "pid");
- var orddd = ds_inpatlist.getColumn(currow, "indd");
- var cretno = ds_inpatlist.getColumn(currow, "cretno");
- var ordtype = "I";
- var oprsrvno = "";
-
- frmf_setParameter("SMMQR00100_PARAM2", pid + "▦" + orddd + "▦" + cretno + "▦" + ordtype+"▦" + oprsrvno);
- frmf_modal("SMMQR00100", "SMMQR00100", null, null, null, null, null, null, null, null, null, null, "M");
- }]]></Script>
|