123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[var gItemCds = new Array("0001013001" //진단명
- , "0000933001" //수술및처치명
- , "0000931001" //주호소
- , "0001173001" //현병력
- , "0000098001" //과거력
- , "0001052001" //치료과정
- , "0000053001" //검사결과
- , "0001106001" //퇴원처방
- , "0000080001" //추후계획
- );
- var gItemCdsTextArea = new Array("0001173001", "0000098001", "0001052001", "0000053001", "0001106001", "0000080001");
- var gItemImgCds = new Array("0001173001", "0001052001", "0000053001");
- var arrItemCds = new Array("0001013001"
- , "0000933001"
- , "0000931001"
- , "0001173001"
- , "0000098001"
- , "0001052001"
- , "0000053001"
- , "0001106001"
- , "0000080001"
- , "0000146001"
- , "0001048001" //치료결과
- , "0001107001" //퇴원형태
- , "0008331001" //생검여부
- , "0000735001" //선행사인
- );
- var rSang = grup_base.group1.rdo_sang.degnitemno;
- var cOtype = grup_base.group1.cbo_outtype.degnitemno;
- var cCrslt = grup_base.group1.cbo_carerslt.degnitemno;
- var g_hidden_dschordcnts = "";
- /**
- * @desc : 확장버튼(이미지,가계도,추가기록)을 기록여부에 따라 표시를 위한 버튼목록
- * @id :
- * @authur : 안치원
- * @history : 2009.09.09 신규 안치원 ACW_090909A
- : 2010-03-31 오전 9:46:59 강지훈 수정 : 최종진단명 버튼 추가
- */
- var gExtnBtnIds = new Array("btn_imge_0001173001", "btn_imge_0001052001", "btn_imge_0000053001", "btn_lastdiag_0001013001");
- /**
- * @desc : 기록데이터 조회
- * @id :
- * @event : xforms-ready
- * @return : void
- * @authur : 박종훈
- */
- function fLoadData()
- {
- lf_setRecData(arrItemCds);
-
- var sStatus = fGetFormRec("status");
- fSetBasicInfo(sStatus);
-
- // InitPgmFormData();
- // InitUnitFormData(gItemCds);
- }
- /**
- * @desc : 서식 데이터 Clear
- * @
- * @param :
- * @return :
- * @authur : 박종훈
- */
- function fClearComnFormData()
- {
- if (gMaxSectionID != "")
- {
- var MaxObj = document.controls("lbl_" + gMaxSectionID);
- MaxObj.dispatch("onclick");
- }
-
- ClearComnFormData(gItemCds);
- clearData();
-
- //초기화 후 기본내용 조회
- //fExtnInitFormRec();//2010.03.17 dhkim initFormAtLast_MMR01100I로 이동(initAtLast이후에 퇴원처방 데이터가 로딩되어야함)
-
- //포커스 처리
- SetDefFocusMTX(gItemCds);
- }
- function fSetRecItemValue(reciteminfo)
- {
- return SetCommMediFormValue(gItemCds, reciteminfo);
- }
- /****************************************************************************************
- * Components : Radio
- * Components ID : Common Radio
- * Event : onitemchange
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : 라디오버튼(콤보박스) 선택에 따른 reccnts셋팅
- ****************************************************************************************/
- function fRadioYN(obj, e:ItemChangeEventInfo)
- {
- var sDegnitemlevlcd = obj.degnitemlevlcd;
- var nFindRow = ds_data_recitem.findRow("degnitemlevlcd", sDegnitemlevlcd);
- //var sDegnitemno = obj.degnitemno;
- //var nFindRow = ds_data_recitem.findRow("degnitemno", sDegnitemno);
- if(nFindRow == -1)
- {
- nFindRow = ds_data_recitem.addRow();
- var insRow = ds_temp_mainrecitem.findRow("degnitemlevlcd", sDegnitemlevlcd);
- ds_data_recitem.copyRow(nFindRow, ds_temp_mainrecitem, insRow);
- }
-
- ds_data_recitem.setColumn(nFindRow, "rectermcd", e.postvalue);
- ds_data_recitem.setColumn(nFindRow, "rectermnm", e.posttext);
-
- // var ditemno = eval(cType);
- // var sRdoCd = model.getValue("/root/main/recinfo/recitem[degnitemno='" + ditemno + "']/rectermcd");
- // var sRdoNm = model.getValue("/root/main/forminfo/vallist[valcd='" + sRdoCd + "']/valitemnm");
- // model.setValue("/root/main/recinfo/recitem[degnitemno='" + ditemno + "']/rectermnm", sRdoNm);
- }
- /****************************************************************************************
- * Components : Radio
- * Components ID : Common Radio
- * Event : onrbuttondown
- * Argument : 01.obj : Object Event has occurred
- * : 02.e : Event Object
- * Description : 라디오버튼(콤보박스) 선택 초기화
- ****************************************************************************************/
- function fCnclMicroTest(obj:Radio, e:MouseEventInfo)
- {
-
- //var sDegnitemlevlcd = obj.degnitemlevlcd;
- //var nFindRow = ds_data_recitem.findRow("degnitemlevlcd", sDegnitemlevlcd);
- var sDegnitemno = obj.degnitemno;
- var nFindRow = ds_data_recitem.findRow("degnitemno", sDegnitemno);
- ds_data_recitem.setColumn(nFindRow, "rectermcd", "");
- ds_data_recitem.setColumn(nFindRow, "rectermnm", "");
- obj.value = "";
-
- return true;
- // var ditemno = eval(cType);
- // model.setValue("/root/main/recinfo/recitem[degnitemno='" + ditemno + "']/rectermcd", "");
- }
- /****************************************************************************************
- * Function : fChkPreSave
- * Description : 기록 인스턴스 연결
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function fChkPreSave(signedYn)
- {
- var rtnVal = true;
- var itemNm = "";
-
- if( signedYn == "N" )
- return true;
-
- rtnVal = refreshDschOrd_MMR00800("CHK_PRE_SAVE");
-
- if(rtnVal == false){
- return false;
- }else{
- if( grup_base.ivw_0001013001.fChkGrdPreSave_MMR00800(true, itemNm) == false ){
- return false;
- }
- return grup_base.ivw_0000931001.fChkGrdPreSave(true, itemNm);//주호소
- }
- }
- /****************************************************************************************
- * Function : fExtnInitFormRec
- * Description : 확장서식 기록 초기 설정
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function fExtnInitFormRec()
- {
-
- if (parent.fGetFormRec("status") == "C")
- {
- //debugger;
- // grup_base.ivw_0001013001.fGetDiagNm(parent.ds_data_formrec); //환자정보로 진단명 조회
- // grup_base.ivw_0000933001.fSrchOprlist(parent.ds_data_formrec); //환자정보로 수술명 조회
- var sSendDsNm = dsf_createDsRow("ds_send_reqinfstrec", [{col:"pid", type:"string", size:256, val:parent.fGetFormRec("pid")}
- , {col:"orddd", type:"string", size:256, val:parent.fGetFormRec("orddd")}
- , {col:"cretno", type:"INT" , size:256, val:parent.fGetFormRec("cretno")}]);
- var objSandDS:Dataset = new Dataset;
- objSendDS = this.objects[sSendDsNm];
-
-
- var sRtnDsNm = dsf_createDs("ds_data_infstrec", [{col:"instcd", type:"STRING", size:256}
- , {col:"rechistseq", type:"BIGDECIMAL", size:256}
- , {col:"recitemno", type:"INT", size:256}
- , {col:"fstlevlitemcd", type:"STRING", size:256}
- , {col:"formcd", type:"STRING", size:256}
- , {col:"formdegnseq", type:"BIGDECIMAL", size:256}
- , {col:"degnitemno", type:"INT", size:256}
- , {col:"degnitemcd", type:"STRING", size:256}
- , {col:"degnitemkind", type:"STRING", size:256}
- , {col:"degnitemlevlno", type:"INT", size:256}
- , {col:"degnitemnm", type:"STRING", size:256}
- , {col:"degnitemlevlcd", type:"STRING", size:256}
- , {col:"rectermcd", type:"STRING", size:256}
- , {col:"rectermnm", type:"STRING", size:256}
- , {col:"recrefcd", type:"STRING", size:256}
- , {col:"recitemnm", type:"STRING", size:256}
- , {col:"reccnts", type:"STRING", size:256}
- , {col:"unitnm", type:"STRING", size:256}
- , {col:"recimge", type:"BLOB", size:0}
- , {col:"srcimge", type:"BLOB", size:0}
- , {col:"rowno", type:"STRING", size:256}
- , {col:"colno", type:"STRING", size:256}
- , {col:"supdegnitemno", type:"STRING", size:256}
- , {col:"extdegnitemlevlcd", type:"STRING", size:256}
- , {col:"rectermflag", type:"STRING", size:256}
- , {col:"degnunitcd", type:"STRING", size:256}], true);
- var objRtnDS:Dataset = new Dataset;
- objRtnDS = this.objects[sRtnDsNm];
-
- var oParam = {};
- oParam.id = "TRMMR00801";
- oParam.service = "formmngtapp.FormIfMngt";
- oParam.method = "reqGetDschSmmIf";
- oParam.inds = "req="+sSendDsNm;
- oParam.outds = sRtnDsNm+"=recitem";
- oParam.async = false;
- oParam.callback = "cf_TRMMR00801";
- tranf_submit(oParam);
-
- if(arErrorCode.pop("TRMMR00801") > -1)
- {
- // sysf_trace(objRtnDS.saveXML());
- /* SSMRF04100_서식주호소 유입
- var filterStr = "fstlevlitemcd=='0000931001' && formcd == '0000000901'";
- if( objRtnDS.getCaseCount(filterStr) > 0 ){
-
- objRtnDS.filter(filterStr);
- grup_base.ivw_0000931001.fSetCCInfo(objRtnDS);
- grup_base.ivw_0000931001.fAddrow();
- objRtnDS.filter("");
- }
- */
-
- //현병력
- var nFindRow = objRtnDS.findRow("degnitemlevlcd", "0001173");
- var fstlevlitemcd = objRtnDS.getColumn(nFindRow, "fstlevlitemcd");
- var tarObj = ComnFormObj.components["tar_" + fstlevlitemcd];
- if( !utlf_isNull(tarObj) ){
- var sValue = objRtnDS.getColumn(nFindRow, "reccnts");
- var nRow = ds_data_recitem.findRow("degnitemno", "4");
- ds_data_recitem.setColumn(nRow, "reccnts", sValue);
- tarObj.value = sValue;
- }
-
- //과거력
- var arrAnstnodeList = objExt.findRows(objRtnDS, "fstlevlitemcd", "0000098001");
- var degnitemlevlcd = "";
- var rectermcd = "";
- var rectermnm = "";
- var reccnts = "";
- var degnitemnm = "";
- var degnitemkind = "";
- var recrslt = "";
-
- for(var i = 0; i < arrAnstnodeList.length; i++)
- {
- degnitemlevlcd = objRtnDS.getColumn(arrAnstnodeList[i], "degnitemlevlcd");
- rectermcd = objRtnDS.getColumn(arrAnstnodeList[i], "rectermcd");
- rectermnm = objRtnDS.getColumn(arrAnstnodeList[i], "rectermnm");
- reccnts = objRtnDS.getColumn(arrAnstnodeList[i], "reccnts");
- degnitemnm = objRtnDS.getColumn(arrAnstnodeList[i], "degnitemnm");
- degnitemkind = objRtnDS.getColumn(arrAnstnodeList[i], "degnitemkind");
-
- if(degnitemkind == "IMG" || degnitemkind == "FDG")
- continue;
-
- degnitemlevlcd = degnitemlevlcd.split(".");
- if (degnitemlevlcd.length > 1){
- if (!utlf_isNull(rectermnm) && !utlf_isNull(reccnts)){
- recrslt += degnitemnm + rectermnm + " ※ " + reccnts + "\n";
- }else if (!utlf_isNull(rectermnm)){
- recrslt += degnitemnm + rectermnm + "\n";
- }else if (!utlf_isNull(reccnts)){
- recrslt += degnitemnm + " ※ " + reccnts + "\n";
- }
- }else{
- recrslt = reccnts + "\n";
- }
- }
-
- var tarObj = ComnFormObj.components["tar_0000098001"];
- if( !utlf_isNull(tarObj) ){
- var nRow = ds_data_recitem.findRow("degnitemno", "5");
- ds_data_recitem.setColumn(nRow, "reccnts", recrslt);
- tarObj.value = recrslt;
- }
- }
- }
-
-
-
- var dschdd = parent.fGetPamInfo("dschdd");
- var indschacptstat = parent.fGetPamInfo("indschacptstat");
-
- //sysf_trace(" dschdd : " + dschdd + " || indschacptstat : " + indschacptstat + " || indschacptstat : " + indschacptstat );
-
- if (dschdd == "99991231" && indschacptstat != "D" && indschacptstat != "T")
- {
- if (grup_base.btn_outprcp_0001106001.enable && grup_base.btn_resv_0000080001.enable)
- {
- //퇴원처방, 예약버튼 비활성화
- grup_base.btn_outprcp_0001106001.enable = false;
-
- grup_base.ivw_0001106001.enable = false;
- grup_base.tar_0001106001.enable = false;
- }
- }
- else
- {
- if (!grup_base.btn_outprcp_0001106001.enable && !grup_base.btn_resv_0000080001.enable)
- {
- //퇴원처방, 예약버튼 활성화
- grup_base.btn_outprcp_0001106001.enable = true;
- grup_base.ivw_0001106001.enable = true;
- grup_base.tar_0001106001.enable = true;
- }
-
- fGetAutoPatOutPrcpList("0001106001");
- }
- }
- function cf_TRMMR00801(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /****************************************************************************************
- * Function : fGetAutoPatOutPrcpList
- * Description : 환자퇴원처방정보 가져오기
- * 2010.04.14 dhkim 퇴원처방자동저장 플래그추가
- * Argument : 01. itemCd
- * 02. autoSaveYn
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function fGetAutoPatOutPrcpList(itemCd, autoSaveYn)
- {
- var prcpdd = "";
- var bfflag = "bfprcp";
- var flag = "-";
- var todd = "";
- var nRow = parent.ds_data_formrec.rowposition;
- var pid = parent.ds_data_formrec.getColumn(nRow, "pid");
- var orddd = parent.ds_data_formrec.getColumn(nRow, "orddd");
- var cretno = parent.ds_data_formrec.getColumn(nRow, "cretno");
- var orddrid = "";
- var orddeptcd = parent.ds_data_formrec.getColumn(nRow, "orddeptcd");
- var prcpgenrflag = parent.ds_data_formrec.getColumn(nRow, "chosflag");
- //2010.03.17 dhkim 퇴원처방 구분자 변경됨
- prcpdd = "recbfsrch"; // 입퇴원 요약지의 퇴원처방 날짜조건 변경을 위한 구분자
-
- sysf_trace("==fGetAutoPatOutPrcpList 입퇴원요약 처음로딩시 : prcpdd ::" + prcpdd);
- //처방정보 가져오기(퇴원처방 prcpkindcd = 60)
- //if(fBfPrcpSrchCom(pid, orddd, prcpdd, bfflag, flag, orddrid, todd, prcpgenrflag, orddeptcd, cretno, "TRMMO00100", true))
- var prcplistCnt = 0;
- var expr = "prcpkindcd == 60 && prcphistcd != 'C' && prcphistcd != 'L' && prcphistcd != 'E'";
- if(lf_bfPrcpSrchCom(pid, orddd, prcpdd, bfflag, flag, orddrid, todd, prcpgenrflag, orddeptcd, cretno, "TRMMO00100", "", "", ""))
- {
- //var nodelistPrcpinfo = model.instances(0).selectNodes("/root/prcpsrch/prcplist[prcpkindcd = 60 and prcphistcd != 'C' and prcphistcd != 'L' and prcphistcd != 'E']");
- prcplistCnt = ds_prcpsrch_prcplist.getCaseCount(expr);
- }
-
- var prcpkind = ""; //처방종류
- var orgprcpnm = ""; //처방명
- var drugmthdspccdnm = ""; //용법
- var prcpdelivefact = ""; //전달사항
- var prcplist = "";
-
- var prcpclscd = "";
-
- var tmpdrugmthdspccdnm = "";
- if(prcplistCnt >= 1){
- ds_prcpsrch_prcplist.filter(expr);
- for(var i = 0; i < prcplistCnt; i++)
- {
- tmpdrugmthdspccdnm = ds_prcpsrch_prcplist.getColumn(i, "drugmthdspccdnm");
- prcpkind = ds_prcpsrch_prcplist.getColumn(i, "tempcol13");
- orgprcpnm = ds_prcpsrch_prcplist.getColumn(i, "tempcol6");
- drugmthdspccdnm = utlf_transNullToEmpty(ds_prcpsrch_prcplist.getColumn(i, "tempcol7"));
- prcpclscd = ds_prcpsrch_prcplist.getColumn(i, "prcpclscd");
-
- drugmthdspccdnm = drugmthdspccdnm.replace(tmpdrugmthdspccdnm, "");
-
- drugmthdspccdnm = drugmthdspccdnm.replace("[급]", "");
- drugmthdspccdnm = drugmthdspccdnm.replace("[일]", "");
- drugmthdspccdnm = drugmthdspccdnm.replace("[본]", "");
- drugmthdspccdnm = drugmthdspccdnm.replace("(집)", "");
- drugmthdspccdnm = drugmthdspccdnm.replace("[home]", "");
- drugmthdspccdnm = drugmthdspccdnm.replace("[임상]", "");
- drugmthdspccdnm = drugmthdspccdnm.replace("[prn]", "");
- var prcpdelivefact = ds_prcpsrch_prcplist.getColumn(i, "prcpdelivefact");
- if (prcpclscd == "A2" || prcpclscd == "A4" || prcpclscd == "A6")
- {
- prcplist += orgprcpnm + " " + drugmthdspccdnm + "\n"
- }
- else
- {
- prcplist += orgprcpnm + "\n"
- }
- }
- ds_prcpsrch_prcplist.filter("");
- }
- else
- {
- prcplist = "No medication";
- }
-
- var nFindRow = ds_data_recitem.findRow("fstlevlitemcd", itemCd);
- var prerec = ds_data_recitem.getColumn(nFindRow, "reccnts");
-
- if (utlf_isNull(prerec))
- {
- prerec = prcplist + "\n";
- }
-
- //2010.04.14 dhkim 퇴원처방자동저장의 경우 기존의 값이 있어도 새로 세팅한다.
- if(autoSaveYn == "SET_DSCHORD"){
- prerec = prcplist + "\n";
- }
-
- if(!utlf_isNull(prerec))
- {
- var objTextArea = ComnFormObj.components["tar_" + itemCd];
- // var objDivArea = ComnFormObj.components["ivw_" + itemCd];
-
- if(nFindRow == -1)
- {
- var nTmpPrntRow = ds_temp_mainrecitem.findRowExpr("fstlevlitemcd == '" + itemCd + "' && degnitemlevlno == '1' && degnitemkind == 'MTX'");
- if(nTmpPrntRow != -1)
- {
- nFindRow = ds_data_recitem.addRow();
- ds_data_recitem.copyRow(ds_data_recitem.rowcount - 1, ds_temp_mainrecitem, nTmpPrntRow);
-
- }
- }
- ds_data_recitem.setColumn(nFindRow, "reccnts", prerec);
- objTextArea.value = prerec;
- }
- //model.setValue(pageInfo.recItemRef + "[fstlevlitemcd='" + itemCd + "']/reccnts", prerec);
- return prcplistCnt;
- }
- /****************************************************************************************
- * Function : fSetDataValItem
- * Description : Value List데이터 아이템 값 매핑
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function fSetDataValItem()
- {
- //치료결과 Vallist Setting
- var carersltgpcd = ds_data_formdegn.lookup("degnitemno", cCrslt, "valgrupcd");
- ds_data_vallist.filter("grupcd=='"+carersltgpcd+"'");
- ds_init_cbo_carerslt.copyData(ds_data_vallist, true);
- //ds_data_vallist.filter("");
- //퇴원형태 Vallist Setting
- var dschtypegpcd = ds_data_formdegn.lookup("degnitemno", cOtype, "valgrupcd");
- ds_data_vallist.filter("grupcd=='"+dschtypegpcd+"'");
- ds_init_cbo_outtype.copyData(ds_data_vallist, true);
- //ds_data_vallist.filter("");
-
- //생검여부 Vallist Setting
- var sanggpcd = ds_data_formdegn.lookup("degnitemno", rSang, "valgrupcd");
- ds_data_vallist.filter("grupcd=='"+sanggpcd+"'");
- ds_init_rdo_sang.copyData(ds_data_vallist, true);
- ds_data_vallist.filter("");
-
- }
- /**
- * @desc : 서식 진단명 사이즈 조절
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetSizeFormDiag()
- {
- grup_base.ivw_0001013001.fInitPage(false, parseInt(grup_base.ivw_0001013001.position.height), parseInt(grup_base.ivw_0001013001.position.width));
- }
- /**
- * @desc : 서식 수술명 사이즈 조절
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetSizeFormOpr()
- {
- grup_base.ivw_0000933001.fInitPage(false, parseInt(grup_base.ivw_0000933001.position.height), parseInt(grup_base.ivw_0000933001.position.width));
- }
- /**
- * @desc : 서식 주호소 사이즈 조절
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetSizeFormCC()
- {
- grup_base.ivw_0000931001.fInitPage(false, parseInt(grup_base.ivw_0000931001.position.height), parseInt(grup_base.ivw_0000931001.position.width));
- }
- /*****************************************************************************
- 튜닝
- ******************************************************************************/
- var gLoadFormCnts = 0;
- /*******************************************************************
- * Function : fFormReady
- * Description : 화면 로드시 초기화 작업을 수행
- *******************************************************************/
- function fFormReady()
- {
- this.ComnFormObj = this.grup_base;
- dsf_createDsRow("ds_temp_mainrecitem",
- [{col:"formxrw", val:""}]);
- // 공통서식의 초기 recitem 정보. 기록 데이터 조합시 사용
- ds_temp_mainrecitem.assign(ds_data_recitem);
-
- lf_setSectionSize(gItemCds, "grup_base.tar_0001013001", "grup_base.tar_0000080001", 606);
- // dispOnLoadComplete(COMN_FORM);
- // lf_checkUnitForm(gItemCds); // 부분서식 로딩
- lf_AllLoadUnitFormExpand(gItemCds); // 전체 로딩
- InitBtnImge(gItemImgCds);
- // InitBtnComn(gItemCds);
- InitBtnOutPrcp("0001106001"); //환자퇴원처방정보
- InitBtnResv("0000080001"); //환자예약정보
-
- //2010-03-31 오전 9:47:21 강지훈 추가 : 최종진단명 요약지 추가
- InitBtnLastDiag("0001013001");
-
- //2010.01.21
- // initCmbExtnList(gItemCds);
-
- fSetDataValItem(); // combo, radio valuelist 맵핑
-
- lf_setRecData(arrItemCds);
-
- var sStatus = fGetFormRec("status");
- fSetBasicInfo(sStatus);
-
-
- // fOnLoadComplete
- if (parent.fGetFormRec("status") == "C")
- {
- //2010-03-11 오후 8:06:14 강지훈 수정 : 최종진단명 요약지 최초작성시 disable처리
- grup_base.btn_lastdiag_0001013001.enable = false;
- SetDefFocusMTX(gItemCds);
- }
- else if (parent.fGetFormRec("status") == "U" && parent.fGetFormRec("espiyn") == "Y")
- {
-
- //2010.04.20 dhkim Staff-Sign권한체크로직 펑션으로 분리
- fCosignCheck();
-
- }
-
- //2010.02.25 안치원 - 입퇴원요약기록 - 퇴원처방 입력방법 변경(팝업)
- refreshDschOrd_MMR00800("SET_DSCHORD");
-
- // ivw_loder onloadcomplete
- if(lf_getHardCDList("Y", 9926, 3) == "Y"){
- grup_base.btn_lastdiag_0001013001.visible = true;
- }
- else{
- grup_base.btn_lastdiag_0001013001.visible = false;
- }
-
- }
- /**
- * @group :
- * @ver : 2008.06.13
- * @by : snoweye
- * @---------------------------------------------------
- * @type : function
- * @access : private
- * @desc : 부분서식 로딩
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fLoadUnitForm()
- {
- initSection(gItemCds);
- }
- /**
- * @group :
- * @ver : 2008.06.13
- * @by : snoweye
- * @---------------------------------------------------
- * @type : function
- * @access : private
- * @desc : 부분서식 로딩후 후처리
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fOnLoadComplete()
- {
- var curLoadFormCd = frmf_getParameter("loadformcd");
- frmf_setParameter("loadformcd", "");
- var nFindRow = ds_data_unitformmast.findRowExpr("formcd=='" + curLoadFormCd + "' && loaded != 'true'");
- var fstLevlItemCd = ds_data_unitformmast.getColumn(nFindRow, "orgsupdegnitemcd");
- var ivwObj = ComnFormObj.components["ivw_" + fstLevlItemCd];
- var unitformload = ds_data_unitformmast.getColumn(nFindRow, "loaded");
-
- if(!utlf_isNull(ivwObj) && unitformload != "true")
- {
- //setFstLevlItemCd(ivwObj, curLoadFormCd);
- var nRow = ds_data_unitformmast.findRow("formcd", curLoadFormCd);
- ds_data_unitformmast.setColumn(nRow, "loaded", "true");
- }
- //진단명 부분서식 로딩후 처리
- if(fstLevlItemCd == '0001013001')
- {
- fSetSizeFormDiag();
- }
- //수술명 부분서식 로딩후 처리
- if(fstLevlItemCd == '0000933001')
- {
- fSetSizeFormOpr();
- }
- //주호소 부분서식 로딩후 처리
- if(fstLevlItemCd == '0000931001')
- {
- fSetSizeFormCC();
- }
- gLoadFormCnts++;
- utlf_addLog("@@@@@ gItemCds.length : " + gItemCds.length + " gLoadFormCnts : " + gLoadFormCnts );
- if(gItemCds.length == gLoadFormCnts)
- {
- //fExtnInitFormRec();//2010.03.17 dhkim initFormAtLast_MMR01100I() 로 이동(initAtLast이후에 퇴원처방데이터가 로딩되어야함)
-
- dispOnLoadComplete(UNIT_FORM);
-
-
- if (parent.fGetFormRec("status") == "C")
- {
- //2010-03-11 오후 8:06:14 강지훈 수정 : 최종진단명 요약지 최초작성시 disable처리
- grup_base.btn_lastdiag_0001013001.enable = false;
- SetDefFocusMTX(gItemCds);
- }
- else if (parent.fGetFormRec("status") == "U" && parent.fGetFormRec("espiyn") == "Y")
- {
- //2010.04.20 dhkim Staff-Sign권한체크로직 펑션으로 분리
- fCosignCheck();
- }
- //2010.02.25 안치원 - 입퇴원요약기록 - 퇴원처방 입력방법 변경(팝업)
- // doDschOrdCntsOfDCSN_MMRCom("LOAD_COMPLETE");
- refreshDschOrd_MMR00800("SET_DSCHORD");
- }
- }
- /**
- * @group :
- * @ver : 2008.11.28
- * @by : jonghun
- * @---------------------------------------------------
- * @type : function
- * @access : private
- * @desc : 동일 서식이 떠있을 경우 내부 인스턴스 로딩 후 디폴트 조회내용 조회
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fGetDefData()
- {
- //fExtnInitFormRec();
- dispOnLoadComplete(UNIT_FORM);
-
- if (parent.fGetFormRec("status") == "C")
- {
- SetDefFocusMTX(gItemCds);
- }
- }
- function fSaveAfter()
- {
- // doDschOrdCntsOfDCSN_MMRCom("SAVE_AFTER");
- refreshDschOrd_MMR00800("SAVE_AFTER");
- }
- /****************************************************************************************
- * Function : refreshDschOrd_MMR00800
- * Description :
- * Argument : 01.flag - 구분
- ****************************************************************************************/
- function refreshDschOrd_MMR00800(flag)
- {
- sysf_trace(">> refreshDschOrd_MMR00800 "+flag);
- var enabled = false;
- if (parent.getInitInfo_MMR01100("openExtnFlag") == "DisChargeSummaryNote_ReDschOrd") {
- enabled = true;
- }
-
- sysf_trace(" enabled >>>>>>>>>>>>>>>> " + enabled );
-
- if (flag == "ENABLED") {
- //*****************************************************************
- //퇴원처방 자동저장 기능 수행여부
- //*****************************************************************
- return enabled;
- }
- else if (flag == "CHK_PRE_SAVE") {
- if (enabled) {
- //*****************************************************************
- //퇴원처방내역이 갱신되었는지를 검사하여, 변경되지 않으면 저장이 되지 않는다.
- //*****************************************************************
- var oldCnts = g_hidden_dschordcnts;
- var newCnts = ds_data_recitem.lookup("degnitemlevlcd", "0001106", "reccnts");
-
- if (oldCnts == newCnts) {
- return false;
- } else {
- return true;
- }
- }
- else {
- return true;
- }
- }
- else {
- if (enabled) {
- if (flag == "SET_DSCHORD") {
- //*****************************************************************
- //퇴원처방을 설정한다.
- //*****************************************************************
- var oldCnts = ds_data_recitem.lookup("degnitemlevlcd", "0001106", "reccnts");
- g_hidden_dschordcnts = oldCnts;
- fGetAutoPatOutPrcpList("0001106001", flag);
-
- if (parent.fClickSave("Y") == false) {
- refreshDschOrd_MMR00800("CLOSE_AUTOSAVE_FORM");
- }
- }
- else if (flag == "SAVE_AFTER") {
- //*****************************************************************
- //저장후에 진료기록메인이 있다면 갱신한다.
- //*****************************************************************
- var mainWnd = frmf_getMainViewer();
- if (!utlf_isNull(mainWnd) && mainWnd.frmf_getScreenID() == "SMMMR00100") {
- mainWnd.reload();
- }
- refreshDschOrd_MMR00800("CLOSE_AUTOSAVE_FORM");
- }
- else if (flag == "CLOSE_AUTOSAVE_FORM") {
- //*****************************************************************
- //서식자동저장 창을 닫는다.
- //*****************************************************************
- var wnd = frmf_findPopup("SPMMR07300");
- if (!utlf_isNull(wnd)) {
- wnd.close();
- }
- }
- }
- }
- }
- /**
- * 2010.03.17 dhkim 추가
- */
- function initFormAtLast_MMR01100I(){
- fExtnInitFormRec();//확장서식 기록 초기 설정(initFormAtLast이후에 퇴원처방로딩되어야함)
- }
- /**
- * @group :
- * @ver : 2010.04.20
- * @by : dhkim
- * @---------------------------------------------------
- * @type : function
- * @access : private
- * @desc : Staff-Sign관련 권한체크 로직 onloadcomplete함수에서 분리
- * 기존의 TRMMR00802 호출하던 submission을 TRMMR01302로 통합함.
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fCosignCheck(){
- //코사인 권한 관련 처리
- ds_send_extninfo.clearData();
- var nRow = ds_send_extninfo.addRow();
- ds_send_extninfo.setColumn(nRow, "infoflag", "staffauth");
- ds_send_extninfo.setColumn(nRow, "formrecseq", parent.fGetFormRec("formrecseq"));
-
- dsf_setDefaultVal(ds_send_extninfo, "dschdd:99991231");
-
- var oParam = {};
- oParam.id = "TRMMR01302";
- oParam.service = "medirecapp.RecIf";
- oParam.method = "reqGetFormRecExtnInfo";
- oParam.inds = "req=ds_send_extninfo";
- oParam.outds = "ds_main_extninfo_resultinfo=resultinfo ds_main_extninfo_staffauthinfo=staffauthinfo ds_main_extninfo_oprinfo=oprinfo "
- + "ds_main_extninfo_oplistinfo=oplistinfo ds_main_extninfo_recitem=recitem ds_main_extninfo_drlistinfo=drlistinfo "
- + "ds_data_diagcdlist=diagcdlist ds_main_extninfo_selectoplist=selectoplist ds_main_extninfo_dscinoutinfo=dscinoutinfo "
- + "ds_main_extninfo_rectextinfo=rectextinfo ds_main_extninfo_anstdrlistinfo=anstdrlistinfo ds_main_extninfo_oproomlistinfo=oproomlistinfo "
- + "ds_main_extninfo_recseqinfo=recseqinfo ds_main_extninfo_etcinfo=etcinfo";
- oParam.async = false;
- oParam.callback = "cf_TRMMR01302";
- tranf_submit(oParam);
-
- if(arErrorCode.pop("TRMMR01302") > -1)
- {
- var nRow = ds_main_extninfo_staffauthinfo.rowposition;
- var authyn = ds_main_extninfo_staffauthinfo.getColumn(nRow, "authyn");
- if(authyn == "Y")
- {
- //인증저장버튼과 코사인버튼처리
- parent.grup_btn.btn_cosign.position.x = parent.grup_btn.btn_signsave.position.x;
- parent.grup_btn.btn_signsave.visible = false;
- parent.grup_btn.btn_cosign.visible = true;
- // parent.grup_btn.btn_cosign.enable = true;
- //임시저장버튼과 기록반려버튼처리
- parent.grup_btn.btn_resend.position.x = parent.grup_btn.btn_tmpsave.position.x;
- parent.grup_btn.btn_tmpsave.visible = false;
- parent.grup_btn.btn_resend.visible = true;
- //parent.grup_btn.btn_resend.enable = true;
-
- //기타버튼 disable처리
- parent.grup_btn.btn_init.enable = false;
- parent.grup_btn.btn_preview.enable = false;
- parent.grup_btn.btn_signsaveasnew.enable = false;
- parent.grup_btn.btn_del.enable = false;
- if (parent.fGetFormRec("cosign") == "Y")
- {
- parent.grup_btn.btn_cosign.enable = false;
-
-
- //2010-03-31 오전 9:49:07 강지훈 추가 : 최종진단명 요약지 버튼설정, Staffsign이 완료된이후에만 사용
- var childrenObj = grup_base.components;
- for(i=0; i< childrenObj.length; i++)
- {
- childObj = childrenObj[i];
- if(childObj.name == "btn_lastdiag_0001013001"){
- childObj.enable = true;
- }
- else{
- childObj.enable = false;
- childObj.orgEnable = "Y";
- }
- }
- }
- else
- {
- parent.grup_btn.btn_cosign.enable = true;
- grup_base.enable = true;
- }
- }
- else
- {
- //인증저장버튼과 코사인버튼처리
- parent.grup_btn.btn_signsave.visible = true;
- parent.grup_btn.btn_cosign.visible = false;
- //임시저장버튼과 기록반려버튼처리
- parent.grup_btn.btn_tmpsave.visible = true;
- parent.grup_btn.btn_resend.visible = false;
-
- //기타버튼 enable처리
- parent.grup_btn.btn_init.enable = true;
- parent.grup_btn.btn_preview.enable = true;
- parent.grup_btn.btn_signsaveasnew.enable = true;
- parent.grup_btn.btn_del.enable = true;
- }
- }
- }
- function cf_TRMMR01302(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- if(nErrorCode < 0) return;
- dsf_setDefaultVal(ds_main_extninfo_recitem, "recitemno:'',degnitemno:'',supdegnitemno:''");
- dsf_setTypeFormat(ds_main_extninfo_recitem, "recitemno:INT^degnitemno:INT^supdegnitemno:INT");
- }
- /****************************************************************************************
- * Function : fChngDoct
- * Description : 치료결과, 퇴원형태에 따른 reccnts셋팅
- ****************************************************************************************/
- function fChngDoct(obj:Combo, e:ItemChangeEventInfo)
- {
- var sDrnm, sDrcd;
- var sDegnitemlevlcd = obj.degnitemlevlcd;
- var nFindRow = ds_data_recitem.findRow("degnitemlevlcd", sDegnitemlevlcd);
-
- if(nFindRow == -1)
- {
- nFindRow = ds_data_recitem.addRow();
- var insRow = ds_temp_mainrecitem.findRow("degnitemlevlcd", sDegnitemlevlcd);
- ds_data_recitem.copyRow(nFindRow, ds_temp_mainrecitem, insRow);
- }
-
- sDrnm = e.posttext;
- sDrcd = e.postvalue;
-
- if( utlf_isNull(e.posttext) ){
- sDrnm = "";
- sDrcd = "";
- obj.value = "";
- }
- ds_data_recitem.setColumn(nFindRow, "rectermcd", sDrcd);
- ds_data_recitem.setColumn(nFindRow, "rectermnm", sDrnm);
- }]]></Script>
|