123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469 |
- <?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>검사기록 등록</xhtml:title>
- <model id="model1">
- <instance id="instance1">
- <root xmlns="">
- <main>
- <cond>
- <pid/>
- <pname/>
- <age/>
- <fromdd/>
- <todd/>
- </cond>
- <nursingrecordinfo>
- <nursingrecordlist>
- <recdd/>
- <rectm/>
- <dnarflag/>
- <stmtspec/>
- <certkey/>
- <fstrgstrnm/>
- <stmtcd/>
- <origincd/>
- <recoriginflag/>
- <carerecno/>
- <recflag/>
- <reclnkkey/>
- <interprecyn/>
- <fstrgstrid/>
- <certselyn/>
- <recverno/>
- <diagstmtcd/>
- </nursingrecordlist>
- </nursingrecordinfo>
- <paminfo/>
- </main>
- <send/>
- <hidden/>
- </root>
- </instance>
- <script type="javascript" ev:event="xforms-ready">
- <![CDATA[
- fInitialize();
- ]]>
- </script>
- <submission id="TRCBI00101" mediatype="application/x-www-form-urlencoded" method="post"/>
- <submission id="TRZBC00101" mediatype="application/x-www-form-urlencoded" method="post" replace="instance"/>
- <submission id="TXMNR03801" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/nursingrecordinfo"/>
- <submission id="TRMNR03899" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/nursingrecordinfo"/>
- <submission id="TXMNR00904" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/sign/viewdata"/>
- </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="../../../emr/carecomweb/js/CareCom.js"/>
- <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
- <script type="javascript" src="../../../emr/carecomweb/js/ENRSignEngine.js"/>
- <script type="javascript">
- <![CDATA[
- var xCondPath = "/root/main/cond"; // 조건정보
- var xPamInfoPath = "/root/main/paminfo/pamlist"; // 환자정보
- var xNursingRecordListPath = "/root/main/nursingrecordinfo/nursingrecordlist"; // 간호기록 내역
- var xSignPath = "/root/main/signSaveData/saveDataList";//인증저장관련노드
- var sPid = ""; // 환자번호
- var sIndd = ""; // 입원일자
- var sOrdDD = ""; // 진료일자
- var sCretNo = ""; // 환자 일자별 일련번호
- var sInstcd = ""; // 기관코드
- var sIOFlag = ""; // 입원/외래 구분
- var sOrdDeptCd = ""; // 진료과코드
- var sOrdDrId = ""; // 진료의사ID
-
- var sHngNm = ""; //환자명
- var sAge = ""; //환자나이
- var sRecFlag = "-"; // 기록 구분
- var sOriginRecFlag = "A"; // 기록 출처 구분 검사기록 A : AST
- /**
- * @group :
- * @ver : 2008.07.24
- * @by : 김홍점
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 초기화
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fInitialize(){
-
- var sParamInfo = "";
- // model.removenode(xNursingRecordListPath);
- grd_carerecspec.fixedcellcheckbox(0, grd_carerecspec.colRef("check")) = true;
-
- // 환자정보 조회
- var sPamInfo = getGlobalVariable("paminfo");
- setCSVToNode("/root/main/paminfo",sPamInfo,"pamlist");
- if(sPamInfo == "" ){
- messageBox("환자를 먼저","C002");
- return;
- }
-
- //환자정보 세팅
- sPid = model.getValue(xPamInfoPath+"/pid");
- sHngNm = model.getValue(xPamInfoPath+"/hngnm");
- sAge = model.getValue(xPamInfoPath+"/age");
- sIOFlag = model.getValue(xPamInfoPath+"/ioflag"); // 입원/외래 구분
- if(sIOFlag == "I" || sIOFlag == "E" || sIOFlag == "D"){ // 입원
- sIndd = model.getValue(xPamInfoPath+"/indd"); // 진료일자
- sOrdDD = "-";
- }else if(sIOFlag == "O"){ // 외래
- sOrdDD = model.getValue(xPamInfoPath+"/orddd"); // 진료일자
- sIndd = "-";
- }
-
- sCretNo = model.getValue(xPamInfoPath+"/cretno"); // 환자 일자별 일련번호
- sInstcd = model.getValue(xPamInfoPath+"/instcd"); // 기관코드
- sOrdDeptCd = model.getValue(xPamInfoPath+"/orddeptcd"); // 진료과코드
- sOrdDrId = model.getValue(xPamInfoPath+"/medispclid"); // 진료의사ID
-
- model.setValue(xCondPath+"/pid",sPid);
- model.setValue(xCondPath+"/pname",sHngNm);
- model.setValue(xCondPath+"/age",sAge);
- // 기록 조회 조건
- model.setValue(xCondPath +"/todd", getCurrentDate()); // 오늘 일자
- model.setValue(xCondPath +"/fromdd", getCurrentDate());//20080715 2008-05-27[차]1.간호일지_SMMNR00700_김영림.xls 요구사항에 의해 당일 조회
-
- model.refresh();
- fSelectRecInfo();
- }
-
- /**
- * @group :
- * @ver : 2008.07.24
- * @by : 김홍점
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 검사내역 조회
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSelectRecInfo(){
- var sSrchHeader = "pid▦indd▦cretno▦ioflag▦fromdd▦todd▩";
- var sSrchData = sPid+"▦"
- +sIndd+"▦"
- +sCretNo+"▦"
- +sIOFlag+"▦"
- +model.getValue(xCondPath+"/fromdd")+"▦"
- +model.getValue(xCondPath+"/todd")+"▩";
-
- model.makeValue("/root/send/srchinfo",sSrchHeader+sSrchData );
- submit("TRMNR03899");
- }
- /**
- * @group :
- * @ver : 2008.07.24
- * @by : 김홍점
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 검사내역 클릭시 선택및 해제
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fClick(){
- var iRow = grd_carerecspec.row;
- var iCol = grd_carerecspec.mouseCol;
- if(iRow < 1 || iRow > grd_carerecspec.rows) return;
-
- if(iCol != grd_carerecspec.colRef("check")) {
- if(model.getValue(xNursingRecordListPath+"["+iRow+"]/check") == "true"){
- model.setValue(xNursingRecordListPath+"["+iRow+"]/check","false");
- }else{
- model.setValue(xNursingRecordListPath+"["+iRow+"]/check","true");
-
- }
- }
- model.refresh();
- }
- /**
- * @group :
- * @ver : 2008.07.24
- * @by : 김홍점
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 검사기록 저장
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSaveCareRec(){
- var sRecInfoHeader = "stmtspec▦attrinfo▦status▦origincd▦stmtcd▦dnarflag▦recoriginflag▦recdtflag▦recdt▦"
- +"pid▦indd▦cretno▦instcd▦ioflag▦orddeptcd▦recflag▦reclnkkey▦orddd▦diagstmtcd▦usernm▩"; // 저장 정보
- var sRecInfo = ""; // 저장 정보
-
- modal("SMMNR01300");
- var sRtnMsg = getParameter("SMMNR01300_Return");
-
- if(sRtnMsg == "") return;
- var sTmpInfo = sRtnMsg.split("▩");
- var sRecDTInfo = sTmpInfo[1].split("▦");
-
- for(var iRow=grd_carerecspec.fixedrows; iRow<=grd_carerecspec.rows-grd_carerecspec.fixedrows; iRow++){
- if(model.getValue(xNursingRecordListPath+"["+iRow+"]/check") == "true"){
-
- sRecInfo += model.getValue(xNursingRecordListPath+"["+ iRow +"]/stmtspec") +"▦" // 진술문장
- + "▦" // 속성정보
- + "I▦" // 상태
- + "▦" // 출처코드
- + model.getValue(xNursingRecordListPath+"["+iRow+"]/prcpcd")+"▦" // 진술문코드
- + "-▦" // dnar 구분
- + "A▦" // 기록 출처 구분
- + sRecDTInfo[0] +"▦" // 기록시간 구분
- + sRecDTInfo[1] +"▦" // 기록시간
- + sPid+"▦" // 환자번호
- + sIndd+"▦" // 입원일자
- + sCretNo+"▦" // 환자 일자별 일련번호
- + sInstcd+"▦" // 기관코드
- + sIOFlag+"▦" // 입원/외래 구분
- + sOrdDeptCd+"▦" // 진료과코드
- + "-▦" // 기록구분
- + model.getValue(xNursingRecordListPath+"["+iRow+"]/reclnkkey")+"▦" // 기록연계키
- + sOrdDD +"▦"
- + "▦" // 간호진단
- + getUserName()+"▩"; // 기록자
-
- }
- }
- if(sRecInfo == ""){
- messageBox("선택된 진술문이","I004");
- return;
- }
- model.makeValue("/root/send/saveData", sRecInfoHeader+sRecInfo);
- var sSrchHeader = "pid▦indd▦orddd▦cretno▦ioflag▦recsrchflag▦fromdd▦todd▩";
- var sSrchData = sPid+"▦"
- +sIndd+"▦"
- +sOrdDD+"▦"
- +sCretNo+"▦"
- +sIOFlag+"▦"
- +"AST▦"
- +model.getValue(xCondPath+"/fromdd")+"▦"
- +model.getValue(xCondPath+"/todd")+"▩";
-
- model.makeValue("/root/send/srchinfo",sSrchHeader+sSrchData );
-
- model.removeNode("/root/main/signSaveData");
- model.makeNode("/root/main/signSaveData");
- setCSVToNode("/root/main/signSaveData",sRecInfoHeader+sRecInfo, "saveDataList");
-
- //인증저장
- var msg = messageBox('검사 기록내역의 인증저장을', 'Q004');//실행 하시겠습니까? yes=6, no=7
-
- if(Number(msg) == 6){//예
-
- if (!fSign()) return;
-
- submit("TXMNR03801");
- fViewSign();
-
- }else{
- return;
- }
- }
-
- /**
- * @group :
- * @ver : 2007.06.15
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 통합기록용인증로직
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fViewSign(){
- Sign.certreload = false ; // 전자서명 호출시 인증저장 버튼을 누를때마다 인증서가 뜨도록 처리
- var signRecDD = "";
- model.removenodeset("/root/send/signdata");
-
- for( var idx = 1 ; idx <= getNodesetCount("/root/main/nursingrecordinfo/recddlist"); idx++ ){
- signRecDD = model.getValue("/root/main/nursingrecordinfo/recddlist["+ idx +"]/recdd");
-
- model.removenodeset(xSignPath);
- model.makeNode(xSignPath);
-
- if(getNodesetCount("/root/main/nursingrecordinfo/totnursingrecordlist[recdd='"+ signRecDD +"']")>0 ){
- copyNodeset(xSignPath,"/root/main/nursingrecordinfo/totnursingrecordlist[recdd='"+ signRecDD +"']");
-
- if(Sign.signprocess() == true){
- var sSignDataRowCnt = eval(getNodesetCount("/root/send/signdata")) + 1;
-
- // 전자인증 관련 환자 인적 정보를 보내줌.
- model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/pid", sPid );//등록번호
- if( sIOFlag =="O" ){
- model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddd", sOrdDD);//입원일자(입원,응급)/진료일자(외래)
- }else{
- model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddd", sIndd);//입원일자(입원,응급)/진료일자(외래)
- }
- model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signno", "");//서명번호
- model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/cretno", sCretNo); //생성번호
-
- model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/recdd",signRecDD);// 실제 기록이 이루어진 기록일자
- model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/rectm","000000");//실제 기록이 이루어진 기록시간
-
- model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/recsaveflag","Y"); //전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
- model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signflag","02" ); //서명자료구분 (01 : 진료, 02 : 간호, 03 : LIS, 04 : 진료지원)
- model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signgenrflag",sIOFlag );//외래/입원구분(코드정의서 M0010 참조)
- model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/formcd","0000002432" ); //각 기록지별 서식코드
- model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddeptcd", sOrdDeptCd); //진료부서코드
- model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddrid", sOrdDrId ); //진료의사ID
- // 인증할 데이터 정보(미기록 노드 제거된 정보)
- // 미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
- model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signbfcnts", Sign.signedInfos[1]);
- // 공인인증 처리후 데이터
- // model.makeValue("/root/send/signdata/signaftcnts", Sign.signedInfos[2]);
-
- model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/screenid", getScreenID());
- }else{
- return;
- }
- }else{
- return;
- }
- }
-
- submit("TXMNR00904");
- // if(submit("TXMNR00904")){
- // messageBox("인증저장 ","I002");
- // }
- }
-
- /**
- * @group :
- * @ver : 2007.06.15
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 인증로직
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSign(){
- Sign.certreload = true ; // 전자서명 호출시 인증저장 버튼을 누늘때마다 인증서가 뜨도록 처리
-
- if(Sign.signprocess() == true){
- // 전자인증 관련 환자 인적 정보를 보내줌.
- model.makeValue("/root/send/signdata/pid", sPid );//등록번호
- if( sIOFlag =="O" ){
- model.makeValue("/root/send/signdata/orddd", sOrdDD);//입원일자(입원,응급)/진료일자(외래)
- }else{
- model.makeValue("/root/send/signdata/orddd", sIndd);//입원일자(입원,응급)/진료일자(외래)
- }
- model.makeValue("/root/send/signdata/signno", "");//서명번호
- model.makeValue("/root/send/signdata/cretno", sCretNo); //생성번호
-
- model.makeValue("/root/send/signdata/recdd",getCurrentDate());// 실제 기록이 이루어진 기록일자
- model.makeValue("/root/send/signdata/rectm",getCurrentTime());//실제 기록이 이루어진 기록시간
-
- model.makeValue("/root/send/signdata/recsaveflag","Y"); //전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
- model.makeValue("/root/send/signdata/signflag","02" ); //서명자료구분 (01 : 진료, 02 : 간호, 03 : LIS, 04 : 진료지원)
- model.makeValue("/root/send/signdata/signgenrflag",sIOFlag );//외래/입원구분(코드정의서 M0010 참조)
- model.makeValue("/root/send/signdata/formcd","0000002432" ); //각 기록지별 서식코드
- model.makeValue("/root/send/signdata/orddeptcd", sOrdDeptCd); //진료부서코드
- model.makeValue("/root/send/signdata/orddrid", sOrdDrId ); //진료의사ID
- model.makeValue("/root/send/signdata/dispyn", "N"); //기록뷰어에는 조회안되도록
- // 인증할 데이터 정보(미기록 노드 제거된 정보)
- // 미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
- model.makeValue("/root/send/signdata/signbfcnts", Sign.signedInfos[1]);
- // 공인인증 처리후 데이터
- model.makeValue("/root/send/signdata/signaftcnts", Sign.signedInfos[2]);
- }else{
- return false;
- }
- model.makeValue("/root/send/signdata/screenid", getScreenID());
- return true;
- }
-
- /**
- * @group :
- * @ver : 2007.06.15
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 인증데이터 생성함수
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fMake_SignData(){
- Sign.addnode("/root/main/signSaveData");
-
-
- }
- ]]>
- </script>
- </xhtml:head>
- <xhtml:body pagewidth="670" pageheight="600" guideline="1,653;" style="margin-left:8; margin-top:8; margin-right:8; margin-bottom:8; ">
- <line id="line7" class="line_1" style="x1:0px; y1:26px; x2:653px; y2:26px; "/>
- <line id="line3" class="line_2" style="x1:0px; y1:53px; x2:653px; y2:53px; "/>
- <caption id="caption4" class="cell_1" style="left:231px; top:2px; width:85px; height:23px; text-align:center; vertical-align:middle; ">환자정보</caption>
- <output id="opt_pid" ref="/root/main/cond/pid" class="output_fix" style="left:319px; top:4px; width:93px; height:19px; font-style:italic; "/>
- <output id="opt_pname" ref="/root/main/cond/pname" class="output_fix" style="left:415px; top:4px; width:83px; height:19px; "/>
- <output id="opt_age" ref="/root/main/cond/age" class="output_fix" style="left:500px; top:4px; width:43px; height:19px; "/>
- <datagrid id="grd_carerecspec" nodeset="/root/main/nursingrecordinfo/nursingrecordlist" allowselection="true" autoresize="true" backcoloralternate="#ffffff" caption="^Acting 일시^Acting 일시^간호기록^stmtcd^origincd^reclnkkey" colsep="^" colwidth="24, 77, 49, 482, 0, 0, 0, 0, 0" mergecellsfixedrows="bycolrec" rowsep="|" selectionmode="listbox" style="left:0px; top:55px; width:653px; height:545px; ">
- <col checkvalue="true,false" ref="check" type="checkbox"/>
- <col ref="recdd" format="yyyy-mm-dd" style="text-align:center; vertical-align:middle; "/>
- <col ref="rectm" format="hh:nn" style="text-align:center; vertical-align:middle; "/>
- <col ref="stmtspec"/>
- <col ref="prcpcd"/>
- <col ref="reclnkkey"/>
- <script type="javascript" ev:event="onclick">
- <![CDATA[
- if( grd_carerecspec.row > 0 && grd_carerecspec.row <= grd_carerecspec.rows - grd_carerecspec.fixedRows ){
- fClick();
- }
- ]]>
- </script>
- </datagrid>
- <button id="button4" class="btn2_letter4" style="left:545px; top:4px; width:64px; height:19px; ">
- <caption>인증저장</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- fSaveCareRec();
- ]]>
- </script>
- </button>
- <caption id="cap_title" class="tit_2" style="left:0px; top:10px; width:140px; height:14px; ">검사기록 등록</caption>
- <button id="button1" class="btn2_letter2" style="left:610px; top:4px; width:42px; height:19px; ">
- <caption>닫기</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- model.close();
- ]]>
- </script>
- </button>
- <input id="ipt_srchfromdd" ref="/root/main/cond/fromdd" class="input_search" navindex="1" inputtype="date" style="left:90px; top:33px; width:90px; height:19px; "/>
- <caption id="caption51" style="left:181px; top:34px; width:20px; height:20px; font-weight:bold; ">~</caption>
- <caption id="caption49" class="search_name" style="left:1px; top:34px; width:86px; height:17px; ">조회일자 :</caption>
- <input id="ipt_srchtodd" ref="/root/main/cond/todd" class="input_search" navindex="2" inputtype="date" style="left:195px; top:33px; width:90px; height:19px; "/>
- <button id="button2" class="btn1_letter2" style="left:594px; top:32px; width:56px; height:22px; ">
- <caption>조회</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- fSelectRecInfo();
- ]]>
- </script>
- </button>
- </xhtml:body>
- </xhtml:html>
|