123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361 |
- <?xml version="1.0" encoding="EUC-KR"?>
- <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
- <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
- <xhtml:head>
- <xhtml:title>사전심사 요구 -- 문의사항이 있을 경우 심사실(본원.T5076, 칠곡.T2184)로 문의 바랍니다.!!</xhtml:title>
- <model id="model1">
- <instance id="instance1">
- <root xmlns="">
- <result>
- </result>
- <err2>
- </err2>
- <err1>
- </err1>
- <send/>
- </root>
- </instance>
- <script type="javascript" ev:event="xforms-model-construct-done">
- <![CDATA[
- model.removenode ( "/root/err1/prcperrlist" );
- ]]>
- </script>
- <submission id="TRZBC00101" mediatype="application/x-www-form-urlencoded" method="post"/>
- <script type="javascript" ev:event="xforms-ready">
- <![CDATA[
- var flag = "";
- var sPrcpPkSpec = ""; //Y: 무조건비급여, 2:무조건일반, W:심사요구->비급여변경, W2:심사요구->일반변경
- var waitCnt = 0;
- var cnclCnt = 0;
- var srcErrNodeList = model.instances(0).selectNodes ("/root/result/prcperrlist");
- var currow = 1;
- //무조건비급여 대상 instance
- var destNode2 = model.instances(0).selectSingleNode( "/root/err2" );
- var cnt2 = 0;
- //사전심사 대상 instance
- var destNode1 = model.instances(0).selectSingleNode( "/root/err1" );
- var cnt1 = 0;
-
- //opener에서 받은 instance 없으면, 리스트 조회 (2011.03.17 JJE)
- if( srcErrNodeList.length <= 0 ){
- model.makeValue("/root/send/pid", opener.model.getValue("/root/paminfo/list/pid") );
- model.makeValue("/root/send/cretno", opener.model.getValue("/root/paminfo/list/cretno") );
- model.makeValue("/root/send/orddd", opener.model.getValue("/root/paminfo/list/orddd") );
- submit("TRMMO21501");
- } else {
- submit("TRMMO21502");
- }
-
- var srcNodeList = model.instances(0).selectNodes ("/root/result/prcpmsglist");
-
- //화면 그리드에 데이터 셋팅
- for ( var i=0; i < srcNodeList.length; i++ ) {
- currow = i + 1;
- sPrcpPkSpec = model.getValue ( "/root/result/prcpmsglist[" + currow + "]/prcppkspec" ); //Y: 무조건비급여, 2:무조건일반, W:심사요구->비급여변경, W2:심사요구->일반변경
- if( sPrcpPkSpec == "Y" || sPrcpPkSpec == "2" ){
- destNode2.appendChild(srcNodeList.item(i).cloneNode(true));
- cnt2++;
- }else{ //else : W
- destNode1.appendChild(srcNodeList.item(i).cloneNode(true));
- cnt1++;
- }
- }
-
- if ( cnt2 > 0 ) {
- btn_err2.selected = true;
- }
-
- if ( cnt1 > 0 ) {
- btn_bfjudg.visible = true;
- btn_bfjudg.disabled = false;
- btn_err1.selected = true;
- }
- errlist2.rebuild();
- errlist1.rebuild();
- errlist2.mergeCells = "bycol";
- errlist2.mergeCol(0) = true;
- errlist2.mergeCol(1) = true;
- errlist2.merge();
-
- errlist1.mergeCells = "bycol";
- errlist1.mergeCol(0) = true;
- errlist1.mergeCol(1) = true;
- errlist1.mergeCol(errlist1.colRef("cnfmsg") ) = false;
- errlist1.merge();
- errlist2.autoResize = true ; //2010.02.04 JJE 오류내용이 긴 경우 모두 보이지 않아서 resize시킴..
- errlist1.autoResize = true ; //2010.02.04 JJE 오류내용이 긴 경우 모두 보이지 않아서 resize시킴..
-
- // 처방리스트중 사전심사중인지
- // 사전심사 거부된 리스트인지 조회해서
- // 버튼을 hidden 시킨다.
- var sCnts = getNodesetCount("/root/result/savedrprcplist")
- if (sCnts > 0 ) {
- for (i = 0; i < sCnts; i++ ) {
- var drprcpetc9 = model.getValue("/root/result/savedrprcplist/drprcpetc9");
- if (drprcpetc9 == "W") {
- waitCnt ++;
- }
- if (drprcpetc9 == "X") {
- cnclCnt++;
- }
- }
- }
-
- // 무조건 비급여 대상과 사전심사대상에 같은 수가만 존재할경우 심사요구를 막고 본인100% 저장을 유도 노회식
- if(errlist1.rows > 1 && errlist2.rows > 1) {
- var vflag = 1;
- var vprcpcnt = 0;
- for(var i = 1 ; i < errlist1.rows ; i++) {
- var vprcpcd = errlist1.valueMatrix(i, errlist1.colRef("prcpcd"));
- vprcpcnt = 0;
- for(var j = 1 ; j < errlist2.rows ; j++) {
- if(errlist2.valueMatrix(j, errlist2.colRef("prcpcd")) == vprcpcd) {
- vprcpcnt++;
- }
- }
- if(vprcpcnt == 0) {
- vflag = 0
- }
- }
- if(vflag > 0) {
- btn_bfjudg.disabled = true;
- }
- }
- ]]>
- </script>
- <submission id="TRMMO21501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/result"/>
- <submission id="TRMMO21502" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/result/saveflaginfo" resultref="/root/result"/>
- <submission id="TXMMO21502" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/err1/prcpmsglist" resultref="/root/result"/>
- </model>
- <script type="javascript" src="../../../com/commonweb/js/common.js"/>
- <script type="javascript" src="../../../emr/prcpmngtweb/js/MMO001.js"/>
- <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
- <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
- <script type="javascript">
- <![CDATA[
- // 화면 open, 저장시 초기화 기능을 수행한다.
- function fClose() {
- window.close();
- }
- ]]>
- </script>
- </xhtml:head>
- <xhtml:body pagewidth="815" pageheight="500" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
- <button id="button1" class="btn4_letter2" visibility="hidden" style="left:400px; top:0px; width:56px; height:22px; ">
- <caption>확인</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- window.close();
- ]]>
- </script>
- </button>
- <datagrid id="errlist2" nodeset="/root/err2/prcpmsglist" caption="^처방코드^처방명^심사내용" colsep="^" colwidth="33, 80, 287, 374" dataheight="23" ellipsis="true" extendlastcol="scroll" rowheight="23" rowsep="|" selectionmode="free" tooltip="true" style="left:0px; top:23px; width:791px; height:105px; ">
- <col checkvalue="W,Y" ref="prcppkspec" type="checkbox" visibility="hidden"/>
- <col ref="prcpcd" type="output"/>
- <col ref="prcpnm" style="left:113px; top:23px; width:287px; height:23px; "/>
- <col ref="errmsg"/>
- </datagrid>
- <datagrid id="errlist1" nodeset="/root/err1/prcpmsglist" caption="^처방코드^처방명^심사내용^사유코드^처방사유(심사팀전달)^cnfrmk" colsep="^" colwidth="33, 80, 200, 250, 0, 210, 0" dataheight="23" ellipsis="true" extendlastcol="scroll" rowheight="23" rowsep="|" selectionmode="free" tooltip="true" style="left:0px; top:157px; width:791px; height:290px; ">
- <col checkvalue="W,Y" ref="prcppkspec" type="checkbox" visibility="hidden"/>
- <col ref="prcpcd" type="output"/>
- <col ref="prcpnm"/>
- <col ref="errmsg"/>
- <col ref="cnfcd" visibility="hidden"/>
- <col ref="cnfmsg"/>
- <col ref="cnfrmk" visibility="hidden"/>
- <script type="javascript" ev:event="ondblclick">
- <![CDATA[
- if (isDataCell()) {
- var nRow = errlist1.row;
- var sPrcpCd = model.getValue("/root/err1/prcpmsglist[" + nRow + "]/prcpcd");
- var sCnfRmk = model.getValue("/root/err1/prcpmsglist[" + nRow + "]/cnfrmk"); // EMR.MMOHRESN 처방 사유 테이블의 resnflag 사유구분(M0530)
- var sHardCdNo = "";
-
- if(sCnfRmk == "015") { // PET/CT 처방 사유
- sHardCdNo = "455";
- } else {
- sHardCdNo = "457"; // 기본 사유
- }
-
- setParameter ("SPMMO90300_hardcdno" , sHardCdNo);
-
- modal("SPMMO90300");
-
- if(getParameter ("SPMMO90300_rtn" ) == "Y") {
- var sHardCd = getParameter ("SPMMO90300_hardcd" ) ;
- var sHardNm = getParameter ("SPMMO90300_hardnm" ) ;
-
-
- var checkLength = model.instances(0).selectNodes( "/root/err1/prcpmsglist" ).length;
- var resnCnt = 0;
- var sUserId = "";
-
- for ( var i =1; i <= checkLength; i++ ) {
- if ( sPrcpCd == model.getValue ( "/root/err1/prcpmsglist[" + i + "]/prcpcd" )) {
- model.setValue("/root/err1/prcpmsglist[" + i + "]/cnfcd", sHardCd);
- model.setValue("/root/err1/prcpmsglist[" + i + "]/cnfmsg", sHardNm);
- }
- }
- model.refresh();
- }
-
- clearParameter ("SPMMO90300_rtn" );
- clearParameter ("SPMMO90300_hardcd" );
- clearParameter ("SPMMO90300_hardnm");
- }
- ]]>
- </script>
- </datagrid>
- <button id="btn_err2" class="btn_sw" group="tab1" style="left:0px; top:0px; width:125px; height:22px; ">
- <caption>무조건 비급여대상</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- model.toggle ("case1" );
- ]]>
- </script>
- </button>
- <button id="btn_err1" class="btn_sw" group="tab2" style="left:0px; top:135px; width:95px; height:22px; ">
- <caption>사전심사 대상</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- model.toggle ("case1" );
- ]]>
- </script>
- </button>
- <caption id="cap_inform" style="left:5px; top:446px; width:150px; height:44px; color:#ff0000; ">사전심사 대상 처방에 대해</caption>
- <button id="btn_bfjudg" class="btn3_letter13" disabled="true" style="left:160px; top:455px; width:188px; height:22px; ">
- <caption>심사 요구 하시겠습니까?</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- // 처방사유, 심사팀 전달사항 저장 2014.11.12 엄영만
- var checkLength = model.instances(0).selectNodes( "/root/err1/prcpmsglist" ).length;
- var resnCnt = 0;
- var sUserId = "";
-
- if ( checkLength > 0 ) {
- sUserId = getUserInfo("userid");
-
- for ( var i =1; i <= checkLength; i++ ) {
- model.makeValue ( "/root/err1/prcpmsglist[" + i + "]/userid", sUserId);
- if ( "016" != model.getValue ( "/root/err1/prcpmsglist[" + i + "]/cnfrmk" ) && "-" == model.getValue ( "/root/err1/prcpmsglist[" + i + "]/cnfcd" )) {
- resnCnt++;
- }
- }
- if (resnCnt > 0) {
- messageBox ( "처방사유(심사팀전달) '필수입력 항목' 중 사유가 선택되지 않은 처방이", "I010" );
- return;
- }
-
- submit("TXMMO21502");
- } // End of 처방사유, 심사팀 전달사항 저장 2014.11.12 엄영만
- var prcpcd = "";
- var dcprcppkspec = ""; //Y: 무조건비급여, 2:무조건일반, W:심사요구->비급여변경, W2:심사요구->일반변경
- var errrow = 0;
- var srcNodeListMainLength = opener.model.instances(0).selectNodes( "/root/main/prcp/prcplist" ).length;
- if( errlist1.rows > 0 ){
- for (var i= 1 ; i <errlist1.rows ; i++) {
- prcpcd = model.getValue("/root/err1/prcpmsglist[" + i + "]/prcpcd");
- errrow = model.getValue("/root/err1/prcpmsglist[" + i + "]/errrow");
- for ( var j=1 ; j < srcNodeListMainLength; j++ ) {
- if ( prcpcd == opener.model.getValue ( "/root/main/prcp/prcplist[" + j + "]/prcpcd" ) && (j == errrow || errrow == 0)) {
- opener.model.setValue ( "/root/main/prcp/prcplist[" + j + "]/drprcpetc9", "W");
-
- if( opener.model.getValue ( "/root/main/prcp/prcplist[" + j + "]/status" ) == "-" ){ //만일 이미 임시저장해놓은 처방인 경우 저장할 처방이 없어서 블러킹되므로, status를 U로 바꿔준다 (2011.02.14 JJE)
- opener.model.setValue ( "/root/main/prcp/prcplist[" + j + "]/status", "U");
- }
- }
- }
- }
- } //end if errlist1.rows > 0
-
- if( errlist2.rows > 0 ){
- for (var i= 1 ; i <errlist2.rows ; i++) {
- prcpcd = model.getValue("/root/err2/prcpmsglist[" + i + "]/prcpcd");
- prcppkspec = model.getValue("/root/err2/prcpmsglist[" + i + "]/prcppkspec"); //Y: 무조건비급여, 2:무조건일반, W:심사요구->비급여변경, W2:심사요구->일반변경
- errrow = model.getValue("/root/err2/prcpmsglist[" + i + "]/errrow");
- for ( var j=1 ; j < srcNodeListMainLength; j++ ) {
- if ( prcpcd == opener.model.getValue ( "/root/main/prcp/prcplist[" + j + "]/prcpcd" ) && (j == errrow || errrow == 0)) {
- if( prcppkspec == "2" ) { //무조건 사전심사 항목은 선택에 무관하게 본인부담으로 변경. 단, 처방코드로 비교하고 있으므로.. 하나의 처방코드가 2개 이상의 룰에 해당되고 일부는 무조건비급여, 일부는 사전심사인 경우 각각의 처리가 안됨. (2010.12.24 전지은)
- opener.model.setValue ( "/root/main/prcp/prcplist[" + j + "]/payflagcd", "2"); //일반
- } else {
- opener.model.setValue ( "/root/main/prcp/prcplist[" + j + "]/payflagcd", "1"); //본인부담
- }
- opener.model.setValue ( "/root/main/prcp/prcplist[" + j + "]/drprcpetc9", "Y");
-
- if( opener.model.getValue ( "/root/main/prcp/prcplist[" + j + "]/status" ) == "-" ){ //만일 이미 임시저장해놓은 처방인 경우 저장할 처방이 없어서 블러킹되므로, status를 U로 바꿔준다 (2011.02.14 JJE)
- opener.model.setValue ( "/root/main/prcp/prcplist[" + j + "]/status", "U");
- }
- }
- }
- }
- } //end if errlist2.rows > 0
-
- opener.javascript.setParameter("SPMMO21500_rntValue", "REQ");
- window.close();
- ]]>
- </script>
- </button>
- <button id="btn_chgpayflag" class="btn3_letter13" style="left:370px; top:455px; width:188px; height:22px; ">
- <caption>본인 100%로 하시겠습니까?</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- var prcpcd = "";
- var prcppkspec = ""; //Y: 무조건비급여, 2:무조건일반, W:심사요구->비급여변경, W2:심사요구->일반변경
- var errrow = 0;
- var srcNodeListMainLength = opener.model.instances(0).selectNodes( "/root/main/prcp/prcplist" ).length;
- if( errlist1.rows > 0 ){
- for (i= 1 ; i <errlist1.rows ; i++) {
- prcpcd = model.getValue("/root/err1/prcpmsglist[" + i + "]/prcpcd");
- prcppkspec = model.getValue("/root/err1/prcpmsglist[" + i + "]/prcppkspec"); //Y: 무조건비급여, 2:무조건일반, W:심사요구->비급여변경, W2:심사요구->일반변경
- errrow = model.getValue("/root/err1/prcpmsglist[" + i + "]/errrow");
- for ( var j=1 ; j < srcNodeListMainLength; j++ ) {
- if ( prcpcd == opener.model.getValue ( "/root/main/prcp/prcplist[" + j + "]/prcpcd" ) && (j == errrow || errrow == 0)){
- if( prcppkspec == "2" || prcppkspec == "W2" ) {
- opener.model.setValue ( "/root/main/prcp/prcplist[" + j + "]/payflagcd", "2"); //일반
- } else {
- opener.model.setValue ( "/root/main/prcp/prcplist[" + j + "]/payflagcd", "1"); //본인부담
- }
- opener.model.setValue ( "/root/main/prcp/prcplist[" + j + "]/drprcpetc9", "Y");
- }
- }
- }
- }
-
- if( errlist2.rows > 0 ){
- for (i= 1 ; i <errlist2.rows ; i++) {
- prcpcd = model.getValue("/root/err2/prcpmsglist[" + i + "]/prcpcd");
- prcppkspec = model.getValue("/root/err2/prcpmsglist[" + i + "]/prcppkspec"); //Y: 무조건비급여, 2:무조건일반, W:심사요구->비급여변경, W2:심사요구->일반변경
- errrow = model.getValue("/root/err2/prcpmsglist[" + i + "]/errrow");
- for ( var j=1 ; j < srcNodeListMainLength; j++ ) {
- if ( prcpcd == opener.model.getValue ( "/root/main/prcp/prcplist[" + j + "]/prcpcd" ) && (j == errrow || errrow == 0) ) {
- //무조건 사전심사 항목은 선택에 무관하게 본인부담으로 변경. 단, 처방코드로 비교하고 있으므로.. 하나의 처방코드가 2개 이상의 룰에 해당되고 일부는 무조건비급여, 일부는 사전심사인 경우 각각의 처리가 안됨. (2010.12.24 전지은)
- if( prcppkspec == "2" || prcppkspec == "W2" ) {
- opener.model.setValue ( "/root/main/prcp/prcplist[" + j + "]/payflagcd", "2"); //일반
- } else {
- opener.model.setValue ( "/root/main/prcp/prcplist[" + j + "]/payflagcd", "1"); //본인부담
- }
- opener.model.setValue ( "/root/main/prcp/prcplist[" + j + "]/drprcpetc9", "Y");
- }
- }
- }
- } //end if errlist2.rows > 0
-
- opener.javascript.setParameter("SPMMO21500_rntValue", "chgPayFlag");
- window.close();
- ]]>
- </script>
- </button>
- <button id="btn_close" class="btn3_letter15" style="left:580px; top:455px; width:212px; height:22px; ">
- <caption>처방변경을 하시겠습니까? (닫기)</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- opener.javascript.setParameter("SPMMO21500_rntValue", "PrcpChg");
- window.close();
- ]]>
- </script>
- </button>
- </xhtml:body>
- </xhtml:html>
|