123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510 |
- <?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="">
- <main>
- <cond>
- <reqflag/>
- <reqdata/>
- <srchflag>A</srchflag>
- <wordflag/>
- <trgflag/>
- </cond>
- <indxlist>
- <item>
- <depth/>
- <indxcd/>
- <upindxcd/>
- <indxengnm/>
- <indxhngnm/>
- <path/>
- </item>
- </indxlist>
- <diaginfo>
- </diaginfo>
- </main>
- <hidden>
- </hidden>
- <send>
- </send>
- <init>
- </init>
- <temp>
- <setdata>
- <icd10cd/>
- <icd10hngnm/>
- <icd10engnm/>
- <depth/>
- <path/>
- </setdata>
- <getdata>
- <grdfocus/>
- <poolsize>1</poolsize>
- <pool>
- <cd/>
- </pool>
- <endVal/>
- </getdata>
- <size/>
- </temp>
- </root>
- </instance>
- <script type="javascript" ev:event="xforms-ready">
- <![CDATA[
-
- grd_diagcdlist.fixedcellcheckbox(0,0) = true;
- var targetFlag = opener.javascript.getParameter("flag");
- usge = opener.javascript.getParameter("usge");
-
- if( !isNull(targetFlag) ){
- model.setValue("/root/main/cond/trgflag", targetFlag);
- model.makeValue("/root/send/reqdata/trgflag", targetFlag);
- /*
- if(targetFlag == "ICD"){
- btn_icd10.selected = true;
- btn_termattr.attribute("text") = "진단속성";
- grd_diagcdlist.caption = "^ICD10코드^영문명^한글명^caption1";
- grd_diagcdlist.refresh();
- }
- */
- }
- model.setValue("/root/main/cond/trgflag", "DIAG");
- btn_termattr.selected = true;
- btn_termattr.attribute("text") = "진단코드";
- grd_diagcdlist.caption = "^진단코드^영문명^한글명^caption1";
- btn_termattr.refresh();
- grd_diagcdlist.refresh();
-
- model.makeValue("/root/send/reqdata/flag", "0");
- submit("TRMQP01601");
-
- // 2008.07.17 pymi
- window.modelessTopmost = true;
-
- var condbuttonNode = opener.instance1.selectSingleNode("/root/main/cond/condbutton");
- if( condbuttonNode != null ) condbutton = condbuttonNode.text;
- ]]>
- </script>
- <submission id="TRMQP01601" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/main/indxlist"/>
- <submission id="TRMQP01602" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/main/diaginfo"/>
- <submission id="TRMQP01603" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/main/diaginfo"/>
- <script type="javascript" ev:event="xforms-model-construct-done">
- <![CDATA[
- if(isPopup()){
- var flag = model.getValue("/root/temp/size");
- if(flag == "1"){
- //작게
- window.width = 400;
- } else if(flag == "2") {
- //크게
- window.width = 1000;
- }
- }
- ]]>
- </script>
- </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">
- <![CDATA[
- var usge = "";
- var condbutton = ""; //값을 opener에 opener에 parameter로 보낼지, opener의 인스턴스에 직접 반영할지 구분 ( IF/THEN이면 parameter, 그렇지 않으면 instance로)
-
- // 사용자가 체크한 복수개의 레코들의 인덱스 번호를 구하는 함수
- // 작성자: 김광성(kskim)
- // 작성일 : 2010.03.15
- function fSetCheckInforLglyCd(){
- var grdIdxs="-";
- var selRowcnt = 0;
- for(var rowIdx=1; rowIdx < grd_diagcdlist.rows; rowIdx++){
- var chFlag = model.getValue("/root/main/diaginfo/info["+ rowIdx +"]/check");
- if( chFlag == "true" && selRowcnt == 0 ){
- grdIdxs = rowIdx;
- selRowcnt++;
- }
- else if( chFlag == "true" ){
- selRowcnt++;
- }
- }
-
- if( selRowcnt > 1 || selRowcnt == 0 ){
- return false;
- }
- else{
- return grdIdxs;
- }
- }
-
- // 그리드 진단에서 더블 클릭시 진단코드 및 이름을 SMASB02300_법정전염병마스터에 입력받기
- // 작성자: 김광성(kskim)
- // 작성일 : 2010.03.15
- function fSetdbClickLglyCd( selRow ){
- var param = opener.javascript.getParameter("SMASB02300_param");
- var paramValue = param.split("▦");
-
- var opRow = paramValue[0];
- var opCol = paramValue[1];
- var curStatus = paramValue[2];
- var lglydiscd = model.getValue("/root/main/diaginfo/info["+ selRow +"]/dispdiagcd");
-
- if( opCol == opener.grd_asihlgdc.colRef("fromicd10cd") ){
- opener.model.setValue( "/root/main/asihlgdc/list[" + opRow + "]/fromicd10cd", lglydiscd);
- if( isNull(curStatus) ){
- opener.model.setValue("/root/main/asihlgdc/list[" + opRow + "]/status", opener.model.getValue("/root/conditon/status/update"));
- opener.grd_asihlgdc.addStatus(opRow, "update");
- }
- }
- else if(opCol == opener.grd_asihlgdc.colRef("toicd10cd") ){
- opener.model.setValue( "/root/main/asihlgdc/list[" + opRow + "]/toicd10cd", lglydiscd);
- if( isNull(curStatus)){
- opener.model.setValue("/root/main/asihlgdc/list[" + opRow + "]/status", opener.model.getValue("/root/conditon/status/update"));
- opener.grd_asihlgdc.addStatus(opRow, "update");
- }
- }
- window.close();
- }
-
-
- // 중복 체크를 한 후 OPENER 로 데이터를 전달한다.
- function fSetOpenerValue( iRow ) {
- var bool = "false";
- var iCnt = parseInt(model.getValue("/root/temp/getdata/poolsize"));
- var selCd = model.getValue("/root/main/diaginfo/info["+ iRow + "]/termcd");
-
- if(iCnt != 1){
- for(var i=1; i<=iCnt; i++) {
- if(selCd == model.getValue("/root/temp/getdata/pool/cd[" + i + "]")){
- bool = "ture";
- return;
- }
- }
- }
- if(bool == "false"){
- var sRow = model.getValue("/root/temp/getdata/grdfocus");
- if(sRow == ""){
- sRow = "0";
- model.setValue("/root/temp/getdata/endVal" , "E");
- }
- sRow = parseInt(sRow) + 1;
- var selCd = model.getValue("/root/main/diaginfo/info[" + iRow + "]/termcd");
- var selHNM = model.getValue("/root/main/diaginfo/info[" + iRow + "]/hngnm");
- var selENM = model.getValue("/root/main/diaginfo/info[" + iRow + "]/engnm");
-
- opener.grd_diag.addRow();
- opener.model.makeValue("/root/main/diaginfo/diaglist[" + sRow + "]/termcd", selCd);
- opener.model.makeValue("/root/main/diaginfo/diaglist[" + sRow + "]/termhngnm", selHNM);
- opener.model.makeValue("/root/main/diaginfo/diaglist[" + sRow + "]/termengnm", selENM);
- if( !isNull(usge) ){
- opener.model.makeValue("/root/main/diaginfo/diaglist[" + sRow + "]/m", "i");
- }
-
- var termflag = "T01";
- if(model.getValue("/root/main/cond/trgflag") == "ICD"){
- termflag = "T00";
- }
-
- opener.model.makeValue("/root/main/diaginfo/diaglist[" + sRow + "]/termflag", termflag);
- //opener.grd_diag.rowStatus(sRow)= 1;
- //opener.grd_diag.rebuild();
- model.setValue("/root/temp/getdata/grdfocus", sRow);
- model.makeValue("/root/temp/getdata/pool/cd[" + iCnt + "]", selCd);
- iCnt = parseInt(iCnt)+1;
- model.setValue("/root/temp/getdata/poolsize", iCnt);
-
- }
-
- }
- function fReqDiagCD(){
- var reqdata = model.getValue("/root/main/cond/reqdata");
- if(reqdata.charCodeAt(0) > 255){
- model.setValue("/root/main/cond/wordflag", "H");
- }else{
- model.setValue("/root/main/cond/wordflag", "E");
- reqdata = reqdata.toUpperCase();
- }
- model.removeNodeset("/root/send");
- model.makeNode("/root/send/reqdata");
- model.copyNode("/root/send/reqdata", "/root/main/cond");
-
- model.setValue("/root/send/reqdata/reqdata", reqdata);
-
- model.makeValue("/root/send/reqdata/flag", "0");
- model.makeValue("/root/send/reqdata/trgflag", model.getValue("/root/main/cond/trgflag"));
- submit("TRMQP01603");
- }
-
- function fSetOpenerParameter(){
- var header = "testitemcd▦testcd▦testnm▦hvalappflag▦lvalappflag▦refhval▦reflval▦unitnm▦refseq▦alertcdflag▦alertrem▦alertprecondyn▦checkyn▦m";
- var detail = "";
- //var condbuttonNode = opener.instance1.selectSingleNode("/root/main/cond/condbutton");
- //var condbutton = "";
- //if( condbuttonNode == null ) condbutton = "";
- //else condbutton = condbuttonNode.text;
- var alertcdflagNode = opener.instance1.selectSingleNode("/root/main/cond/alertcdflag");
- var alertcdflag = "";
- var alertprecondyn = "";
- if( alertcdflagNode == null ) alertcdflag = "";
- else alertcdflag = alertcdflagNode.text;
-
- var nodeList = instance1.selectNodes("/root/main/diaginfo/info[check='true']");
- //by sonjy 20100723 if조건도 다중선택 가능하게 변경. 단, clinical rule generator의 경우만.
- var inpttypecd = "";
- if( checkOpener() ) inpttypecd = opener.model.getValue("/root/main/cond/inpttypecd");
- if( condbutton == "IF" && nodeList.length > 1 && inpttypecd != "Q" ){
- messageBox ( "IF 조건은 2건 이상 입력", "E001" )
- return;
- }
-
- // CPG 모니터링에서 열 경우 : 2009. 01. 16 :김영학
- for( var i=0; i<nodeList.length; i++ ){
- var node = nodeList.item(i);
- var selCdNode = node.selectSingleNode("termcd");
- var selENmNode = node.selectSingleNode("engnm");
-
- if (condbutton == "IF") {
- alertprecondyn = "Y";
- }else if (condbutton == "THEN") {
- alertprecondyn = "N";
- }
-
- detail = detail + "▩" + selCdNode.text + "▦" + selCdNode.text + "▦" + selENmNode.text + "▦N▦N▦▦▦-▦▦" + alertcdflag + "▦-▦" + alertprecondyn + "▦Y▦i";
- }
-
- if( detail != "" ){
- opener.javascript.setParameter( "SPMMD06100_detlinfo", header + detail );
- }
- window.close();
- }
- ]]>
- </script>
- </xhtml:head>
- <xhtml:body pagewidth="866" pageheight="600" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
- <treeview id="trv_indxlist" ref="/root/main/indxlist/item" expanddepth="2" itemsettype="depth" style="left:0px; top:30px; width:380px; height:540px; ">
- <itemset nodeset="/root/main/indxlist/item">
- <label ref="indxhngnm"/>
- <value ref="indxcd"/>
- <depth ref="depth"/>
- </itemset>
- <script type="javascript" ev:event="xforms-select">
- <![CDATA[
- var item = trv_indxlist.item(trv_indxlist.selectedIndex);
- if(item.depth == 0){
- //상위index만을 클릭한 경우 return한다.
- return;
- }
- var indxcd = trv_indxlist.value;
- model.removeNodeset("/root/send");
- model.makeValue("/root/send/reqdata/flag", "0");
- model.makeValue("/root/send/reqdata/srchindxcd", indxcd);
- model.makeValue("/root/send/reqdata/reqflag", model.getValue("/root/main/cond/reqflag"));
- model.makeValue("/root/send/reqdata/trgflag", model.getValue("/root/main/cond/trgflag"));
- submit("TRMQP01602");
-
- ]]>
- </script>
- </treeview>
- <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:385px; top:31px; width:465px; height:35px; background-color:#fffbf2; border-color:#ffd799; "/>
- <line id="line4" class="line_1" style="x1:0px; y1:25px; x2:380px; y2:25px; "/>
- <group id="grp_btn" style="left:0px; top:570px; width:850px; height:27px; ">
- <button id="button10" class="btn4_letter2" style="left:733px; top:3px; width:56px; height:22px; ">
- <caption>선택</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- if( condbutton != "" ){
- fSetOpenerParameter();
- return;
- }
-
- var rowCnt = grd_diagcdlist.rows;
- var iRow = grd_diagcdlist.row;
-
- // SMASB02300_법정전염병마스터에 진단코드 및 이름 입력받기
- // 작성자 : 김광성 kskim
- // 작성일 : 2010.03.15
- var opWndId = opener.model.getValue("/root/conditon/wndid");
- if( opWndId == "SMASB02300"){
- var selIdx = fSetCheckInforLglyCd();
- if( selIdx == false){
- messageBox("1개의 진단을 ", "C002");
- }
- else{
- fSetdbClickLglyCd(selIdx);
- window.close();
- }
- return;
- }
- else{
- for(var i=1; i<rowCnt; i++){
- var bool = grd_diagcdlist.valueMatrix(i,0);
- if(bool == "true"){
- fSetOpenerValue( i );
- }
- if(model.getValue("/root/temp/getdata/endVal") == "E")
- window.close();
- }
- }
-
-
- // for(var i=1; i<rowCnt; i++){
- // var bool = grd_diagcdlist.valueMatrix(i,0);
- // if(bool == "true"){
- // fSetOpenerValue( i );
- // }
- // if(model.getValue("/root/temp/getdata/endVal") == "E")
- // window.close();
- // }
-
- ]]>
- </script>
- </button>
- <button id="button9" class="btn4_letter2" style="left:792px; top:3px; width:56px; height:22px; ">
- <caption>닫기</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- window.close();
- ]]>
- </script>
- </button>
- </group>
- <input id="input1" ref="/root/main/cond/reqdata" class="input_search" style="left:529px; top:39px; width:194px; height:19px; ">
- <script type="javascript" ev:event="onkeypress">
- <![CDATA[
- inputEnterKey("btn_req", "DOMActivate");
- ]]>
- </script>
- </input>
- <button id="btn_req" class="btn1_letter2" style="left:784px; top:38px; width:56px; height:22px; ">
- <caption>조회</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- var srchStr = model.getValue("/root/main/cond/reqdata");
- if( isNull(srchStr) ){
- var msg = messageBox("검색어를 ", "C001");
- return;
- }else if( getStringLength(srchStr) < 3 ){
- var msg = messageBox("2글자 이상 ", "C001");
- return;
- }else{
- fReqDiagCD();
- }
- ]]>
- </script>
- </button>
- <line id="line1" style="x1:776px; y1:38px; x2:776px; y2:60px; border-color:#ffe4bb; border-left-style:solid; "/>
- <select1 id="radio1" ref="/root/main/cond/srchflag" appearance="full" cols="3" overflow="visible" style="left:395px; top:40px; width:130px; height:20px; border-style:none; ">
- <choices>
- <item>
- <label>전체</label>
- <value>A</value>
- </item>
- <item>
- <label>코드</label>
- <value>C</value>
- </item>
- <item>
- <label>단어</label>
- <value>W</value>
- </item>
- </choices>
- </select1>
- <datagrid id="grd_diagcdlist" nodeset="/root/main/diaginfo/info" caption="^진단코드^영문명^한글명^caption1" colsep="^" colwidth="27, 75, 192, 199, 29" defaultrows="0" ellipsis="true" explorerbar="sort" mergecellsfixedrows="bycolrec" rowsep="|" tooltip="true" style="left:385px; top:70px; width:464px; height:500px; background-color:#ffffff; border-color:#B0B0B0; ">
- <col checkvalue="true,false" ref="check" type="checkbox"/>
- <col ref="dispdiagcd"/>
- <col ref="engnm"/>
- <col ref="hngnm"/>
- <col ref="termcd" visibility="hidden"/>
- <script type="javascript" ev:event="ondblclick">
- <![CDATA[
- iRow = grd_diagcdlist.row;
- model.setValue("/root/main/diaginfo/info[" + iRow + "]/check", "true");
- grd_diagcdlist.refresh();
-
- if( condbutton != "" ){
- fSetOpenerParameter();
- return;
- }
-
- if(iRow < 1){
- return;
- }
- // fSetOpenerValue(iRow);
- //if(model.getValue("/root/temp/getdata/endVal") == "E")
-
- // SMASB02300_법정전염병마스터에 진단코드 및 이름 입력받기. 시작.
- // 작성자 : 김광성 kskim
- // 작성일 : 2010.03.15
- var opWndId = opener.model.getValue("/root/conditon/wndid");
-
- if( opWndId == "SMASB02300" ){
- fSetdbClickLglyCd( iRow );
- return;
- }
- else{
- fSetOpenerValue(iRow);
- }
- // SMASB02300_법정전염병마스터에 진단코드 및 이름 입력받기. 끝.
-
-
- window.close();
- ]]>
- </script>
- <script type="javascript" ev:event="onaftersort">
- <![CDATA[
- grd_diagcdlist.gridToInstance();
- ]]>
- </script>
- </datagrid>
- <select id="checkbox1" ref="/root/main/cond/reqflag" overflow="visible" appearance="full" style="left:726px; top:40px; width:45px; height:20px; border-style:none; ">
- <choices>
- <item>
- <label>전체</label>
- <value>A</value>
- </item>
- </choices>
- </select>
- <line id="line2" class="line_1" style="x1:385px; y1:25px; x2:850px; y2:25px; "/>
- <button id="btn_icd10" class="btn_sw" group="tab" style="left:0px; top:2px; width:74px; height:22px; ">
- <caption>ICD10</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- model.setValue("/root/main/cond/trgflag", "ICD");
- grd_diagcdlist.caption = "^ICD10코드^영문명^한글명^caption1";
- grd_diagcdlist.refresh();
- if(trv_indxlist.item(trv_indxlist.selectedIndex)){
- trv_indxlist.dispatch("xforms-select");
- }
- ]]>
- </script>
- </button>
- <button id="btn_termattr" class="btn_sw" group="tab" style="left:74px; top:2px; width:73px; height:22px; ">
- <caption>진단속성</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- if( btn_termattr.attribute("text") == "진단코드" ){
- model.setValue("/root/main/cond/trgflag", "DIAG");
- grd_diagcdlist.caption = "^진단코드^영문명^한글명^caption1";
- grd_diagcdlist.refresh();
- if(trv_indxlist.item(trv_indxlist.selectedIndex)){
- trv_indxlist.dispatch("xforms-select");
- }
- }else{
- model.setValue("/root/main/cond/trgflag", "ATTR");
- grd_diagcdlist.caption = "^진단속성코드^영문명^한글명^caption1";
- grd_diagcdlist.refresh();
- if(trv_indxlist.item(trv_indxlist.selectedIndex)){
- trv_indxlist.dispatch("xforms-select");
- }
- }
- ]]>
- </script>
- </button>
- </xhtml:body>
- </xhtml:html>
|