123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[/**
- * MMR00202.js
- * SMMMR00202_외래초진JCI.xrw
- * 20140122 이윤주 추가
- */
- /**1400014991
- * @desc : [item코드목록]
- * "0000931001"//주호소
- * "0001173001"//현병력
- * "0000098001"//과거력
- * "0000969001"//통증
- * "0000079001"//계통문진
- * "0000570001"//신체검진
- * "0001019001"//추정진단
- * "0000080001"//계획
- * "0022826001"//careplan
- * [버튼목록]
- * "btn_imge_0001173001"
- * "btn_etcrec_0001173001"
- * "btn_imge_0000098001"
- * "btn_fmy_0000098001"
- * "btn_etcrec_0000098001"
- * "btn_imge_0000079001"
- * "btn_etcrec_0000079001"
- * "btn_imge_0000570001"
- * "btn_etcrec_0000570001"
- * "btn_etcrec_0001019001"
- * "btn_dsch_0013328001"
- * "btn_edu_0006747001"
- * "btn_prcp_0022826001"
- */
- var gItemCds = new Array(
- "0000931001"//주호소
- , "0022826001"//careplan
- , "0001173001"//현병력
- , "0000098001"//과거력
- , "0000969001"//통증
- , "0000079001"//계통문진
- , "0000570001"//신체검진
- , "0001019001"//추정진단
- , "0000080001"//계획
- );
-
- var gItemCdsTextArea = new Array(
- "0000931001"//주호소
- , "0001173001"//현병력
- , "0000098001"//과거력
- , "0000969001"//통증
- , "0000079001"//계통문진
- , "0000570001"//신체검진
- , "0001019001"//추정진단
- , "0000080001"//계획
- , "0022826001"//careplan
- );
- /**
- * @desc : 확장버튼(이미지,가계도,추가기록)을 기록여부에 따라 표시를 위한 버튼목록
- * @id :
- * @authur : 안치원
- * @history : 2009.09.09 신규 안치원 ACW_090909A
- */
- var gExtnBtnIds = new Array(
- "btn_imge_0001173001" //현병력 이미지버튼
- , "btn_etcrec_0001173001" //현병력 추가기록버튼
- , "btn_imge_0000098001" //과거력 이미지버튼
- , "btn_fmy_0000098001" //과거력 가계도버튼
- , "btn_etcrec_0000098001" //과거력 추가기록버튼
- , "btn_imge_0000079001" //계통문진 이미지버튼
- , "btn_etcrec_0000079001" //계통문진 추가기록버튼
- , "btn_imge_0000570001" //신체검진 이미지버튼
- , "btn_etcrec_0000570001" //신체검진 추가기록버튼
- , "btn_diag_0001019001" //추정진단 진단버튼
- , "btn_etcrec_0001019001" //추정진단 추가기록버튼
- , "btn_prcp_0022826001" //CarePlan 처방버튼
- );
-
- var gLoadFormCnts = 0;
- /*******************************************************************
- * Function : fFormReady
- * Description : 화면 로드시 초기화 작업을 수행
- *******************************************************************/
- function fFormReady()
- {
- this.ComnFormObj = this.grup_base;
- dsf_createDsRow("ds_temp_mainrecitem",
- [{col:"formxrw", val:""}]);
- // 공통서식의 초기 recitem 정보. 기록 데이터 조합시 사용
- ds_temp_mainrecitem.assign(ds_data_recitem);
-
- //섹션사이즈초기화
- lf_setSectionSize(gItemCds, "grup_base.tar_0000931001", "grup_base.tar_0022826001", 663);
-
- //기본 첫번째 부분서식을 로딩해서 보여준다.
- //dispOnLoadComplete(COMN_FORM);//COMN_FORM : 1
-
- // lf_checkUnitForm(gItemCds); // 부분서식 로딩
- lf_AllLoadUnitFormExpand(gItemCds); // 전체 로딩
-
- lf_setRecData(gItemCds);
- }
- /**
- * @desc : 기록데이터 조회
- * @id :
- * @event : xforms-ready
- * @return : void
- * @authur : 박종훈
- */
- function fLoadData()
- {
- lf_setRecData(gItemCds);
-
- // InitPgmFormData();
- // InitUnitFormData(gItemCds);
- }
- /**
- * @group :
- * @ver : 2008.06.13
- * @by : snoweye
- * @---------------------------------------------------
- * @type : function
- * @access : private
- * @desc : 부분서식 로딩
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fLoadUnitForm()
- {
- initSection(gItemCds);
- }
- /**
- * @group :
- * @ver : 2009.12.03
- * @by : dhkim
- * @---------------------------------------------------
- * @type : function
- * @access : private
- * @desc : 부분서식 로딩후 후처리
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fOnLoadComplete()
- {
- var curLoadFormCd = this.frmf_getParameter("loadformcd");
- var arrUnitformmast = objExt.findRows(ds_data_unitformmast, "formcd", curLoadFormCd);
-
- var fstLevlItemCd = "";
-
- for(var i = 0; i < arrUnitformmast.length; i++){
- var unitformload = ds_data_unitformmast.getColumn(arrUnitformmast[i], "loaded");
- if(unitformload != "true"){
- fstLevlItemCd = ds_data_unitformmast.getColumn(arrUnitformmast[i], "orgsupdegnitemcd");
- var ivwObj = ComnFormObj.components["ivw_" + fstLevlItemCd];
- if(!utlf_isNull(ivwObj))
- {
- var idx = ds_data_unitformmast.findRow("orgsupdegnitemcd", fstLevlItemCd );
- ds_data_unitformmast.setColumn(idx, "loaded", "true");
- //setFstLevlItemCdOnUnitForm(ivwObj, ds_data_unitformmast.getColumn(arrUnitformmast[i], "orgsupdegnitemno"));//부분서식의 아이템에 부분서식 상위코드를 세팅
- break;
- }
- }
- }
-
- //주호소 부분서식 로딩후 처리
- if(fstLevlItemCd == '0000931001'
- || fstLevlItemCd == "0000931001" //주호소
- || fstLevlItemCd == "0022826001" //care plan
- ){
- fSetSizeFormCC(fstLevlItemCd);
- }
-
-
- gLoadFormCnts++;
- utlf_addLog("@@@@@ gItemCds.length : " + gItemCds.length + " gLoadFormCnts : " + gLoadFormCnts );
- if(gItemCds.length == gLoadFormCnts)
- {
- dispOnLoadComplete(UNIT_FORM);
-
- //서식 로딩 후 포커스 처리 dhkim
- if (parent.fGetFormRec("status") == "C")
- {
- SetDefFocusMTX(gItemCds);
- }
-
- }
- }
- /**
- * @group :
- * @ver : 2008.11.28
- * @by : jonghun
- * @---------------------------------------------------
- * @type : function
- * @access : private
- * @desc : 동일 서식이 떠있을 경우 내부 인스턴스 로딩 후 디폴트 조회내용 조회
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fGetDefData()
- {
- dispOnLoadComplete(UNIT_FORM);
-
- if (parent.fGetFormRec("status") == "C")
- {
- SetDefFocusMTX(gItemCds);//공통기록 디폴트 포커스처리(MTX)
- }
- }
- /**
- * @desc : 서식 주호소 화면 로딩 후 사이즈 조절
- * care plan 화면 로딩 후 사이즈 조절
- * @id :
- * @event : xforms-ready
- * @return : void
- * @authur : dhkim
- */
- function fSetSizeFormCC(gItemCd_MMR00201)
- {
- //서식 주호소 화면 로딩
- if(gItemCd_MMR00201 == "0000931001")
- grup_base.ivw_0000931001.fInitPage(false, parseInt(grup_base.ivw_0000931001.position.height), parseInt(grup_base.ivw_0000931001.position.width));
-
- //통증 화면 로딩
- else if(gItemCd_MMR00201 == "0000969001")
- grup_base.ivw_0000969001.fInitPage(true, parseInt(grup_base.ivw_0000969001.position.height), parseInt(grup_base.ivw_0000969001.position.width));
-
- //Care Plan 화면 로딩
- else if(gItemCd_MMR00201 == "0022826001")//상용구팝업 hidden
- grup_base.ivw_0022826001.fInitPage(true, parseInt(grup_base.ivw_0022826001.position.height), parseInt(grup_base.ivw_0022826001.position.width));
- }
- /**
- * @group :
- * @ver : 2009.12.04
- * @by : dhkim
- * @---------------------------------------------------
- * @type : function
- * @access : private
- * @desc : 부분서식 로딩
- * (0022826001) Care Plan,
- * @param : gItemCds
- * @return :
- * @---------------------------------------------------
- */
- function loadUnitForm_MMR00201(itemCds){
-
- var pageInfo = new PAGEINFO();
- copyNodeset("/root/main", "/root/main", "replace", model, parent.model);
- model.removeNodeset("/root/main/recinfo");
-
- makeRefByDegnitemno();
-
- for (var i = 0; i < itemCds.length; i++)
- {
-
- var formdegnseq = model.getValue(pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+itemCds[i]+"']/formdegnseq");
- var unitformcd = model.getValue(pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+itemCds[i]+"']/formcd");
- var ivwObj = document.controls("ivw_" + itemCds[i]);
- var tarObj = document.controls("tar_" + itemCds[i]);
-
- if( itemCds[i] == "0022826001" //care plan
- ){
- ivwObj.visible = true;
- tarObj.visible = false;
-
- var unitformprogflag = model.getValue(pageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+itemCds[i]+"']/formprogflag");
-
- ivwObj.attribute("supdegnitemcd") = itemCds[i];
- ivwObj.attribute("unitformcd") = unitformcd;
-
-
- model.addLog(unitformcd + " Loading 시작 : " + getCurrentTime());
- loadUnitForm(ivwObj, itemCds[i]);
- model.addLog(unitformcd + " Loading 끝 : " + getCurrentTime());
-
- }
-
- }
-
- }
- /**
- * @desc : care plan ivw 확대
- * @
- * @param :
- * @return :
- * @authur : dhkim
- */
- function expandSection_MMR00201(obj, e){
- var ctrlID = e.name;
- var itemcd = ctrlID.replace("lbl_", "");
- var bFold = itemcd == gMaxSectionID ? true : false;
- var ctrl = null;
- var unitformcd = "";
- var itemCds = gItemCds;
-
- for (var i = 0; i < itemCds.length; i++)
- {
- var secCtrl = ComnFormObj.components["lbl_" + itemCds[i]];
- var nFindRow = ds_data_unitformmast.findRow("orgsupdegnitemcd", itemCds[i]);
- var formdegnseq = ds_data_unitformmast.getColumn(nFindRow, "formdegnseq");
- unitformcd = ds_data_unitformmast.getColumn(nFindRow, "formcd");
-
- if(utlf_isNull(formdegnseq))
- ctrl = ComnFormObj.components["tar_" + itemCds[i]];
- else
- ctrl = ComnFormObj.components["ivw_" + itemCds[i]];
-
- //20100106 dhkim ivw 축소/확장
- if(itemcd == itemCds[i]){
- if(bFold){
-
- ctrl.position.height = gMaxSectionHei;
-
- if (unitformcd == "0900006875")//care plan 상용구 hidden
- {
- ctrl.fInitPage(true, parseInt(gMaxSectionHei), parseInt(ctrl.position.width));
- }else{
- ctrl.fInitPage(false, parseInt(gMaxSectionHei), parseInt(ctrl.position.width));
- }
-
- }else{
- ctrl.position.height = ctrl.orgheight;
-
- if (unitformcd == "0900006875")//care plan 상용구 hidden
- {
- ctrl.fInitPage(true, parseInt(ctrl.orgheight), parseInt(ctrl.position.width));
- }else{
- ctrl.fInitPage(false, parseInt(ctrl.orgheight), parseInt(ctrl.position.width));
- }
-
- }
- }
- }
- }
- /**
- * @group :
- * @ver : 2009.10.09
- * @by :
- * @---------------------------------------------------
- * @type : function
- * @access : private
- * @desc :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function setInterfaceData()
- {
- // alert("setInterfaceData");
- var ifItemCds = new Array(
- "0000931001"//주호소
- , "0001173001"//현병력
- , "0000098001"//과거력
- , "0000969001"//통증
- , "0000079001"//계통문진
- , "0000570001"//신체검진
- , "0001019001"//추정진단
- , "0000080001"//계획
- , "0022826001"//careplan
- );
-
- copyNodeset(gPageInfo.recItemRef2, "/root/main/recifinfo/recitem", "replace", model, parent.model);
-
- setSrchData(gPageInfo.recItemRef2 , window);
- InitUnitFormData(ifItemCds);
-
- setButtonToggleAllByRecYn(window, gExtnBtnIds);
- }
- /**
- * @desc : 서식 데이터 Clear
- * @id :
- * @event : xforms-ready
- * @return : void
- * @authur : 박종훈
- */
- function fClearComnFormData()
- {
- if (gMaxSectionID != "")
- {
- var MaxObj = document.controls("lbl_" + gMaxSectionID);
- MaxObj.dispatch("onclick");
- }
-
- ClearComnFormData(gItemCds);
- clearData();
-
- //포커스 처리
- SetDefFocusMTX(gItemCds);
- // parent.window.javascript.fSetFormRec("extnflag", "careplan");
- }
- /**
- * @desc : 기록 인스턴스 연결
- * @id :
- * @event : xforms-ready
- * @return : void
- * @authur : 박종훈
- */
- function fSetRecItemValue(reciteminfo)
- {
- return SetCommMediFormValue(gItemCds, reciteminfo);
- }
- /*******************************************************************
- * Function : fChkPreSave
- * Description : 저장전 필수입력내역을 체크한다.
- * History : 2010.01.06 dhkim - care plan 필수입력체크
- *******************************************************************/
- function fChkPreSave()
- {
- //2010.01.15 안치원 - 통증기록 필수입력 체크
- if (utlf_isNull(grup_base.ivw_0000969001.url) == false) {
- var isValid = true;
- var degnitemnm = null;
- var itemval_vas = new ITEMVAL();
-
- //통증
- var degnitemlevlcd = "0000969";
- var itemval_pain = grup_base.ivw_0000969001.getFormItemValue(degnitemlevlcd);
- if (itemval_pain.rectermcd == "0002277001") {
- //무
- //통증점수 제거
- itemval_vas.rectermcd = "INI";
- grup_base.ivw_0000969001.setFormItemValue("0001099", itemval_vas);
- } else if (itemval_pain.rectermcd == "0003770001") {
- //유
- //통증 점수
- degnitemlevlcd = "0001099";
- itemval_vas = grup_base.ivw_0000969001getFormItemValue(degnitemlevlcd);
- if (utlf_isNull(itemval_vas.rectermcd)) {
- degnitemnm = "통증 점수"
- isValid = false;
- } else if (parseInt(itemval_vas.rectermnm) >= 4) {
- //통증점수 4이상일때 필수입력
- //부위
- degnitemlevlcd = "0000360";
- isValid = ! fIsNullValue_MMR00201(degnitemlevlcd, "cnts");
- //양상
- if (isValid) {
- degnitemlevlcd = "0001952";
- var cnt = grup_base.ivw_0000969001.ds_data_recitem.getCaseCount("degnitemlevlcd == '"+degnitemlevlcd+"' && !utlf_isNull(rectermcd)");
- if (cnt == 0) {
- isValid = false;
- }
- }
- //기간
- if (isValid) {
- degnitemlevlcd = "0000951";
- isValid = ! fIsNullValue_MMR00201(degnitemlevlcd, "cnts");
- }
- //빈도
- if (isValid) {
- degnitemlevlcd = "0000393";
- isValid = ! fIsNullValue_MMR00201(degnitemlevlcd, "cd");
- }
- }
-
- } else if (itemval_pain.rectermcd == "0022237001") {
- //확인불가
- degnitemlevlcd = "0000969";
- itemval_vas = grup_base.ivw_0000969001.getFormItemValue(degnitemlevlcd);
- if (utlf_isNull(itemval_vas.reccnts)) {
- degnitemnm = "확인불가의 상세내역"
- isValid = false;
- }
- } else {
- isValid = false;
- }
-
- if (isValid == false) {
- if (utlf_isNull(degnitemnm)) {
- degnitemnm = grup_base.ivw_0000969001.ds_data_recitem.lookup("degnitemlevlcd", degnitemlevlcd, "degnitemnm");
- }
- sysf_messageBox("필수 입력항목(통증-" + degnitemnm + ")이 입력되지", "E007");
- return isValid;
- }
- }
- }
- /**
- * @group :
- * @ver : 2008.09.02
- * @by : jonghun
- * @---------------------------------------------------
- * @type : function
- * @access : private
- * @desc : 추가기록창 팝업처리
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fEtcRec()
- {
- //setParameter("etc_rec", "추가 기타기록 테스트입니다...");
- modal("SPMMR06100");
-
- var recrtn = getParameter("etcrec_rtn");
-
- if (recrtn != "")
- {
- model.setValue("/root/main/recinfo/recitem[degnitemlevlcd='0000098.0008458']/reccnts", recrtn);
- setParameter("etc_rec", recrtn);
-
- }
-
- //alert(recrtn);
- }
- /*******************************************************************
- * Function : getSubmitID_MMR01300I
- * Description : MMR01300.js에서 submit직전에 submitID를 설정하기 위해서 호출한다.
- *******************************************************************/
- function getSubmitID_MMR01300I() {
- parent.fSetFormRec("addexecflag", "careplan");
-
- //2010.02.23 dhkim - 통합기록조회용 JCI구분자추가(fSetXsltFlag없애고 getSubmitID_MMR01300I로 이동)
- parent.fSetFormRec("xsltflag", "JCI2");
-
- return TX_SUBMIT_EXTN_FORM;
- }
- /*******************************************************************
- * Function : initFormAtLast_MMR01100I
- * Description : MMR01100.js에서 서식load를 완료한 후에 호출한다.
- *******************************************************************/
- function initFormAtLast_MMR01100I() {
- //섹션별 버튼초기화
- InitBtnImge(gItemCds);
- InitBtnFmy(gItemCds);
- InitBtnEtcRec(gItemCds);
- // InitBtnComn(gItemCds);
-
- //2010.01.18 dhkim - 섹션종류가 부분서식인 섹션에 붙어있는 버튼 hidden 처리(진단, 처방버튼)
- InitBtnDiag("0001019001", "Y");//0001019001: 추정진단
- InitBtnPrcp("0022826001", "Y");//2010.01.12 dhkim - 계획섹션에 처방가져오기 버튼 추가
-
- //2010.01.21
- // initCmbExtnList(gItemCds);
-
- }
- /*******************************************************************
- * Function : fIsNullValue_MMR00201
- * Description : 통증기록 validation 체크 추가
- *******************************************************************/
- function fIsNullValue_MMR00201(degnitemlevlcd, field) {
- var itemval_vas = grup_base.ivw_0000969001.getFormItemValue(degnitemlevlcd);
- var val = "";
- if (field == "cd") {
- val = itemval_vas.rectermcd;
- } else if (field == "cnts") {
- val = itemval_vas.reccnts;
- }
-
- return utlf_isNull(val);
- }
- ]]></Script>
|