123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357 |
- <?xml version="1.0" encoding="EUC-KR"?>
- <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.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="">
- <result>
- <checkprcpresn>
- <resndd/>
- <pid/>
- <orddd/>
- <cretno/>
- <orddeptcd/>
- <ordtype/>
- <prcpdd/>
- <prcpno/>
- <prcphistno/>
- <resnflag/>
- <prcpcd/>
- <prcpnm/>
- <resndesc/>
- <delflag/>
- <resncd/>
- <resncnts/>
- </checkprcpresn>
- </result>
- <hardcd>
- <hardcd>
- <status/>
- <hardcd/>
- <hardcdnm/>
- </hardcd>
- </hardcd>
- <send>
- <cond1/>
- </send>
- <init>
- <cond1>Y</cond1>
- </init>
- </root>
- </instance>
- <submission id="TRZBC00101" mediatype="application/x-www-form-urlencoded" method="post"/>
- <submission id="TRMMB16401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/hardcd"/>
- <bind id="bind1" ref="/root/hardcd/hardcd/hardcdnm" readonly="../hardcd != 'T'"/>
- </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/stringHelper.js"/>
- <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
- <script type="javascript">
- <![CDATA[
- // 화면 전역변수
- var cRow = ""; // 사유입력리스트에서 선택된 행
- var cResnFlag = ""; // 사유입력리스트에서 선택된 사유구분
-
- // 화면 open, 저장시 초기화 기능을 수행한다.
- function fClose() {
- window.close();
- }
-
-
- function fSelectResn() {
- var resnRow = grd_resnlist.row;
- var prcpRow = grd_prcpresnlist.row;
-
- if (resnRow != -1 && prcpRow != -1) {
- var resncd = model.getValue("/root/hardcd/hardcd[" + resnRow + "]/hardcd") // 선택된 사유 코드
- var resncnts = model.getValue("/root/hardcd/hardcd[" + resnRow + "]/hardcdnm") // 선택된 사유 상세
- if(resncnts == "(이곳에 사유입력을 하세요)" || resncnts == "기타사유 (직접입력)") {
- grd_resnlist.col = grd_resnlist.colRef("hardcdnm");
- grd_resnlist.colDisabled(grd_resnlist.col) = false;
- grd_resnlist.editCell();
- } else {
- if(model.getValue("/root/init/cond1") == "Y") { // 일괄 적용이면
- var checkLength = model.instances(0).selectNodes( "/root/result/checkprcpresn" ).length;
- var selectResnFlag = model.getValue("/root/result/checkprcpresn[" +prcpRow+ "]/resnflag"); // 처방사유구분
- var checkResnFlag = "";
-
- for ( var i= 1; i<=checkLength; i++ ) {
- checkResnFlag = model.getValue ( "/root/result/checkprcpresn[" + i + "]/resnflag" );
- if(selectResnFlag == checkResnFlag) {
- model.setValue("/root/result/checkprcpresn[" + i + "]/resncd", resncd);
- model.setValue("/root/result/checkprcpresn[" + i + "]/resncnts", resncnts);
- }
- }
- } else {
- model.setValue("/root/result/checkprcpresn[" + prcpRow + "]/resncd", resncd);
- model.setValue("/root/result/checkprcpresn[" + prcpRow + "]/resncnts", resncnts);
- }
-
- model.refresh();
- }
- }
- }
- ]]>
- </script>
- </xhtml:head>
- <xhtml:body pagewidth="865" pageheight="550" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
- <caption id="caption1" class="tit_2" style="left:5px; top:2px; width:302px; height:13px; ">처방 사유 입력</caption>
- <switch id="switch1" style="left:2px; top:17px; width:843px; height:498px; ">
- <case id="case1" selected="true" style="left:0px; top:0px; width:843px; height:495px; ">
- <datagrid id="grd_prcpresnlist" nodeset="/root/result/checkprcpresn" autoresize="true" caption="구분^처방코드^처방명^내용^코드^상세사유" colsep="^" colwidth="137, 70, 136, 339, 30, 111" dataheight="23" ellipsis="true" extendlastcol="scroll" rowheight="23" rowsep="|" selectionmode="free" tooltip="true" style="left:0px; top:5px; width:843; height:270px; ">
- <col disabled="true" ref="resnflag" type="combo">
- <choices>
- <item>
- <label>사유</label>
- <value/>
- </item>
- <item>
- <label>처방전내병용금기</label>
- <value>00</value>
- </item>
- <item>
- <label>처방전내연령금기</label>
- <value>01</value>
- </item>
- <item>
- <label>처방전내안전성</label>
- <value>02</value>
- </item>
- <item>
- <label>처방전내최대용량</label>
- <value>03</value>
- </item>
- <item>
- <label>처방전내최대기간</label>
- <value>04</value>
- </item>
- <item>
- <label>처방전내저함량</label>
- <value>05</value>
- </item>
- <item>
- <label>처방전내임부금기</label>
- <value>06</value>
- </item>
- <item>
- <label>처방전간 병용금기</label>
- <value>07</value>
- </item>
- <item>
- <label>처방전간 성분별 중복처방</label>
- <value>08</value>
- </item>
- <item>
- <label>처방전내 치료중복</label>
- <value>20</value>
- </item>
- <item>
- <label>처방전간 치료중복</label>
- <value>40</value>
- </item>
- <item>
- <label>처방전내 2주 병용금기</label>
- <value>21</value>
- </item>
- <item>
- <label>처방전간 2주 병용금기</label>
- <value>41</value>
- </item>
- <item>
- <label>처방전내 1성분병용기간금기</label>
- <value>22</value>
- </item>
- <item>
- <label>처방전간 1성분병용기간금기</label>
- <value>42</value>
- </item>
- <item>
- <label>처방전내 병용연령성별제한</label>
- <value>23</value>
- </item>
- <item>
- <label>처방전간 병용연령성별제한</label>
- <value>43</value>
- </item>
- <item>
- <label>시럽제 처방</label>
- <value>007</value>
- </item>
- <item>
- <label>ADR(약물유해반응) 처방</label>
- <value>008</value>
- </item>
- <item>
- <label>수술예방적 항생제</label>
- <value>011</value>
- </item>
- <item>
- <label>수술예방적 항생제</label>
- <value>012</value>
- </item>
- <item>
- <label>약제 및 진료재료 적정성 심의</label>
- <value>013</value>
- </item>
- </choices>
- </col>
- <col ref="prcpcd"/>
- <col ref="prcpnm"/>
- <col ref="resndesc"/>
- <col ref="resncd" style="text-align:center; "/>
- <col ref="resncnts"/>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- if ( grd_prcpresnlist.col == grd_prcpresnlist.colRef ( "delflag" )) {
- var currow = grd_prcpresnlist.row;
- model.setValue("/root/result/checkprcpresn[" +currow+ "]/resncd", "") ;
- model.setValue("/root/result/checkprcpresn[" +currow+ "]/resncnts", "") ;
- model.refresh();
- }
- ]]>
- </script>
- <script type="javascript" ev:event="onclick">
- <![CDATA[
- if (isDataCell()) {
- if ( grd_prcpresnlist.col == grd_prcpresnlist.colRef ( "delflag" )) {
- return;
- }
-
- var resnFlag = model.getValue("/root/result/checkprcpresn[" +grd_prcpresnlist.row+ "]/resnflag");
- if( resnFlag == "007") { //12세 이상 시럽제 처방 사유
- model.setValue ( "/root/send/cond1", "320" );
- } else if ( resnFlag == "008") { //ADR(약품유해반응) 처방 사유
- model.setValue ( "/root/send/cond1", "329" );
- } else if ( resnFlag == "011") { //수술예방적 항생제 처방사유(재원)
- model.setValue ( "/root/send/cond1", "330" );
- } else if ( resnFlag == "012") { //수술예방적 항생제 처방사유(퇴원)
- model.setValue ( "/root/send/cond1", "331" );
- }else if ( resnFlag == "013") { //약제 및 진료재료 적정성 심의(칠곡)
- model.setValue ( "/root/send/cond1", "5609" );
- }else {
- alert("관련된 사유 정보가 존재 하지 않습니다.\n전산실(6598)로 문의 하세요.");
- return;
- }
- submit("TRMMB16401" );
- model.refresh();
- }
- ]]>
- </script>
- </datagrid>
- <caption id="caption6" class="tit_2" style="left:5px; top:286px; width:171px; height:13px; ">사유선택</caption>
- <line id="line4" class="line_1" style="x1:0px; y1:302px; x2:843; y2:302px; "/>
- <datagrid id="grd_resnlist" nodeset="/root/hardcd/hardcd" caption="코드^상세사유" colsep="^" colwidth="35, 787" dataheight="23" ellipsis="true" extendlastcol="scroll" rowheight="23" rowsep="|" tooltip="true" style="left:0px; top:307px; width:843px; height:186; ">
- <col ref="hardcd" style="text-align:center; "/>
- <col disabled="false" editable="true" imemode="hangul" ref="hardcdnm" type="input"/>
- <script type="javascript" ev:event="onclick">
- <![CDATA[
- if (isDataCell() ) {
- var currow = grd_resnlist.row;
- if ( model.getValue ( "/root/hardcd/hardcd[" + currow + "]/hardcdnm" ) == "(이곳에 사유입력을 하세요)"
- || model.getValue ( "/root/hardcd/hardcd[" + currow + "]/hardcdnm" ) == "기타사유 (직접입력)" ) {
- grd_resnlist.col = grd_resnlist.colRef("hardcdnm");
- grd_resnlist.colDisabled(grd_resnlist.col) = false;
- grd_resnlist.editCell();
- } else {
- grd_resnlist.colDisabled(grd_resnlist.col) = true;
- }
- }
- ]]>
- </script>
- <script type="javascript" ev:event="onendedit">
- <![CDATA[
- var currow = grd_resnlist.row;
- if ( model.getValue ( "/root/hardcd/hardcd[" + currow + "]/hardcdnm" ) != "(이곳에 사유입력을 하세요)"
- && model.getValue ( "/root/hardcd/hardcd[" + currow + "]/hardcdnm" ) != "기타사유 (직접입력)" ) {
- fSelectResn();
- }
- ]]>
- </script>
- <script type="javascript" ev:event="ondblclick">
- <![CDATA[
- if (isDataCell() ) {
- fSelectResn();
- }
- ]]>
- </script>
- </datagrid>
- <line id="line1" class="line_1" style="x1:0px; y1:2px; x2:843; y2:2px; "/>
- <button id="button1" class="btn2_letter4" style="left:776px; top:282px; width:64px; height:19px; ">
- <caption>사유적용</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- if(grd_resnlist.row != -1) {
- fSelectResn();
- }else{
- messageBox ( "선택된 사유가 없습니다." , "I" );
- }
- ]]>
- </script>
- </button>
- <bool id="bool_cond1" checkvalue="Y,N" overflow="visible" appearance="full" ref="/root/init/cond1" style="left:700px; top:285px; width:20px; height:20px; border-style:none; "/>
- <caption id="caption3" style="left:720px; top:285px; width:50px; height:20px; ">일괄적용</caption>
- </case>
- </switch>
- <button id="button3" class="btn4_letter4" style="left:642px; top:520px; width:80px; height:22px; ">
- <caption>계속저장</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- var checkLength = model.instances(0).selectNodes( "/root/result/checkprcpresn" ).length;
- var resnCnt = 0;
-
- if ( checkLength > 0 ) {
- for ( var i =1; i <= checkLength; i++ ) {
- if ( isNull(model.getValue ( "/root/result/checkprcpresn[" + i + "]/resncd" )) || isNull(model.getValue ( "/root/result/checkprcpresn[" + i + "]/resncnts" )) ) {
- resnCnt++;
- }
- }
- if (resnCnt > 0) {
- messageBox ( "처방사유 선택되지 않은 처방이", "I010" );
- return;
- }
-
- // 사유 정보 셋팅.
- var nSaveSujinResnLength = opener.model.instances(0).selectNodes( "/root/result/savesujinresn" ).length;
- for (var i=1; i <= checkLength; i++) {
- opener.model.makeValue("/root/result/savesujinresn["+ (nSaveSujinResnLength + i)+"]/resn_resndd" , model.getValue("/root/result/checkprcpresn[" +i+ "]/resndd"));
- opener.model.makeValue("/root/result/savesujinresn["+ (nSaveSujinResnLength + i)+"]/resn_pid" , model.getValue("/root/result/checkprcpresn[" +i+ "]/pid"));
- opener.model.makeValue("/root/result/savesujinresn["+ (nSaveSujinResnLength + i)+"]/resn_orddd" , model.getValue("/root/result/checkprcpresn[" +i+ "]/orddd"));
- opener.model.makeValue("/root/result/savesujinresn["+ (nSaveSujinResnLength + i)+"]/resn_cretno" , model.getValue("/root/result/checkprcpresn[" +i+ "]/cretno"));
- opener.model.makeValue("/root/result/savesujinresn["+ (nSaveSujinResnLength + i)+"]/resn_orddeptcd" , model.getValue("/root/result/checkprcpresn[" +i+ "]/orddeptcd"));
- opener.model.makeValue("/root/result/savesujinresn["+ (nSaveSujinResnLength + i)+"]/resn_ordtype" , model.getValue("/root/result/checkprcpresn[" +i+ "]/ordtype"));
- opener.model.makeValue("/root/result/savesujinresn["+ (nSaveSujinResnLength + i)+"]/resn_prcpdd" , model.getValue("/root/result/checkprcpresn[" +i+ "]/prcpdd"));
- opener.model.makeValue("/root/result/savesujinresn["+ (nSaveSujinResnLength + i)+"]/resn_prcpno" , model.getValue("/root/result/checkprcpresn[" +i+ "]/prcpno"));
- opener.model.makeValue("/root/result/savesujinresn["+ (nSaveSujinResnLength + i)+"]/resn_prcphistno" , model.getValue("/root/result/checkprcpresn[" +i+ "]/prcphistno"));
- opener.model.makeValue("/root/result/savesujinresn["+ (nSaveSujinResnLength + i)+"]/resn_resnflag" , model.getValue("/root/result/checkprcpresn[" +i+ "]/resnflag"));
- opener.model.makeValue("/root/result/savesujinresn["+ (nSaveSujinResnLength + i)+"]/resn_resncd" , model.getValue("/root/result/checkprcpresn[" +i+ "]/resncd"));
- opener.model.makeValue("/root/result/savesujinresn["+ (nSaveSujinResnLength + i)+"]/resn_resncnts" , model.getValue("/root/result/checkprcpresn[" +i+ "]/resncnts"));
- }
- opener.javascript.setParameter ( "SPMMO50100_rtn1", "Y" );
- }
-
- window.close();
- ]]>
- </script>
- </button>
- <button id="btn_cncl" class="btn4_letter7" style="left:731px; top:520px; width:116px; height:22px; ">
- <caption>처방변경(닫기)</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- opener.javascript.setParameter ( "SPMMO50100_rtn1", "N" );
- window.close();
- ]]>
- </script>
- </button>
- <caption id="caption4" style="left:130px; top:3px; width:715px; height:16px; ">아래의 처방은 사유를 선택 또는 입력 하셔야 발행이 가능 합니다. 처방을 선택하면 구분에 맞는 사유가 조회 됩니다.</caption>
- <caption id="caption7" style="left:85px; top:304px; width:610px; height:16px; ">아래의 항목에서 사유를 선택 하세요. 일괄적용 체크 되면 사유구분이 같은 항목에 대해 한번에 적용 됩니다.</caption>
- </xhtml:body>
- </xhtml:html>
|