123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299 |
- <?xml version="1.0" encoding="utf-8"?>
- <FDL version="1.5">
- <TypeDefinition url="..\..\..\default_typedef.xml"/>
- <Form id="SPMMD99200" position="absolute 0 0 1150 793" titletext="질병관리본부 병원체검사결과 신고" oninit="SPMMD99200_oninit" scrollbars="none" onload="SPMMD99200_onload">
- <Layouts>
- <Layout>
- <WebBrowser id="WebBrowser00" text="WebBrowser00" position="absolute 0 0 1150 785" anchor="default" taborder="2" useautobitmapcache="1" onloadcompleted="WebBrowser00_onloadcompleted"/>
- </Layout>
- </Layouts>
- <Objects>
- <Dataset id="ds_send_reqdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="opentype" type="STRING" size="256"/>
- <Column id="pid" type="STRING" size="256"/>
- <Column id="wrtedt" type="STRING" size="256"/>
- <Column id="seqno" type="STRING" size="256"/>
- <Column id="orddd" type="STRING" size="256"/>
- <Column id="cretno" type="STRING" size="256"/>
- <Column id="ordtype" type="STRING" size="256"/>
- <Column id="lglydiscd" type="STRING" size="256"/>
- </ColumnInfo>
- <Rows>
- <Row/>
- </Rows>
- </Dataset>
- <Dataset id="ds_cdcpathogeninfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="state" type="STRING" size="256"/>
- <Column id="instcd" type="STRING" size="256"/>
- <Column id="ioeflag" type="STRING" size="256"/>
- <Column id="pid" type="STRING" size="256"/>
- <Column id="orddd" type="STRING" size="256"/>
- <Column id="cretno" type="STRING" size="256"/>
- <Column id="bcno" type="STRING" size="256"/>
- <Column id="tclscd" type="STRING" size="256"/>
- <Column id="spccd" type="STRING" size="256"/>
- <Column id="testcd" type="STRING" size="256"/>
- <Column id="rsltseq" type="STRING" size="256"/>
- <Column id="ogcr" type="STRING" size="256"/>
- <Column id="patnt_nm" type="STRING" size="256"/>
- <Column id="patnt_sexdstn_cd" type="STRING" size="256"/>
- <Column id="patnt_lifyea_md" type="STRING" size="256"/>
- <Column id="patnt_regist_no" type="STRING" size="256"/>
- <Column id="kwa_ward_nm" type="STRING" size="256"/>
- <Column id="spm_ty_list" type="STRING" size="256"/>
- <Column id="spm_ty_etc" type="STRING" size="256"/>
- <Column id="inspct_mth_ty_list" type="STRING" size="256"/>
- <Column id="inspct_mth_ty_etc" type="STRING" size="256"/>
- <Column id="icdgrp_cd" type="STRING" size="256"/>
- <Column id="icd_cd" type="STRING" size="256"/>
- <Column id="pthgogan_cd" type="STRING" size="256"/>
- <Column id="reqest_de" type="STRING" size="256"/>
- <Column id="dgnss_de" type="STRING" size="256"/>
- <Column id="rm_info" type="STRING" size="256"/>
- <Column id="reqestinstt_charger_nm" type="STRING" size="256"/>
- <Column id="inspctinstt_charger_nm" type="STRING" size="256"/>
- <Column id="hsptl_swbser" type="STRING" size="256"/>
- <Column id="hsptl_swknd" type="STRING" size="256"/>
- <Column id="dplct_at" type="STRING" size="256"/>
- <Column id="rspns_mssage_ty" type="STRING" size="256"/>
- </ColumnInfo>
- <Rows>
- <Row/>
- </Rows>
- </Dataset>
- <Dataset id="ds_main_paminfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
- </Objects>
- <Script type="xscript4.0"><![CDATA[/***************************************************************************************
- * System Name :
- * Job Name :
- * Creator :
- * Make Date : 2017-01-19
- * Description :
- *---------------------------------------------------------------------------------------
- * Modify Date Modifier Modify Description
- *---------------------------------------------------------------------------------------
- * 2015-05-01 Live Converter TF->XP
- *
- *---------------------------------------------------------------------------------------
- ****************************************************************************************/
- include "com_commonxp::comm_main.xjs";
- include "com_commodulexp::SSZFM00901.xjs";
- function SPMMD99200_oninit(obj:Form, e:InitEventInfo)
- {
- frmf_initForm(obj); // 화면공통
- }
- function SPMMD99200_onload(obj:Form, e:LoadEventInfo)
- {
- var navUrl = "https://is.cdc.go.kr/tids/anids/pthgogan/reportAutoForm.vp?"; // 2017.08.14 병원체검사결과 신고 링크 주소
-
- trace("navUrl(병원체) :" + navUrl);
-
- ds_cdcpathogeninfo.setColumn(0, "state", opener.frmf_getParameter("state")); // 상태(R:신고, S:저장)
- ds_cdcpathogeninfo.setColumn(0, "instcd", opener.frmf_getParameter("instcd")); // 기관기호
- ds_cdcpathogeninfo.setColumn(0, "ioeflag", opener.frmf_getParameter("ioeflag")); // 입원/외래
- ds_cdcpathogeninfo.setColumn(0, "pid", opener.frmf_getParameter("pid")); // 환자번호
- ds_cdcpathogeninfo.setColumn(0, "orddd", opener.frmf_getParameter("orddd")); // 진료일자
- ds_cdcpathogeninfo.setColumn(0, "cretno", opener.frmf_getParameter("cretno")); // 접수번호
- ds_cdcpathogeninfo.setColumn(0, "bcno", opener.frmf_getParameter("bcno")); // 바코드번호
- ds_cdcpathogeninfo.setColumn(0, "tclscd", opener.frmf_getParameter("tclscd")); // 바코드번호
- ds_cdcpathogeninfo.setColumn(0, "spccd", opener.frmf_getParameter("spccd")); // 바코드번호
- ds_cdcpathogeninfo.setColumn(0, "testcd", opener.frmf_getParameter("testcd")); // 바코드번호
- ds_cdcpathogeninfo.setColumn(0, "rsltseq", opener.frmf_getParameter("rsltseq")); // 바코드번호
- ds_cdcpathogeninfo.setColumn(0, "ogcr", opener.frmf_getParameter("ogcr")); // 인증서
- ds_cdcpathogeninfo.setColumn(0, "patnt_nm", opener.frmf_getParameter("patnt_nm")); // 환자명
- ds_cdcpathogeninfo.setColumn(0, "patnt_sexdstn_cd", opener.frmf_getParameter("patnt_sexdstn_cd")); // 성별
- ds_cdcpathogeninfo.setColumn(0, "patnt_lifyea_md", opener.frmf_getParameter("patnt_lifyea_md")); // 환자_생년_월일
- ds_cdcpathogeninfo.setColumn(0, "patnt_regist_no", opener.frmf_getParameter("patnt_regist_no")); // 환자_등록_번호
- ds_cdcpathogeninfo.setColumn(0, "kwa_ward_nm", opener.frmf_getParameter("kwa_ward_nm")); // 과_병동_명
- ds_cdcpathogeninfo.setColumn(0, "spm_ty_list", opener.frmf_getParameter("spm_ty_list")); // 검체_유형_리스트
- ds_cdcpathogeninfo.setColumn(0, "spm_ty_etc", opener.frmf_getParameter("spm_ty_etc")); // 검체_유형_기타
- ds_cdcpathogeninfo.setColumn(0, "inspct_mth_ty_list", opener.frmf_getParameter("inspct_mth_ty_list")); // 검사_방법_유형_리스트
- ds_cdcpathogeninfo.setColumn(0, "inspct_mth_ty_etc", opener.frmf_getParameter("inspct_mth_ty_etc")); // 검사방법기타
- ds_cdcpathogeninfo.setColumn(0, "icdgrp_cd", opener.frmf_getParameter("icdgrp_cd")); // 감염군코드
- ds_cdcpathogeninfo.setColumn(0, "icd_cd", opener.frmf_getParameter("icd_cd")); // 감염병코드
- ds_cdcpathogeninfo.setColumn(0, "pthgogan_cd", opener.frmf_getParameter("pthgogan_cd")); // 병원체코드
- ds_cdcpathogeninfo.setColumn(0, "reqest_de", opener.frmf_getParameter("reqest_de")); // 병원체검사요청의뢰일자 (YYYYMMDD)
- ds_cdcpathogeninfo.setColumn(0, "dgnss_de", opener.frmf_getParameter("dgnss_de")); // 병원체검사결과진단일자 (YYYYMMDD)
- ds_cdcpathogeninfo.setColumn(0, "rm_info", opener.frmf_getParameter("rm_info")); // 특이사항 기술
- ds_cdcpathogeninfo.setColumn(0, "reqestinstt_charger_nm", opener.frmf_getParameter("reqestinstt_charger_nm")); // 담당자 또는 주치의성명 20자리이내)
- ds_cdcpathogeninfo.setColumn(0, "inspctinstt_charger_nm", opener.frmf_getParameter("inspctinstt_charger_nm")); // 진단의or검사자성명 20자리이내
- ds_cdcpathogeninfo.setColumn(0, "hsptl_swbser", opener.frmf_getParameter("hsptl_swbser")); // 병원_소프트웨어개발사(사업자)
- ds_cdcpathogeninfo.setColumn(0, "hsptl_swknd", opener.frmf_getParameter("hsptl_swknd")); // 병원_소프트웨어종류(버전)
- ds_cdcpathogeninfo.setColumn(0, "dplct_at", opener.frmf_getParameter("dplct_at")); // 중복_여부
- ds_cdcpathogeninfo.setColumn(0, "rspns_mssage_ty", opener.frmf_getParameter("rspns_mssage_ty")); // 응답_메시지_유형
- if(utlf_isNull(ds_cdcpathogeninfo.getColumn(0, "patnt_regist_no")) ) {
- sysf_messageBox( "정상적인 화면 호출이 아닙니다. 전산실에 문의 하세요.", "E001");
- return;
- }
-
- if ( ds_cdcpathogeninfo.rowcount > 0 ) {
- navUrl = navUrl + "&ogcr=" + encodeURI(utlf_transNullToEmpty(ds_cdcpathogeninfo.getColumn(0,"ogcr"))); // 사용자(기관) 인증정보
- navUrl = navUrl + "&patnt_nm=" + encodeURI(utlf_transNullToEmpty(ds_cdcpathogeninfo.getColumn(0,"patnt_nm"))); // 환자성명
- navUrl = navUrl + "&patnt_sexdstn_cd=" + encodeURI(utlf_transNullToEmpty(ds_cdcpathogeninfo.getColumn(0,"patnt_sexdstn_cd"))); // 성별
- navUrl = navUrl + "&patnt_lifyea_md=" + encodeURI(utlf_transNullToEmpty(ds_cdcpathogeninfo.getColumn(0,"patnt_lifyea_md"))); // 환자_생년_월일
- navUrl = navUrl + "&patnt_regist_no=" + encodeURI(utlf_transNullToEmpty(ds_cdcpathogeninfo.getColumn(0,"patnt_regist_no"))); // 환자_등록_번호
- navUrl = navUrl + "&kwa_ward_nm=" + encodeURI(utlf_transNullToEmpty(ds_cdcpathogeninfo.getColumn(0,"kwa_ward_nm"))); // 과_병동_명
- navUrl = navUrl + "&spm_ty_list=" + encodeURI(utlf_transNullToEmpty(ds_cdcpathogeninfo.getColumn(0,"spm_ty_list"))); // 검체_유형_리스트
- navUrl = navUrl + "&spm_ty_etc=" + encodeURI(utlf_transNullToEmpty(ds_cdcpathogeninfo.getColumn(0,"spm_ty_etc"))); // 검체_유형_기타
- navUrl = navUrl + "&inspct_mth_ty_list=" + encodeURI(utlf_transNullToEmpty(ds_cdcpathogeninfo.getColumn(0,"inspct_mth_ty_list"))); // 검사_방법_유형_리스트
- navUrl = navUrl + "&inspct_mth_ty_etc=" + encodeURI(utlf_transNullToEmpty(ds_cdcpathogeninfo.getColumn(0,"inspct_mth_ty_etc"))); // 검사방법기타
- navUrl = navUrl + "&icdgrp_cd=" + encodeURI(utlf_transNullToEmpty(ds_cdcpathogeninfo.getColumn(0,"icdgrp_cd"))); // 감염군코드
- navUrl = navUrl + "&icd_cd=" + encodeURI(utlf_transNullToEmpty(ds_cdcpathogeninfo.getColumn(0,"icd_cd"))); // 감염병코드
- navUrl = navUrl + "&pthgogan_cd=" + encodeURI(utlf_transNullToEmpty(ds_cdcpathogeninfo.getColumn(0,"pthgogan_cd"))); // 병원체코드
- navUrl = navUrl + "&reqest_de=" + encodeURI(utlf_transNullToEmpty(ds_cdcpathogeninfo.getColumn(0,"reqest_de"))); // 병원체검사요청의뢰일자 (YYYYMMDD)
- navUrl = navUrl + "&dgnss_de=" + encodeURI(utlf_transNullToEmpty(ds_cdcpathogeninfo.getColumn(0,"dgnss_de"))); // 병원체검사결과진단일자 (YYYYMMDD)
- navUrl = navUrl + "&rm_info=" + encodeURI(utlf_transNullToEmpty(ds_cdcpathogeninfo.getColumn(0,"rm_info"))); // 특이사항 기술
- navUrl = navUrl + "&reqestinstt_charger_nm=" + encodeURI(utlf_transNullToEmpty(ds_cdcpathogeninfo.getColumn(0,"reqestinstt_charger_nm"))); // 담당자or주치의성명(20자리이내)
- navUrl = navUrl + "&inspctinstt_charger_nm=" + encodeURI(utlf_transNullToEmpty(ds_cdcpathogeninfo.getColumn(0,"inspctinstt_charger_nm"))); // 진단의or검사자성명(20자리이내)
- navUrl = navUrl + "&hsptl_swbser=" + encodeURI(utlf_transNullToEmpty(ds_cdcpathogeninfo.getColumn(0,"hsptl_swbser"))); // 병원소프트웨어개발사(사업자)
- navUrl = navUrl + "&hsptl_swknd=" + encodeURI(utlf_transNullToEmpty(ds_cdcpathogeninfo.getColumn(0,"hsptl_swknd"))); // 병원소프트웨어종류(버전)
- navUrl = navUrl + "&dplct_at=" + encodeURI(utlf_transNullToEmpty(ds_cdcpathogeninfo.getColumn(0,"dplct_at"))); // 중복여부
- navUrl = navUrl + "&rspns_mssage_ty=" + encodeURI(utlf_transNullToEmpty(ds_cdcpathogeninfo.getColumn(0,"rspns_mssage_ty"))); // 응답메시지유형
- } else {
- sysf_messageBox( "병원체 검사결과 신고서 정보를 조회 할수 없습니다. 전산실에 문의 하세요.", "E001");
- return;
- }
- //trace(navUrl);
- WebBrowser00.url = navUrl;
- }
- function WebBrowser00_onloadcompleted(obj:WebBrowser, e:WebLoadCompEventInfo)
- {
- if(e.id != "onloadcompleted") return; // onloadcompleted 일 때만 동작
-
- trace("e.url(병원체) :" + e.url);
-
- var sUrl = e.url.substr(0, e.url.indexOf("?", 1));
-
- trace("sUrl(병원체) :" + sUrl);
-
- var nIndex = e.url.indexOf("/indigo/PthgnRgstr");
-
- trace("nIndex(병원체) :" + nIndex);
-
- if(nIndex > 0) { // 등록후 결과 화면
- trace("(병원체)등록후 결과");
- WebBrowser00.visible = false;
-
- var sPreState = ds_cdcpathogeninfo.getColumn(0, "state"); // 이전 상태(R:신고, S:저장)
- var sPreDplctAt = ds_cdcpathogeninfo.getColumn(0, "dplct_at"); // 이전 중복_여부(0: 중복여부 테스트, 1: 신고정보 POST 요청 미 입력시 신고정보 POST 요청(1)처리)
-
- if(sPreState == "R" && sPreDplctAt == "0") { // 이미 신고된 항목을 중복테스트 로 요청 할경우 메세지 팝업 요청서:20170911005 2017.11.14 엄영만
- sysf_messageBox( "이미 신고된 내역 입니다. 수정 필요시 감염관리실로 연락 주세요.", "E999");
- this.close();
- }
-
- var objDom = obj.document.body;
- var sXml = objDom.innerText;
-
- sXml = sXml.replace("- <", " <");
- sXml = sXml.substr(sXml.indexOf("<root>", 1));
-
- //trace("sXml : " + sXml);
-
- var sParamObj = new Object();
- sParamObj.pathYN = 'N'; //dsvaluepath 컬럼 사용여부
- sParamObj.nullColumnYN = 'Y'; //xml 노드가 빈값일 경우 dataset 컬럼 생성 여부
-
- var succYn = lf_convertXmlToDs(sXml, sParamObj);
-
- if(succYn != "success") {
- sysf_messageBox( "신고후 처리중 오류가 발생했습니다. 전산실에 문의 하세요.", "E999");
- return;
- }
-
- var sCode = ds_data_result.getColumn(0, "code"); // 결과코드
- var sDplct_At = ds_data_parameters.getColumn(0, "dplct_at"); // 중복_여부(0: 중복여부 테스트, 1: 신고정보 POST 요청 미 입력시 신고정보 POST 요청(1)처리)
-
- var sStats = "";
-
- if( sDplct_At == "1") { // Post요청
- if (sCode == "201") { // 등록 성공이면
- sStats = "R"; // 등록 상태
- } else {
- var sCode_Dt = ds_data_result.getColumn(0, "code_dt"); // 결과세부코드
- var sMessage = ds_data_result.getColumn(0, "message"); // 결과메세지
-
- sysf_messageBox( "질병관리본부 저장오류 [" +sCode_Dt + "] " + sMessage, "E999");
- return;
- }
- } else {
- sStats = "S"; // 저장 상태
- }
-
- ds_data_parameters.addColumn("state", "string");
- ds_data_parameters.addColumn("instcd", "string");
- ds_data_parameters.addColumn("ordtype", "string");
- ds_data_parameters.addColumn("pid", "string");
- ds_data_parameters.addColumn("orddd", "string");
- ds_data_parameters.addColumn("cretno", "string");
- ds_data_parameters.addColumn("bcno", "string");
- ds_data_parameters.addColumn("tclscd", "string");
- ds_data_parameters.addColumn("spccd", "string");
- ds_data_parameters.addColumn("testcd", "string");
- ds_data_parameters.addColumn("rsltseq", "string");
- ds_data_parameters.addColumn("rslt_cdc_yn", "string");
- ds_data_parameters.addColumn("rslt_code", "string");
- ds_data_parameters.addColumn("rslt_code_dt", "string");
- ds_data_parameters.addColumn("rslt_stat", "string");
- ds_data_parameters.addColumn("rslt_message", "string");
-
- ds_data_parameters.setColumn(0, "state", sStats);
- ds_data_parameters.setColumn(0, "instcd", ds_cdcpathogeninfo.getColumn(0, "instcd"));
- ds_data_parameters.setColumn(0, "ordtype", ds_cdcpathogeninfo.getColumn(0, "ioeflag"));
- ds_data_parameters.setColumn(0, "pid", ds_cdcpathogeninfo.getColumn(0, "pid"));
- ds_data_parameters.setColumn(0, "orddd", ds_cdcpathogeninfo.getColumn(0, "orddd"));
- ds_data_parameters.setColumn(0, "cretno", ds_cdcpathogeninfo.getColumn(0, "cretno"));
- ds_data_parameters.setColumn(0, "bcno", ds_cdcpathogeninfo.getColumn(0, "bcno"));
- ds_data_parameters.setColumn(0, "tclscd", ds_cdcpathogeninfo.getColumn(0, "tclscd"));
- ds_data_parameters.setColumn(0, "spccd", ds_cdcpathogeninfo.getColumn(0, "spccd"));
- ds_data_parameters.setColumn(0, "testcd", ds_cdcpathogeninfo.getColumn(0, "testcd"));
- ds_data_parameters.setColumn(0, "rsltseq", ds_cdcpathogeninfo.getColumn(0, "rsltseq"));
- ds_data_parameters.setColumn(0, "rslt_cdc_yn", ds_data_result.getColumn(0, "cdc_yn"));
- ds_data_parameters.setColumn(0, "rslt_code", ds_data_result.getColumn(0, "code"));
- ds_data_parameters.setColumn(0, "rslt_code_dt", ds_data_result.getColumn(0, "code_dt"));
- ds_data_parameters.setColumn(0, "rslt_stat", ds_data_result.getColumn(0, "stat"));
- ds_data_parameters.setColumn(0, "rslt_message", ds_data_result.getColumn(0, "message"));
-
- trace("(병원체)서브밋 전");
-
- var oParam = {};
- oParam.id = "TXASI09201";
- oParam.service = "infcmngtapp.LglyDisMngt";
- oParam.method = "reqExeCdcPathogenInfo";
- oParam.inds = "req=ds_data_parameters";
- oParam.async = false;
- oParam.callback = "cf_TXASI09201";
- tranf_submit(oParam);
-
- trace("(병원체)서브밋 후");
-
- } else {
- nIndex = e.url.indexOf("/tids/anids/pthgogan/reportAutoForm");
- if(nIndex > 0) { // 등록 초기화면
- //trace("초기");
- return;
- } else {
- sysf_messageBox( "병원체 검사결과 신고서 작성에 실패(알수없는 화면 호출) 하였습니다. 전산실에 문의 하세요.", "E001");
- return;
- }
- }
- }
- function cf_TXASI09201(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode != 0) {
- sysf_messageBox("병원체검사결과 신고서 저장에 실패 하였습니다.", "E");
- } else {
- sysf_messageBox( "저장 되었습니다.", "I999");
- this.close();
- }
- }]]></Script>
- </Form>
- </FDL>
|