123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457 |
- <?xml version="1.0" encoding="UTF-8"?>
- <?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>처방입력</xhtml:title>
- <model id="model1">
- <instance id="instance1">
- <root xmlns="">
- <init>
- <popupmenu>
- <item>
- <label>삭제</label>
- <func>fDelPrcpList</func>
- </item>
- </popupmenu>
- </init>
- <main>
- <cond>
- <noticnts/>
- <earncls2/>
- <trsmdd/>
- <trsmtm/>
- <eqmtcd/>
- <ocdseq/>
- <closeyn/>
- </cond>
- <cdlist/>
- <prcp/>
- </main>
- <prcpsrch/>
- <send>
- <cond1/>
- <cond2/>
- <cond3/>
- <cond4/>
- <cond5/>
- <cond6/>
- <cond7/>
- <cond8/>
- <cond9/>
- <cond10/>
- <cond11/>
- <cond12/>
- <cond13/>
- <cond14/>
- <cond15/>
- <cond16/>
- <cond17/>
- <cond18/>
- <cond99/>
- </send>
- </root>
- </instance>
- <script type="javascript" ev:event="xforms-ready">
- <![CDATA[
- var msg = "* 타병원 검사 영상이 PACS에 입력되었습니다.\n 필요한 재판독 의뢰를 해주시기 바랍니다.";
- model.setValue("/root/main/cond/noticnts", msg);
- /*
- //CD 등록 리스트 조회
- if( !submit("TRMMO21201") ){
- model.removeNodeset("/root/prcpsrch/prcplist");
- model.setValue("/root/send/cond1", ""); //처방 중분류 조건
- fPrcpSrchCom ( "", getCurrentDate(), opener.model.getValue ( "/root/paminfo/list/insukind"), "TRMMO00100", "-", false, "getOuterPrcpSrchInfo");
- }
- */
- var pid = opener.javascript.getParameter("spmmo21200_pid");
- var orddeptcd = opener.javascript.getParameter("spmmo21200_orddeptcd");
- if ( !isNull(pid) && !isNull(orddeptcd) ) {
- copyNodesetType("/root/main/cdlist", "/root/spmmo21200/cdlist", "replace", model, opener.model);
- }
- /*
- model.removeNodeset("/root/prcpsrch/prcplist");
- model.setValue("/root/send/cond1", ""); //처방 중분류 조건
- fPrcpSrchCom ( "", getCurrentDate(), opener.model.getValue ( "/root/paminfo/list/insukind"), "TRMMO00100", "-", false, "getOuterPrcpSrchInfo");
- */
-
- model.refresh();
- model.setFocus("grd_prcplist", true);
-
- ]]>
- </script>
- <submission id="TRMMO00100" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/prcpsrch"/>
- <!-- 외부 등록 CD 존재 여부 조회 및 판독료 저장정보 저장 -->
- <submission id="TRMMO21201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/spmmo21200/send" resultref="/root/spmmo21200/cdlist"/>
- <submission id="TXMMO21201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/spmmo21200/send" resultref="/root/spmmo21200/cdlist"/>
-
- <!-- 처방 복사 로직변경 xml 2013.07.05 by 엄영만-->
- <submission id="TRMMO00150" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/prcpcopy"/>
- <submission id="TRMMO00151" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/temp"/>
- <submission id="TXMMO00120" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/monitoringlog/reqdata" resultref="/root/monitoringlog"/>
-
- </model>
- <script type="javascript" src="../../../com/commonweb/js/common.js"/>
- <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
- <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
- <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
- <script type="javascript" src="../../../emr/prcpmngtweb/js/MMO001.js"/>
- <script type="javascript">
- <![CDATA[
- var typeRef = "/root/main/cdlist/info";
- var prcpsrchRef = "/root/prcpsrch/prcplist";
- var prcpRef = "/root/main/prcp/prcplist";
-
- //그리드 체크 시, 체크박스 표기
- function fCheckPrcp( iGrdNm, iRow ){
- if( isNull(iGrdNm) ) return;
- iGrdCntl = document.controls( iGrdNm );
-
- var iRef = "";
- if(iGrdNm == "grd_typelist") { iRef = typeRef; }
- else if(iGrdNm == "grd_prcpsrch"){ iRef = prcpsrchRef; }
- else if(iGrdNm == "grd_prcplist") { iRef = prcpRef; }
-
- if( model.getValue(iRef + "[" + iRow + "]/status") == "I" ){
- model.setValue(iRef + "[" + iRow + "]/status", "-");
- model.refresh();
- return false;
- }else{
- //같은 전송일자의 CD들에 한해서 한번에 조회 가능토록..
- if( iGrdNm == "grd_typelist" ){
- var trsmdd = model.getValue(typeRef + "[" + iRow + "]/trsmdd");
- var trsmtm = model.getValue(typeRef + "[" + iRow + "]/trsmtm");
- var eqmtcd = model.getValue(typeRef + "[" + iRow + "]/eqmtcd");
- var ocdseq = model.getValue(typeRef + "[" + iRow + "]/ocdseq");
- /*
- var appendNodes = instance1.selectNodes(typeRef + "[status='I' and (trsmdd!='"+trsmdd+"' or trsmtm!='"+trsmtm+"')]");
- if( appendNodes.length > 0 ){
- //alert("외부 CD 등록일이 다른 CD가 이미 선택되어 있습니다.\n등록일이 다른 CD는 선택을 취소하십시오.");
- //return false;
- for(var i=0; i<appendNodes.length; i++){
- var node = appendNodes.item(i);
- var statusNode = node.selectSingleNode("status");
- model.setValue(statusNode, "-");
- }
- }
- */
- var ocdseq = model.getValue(typeRef + "[" + iRow + "]/ocdseq");
- var bfNode = instance1.selectSingleNode(typeRef + "[status='I' and ocdseq!='"+ocdseq+"']/status");
- if( bfNode != null ) model.setValue(typeRef + "[status='I' and ocdseq!='"+ocdseq+"']/status", "-");
-
- model.setValue("/root/main/cond/trsmdd",trsmdd);
- model.setValue("/root/main/cond/trsmtm", trsmtm);
- model.setValue("/root/main/cond/eqmtcd", eqmtcd);
- model.setValue("/root/main/cond/ocdseq", ocdseq);
- }
-
- model.setValue(iRef + "[" + iRow + "]/status", "I");
-
- iGrdCntl.refresh();
- }
- }
-
- //상위 조건 선택 시, 하위 내용 조회
- function fAppendPrcp( iGrdNm, iRow ){
- if( isNull(iGrdNm) ) return;
- iGrdCntl = document.controls( iGrdNm );
-
- var sRef = "";
- var dRef = "";
- if(iGrdNm == "grd_typelist"){
- sRef = typeRef;
- }else if(iGrdNm == "grd_prcpsrch"){
- sRef = prcpsrchRef;
- dRef = "/root/main/prcp";
-
- }else if(iGrdNm == "grd_prcplist"){
- sRef = prcpRef;
- }
-
- //fPrcpSrchCom ( earncls2, trsmdt, opener.model.getValue ( "/root/paminfo/list/insukind"), "TRMMO00100", "-", false, "getOuterPrcpSrchInfo");
-
- if( iRow > 0 ){
- if(iGrdNm == "grd_prcpsrch"){ //선택 처방의 type, 순번 컬럼 추가 및 value copy
- model.makeValue(sRef + "[" + iRow + "]/eqmtcd", model.getValue("/root/main/cond/eqmtcd"));
- model.makeValue(sRef + "[" + iRow + "]/ocdseq", model.getValue("/root/main/cond/ocdseq"));
- }
- var status = model.getValue(sRef + "[" + iRow + "]/status");
- if( status == "I" ){
- //var eqmtcd = ocdseq = "";
- copyNodeListType(dRef, sRef + "[" + iRow +"]", "after", model, model);
- }
- }else{
- var appendNodes = instance1.selectNodes(sRef + "[status='I']");
- if( appendNodes.length > 0 ){
- if(iGrdNm == "grd_prcpsrch"){ //선택 처방의 type, 순번 컬럼 추가 및 value copy
- for(var i=1; i<=grd_prcpsrch.rows; i++){
- if( model.getValue(sRef + "[" + i + "]/status") == "I" ){
- model.makeValue(sRef + "[" + i + "]/eqmtcd", model.getValue("/root/main/cond/eqmtcd"));
- model.makeValue(sRef + "[" + i + "]/ocdseq", model.getValue("/root/main/cond/ocdseq"));
- }
- }
- }
- copyNodeListType(dRef, sRef + "[status='I']", "after", model, model);
- }
- }
- model.refresh();
- }
-
- //처방 조회
- function fSrchPrcp(){
- var earncls2 = "";
- var trsmdt = "";
- var typeNodes = instance1.selectNodes(typeRef + "[status='I']");
-
- model.removeNodeset("/root/prcpsrch/prcplist");
- //model.setValue("/root/send/cond1", earncls2); //처방 중분류 조건
-
- if( typeNodes.length > 0 ){
- for( var i=0; i<typeNodes.length; i++ ){
- var node = typeNodes.item(i);
- earncls2 = earncls2 + "'" + node.selectSingleNode("earncls2").text + "',";
- }
- earncls2 = earncls2.substring(0, earncls2.length-1);
- model.setValue("/root/main/cond/earncls2", earncls2);
- trsmdt = model.getValue("/root/main/cond/trsmdd") + model.getValue("/root/main/cond/trsmtm");
-
- fPrcpSrchCom ( earncls2, trsmdt, opener.model.getValue ( "/root/paminfo/list/insukind"), "TRMMO00100", "-", false, "getOuterPrcpSrchInfo");
- }
-
- grd_prcpsrch.refresh();
- }
-
- //외부등록 CD에 저장
- function fSaveOuterCdInfo(){
- if( model.getValue("/root/main/cond/closeyn") == "Y" ){
- var pid = opener.javascript.getParameter("spmmo21200_pid");
- var orddeptcd = opener.javascript.getParameter("spmmo21200_orddeptcd");
- if ( !isNull(pid) && !isNull(orddeptcd) ) {
- model.makeValue("/root/spmmo21200/send/pid" , pid);
- model.makeValue("/root/spmmo21200/send/orddeptcd", orddeptcd);
- if( !submit("TXMMO21201", false) ){
- messageBox("저장을", "E009");
- }
- return true;
- }
- }
- }
-
- //처방 삭제
- function fDelPrcpList(){
- model.removeNode(prcpRef + "[" + grd_prcplist.row + "]");
- grd_prcplist.refresh();
- }
- ]]>
- </script>
- </xhtml:head>
- <xhtml:body pagewidth="630" pageheight="670" guideline="2,650;1,3;" style="margin-left:8; margin-top:8; margin-right:8; margin-bottom:8; ">
- <caption id="caption1" class="tit_2" style="left:13px; top:62px; width:577px; height:13px; ">외부CD 재판독 처방</caption>
- <line id="line1" class="line_1" style="x1:3px; y1:78px; x2:612px; y2:78px; "/>
- <caption id="caption2" class="tit_2" style="left:13px; top:477px; width:577px; height:13px; ">선택 처방</caption>
- <line id="line2" class="line_1" style="x1:3px; y1:493px; x2:612px; y2:493px; "/>
- <datagrid id="grd_prcpsrch" nodeset="/root/prcpsrch/prcplist" caption="선택^처방코드^코드명" colsep="^" colwidth="40, 125, 419" ellipsis="true" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowsep="|" selectionmode="byrow" tooltip="true" style="left:3px; top:205px; width:607px; height:251px; ">
- <col checkvalue="I,-" ref="status" type="checkbox" style="text-align:center; "/>
- <col ref="prcpcd"/>
- <col ref="prcpnm"/>
- <script type="javascript" ev:event="ondblclick">
- <![CDATA[
- if( grd_prcpsrch.row >= grd_prcpsrch.fixedRows && grd_prcpsrch.row <= grd_prcpsrch.rows ){
- var iRow = grd_prcpsrch.row;
- if( fCheckPrcp( "grd_prcpsrch", iRow ) != false ) {
- fAppendPrcp( "grd_prcpsrch", iRow );
- }
- }
- ]]>
- </script>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- if( grd_prcpsrch.col == grd_prcpsrch.colRef("status") ){
- var iRow = grd_prcpsrch.row;
- //fCheckPrcp( iRow );
- //if( model.getValue(prcpsrchRef + "[" + iRow + "]/status") == "true" ){
- // model.setValue(prcpsrchRef + "[" + iRow + "]/status", "I");
- //}
- }
- ]]>
- </script>
- <script type="javascript" ev:event="onbeforesort">
- <![CDATA[
- //srch 처방 instance를 prcptemp로 copy해둔다
- grd_prcpsrch.gridToInstance();
- ]]>
- </script>
- <script type="javascript" ev:event="onaftersort">
- <![CDATA[
- //prcptemp instance를 prcpsrch로 다시 copy한다
- grd_prcpsrch.gridToInstance();
- ]]>
- </script>
- </datagrid>
- <datagrid id="grd_prcplist" nodeset="/root/main/prcp/prcplist" caption="선택^Type^순번^처방코드^코드명" colsep="^" colwidth="40, 38, 132, 80, 294" ellipsis="true" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowsep="|" selectionmode="byrow" tooltip="true" style="left:3px; top:498px; width:607px; height:130px; ">
- <col checkvalue="I,-" ref="status" type="checkbox" style="text-align:center; "/>
- <col ref="eqmtcd"/>
- <col ref="ocdseq"/>
- <col ref="prcpcd"/>
- <col ref="prcpnm"/>
- <script type="javascript" ev:event="onmousedown">
- <![CDATA[
- if(grd_prcplist.isCell(event.target) && grd_prcplist.mouseRow >= grd_prcplist.fixedRows){
- setPopupMenu("grd_prcplist", false, "/root/init/popupmenu/item", "label", "func");
- }
- ]]>
- </script>
- </datagrid>
- <button id="btn_select" class="btn2_letter4" style="left:545px; top:458px; width:64px; height:19px; ">
- <caption>처방추가</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- fAppendPrcp("grd_prcpsrch");
- ]]>
- </script>
- </button>
- <button id="btn_savediag" class="btn4_letter2" style="left:497px; top:635px; width:56px; height:22px; ">
- <caption>등록</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- var savePrcpNodes = instance1.selectNodes(prcpRef + "[status='I']");
- if( savePrcpNodes.length > 0 ){
- //opener로 처방코드, cdtype set parameter
- var prcpcd = "";
- var eqmtcd = "";
- var trsmdd = "";
- var trsmtm = "";
- var ocdseq = "";
-
- for( var i=0; i<savePrcpNodes.length; i++ ){
- var node = savePrcpNodes.item(i);
- var prcpstatcdNode = node.selectSingleNode("prcpstatcd");
- prcpcd = prcpcd + node.selectSingleNode("prcpcd").text + "^";
- eqmtcd = eqmtcd + prcpstatcdNode.text.split("|")[0] + "^";
- trsmdd = trsmdd + prcpstatcdNode.text.split("|")[1].substring(0,8) + "^";
- trsmtm = trsmtm + prcpstatcdNode.text.split("|")[1].substring(8,14) + "^";
- //ocdseq = ocdseq + node.selectSingleNode("ocdseq").text + "^";
-
- model.setValue(prcpstatcdNode, "000");
- }
-
- addPrcp ( "child", "/root/main/prcp/prcplist", "/root/main/prcp", "Y", "status", "I", grd_prcplist, "N", "01");
-
- prcpcd = prcpcd.substring(0, prcpcd.length-1);
- eqmtcd = eqmtcd.substring(0, eqmtcd.length-1);
- trsmdd = trsmdd.substring(0, trsmdd.length-1);
- trsmtm = trsmtm.substring(0, trsmtm.length-1);
- opener.javascript.setParameter("spmmo21200_rtnyn", "Y");
- opener.javascript.setParameter("spmmo21200_rtnprcpcd", prcpcd);
- opener.javascript.setParameter("spmmo21200_rtneqmtcd", eqmtcd);
- opener.javascript.setParameter("spmmo21200_rtntrsmdd", trsmdd);
- opener.javascript.setParameter("spmmo21200_rtntrsmtm", trsmtm);
- //opener.javascript.setParameter("spmmo21200_rtnocdseq", ocdseq);
-
- window.close();
- }else{
- messageBox("선택한 처방이 존재하지", "I011");
- return false;
- }
- ]]>
- </script>
- </button>
- <button id="btn_diagcncl" class="btn4_letter2" style="left:554px; top:635px; width:56px; height:22px; ">
- <caption>취소</caption>
- <script type="javascript" ev:event="onclick">
- <![CDATA[
- if(checkOpener()){
- opener.javascript.setParameter("SPMMO03200_rtn_useyn", "N");
- }else{
- messageBox("상위 화면이 변경되어 데이터를 전달", "E001");
- }
- window.close();
- ]]>
- </script>
- </button>
- <datagrid id="grd_typelist" nodeset="/root/main/cdlist/info" caption="선택^earncls2^Type^순번^Type 세부명^^^전송일시" colsep="^" colwidth="40, 0, 40, 135, 369, 0, 0, 0" ellipsis="true" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowsep="|" selectionmode="byrow" tooltip="true" style="left:3px; top:83px; width:607px; height:120px; ">
- <col checkvalue="I,-" ref="status" type="checkbox" style="text-align:center; "/>
- <col ref="earncls2" visibility="hidden"/>
- <col ref="eqmtcd"/>
- <col ref="ocdseq"/>
- <col ref="typenm"/>
- <col ref="trsmdd" visibility="hidden"/>
- <col ref="trsmtm" visibility="hidden"/>
- <col ref="trsmdt" visibility="hidden" format="yyyy-mm-dd hh:nn:ss"/>
- <script type="javascript" ev:event="ondblclick">
- <![CDATA[
- var iRow = grd_typelist.row;
- fCheckPrcp( "grd_typelist", iRow );
- fSrchPrcp();
- ]]>
- </script>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- if( grd_typelist.row >= grd_typelist.fixedRows && grd_typelist.row <= grd_typelist.rows ){
- var iRow = grd_typelist.row;
- if( model.getValue(typeRef + "[" + iRow + "]/status") == "I"){
- var trsmdd = model.getValue(typeRef + "[" + iRow + "]/trsmdd");
- var trsmtm = model.getValue(typeRef + "[" + iRow + "]/trsmtm");
- var eqmtcd = model.getValue(typeRef + "[" + iRow + "]/eqmtcd");
- var ocdseq = model.getValue(typeRef + "[" + iRow + "]/ocdseq");
- /*
- var appendNodes = instance1.selectNodes(typeRef + "[status='I' and (trsmdd!='"+trsmdd+"' or trsmtm!='"+trsmtm+"')]");
- if( appendNodes.length > 0 ){
- for(var i=0; i<appendNodes.length; i++){
- var node = appendNodes.item(i);
- var statusNode = node.selectSingleNode("status");
- model.setValue(statusNode, "-");
- }
- }
- */
-
- var ocdseq = model.getValue(typeRef + "[" + iRow + "]/ocdseq");
- var bfNode = instance1.selectSingleNode(typeRef + "[status='I' and ocdseq!='"+ocdseq+"']/status");
- if( bfNode != null ) model.setValue(typeRef + "[status='I' and ocdseq!='"+ocdseq+"']/status", "-");
-
- model.setValue("/root/main/cond/trsmdd",trsmdd);
- model.setValue("/root/main/cond/trsmtm", trsmtm);
- model.setValue("/root/main/cond/eqmtcd", eqmtcd);
- model.setValue("/root/main/cond/ocdseq", ocdseq);
- }
- }
- fSrchPrcp();
- ]]>
- </script>
- <script type="javascript" ev:event="onbeforesort">
- <![CDATA[
- grd_typelist.gridToInstance();
- ]]>
- </script>
- <script type="javascript" ev:event="onaftersort">
- <![CDATA[
- grd_typelist.gridToInstance();
- ]]>
- </script>
- </datagrid>
- <textarea id="tar_caption" ref="/root/main/cond/noticnts" editable="false" style="left:3px; top:3px; width:607px; height:40px; font-weight:bold; vertical-align:middle; "/>
- <bool id="bool1" checkvalue="Y,N" ref="/root/main/cond/closeyn" style="left:0px; top:635px; width:25px; height:20px; ">
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- if( fSaveOuterCdInfo() == true ){
- window.close();
- }
- ]]>
- </script>
- </bool>
- <caption id="caption3" style="left:26px; top:635px; width:234px; height:20px; ">
- <![CDATA[재판독 의뢰할 내용이 일체 없는 경우 닫기.]]>
- <script type="javascript" ev:event="onclick">
- <![CDATA[
- if( model.getValue("/root/main/cond/closeyn") == "Y" ){
- model.setValue("/root/main/cond/closeyn", "N");
- }else{
- model.setValue("/root/main/cond/closeyn", "Y");
- if( fSaveOuterCdInfo() == true ){
- window.close();
- }
- }
- ]]>
- </script>
- </caption>
- </xhtml:body>
- </xhtml:html>
|