123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860 |
- /*
-
- 퇴원정리 및 확정화면 (SMMNW01200.xrw - JScript )
- - Version :
- 1) : Ver.1.00.01
- */
- //** 전역변수 **//
- var iRow = -1;
- var iCol = -1;
- /* 특수주사실 사용 안함. 주석처리_20090416(ByJA)
- var chemodeptcd = "3120400000"; // 특수주사실(외래CHEMO)부서코드
- */
- var chkPath = "/root/main/checkcntinfo/checkcntlist";
- var dschPath = "/root/main/dschpatinfo/dschpatlist" ;
- var babyicudeptcd, babydeptcd, dietnprcpcd, alcoholdeptcd, daywardcd, erwardcd; //alcoholdeptcd_20090529_SMY추가
- var uijungbuinstcd, sunggainstcd; // 병원별 기관코드_20090716_ByJA
- var starttmcd, endtmcd; // 병원별 업무시간코드_20100118_by박영우
-
- /**
- * @group :
- * @ver : 2007.08.30
- * @by : 김진아
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 화면 초기설정
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fInitSetup(){
- //** 컨트롤 초기화 **/
- group1.disabled = true;
- btn_dschnurY.disabled = true;
- boolafter18.disabled = true;
- btn_dschnurN.disabled = true;
- btn_dschdrN.disabled = true;
-
- var instcd = getUserInfo("dutplceinstcd");
- var standard_yn = "orduseyn";
- var ord_deptflag = "W";
- var rslt_ref = "/root/init/ward";
- // zbcfGetDeptCodeList(instcd, standard_yn, ord_deptflag, rslt_ref, "depthngnm", "asc" );
- submit("TRMNW01207"); // 병동리스트 조회
-
- //** 그리드 초기화 **//
- model.removeNodeset("/root/main/dschpatinfo"); // 퇴원예정환자리스트 그리드 초기화
- model.removeNodeset("/root/main/outrsrvinfo"); // 외래예약리스트 그리드 초기화
- model.removeNodeset("/root/main/tnsprcpinfo"); // 혈액처방리스트 그리드 초기화
- model.removeNodeset("/root/main/narcprcpinfo"); // 마약처방리스트 그리드 초기화
-
- model.removeNodeset("/root/temp/checkcntinfo");
- model.makeValue("/root/main/temp/sDietFlag", "");
- if (instcd =='012'){
- cap_time.text = "17:00 이후의 퇴원수납은 응급지원 UNIT에서만 합니다.";
- } else if (instcd == '017') { // 성빈센트 요구사항 by 박영우 20100113
- cap_time.text = "토요일 13:00 이후/ 평일 17:00 이후/ 휴일 - 응급의료센터 원무팀에서 퇴원수납합니다.";
- caption39.text = "18시 이후퇴원체크는 18시 이후의 늦은 퇴원이 예정된 경우에만 클릭합니다.";
- cap_vindsch.visible=true;
- } else {
- cap_time.text = "토요일 : 14:00 이후 / 기타 : 17:00 이후 - 응급실원무과 확인";
- }
- //** 상단환자 화면설정 **//
- var node = getGlobalVariable("paminfo");
- setCSVToNode("/root/main/paminfo", node);
- if(model.getValue("/root/main/paminfo/list/wardcd") != ""){
- model.makeValue("/root/main/cond/wardcd", model.getValue("/root/main/paminfo/list/wardcd"));
- } else {
- model.makeValue("/root/main/cond/wardcd", getUserInfo("dutplcecd"));
- }
-
- model.makeValue("/root/main/cond/dschdclrdt", getCurrentDate()); // 퇴원예정일 설정(현재일자)
-
- cmb_wardcd.refresh();
- ipt_dschdclrdt.refresh();
- /* 특수주사실 사용 안함. 주석처리_20090416(ByJA)
- if(model.getValue("/root/main/cond/wardcd")== chemodeptcd) { // 특수주사실(외래CHEMO)인 경우
- group4.visible = true;
- }else {
- group4.visible = false;
- }
- */
-
- select_dschpatlist("P"); // 퇴원예정환자 리스트조회
- fSrchDietEndInfo(); // 식이별 1차마감시간 조회
-
- // 간호하드코딩 테이블 조회_20090416(ByJA)
- var pCode = "'052', '053', '062', '087', '077', '176', 'W01', 'W04', 'W11','D4'"; // 조회할 CdGrupID 코드정보
- var pDate = getCurrentDate(); // 조회기준일자
- fGetNursHardCdInfo(pCode, pDate);
-
- for(var i=1; i<=getNodesetCount("/root/code/codeinfo/codelist"); i++){
- switch (model.getValue("/root/code/codeinfo/codelist["+i+"]/cdgrupid")){
- case "052": // 신생아중환자실
- babyicudeptcd = model.getValue("/root/code/codeinfo/codelist["+i+"]/cdid");
- break;
- case "053": // 신생아실
- babydeptcd = model.getValue("/root/code/codeinfo/codelist["+i+"]/cdid");
- break;
- case "062": // 개인금식처방코드
- dietnprcpcd = model.getValue("/root/code/codeinfo/codelist["+i+"]/cdid");
- break;
- case "087": // 알코올의존치료센터부서코드
- alcoholdeptcd = model.getValue("/root/code/codeinfo/codelist["+i+"]/cdid");
- break;
- case "077": // 병원별 기관코드
- switch(model.getValue("/root/code/codeinfo/codelist["+i+"]/supcdid")){
- case "02": // 의정부성모병원 기관코드
- uijungbuinstcd = model.getValue("/root/code/codeinfo/codelist["+i+"]/cdid");
- break;
- case "03": // 부천성가병원 기관코드
- sunggainstcd = model.getValue("/root/code/codeinfo/codelist["+i+"]/cdid");
- break;
- }
- break;
- case "176": //병원별 업무시간코드 by 박영우
- switch(model.getValue("/root/code/codeinfo/codelist["+i+"]/supcdid")){
- case "01": //시작시간코드
- starttmcd = model.getValue("/root/code/codeinfo/codelist["+i+"]/cdid") + "00";
- break;
- case "02": //종료시간코드
- endtmcd = model.getValue("/root/code/codeinfo/codelist["+i+"]/cdid") + "00";
- break;
- }
- break;
- case "W01": //일일입원실 - 퇴원확정일시 지정할 수 있도록 함
- daywardcd = model.getValue("/root/code/codeinfo/codelist["+i+"]/cdid");
- break;
- case "W11": //508응급병동 - 약 처방 D/C 가능하도록 함
- erwardcd = model.getValue("/root/code/codeinfo/codelist["+i+"]/cdid");
- break;
- }
- }
-
- var wardcd = model.getValue("/root/main/cond/wardcd");
-
- if (wardcd == daywardcd) {
- fVisibleNotidt('Y');
- } else {
- fVisibleNotidt('N');
- }
-
- zbcfGetCodeList( new Array("M0011"), new Array("/root/init/M0011list") );
- }
-
- /**
- * @group :
- * @ver : 2007.09.03
- * @by : 김진아
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 식이별 1차마감시간 조회
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSrchDietEndInfo(){
- model.removenode("/root/send");
- model.makeNode ("/root/send");
- model.makeValue ("/root/send/reqdata/dschdclrdt" , model.getValue("/root/main/cond/dschdclrdt")); // 퇴원예정일
- model.makeValue ("/root/send/reqdata/dschdclrtodt" , model.getValue("/root/main/cond/dschdclrdt")+"235959");
- model.makeValue ("/root/send/reqdata/dschdclrfromdt", model.getValue("/root/main/cond/dschdclrdt")+"000000");
- model.removeNodeset("/root/main/dietendinfo");
- submit("TRMNW01205");
- }
-
- /**
- * @group :
- * @ver : 2007.07.13 / 수정일자 : 2007.08.30
- * @by : 정경화 / 수정자 : 김진아
- * @-------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 퇴원예정환자 리스트조회
- * @param : sSrchFlag 조회구분 ("P":퇴원예정일자별 / "A":당일이후퇴원예정자 모두)
- * @return :
- * @-------------------------------------------------------------------------------
- */
- function select_dschpatlist(sSrchFlag){
- //** 컨트롤 초기화 **//
- fInit();
- group1.disabled = true;
- btn_dschnurY.disabled = true;
- boolafter18.disabled = true;
- btn_dschnurN.disabled = true;
- btn_dschdrN.disabled = true;
- model.removeNodeset("/root/main/dschpatinfo"); // 퇴원예정환자리스트 그리드 초기화
- model.removeNodeset("/root/main/outrsrvinfo"); // 외래예약리스트 그리드 초기화
- model.removeNodeset("/root/main/tnsprcpinfo" ); // 혈액처방리스트 그리드 초기화
- model.removeNodeset("/root/main/narcprcpinfo"); // 마약처방리스트 그리드 초기화
- model.removeNodeset("/root/main/checkcntinfo/bloodinfo/bloodcomment"); // 수혈기록 필드 초기화
- model.removeNodeset("/root/main/descpatdeinfo");
- model.removenode("/root/send");
- model.makeNode ("/root/send");
- model.makeValue ("/root/send/reqdata/wardcd" , model.getValue("/root/main/cond/wardcd")); // 병동
- model.makeValue ("/root/send/reqdata/dschdclrdt" , model.getValue("/root/main/cond/dschdclrdt")); // 퇴원예정일
- model.makeValue ("/root/send/reqdata/dschdclrtodt" , model.getValue("/root/main/cond/dschdclrdt")+"235959");
- model.makeValue ("/root/send/reqdata/dschdclrfromdt", model.getValue("/root/main/cond/dschdclrdt")+"000000");
- model.makeValue ("/root/send/reqdata/srchflag" , sSrchFlag); // 조회구분
-
- model.makeValue ("/root/main/cond/notidt", getCurrentDate());
- model.makeValue ("/root/main/cond/notitm", getCurrentTime().substr(0, 4));
- submit("TRMNW01201");
-
- grd_inppatlist.allstyle("all", "background-color") = "white"; // 퇴원예정자리스트 그리드 색상 초기화
- model.makeValue("/root/main/descpatdeinfo/nurseid", getUserName()); // 로그인한 간호사명 설정
-
- //var isnendyn = model.getValue("/root/main/descpatdeinfo/isnendyn"); // 병동마감여부확인 비마감여부 (Y : 마감되지 않음. N : 마감됨)
-
- /* 특수주사실 사용 안함. 주석처리_20090416(ByJA)
- if(model.getValue("/root/main/cond/wardcd")!="3120400000") { // 특수주사실(외래CHEMO)인 경우 마감여부체크 제외_20080826김보성대리님요청으로 추가_특수주사실퇴실정리개발 후 삭제해야 함.
- if(isnendyn == "Y"){
- messageBox("["+ cmb_wardcd.label +"] 미마감 내역이 존재합니다.", "E", "마감처리 후 다시 시도하십시오!");
- modal("SPMNR05400","1","1","1", "SPMNR05400"); // 병동간호마감화면 팝업
- }
- }
- */
- model.refresh();
- }
- /**
- * @group :
- * @ver : 2007.07.13 / 수정일자 : 2007.08.30
- * @by : 정경화 / 수정자 : 김진아
- * @-----------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 환자상세정보조회
- * @param : sActFlag : 실시입원처방 액팅 처리 프로시저 호출 여부("Y"/"N")
- * (퇴원예정자리스트 더블 클릭 시에만 해당_20080617기준)
- * @return :
- * @-----------------------------------------------------------------------------------------------
- */
- function select_dschpatinfo(sActFlag){
- if(iRow < 0 || iRow == ""){
- iRow = grd_inppatlist.row;
- iCol = grd_inppatlist.col;
- }
-
- var wardcd = model.getValue(dschPath + "[" + iRow + "]/wardcd");
- if (wardcd == daywardcd) {
- fVisibleNotidt('Y');
- } else {
- fVisibleNotidt('N');
- }
-
- var sDschDclrdt = model.getValue(dschPath + "[" + iRow + "]/dschdclrdt"); // 환자별 퇴원예정일
- var sDethdt = model.getValue(dschPath + "[" + iRow + "]/dethdt"); // 환자별 사망일
- var dietc = 0;
- for(var i=1; i<=getNodesetCount("/root/code/codeinfo/codelist"); i++){
- if(model.getValue("/root/code/codeinfo/codelist["+i+"]/cdgrupid") == "D4"){ //식이안함 가능한 병동
- if(model.getValue("/root/code/codeinfo/codelist["+i+"]/cdid") == wardcd){
- dietc++;
- }
- }
- }
- //** 퇴원예고일자가 당일여부에 따른 컨트롤 활성화 **//
- //* 당일이 아닌 경우 && 20091201 김홍점 추가 사망환자인경우 사망일시로 퇴원확정 되므로 익일이어도 사망등록이 된경우 퇴원확정가능
- if( (isNull(sDethdt) || sDethdt == "-" ) && sDschDclrdt != getCurrentDate()) {
- group1.disabled = true;
- //group4.disabled = true; // 외래CHEMO그룹
- btn_dschnurY.disabled = true; // 간호사퇴원확정 버튼
- boolafter18.disabled = true; // 병실료추가산정 체크박스
- btn_dschnurN.disabled = true; // 간호사퇴원확정 취소 버튼
- btn_dschdrN.disabled = true; // 의사퇴원예고 취소 버튼
- btn_dietC.disabled = true; // 식사안함
- }
- //* 당일인 경우 && 20091201 김홍점 추가 사망환자인경우 사망일시로 퇴원확정 되므로 익일이어도 사망등록이 된경우 퇴원확정가능
- else {
- //** 환자별 진행 상태값에 따른 컨트롤 활성화 **//
- var sStatVal = model.getValue(dschPath + "[" + iRow + "]/stat"); // 환자별 진행 상태값
- if(sStatVal == "퇴원예고"){
- group1.disabled = false;
- //group4.disabled = false; // 외래CHEMO그룹
- btn_dschnurY.disabled = false; // 간호사퇴원확정 버튼
- boolafter18.disabled = false; // 병실료추가산정 체크박스
- btn_dschnurN.disabled = true; // 간호사퇴원확정 취소 버튼
- btn_dschdrN.disabled = false; // 의사퇴원예고 취소 버튼
- if(dietc == 0){
- btn_dietC.disabled = true; // 식사안함
- }else{
- btn_dietC.disabled = false; // 식사안함
- if(wardcd == babyicudeptcd){ //신생아중환자실
- btn_dietC.dispatch("DOMActivate");
- }
- }
- } else if(sStatVal == "간호사퇴원확정"){
- group1.disabled = false;
- btn_dschnurY.disabled = true; // 간호사퇴원확정 버튼
- boolafter18.disabled = true; // 병실료추가산정 체크박스
- btn_dschnurN.disabled = false; // 간호사퇴원확정 취소 버튼
- btn_dschdrN.disabled = false; // 의사퇴원예고 취소 버튼
- if(dietc == 0){
- btn_dietC.disabled = true; // 식사안함
- }else{
- btn_dietC.disabled = false; // 식사안함
- }
- } else {
- group1.disabled = true;
- btn_dschnurY.disabled = true; // 간호사퇴원확정 버튼
- boolafter18.disabled = true; // 병실료추가산정 체크박스
- btn_dschnurN.disabled = true; // 간호사퇴원확정 취소 버튼
- btn_dschdrN.disabled = true; // 의사퇴원예고 취소 버튼
- btn_dietC.disabled = true; // 식사안함
- }
- }
- //** 퇴원예정자리스트 스타일 지정 **//
- grd_inppatlist.cellstyle("background-color", 0, 0, grd_inppatlist.rows-1, grd_inppatlist.cols-1) = "white"; // 초기화(WHITE)
- grd_inppatlist.cellstyle("background-color", iRow, 0, iRow, grd_inppatlist.cols-1) = "#ffd9ff"; // 선택된 행 색상지정(PINK)
-
- // 환자상세정보조회
- model.makeValue("/root/main/descpatdeinfo/roomcd" , model.getValue(dschPath + "[" + iRow + "]/roomcd")); // 병실
- model.makeValue("/root/main/descpatdeinfo/pid" , model.getValue(dschPath + "[" + iRow + "]/pid" )); // 등록번호
- model.makeValue("/root/main/descpatdeinfo/hngnm" , model.getValue(dschPath + "[" + iRow + "]/hngnm" )); // 환자명
- model.makeValue("/root/main/descpatdeinfo/nurseid", getUserName() ); // 로그인한 간호사명 설정
-
- model.removenode("/root/send");
- model.makeNode ("/root/send");
- model.makeValue ("/root/send/reqdata/pid" , model.getValue(dschPath + "[" + iRow + "]/pid" )); // 등록번호
- model.makeValue ("/root/send/reqdata/orddd" , model.getValue(dschPath + "[" + iRow + "]/indd" )); // 입원일자
- model.makeValue ("/root/send/reqdata/dschdclrdt" , model.getValue(dschPath + "[" + iRow + "]/dschdclrdt")); // 퇴원예정일시
- model.makeValue ("/root/send/reqdata/dschdclrtodt" , model.getValue("/root/main/cond/dschdclrdt")+"235959" ); // 퇴원예정일시
- model.makeValue ("/root/send/reqdata/dschdclrfromdt", model.getValue("/root/main/cond/dschdclrdt")+"000000" ); // 퇴원예정일시
- model.makeValue ("/root/send/reqdata/cretno" , model.getValue(dschPath + "[" + iRow + "]/cretno" )); // 생성번호
- model.makeValue ("/root/send/reqdata/wardcd" , model.getValue(dschPath + "[" + iRow + "]/wardcd" )); // 병동코드
- model.makeValue ("/root/send/reqdata/actflag" , sActFlag ); // 실시입원처방 액팅 처리 프로시저 호출 여부
- model.makeValue ("/root/send/reqdata/orddeptcd" , model.getValue("/root/main/paminfo/list/orddeptcd") ); // 진료과코드
-
- if ( !isNull(sDethdt) && sDethdt != "-" ){
- model.makeValue("/root/send/reqdata/dethdt" , sDethdt);//사망환자인경우 사망일시 세팅해줌.
- }
- model.removeNodeset("/root/main/checkcntinfo");
- model.removeNodeset("/root/main/outrsrvinfo" );
- model.removeNodeset("/root/main/tnsprcpinfo" );
- model.removeNodeset("/root/main/narcprcpinfo"); // 마약처방리스트 그리드 초기화
- model.removeNodeset("/root/main/checkcntinfo/bloodinfo/bloodcomment"); // 수혈기록 필드 초기화
-
- submit("TRMNW01202"); // 환자 외래예약 조회, 혈액처방 조회추가_20080827
-
- submit("TRMNW01203"); // 환자 처방건수 조회(/투약기록/퇴원약/반환예정/마감/식이정리정보/입원전검사처방/퇴원후 외래검사 처방/입원예정정보)
-
- //** 정보설정 **//
- model.makeValue(chkPath + "/dschdclrdr" , (model.getValue(dschPath + "[" + iRow + "]/dschdclrtrgstdt")).substr(0,4) + "-"
- + (model.getValue(dschPath + "[" + iRow + "]/dschdclrtrgstdt")).substr(4,2) + "-"
- + (model.getValue(dschPath + "[" + iRow + "]/dschdclrtrgstdt")).substr(6,2) + " "
- + (model.getValue(dschPath + "[" + iRow + "]/dschdclrtrgstdt")).substr(8,2) + ":"
- + (model.getValue(dschPath + "[" + iRow + "]/dschdclrtrgstdt")).substr(10,2)+ " / "
- + model.getValue(dschPath + "[" + iRow + "]/dschdclrtrgstnm") ); // 의사 퇴원예고
- model.makeValue(chkPath + "/dschnotinurse", (model.getValue(dschPath + "[" + iRow + "]/dschnotirgstdt")).substr(0,4) + "-"
- + (model.getValue(dschPath + "[" + iRow + "]/dschnotirgstdt")).substr(4,2) + "-"
- + (model.getValue(dschPath + "[" + iRow + "]/dschnotirgstdt")).substr(6,2) + " "
- + (model.getValue(dschPath + "[" + iRow + "]/dschnotirgstdt")).substr(8,2) + ":"
- + (model.getValue(dschPath + "[" + iRow + "]/dschnotirgstdt")).substr(10,2)+ " / "
- + model.getValue(dschPath + "[" + iRow + "]/dschnotirgstnm") ); // 간호사 퇴원확정
- // model.makeValue(chkPath + "/dschnotinurse", "[일시] " + (model.getValue(dschPath + "[" + iRow + "]/dschnotirgstdt")).substr(0,4) + "-"
- // + (model.getValue(dschPath + "[" + iRow + "]/dschnotirgstdt")).substr(4,2) + "-"
- // + (model.getValue(dschPath + "[" + iRow + "]/dschnotirgstdt")).substr(6,2) + " "
- // + (model.getValue(dschPath + "[" + iRow + "]/dschnotirgstdt")).substr(8,2) + ":"
- // + (model.getValue(dschPath + "[" + iRow + "]/dschnotirgstdt")).substr(10,2)+ " "
- // + "[등록자] " + model.getValue(dschPath + "[" + iRow + "]/dschnotirgstnm") ); // 간호사 퇴원확정
-
- if(sStatVal == "간호사퇴원확정" || sStatVal == "심사완료" || sStatVal == "심사중"){
- model.makeValue("/root/main/cond/notidt", model.getValue(dschPath + "[" + iRow + "]/dschnotidt").substr(0,8));
- model.makeValue("/root/main/cond/notitm", model.getValue(dschPath + "[" + iRow + "]/dschnotidt").substr(8,4));
- ipt_notitm.disabled = true;
- } else {
- model.makeValue ("/root/main/cond/notidt", getCurrentDate());
- model.makeValue ("/root/main/cond/notitm", getCurrentTime().substr(0, 4));
- ipt_notitm.disabled = false;
- }
-
- //20091006 김홍점 병실료 추가산정 20091201 3762 사망환자는 사망일시가 퇴원확정시간임.
- if ( ((model.getValue(dschPath + "[" + iRow + "]/dschnotidt")).substr(8,2) >= "18" )
- || (( isNull(model.getValue(dschPath + "[" + iRow + "]/dschnotidt")) || model.getValue(dschPath + "[" + iRow + "]/dschnotidt")=="-" )
- && (getCurrentTime().substr(0, 2) >= "18" || (model.getValue(dschPath + "[" + iRow + "]/dethdt")).substr(8,2) >= "18") ) ){
- model.makeValue(chkPath + "/boolafter18","true");
- }else{
- model.makeValue(chkPath + "/boolafter18","false");
- }
-
- model.makeValue(chkPath + "/judgperchgrinfo", "[담당자] " + model.getValue(dschPath + "[" + iRow + "]/judgperchgrnm") + " "
- + "[Office] " + model.getValue(dschPath + "[" + iRow + "]/judgperchgrofficetelno") + " "
- + "[H.P] " + model.getValue(dschPath + "[" + iRow + "]/judgperchgrmpphonno")); // 심사자 정보
- var sDrugspdUnitFlag = model.getValue("/root/main/checkcntinfo/checkcntlist/drugspdunitflag"); // 식이구분
- var sPrcpCd = model.getValue("/root/main/checkcntinfo/checkcntlist/prcpcd" ); // 수가코드
-
- // 조식
- if(sDrugspdUnitFlag == "1") {
- if(sPrcpCd == dietnprcpcd) { // 금식("Q9140002":개인금식코드(수가테이블참조:emr.mmbtprcd))
- model.makeValue(chkPath + "/dietcmfninfo" , "[아침금식]으로 정리되었습니다.");
- } else {
- model.makeValue(chkPath + "/dietcmfninfo" , "[아침먹고 퇴원]으로 정리되었습니다.");
- }
- }
- // 중식
- else if(sDrugspdUnitFlag == "2") {
- model.makeValue(chkPath + "/dietcmfninfo" , "[점심먹고 퇴원]으로 정리되었습니다.");
- }
- // 석식
- else if(sDrugspdUnitFlag == "3") {
- model.makeValue(chkPath + "/dietcmfninfo" , "[저녁먹고 퇴원]으로 정리되었습니다.");
- }
-
- // 식사정리가 된 경우
- if(model.getValue(chkPath + "/dietcmfninfo") != "" ) {
- btn_diet1.disabled = true; // [아침먹고]
- btn_diet2.disabled = true; // [점심먹고]
- btn_diet3.disabled = true; // [저녁먹고퇴원하기]
- btn_dietN.disabled = true; // [아침금식]
- }
-
- if(model.getValue("/root/temp/checkcntinfo/checkcntlist/dietcmfninfo")!=""){
- model.makeValue(chkPath + "/dietcmfninfo" , model.getValue("/root/temp/checkcntinfo/checkcntlist/dietcmfninfo"));
- }
-
- if(model.getValue(chkPath + "/inrsrvinfo") == ""){
- model.setValue(chkPath + "/inrsrvinfo", "입원예정으로 발급된 입원장이 없습니다.");
- }
- /*
- if(getNodesetCount("/root/main/outrsrvinfo/outrsrvinfolist") < 1){
- model.makeValue("/root/main/outrsrvinfo/outcomment", "외래예약이 없습니다.");
- }
- alert(getNodesetCount("/root/main/outrsrvinfo/outrsrvinfolist")+"**"+getNodesetCount("/root/main/tnsprcpinfo/tnsprcplist"));
- if(getNodesetCount("/root/main/tnsprcpinfo/tnsprcplist") < 1){
- model.makeValue("/root/main/tnsprcpinfo/tnsprcpcomment", "정리되지 않은 혈액처방이 없습니다.");
- }
- */
- //** 외래CHEMO 정보_특수주사실(외래CHEMO)인 경우 **//
- /* 특수주사실 사용 안함. 주석처리_20090416(ByJA)
- if(model.getValue("/root/main/cond/wardcd")== chemodeptcd) {
- model.setValue("/root/main/chemoinrminfo/careinrmdt", model.getValue(dschPath + "[" + iRow + "]/careinrmdt") ); // 외래CHEMO입실일시
- model.setValue("/root/main/chemoinrminfo/dschnotidd", model.getValue(dschPath + "[" + iRow + "]/chemodschnotidd")); // 외래CHEMO퇴실일자
- model.setValue("/root/main/chemoinrminfo/dschnotitm", model.getValue(dschPath + "[" + iRow + "]/chemodschnotitm")); // 외래CHEMO퇴실시간
- fCalTime(); // 재실시간계산
- }
- */
-
- //** 의사 가정간호의뢰서 작성여부에 따른 가정간호기능 활성화_20080616추가 **//
- if(model.getValue("/root/main/checkcntinfo/checkcntlist/cnstinfoyn")=="Y"){ //의사 가정간호의뢰서 작성 여부(Y:작성함/N:작성하지 않음)
- btn_homecare.disabled = "false"; //[가정간호]버튼 활성화
- }else{
- btn_homecare.disabled = "true"; //[가정간호]버튼 비활성화
- }
-
- //** 삭제불가능한 혈액처방에 색상표시 **//
- grd_tnsprcplist.allstyle( "all", "background-color" ) = "white";
- for(var i=0;i<=grd_tnsprcplist.rows;i++){
- if(model.getValue("/root/main/tnsprcpinfo/tnsprcplist["+i+"]/dcyn") == "N"){
- grd_tnsprcplist.rowstyle(i, "all", "background-color") = "pink";
- }
- }
- grd_tnsprcplist.fixedcellcheckbox(0, grd_tnsprcplist.colRef("checks")) = true; // 혈액처방 그리드의 전체선택 체크박스 생성
- grd_tnsprcplist.fixedcellischeck (0, grd_tnsprcplist.colRef("checks")) = false; // 혈액처방 그리드의 전체선택 체크박스 초기화
-
- model.removeNodeset("/root/main/incplist");
- // 2012.02.14 일일입원실 환자 퇴원약 처리
- if (wardcd == daywardcd) {
- submit("TRMNW01209");
- }
-
- model.refresh();
- }
-
- /**
- * @group :
- * @ver : 2007.07.13 / 수정일자 : 2007.08.31
- * @by : 정경화 / 수정자 : 김진아
- * @--------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc :
- * @param : dschfg (Y:간호사 퇴원 확정 / N:간호사 퇴원취소 / D:의사 퇴원예고 취소)
- * @return :
- * @history: 20090604 김홍점 병실료 50% 산정 변경요청번호 1807 저녁먹고 퇴원시 퇴실확정시간 18시로 지정
- * @--------------------------------------------------------------------------------
- */
- function select_dschyn(dschfg){
-
- //debugger;
- var sDietReqYN = model.getValue("/root/main/checkcntinfo/checkcntlist/dietreqyn");
- var sInreport = model.getValue("/root/main/inreportInfo/inreport");
- var sPrcpYn = model.getValue("/root/main/inreportInfo/prcpyn");
- var cnt = 0;
- /*20110411_KNUH_Start
- if(sDietReqYN == "Y") {
- messageBox("식이처방 수정요청 중인 건이 있습니다. 요청이 완료된 후 다시 퇴실정리 해주세요. ", "E");
- return;
- }
- */
-
-
- for(var i=1; i<=getNodesetCount("/root/code/codeinfo/codelist"); i++){
- if(model.getValue("/root/code/codeinfo/codelist["+i+"]/cdgrupid") == "W04"){
- if(model.getValue("/root/code/codeinfo/codelist["+i+"]/cdid") == model.getValue("/root/main/cond/wardcd")){
- cnt++;
- }
- }
- }
-
-
- if(dschfg == "Y"){
- /*
- if(cnt == 0){
- if(sInreport == "N" ){
- messageBox("인증저장 되지 않은 간호정보조사지가 있습니다.", "E", "간호정보조사지 작성을 완료한 후 다시 시도하십시오.");
- return;
- }
- }
- */
-
- if(sPrcpYn == "N" ){
- messageBox("간호처방모니터링 간호확인이 완료되지 않은 건이 있습니다.", "E", "퇴원정리 원스탑의 간호처방모니터링 바로가기 버튼을 이용하여 간호확인을 하시기 바랍니다.");
- return;
- }
- }
-
- var sDschNotiDt="";// 병실료 50% 추가 산정 변경요청번호 8135 김홍점 20091006
- var sDietFlag = model.getValue("/root/main/temp/sDietFlag"); // 식사정리구분자 ("B":아침먹고, "L":점심먹고, "D":저녁먹고, "F":아침금식, "C":식사안함 )
-
- model.getValue("/root/main/cond/wardcd")!= babyicudeptcd
-
- /*
- // 신생아실 (wardcd:2110200000) 식사정리 제외_20080909소경화ITC요청으로 추가_신생아는 식사처방 없음_삭제불가
- if( model.getValue("/root/main/cond/wardcd")!= babydeptcd // 신생아실
- && model.getValue("/root/main/cond/wardcd")!= babyicudeptcd // 신생아중환자실
- && model.getValue("/root/main/cond/wardcd")!= alcoholdeptcd // 알코올의존치료센터_20090529_SMY추가
- // && (isNull(model.getValue(dschPath + "[" + iRow + "]/dethdt"))
- // || model.getValue(dschPath + "[" + iRow + "]/dethdt") == '-')
- ){
- */
-
- if(sDietFlag == "" && sDietFlag != "C" && dschfg == "Y" && model.getValue("/root/main/checkcntinfo/checkcntlist/drugspdunitflag")==""){
- messageBox("식사정리를 하지 않았습니다.", "E", "식사정리를 완료한 후 다시 시도하십시오.");
- model.setFocus("btn_diet1");
- return;
- }
- //}
-
- //* 성가병원의 경우, 당일 퇴원예고등록환자의 퇴원확정시간이 08:00이후이면 당일퇴원사유를 입력하도록 요청(원무팀통계자료)_20090716_ByJA
- if(getUserInfo("dutplceinstcd") == sunggainstcd){
- //2009-08-13 오후 4:04:52 taebum add 당일 퇴원등록을 하지 않을 경우에도 사유 popup이 뜨도록 변경 함. 원상복구 함.
- //2009-08-17 오후 6:04:52 JA 당일 퇴원등록을 하지 않을 경우에도 사유 popup이 뜨도록 주석처리함.
- if( //(model.getValue(dschPath + "[" + iRow + "]/dschdclrdt") == (model.getValue(dschPath + "[" + iRow + "]/dschdclrtrgstdt").substr(0,8))) &&
- (model.getValue(chkPath + "/tdaydschresn") == "" || model.getValue(chkPath + "/tdaydschresn") == "-")
- &&(getCurrentTime() >= "080000")
- &&(dschfg == "Y") //dschfg-"Y":간호사퇴원확정
- &&(model.getValue(chkPath + "/actcnt") == "0")
- &&(model.getValue(chkPath + "/drugcnt") == "0")
- &&(model.getValue(chkPath + "/prcpendcnt") == "0")
- &&(model.getValue(chkPath + "/retcnt") == "0")
- &&(model.getValue(chkPath + "/uncnfmcnt") == "0")
- ){
- messageBox("당일퇴원환자입니다.", "I", "당일퇴원사유 입력 후 간호사 퇴원확정 하십시오.");
-
- setParameter("unitflag", "dsch");
- setParameter("pid" , model.getValue(dschPath + "[" + iRow + "]/pid"));
- setParameter("wardcd" , model.getValue(dschPath + "[" + iRow + "]/wardcd"));
- modal("SMMNW13100","1","15","128", "SMMNW13100");
-
- select_dschpatinfo("N"); // 환자 처방건수 조회(/투약기록/퇴원약/반환예정/마감/식이정리정보/입원전검사처방/퇴원후 외래검사 처방/입원예정정보)
- return;
- }
- }
-
- //** 간호사 퇴원 확정 **//
- model.removenode("/root/send");
- model.makeNode ("/root/send");
- model.makeValue ("/root/send/reqdata/pid" , model.getValue(dschPath + "[" + iRow + "]/pid" )); // 환자번호
- model.makeValue ("/root/send/reqdata/orddd" , model.getValue(dschPath + "[" + iRow + "]/indd" )); // 입원일자
- model.makeValue ("/root/send/reqdata/cretno" , model.getValue(dschPath + "[" + iRow + "]/cretno" )); // 생성번호
- model.makeValue ("/root/send/reqdata/seqno" , model.getValue(dschPath + "[" + iRow + "]/seqno" )); // 이력일련번호
- model.makeValue ("/root/send/reqdata/dschdclrdt" , model.getValue(dschPath + "[" + iRow + "]/dschdclrdt")); // 퇴원예정일
- model.makeValue ("/root/send/reqdata/dschdclrtodt" , model.getValue("/root/main/cond/dschdclrdt")+"235959" ); // 퇴원예정일
- model.makeValue ("/root/send/reqdata/dschdclrfromdt", model.getValue("/root/main/cond/dschdclrdt")+"000000" ); // 퇴원예정일
- model.makeValue ("/root/send/reqdata/wardcd" , model.getValue("/root/main/cond/wardcd" )); // 병동코드
- //메시지를 보낼 시간 추가 by 박영우
- model.makeValue ("/root/send/reqdata/starttmcd" , starttmcd); //병원별시작시간
- model.makeValue ("/root/send/reqdata/endtmcd" , endtmcd); //병원별종료시간
-
- if ( getCurrentTime().substring(0,2) < "18" && boolafter18.value == "true"){
- sDschNotiDt = model.getValue("/root/main/cond/dschdclrdt") + "183000"; //여긴 8자리일자만 들어옴.
- model.makeValue("/root/send/reqdata/dschnotidt" , sDschNotiDt); // 병실료 50% 산정 변경요청번호 8135 김홍점 20091006
- }
- if ( !isNull(model.getValue(dschPath + "[" + iRow + "]/dethdt"))
- && model.getValue(dschPath + "[" + iRow + "]/dethdt") != '-'
- && (model.getValue(dschPath + "[" + iRow + "]/dethdt") <= getCurrentDate()+getCurrentTime()) ){
- sDschNotiDt = model.getValue(dschPath + "[" + iRow + "]/dethdt");//
- model.makeValue("/root/send/reqdata/dschnotidt" , sDschNotiDt); //사망환자 퇴원확정시간을 사망일시로 변경요청번호 3762 김홍점 20091201
- model.makeValue("/root/send/reqdata/dethdt" , sDschNotiDt); //사망환자인경우 사망일시 세팅해줌.
- }
- // chemo퇴실시간 사용안함.
- // model.makeValue ("/root/send/reqdata/dschnotidt" , model.getValue("/root/main/chemoinrminfo/dschnotidd")
- // + model.getValue("/root/main/chemoinrminfo/dschnotitm") ); // 퇴실일시
- model.makeValue ("/root/send/reqdata/dschflag" , dschfg ); // Y:간호사 퇴원 확정 / N:간호사 퇴원취소 / D:의사 퇴원예고 취소
- model.makeValue ("/root/send/reqdata/orddeptcd" , model.getValue("/root/main/paminfo/list/orddeptcd") ); // 진료과코드
- model.makeValue ("/root/send/reqdata/dscharngmnmemo", model.getValue("/root/main/checkcntinfo/checkcntlist/dscharngmnmemo")); // 수납에 전달 될 메모
- // 식이구분
- switch(sDietFlag) {
- case "B":
- model.makeValue("/root/send/reqdata/drugspdunitflag", "1");
- model.makeValue("/root/send/reqdata/fastflag" , "N"); // 금식구분 ("Y":금식/"N":금식아님)
- sDietNm = "[아침]";
- break;
- case "L":
- model.makeValue("/root/send/reqdata/drugspdunitflag", "2");
- model.makeValue("/root/send/reqdata/fastflag" , "N");
- sDietNm = "[점심]";
- break;
- case "D":
- model.makeValue("/root/send/reqdata/drugspdunitflag", "3");
- model.makeValue("/root/send/reqdata/fastflag" , "N"); // 금식구분 ("Y":금식/"N":금식아님)
- sDietNm = "[저녁]";
- break;
- case "F":
- model.makeValue("/root/send/reqdata/drugspdunitflag", "1");
- model.makeValue("/root/send/reqdata/fastflag" , "Y");
- sDietNm = "[아침]";
- break;
- default:
- model.makeValue("/root/send/reqdata/drugspdunitflag", "");
- model.makeValue("/root/send/reqdata/fastflag" , "");
- }
-
- //******************************************************************************************
- //일일입원실일 경우 지정한 퇴실일시로 퇴원확정 하도록 수정 2012.02.13 김지선
- var chk_wardcd = model.getValue("/root/main/cond/wardcd");
- if (daywardcd == chk_wardcd) {
- // 퇴실일시 지정
- model.makeValue("/root/send/reqdata/dschnotidt", model.getValue("/root/main/cond/notidt")+
- model.getValue("/root/main/cond/notitm"));
-
- //2017.02.21_외퇴 로직 추가
- model.makeValue("/root/send/reqdata/brateflagchk", model.getValue("/root/main/cond/brateflagchk"));
- //alert(":"+model.getValue("/root/send/reqdata/brateflagchk") + ":");
- if(model.getValue("/root/main/cond/notitm") == ""){
- messageBox("퇴원확정 시간을 입력하지 않아 간호사퇴원확정을 ", "E001", "퇴원확정 시간을 입력 후 다시 시도하십시오.");
- return;
- }
-
- // 퇴원약 약번호 I/F 처리
- model.makeValue("/root/send/pharmacyif", grd_inglist.getUpdateDataAll('i'));
- }
- //******************************************************************************************
- model.removeNodeset("/root/main/chkstatinfo");
-
- submit("TXMNW01201");
-
- //** 미수행 건수 존재 여부 확인 **//
- var rtnmsg = model.getValue("/root/main/chkstatinfo/rtnmsg");
-
- //***** 의사퇴원예고 취소 *****//
- if(dschfg == "D"){
- if(rtnmsg == "P") {
- messageBox("퇴원약, 퇴원후외래처방, 입원전검사처방이 존재하여 의사 퇴원예고 취소를 ", "E001");
- model.makeValue("/root/main/temp/sDietFlag", "");
- }
- select_dschpatlist("P"); // 퇴원예정환자 리스트조회
- }
- //***** 간호사 퇴원확정, 간호사 퇴원확정 취소 *****//
- else{
- /* "U" : 간호미확인처방 존재함
- "N" : 정리되지 않은 마약처방 존재함
- "A" : 미수행처방 존재함
- "B" : 미투약기록 존재함
- "R" : 반환예정처방 존재함
- "E" : 미마감 건수 존재함
- "T" : 정리되지 않은 혈액처방 존재함
- "Z" : 실시일시(시간까지 포함)가 간호사퇴원확정일시 보다 이후인 처방이 존재
- "D" : 식사미정리
- "O" : 미처리된 외출/외박약
- "C" : 미승인된 식이 수정요청
- "F" : 반환요청으로 남아있는 처방
- "H" : 가정간호 의뢰간호기록 미작성
- "I" : 의사 미확인 구두처방 존재함 */
-
- //* "X" : 미수행(식사포함) 건수 존재함
- /*
- if(rtnmsg == "X") {
- messageBox("미수행처방이 존재하여 간호사퇴원확정을 ", "E001", "[Acting Check], [투약기록], [반환예정] 또는 Order Manage를 확인하여 미수행처방을 정리한 후 다시 시도하십시오.");
- model.makeValue("/root/main/temp/sDietFlag", "");
- }
- */
-
- //* "U" : 간호미확인처방 존재함
- if(rtnmsg == "U") {
- messageBox("간호미확인 처방이 존재하여 간호사퇴원확정을 ", "E001", "[미확인처방(OrderManage)]화면을 확인하여 간호확인 후 다시 시도하십시오.");
- model.makeValue("/root/main/temp/sDietFlag", "");
- }
- //* "I" : 의사 미확인 구두처방 존재함
- else if(rtnmsg == "I") {
- messageBox("미확인 구두처방이 존재하여 간호사퇴원확정을 ", "E001", "[구두처방]화면을 확인하여 정리한 후 다시 시도하십시오.");
- model.makeValue("/root/main/temp/sDietFlag", "");
- }
- //* "N" : 정리되지 않은 마약처방 존재함 김홍점 20090507
- else if(rtnmsg == "N") {
- messageBox("정리되지 않은 마약처방이 존재하여 간호사퇴원확정을 ", "E001", "마약처방을 정리한 후 다시 시도하십시오.");
- model.setAttribute("Narc_Menu_Param", "");
- var sParam = "I,op";
- model.setAttribute("Narc_Menu_Param", sParam);
- model.setAttribute("SMADT30400_Fromdd", model.getValue(dschPath + "[" + iRow + "]/indd"));
- modal("SMADT30400","1","15","128");
- model.setAttribute("SMADT30400_Fromdd", "");
- select_dschyn("Y");
- }
-
- //* "A" : 미수행처방 존재함
- else if(rtnmsg == "A") {
- messageBox("미수행처방이 존재하여 간호사퇴원확정을 ", "E001", "[Acting Check]화면을 확인하여 미수행처방을 정리한 후 다시 시도하십시오.");
- model.makeValue("/root/main/temp/sDietFlag", "");
- }
-
- //* "B" : 미투약기록 존재함
- else if(rtnmsg == "B") {
- messageBox("투약기록 되지 않은 처방이 존재하여 간호사퇴원확정을 ", "E001", "[투약기록]화면을 확인하여 투약기록을 한 후 다시 시도하십시오.");
- model.makeValue("/root/main/temp/sDietFlag", "");
- }
-
- //* "R" : 반환예정처방 존재함
- else if(rtnmsg == "R") {
- messageBox("반환예정 처방이 존재하여 간호사퇴원확정을 ", "E001", "[반환예정]화면을 확인하여 정리한 후 다시 시도하십시오.");
- model.makeValue("/root/main/temp/sDietFlag", "");
- }
-
- //* "E" : 미마감 건수 존재함
- else if(rtnmsg == "E") {
- /* 특수주사실 사용 안함. 주석처리_20090416(ByJA)
- if(model.getValue("/root/main/cond/wardcd")!="3120400000") { // 특수주사실(외래CHEMO)인 경우 마감여부체크 제외_20080826김보성대리님요청으로 추가_특수주사실퇴실정리개발 후 삭제해야 함.
- messageBox("마감처리가 되지 않은 처방이 존재하여 간호사퇴원확정을 ", "E001", "[마감]화면을 확인하여 마감완료 후 다시 시도하십시오.");
- model.makeValue("/root/main/temp/sDietFlag", "");
- }
- */
- messageBox("마감처리가 되지 않은 처방이 존재하여 간호사퇴원확정을 ", "E001", "[마감]화면을 확인하여 마감완료 후 다시 시도하십시오.");
- model.makeValue("/root/main/temp/sDietFlag", "");
- }
-
- //* "T" : 정리되지 않은 혈액처방 존재함
- else if(rtnmsg == "T") {
- messageBox("정리되지 않은 혈액처방이 존재하여 간호사퇴원확정을 ", "E001", "혈액처방을 정리한 후 다시 시도하십시오.");
- model.makeValue("/root/main/temp/sDietFlag", "");
- }
- //* "Z" : 실시일시(시간까지 포함)가 간호사퇴원확정일시 보다 이후인 처방이 존재하면 퇴원확정 안되도록 Blocking 처리 요청_원무 채희철과장님 요청_20081216
- else if(rtnmsg == "Z") {
- messageBox("실시일시(시간까지 포함)가 간호사퇴원확정일시 보다 이후인 처방이 존재하여 퇴원확정을", "E001", "확인 후 다시 시도하십시오.");
- model.makeValue("/root/main/temp/sDietFlag", "");
- }
-
- //* "D" : 식사미정리
- else if(rtnmsg == "D") {
- messageBox("정리되지 않은 식사처방이 존재합니다.\n식사정리를 완료하지 않으면 퇴원확정을", "E001", "\n식사정리를 완료한 후 다시 시도하십시오.");
- select_dschpatinfo("N");
- model.makeValue("/root/main/temp/sDietFlag", "");
- }
-
- //* "O" : 식사미정리
- else if(rtnmsg == "O") {
- messageBox("정리되지 않은 외출/외박약이 존재하여 퇴원확정을", "E001", "\n정리한 후 다시 시도하십시오.");
- select_dschpatinfo("N");
- model.makeValue("/root/main/temp/sDietFlag", "");
- }
-
- //"F" : 반환요청으로 남아있는 처방
- else if(rtnmsg == "F") {
- messageBox("반환요청 상태의 처방이 존재하여 간호사퇴원확정을 ", "E001", "정리한 후 다시 시도하십시오.");
- select_dschpatinfo("N");
- model.makeValue("/root/main/temp/sDietFlag", "");
- }
-
- //* "H" : 가정간호 의뢰간호기록 미작성
- //***************************************************************************************************************//
- //***************************************************************************************************************//
- //** " 3월24일 요청했던 퇴원시 가정간호 의뢰 간호기록을 작성하지 않았을 경우의 간호사 퇴원확정을 할 수 없도록 **//
- //** blocking을 요청한 사항에 관하여 삭제(병동간호와 가정간호의 협의사항임)" 에 따른 주석처리_20080805(ByJA) **//
- //** -> 삭제 되었던 Blocking 기능을 경북대학교병원 가정간호 요청사항으로 다시 체크 하도록 함_ 20110607(손성훈)**//
- //***************************************************************************************************************//
- else if(rtnmsg == "H") {
- messageBox("가정간호의뢰서가 존재하나 '퇴원시 가정간호 의뢰 간호기록'이.", "E014", "'퇴원시 가정간호 의뢰 간호기록'을 작성(인증저장)하신 후 다시 시도하십시오.");
- select_dschpatinfo("N");
- if(model.getValue("/root/main/checkcntinfo/checkcntlist/dietcmfninfo")==""){
- fGetDietYn(sDietFlag); // 당일 해당식사 존재여부 확인 및 상태값 지정
- }
- }
-
- //***************************************************************************************************************//
- else{
- //* "DETH" : 사망환자는 실시일시(시간까지 포함)가 간호사퇴원확정일시 보다 이후인 처방이 존재하면 자동 사망일시로 실시일시 수정처리 요청_김숙인itc 요청_20091203 khj
- if(rtnmsg == "DETH") {
- messageBox("실시일자가 사망등록일자 이후인 처방이 존재합니다.\n 실시일자를 사망등록일자로 자동수정합니다.", "I");
- model.makeValue("/root/main/temp/sDietFlag", "");
- }
-
- select_dschpatlist("P"); // 퇴원예정환자 리스트조회
- model.makeValue("/root/main/temp/sDietFlag", "");
- }
-
- model.makeValue("/root/main/temp/sDietFlag", sDietFlag);
- model.makeValue("/root/main/cond/brateflagchk", "");
- model.refresh();
- }
- }
- /**
- * @group :
- * @ver : 2007.07.16 / 수정일자 : 2007.08.31
- * @by : 정경화 / 수정자 : 김진아
- * @--------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 퇴원약/퇴원후 검사처방/입원전 검사처방 화면 Popup
- * @param :
- * @return :
- * @--------------------------------------------------------------
- */
- function select_dschPopup(){
- if (model.getvalue("/root/main/dschpatinfo/dschpatlist[" + iRow + "]/pid") != "") {
- model.makevalue("/root/source/pidinfo/dschdclrdt", model.getValue(dschPath + "[" + iRow + "]/dschdclrdt")); // 퇴원일자
- model.makevalue("/root/source/pidinfo/pid" , model.getValue(dschPath + "[" + iRow + "]/pid") ); // 등록번호
- model.makevalue("/root/source/pidinfo/orddd" , model.getValue(dschPath + "[" + iRow + "]/indd") ); // 입원일자
- model.makevalue("/root/source/pidinfo/cretno" , model.getValue(dschPath + "[" + iRow + "]/cretno") ); // 생성반호
- model.makevalue("/root/source/pidinfo/hngnm" , model.getValue(dschPath + "[" + iRow + "]/hngnm") ); // 환자명
- model.makevalue("/root/source/pidinfo/wardcd" , model.getValue(dschPath + "[" + iRow + "]/wardcd") ); // 병동코드
- modal("SPMNW01300","","700","350","SPMNW01300","/root/source/pidinfo","/root/target/pidinfo");
- }
- else{
- messageBox("환자를", "C002");
- return;
- }
- }
- /**
- * @group :
- * @ver : 2007.09.03
- * @by : 김진아
- * @------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 진행상태값 체크 (간호사퇴원확정/간호사퇴원확정취소/의사퇴원예고취소 버튼 클릭 시)
- * @param :
- * @return :
- * @------------------------------------------------------------------------------------------------
- */
- function fChkStatVal(){
- model.removenode("/root/send");
- model.makeNode ("/root/send");
- model.makeValue ("/root/send/reqdata/pid" , model.getValue(dschPath + "[" + iRow + "]/pid")); // 등록번호
- model.makeValue ("/root/send/reqdata/indd" , model.getValue(dschPath + "[" + iRow + "]/indd")); // 입원일자
- //16.01.06_ AYS추가
- model.makeValue ("/root/send/reqdata/cretno" , model.getValue(dschPath + "[" + iRow + "]/cretno")); // 생성번호
- //16.01.06_ AYS추가
- model.makeValue ("/root/send/reqdata/dschdclrdt", model.getValue(dschPath + "[" + iRow + "]/dschdclrdt")); // 퇴원예정일
- model.removeNodeset("/root/main/chkstatinfo");
- submit("TRMNW01204");
- }
- /**
- * @group :
- * @ver : 2008.02.19
- * @by : 김진아
- * @---------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 식사존재여부 확인
- * @param : "B":아침먹고, "L":점심먹고, "D":저녁먹고, "F":아침금식
- * @return :
- * @---------------------------------------------------------------------
- */
- function fGetDietYn(sDietFlag){
- var sDietNm = "", sDietSetNm = "";
- var sAddMsg = "";
- var sMsg = "";
- var sDschNotiDt="";
- var sDethdt = model.getValue(dschPath + "[" + iRow + "]/dethdt"); // 환자별 사망일
-
- model.removenode("/root/send");
- model.makeValue ("/root/send/reqdata/pid" , model.getValue(dschPath + "[" + iRow + "]/pid")); // 등록번호
- model.makeValue ("/root/send/reqdata/orddd" , model.getValue(dschPath + "[" + iRow + "]/indd")); // 입원일자
- model.makeValue ("/root/send/reqdata/dschdclrdt" , model.getValue(dschPath + "[" + iRow + "]/dschdclrdt")); // 퇴원예정일
- model.makeValue ("/root/send/reqdata/dschdclrtodt" , model.getValue("/root/main/cond/dschdclrdt")+"235959");
- model.makeValue ("/root/send/reqdata/dschdclrfromdt", model.getValue("/root/main/cond/dschdclrdt")+"000000");
-
- model.makeValue ("/root/send/reqdata/notidt", model.getValue ("/root/main/cond/notidt"));
- model.makeValue ("/root/send/reqdata/notitm", model.getValue ("/root/main/cond/notitm"));
-
- if ( !isNull(sDethdt) && sDethdt != "-" ){
- model.makeValue("/root/send/reqdata/dethdt" , sDethdt);//사망환자인경우 사망일시 세팅해줌.
-
- }
-
- // 식이구분
- switch(sDietFlag) {
- case "B":
- model.makeValue("/root/send/reqdata/drugspdunitflag", "1");
- model.makeValue("/root/send/reqdata/fastflag" , "N"); // 금식구분 ("Y":금식/"N":금식아님)
- sDietNm = "[아침]"; sDietSetNm = "[아침먹고 퇴원]";
- break;
- case "L":
- model.makeValue("/root/send/reqdata/drugspdunitflag", "2");
- model.makeValue("/root/send/reqdata/fastflag" , "N"); // 금식구분 ("Y":금식/"N":금식아님)
- sDietNm = "[점심]"; sDietSetNm = "[점심먹고 퇴원]";
- break;
- case "D":
- model.makeValue("/root/send/reqdata/drugspdunitflag", "3");
- model.makeValue("/root/send/reqdata/fastflag" , "N"); // 금식구분 ("Y":금식/"N":금식아님)
- sDietNm = "[저녁]"; sDietSetNm = "[저녁먹고 퇴원]";
- break;
- case "F":
- model.makeValue("/root/send/reqdata/drugspdunitflag", "1");
- model.makeValue("/root/send/reqdata/fastflag" , "Y"); // 금식구분 ("Y":금식/"N":금식아님)
- sDietNm = "[아침]"; sDietSetNm = "[아침금식]";
- break;
- }
- model.removeNodeset("/root/main/chkstatinfo");
- submit("TRMNW01206");
-
- model.makeValue("/root/main/temp/sDietFlag", sDietFlag);
- // 지정한 식사가 존재 하지 않을 경우
- if(model.getValue("/root/main/chkstatinfo/getdietyn") == "N" ){
- messageBox("해당환자의 당일 "+sDietNm+"식사처방이 존재하지 않아 퇴원식이지정을 하지 못했습니다.", "E", "해당환자의 당일 식사처방을 확인 후 다시 식사정리 또는 퇴원식이 없이 간호사 퇴원확정하십시오.\n(단, 간호사퇴원확정시 해당환자의 당일 "+sDietNm+"식사이후의 식사는 모두 D/C처리 됩니다.)");
- sMsg = sAddMsg + sDietNm + "식사이후의 식사는 모두 D/C처리 될 예정입니다.";
- model.makeValue("/root/main/checkcntinfo/checkcntlist/dietcmfninfo",sMsg);
- model.makeValue("/root/temp/checkcntinfo/checkcntlist/dietcmfninfo",sMsg);
- }else{
- sMsg = sAddMsg + sDietSetNm + "으로 정리예정입니다.";
- model.makeValue("/root/main/checkcntinfo/checkcntlist/dietcmfninfo",sMsg);
- model.makeValue("/root/temp/checkcntinfo/checkcntlist/dietcmfninfo",sMsg);
- }
- opt_dietcmfninfo.hint = sMsg;
- opt_dietcmfninfo.refresh();
- }
- /**
- * @group :
- * @ver : 2007.09.03
- * @by : 김진아
- * @---------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 식사정리 not used reqSetDietPrcp 이것도 사용안함.
- * @param : "B":아침먹고, "L":점심먹고, "D":저녁먹고, "F":아침금식
- * @return :
- * @---------------------------------------------------------------------
- */
- function fDietArngmn(sDietFlag){
- var sDietNm = "";
- model.removenode("/root/send");
- model.makeNode ("/root/send");
- model.makeValue ("/root/send/reqdata/pid" , model.getValue(dschPath + "[" + iRow + "]/pid")); // 등록번호
- model.makeValue ("/root/send/reqdata/orddd" , model.getValue(dschPath + "[" + iRow + "]/indd")); // 입원일자
- model.makeValue ("/root/send/reqdata/dschdclrdt" , model.getValue(dschPath + "[" + iRow + "]/dschdclrdt")); // 퇴원예정일
- model.makeValue ("/root/send/reqdata/dschdclrtodt" , model.getValue("/root/main/cond/dschdclrdt")+"235959");
- model.makeValue ("/root/send/reqdata/dschdclrfromdt", model.getValue("/root/main/cond/dschdclrdt")+"000000");
-
- // 식이구분
- switch(sDietFlag) {
- case "B":
- model.makeValue("/root/send/reqdata/drugspdunitflag", "1");
- model.makeValue("/root/send/reqdata/fastflag" , "N"); // 금식구분 ("Y":금식/"N":금식아님)
- sDietNm = "[아침]";
- break;
- case "L":
- model.makeValue("/root/send/reqdata/drugspdunitflag", "2");
- model.makeValue("/root/send/reqdata/fastflag" , "N"); // 금식구분 ("Y":금식/"N":금식아님)
- sDietNm = "[점심]";
- break;
- case "D":
- model.makeValue("/root/send/reqdata/drugspdunitflag", "3");
- model.makeValue("/root/send/reqdata/fastflag" , "N"); // 금식구분 ("Y":금식/"N":금식아님)
- sDietNm = "[저녁]";
- break;
- case "F":
- model.makeValue("/root/send/reqdata/drugspdunitflag", "1");
- model.makeValue("/root/send/reqdata/fastflag" , "Y"); // 금식구분 ("Y":금식/"N":금식아님)
- sDietNm = "[아침]";
- break;
- }
-
- model.removeNodeset("/root/main/chkstatinfo");
- submit("TXMNW01202");
- // 식이처방 존재여부 표시("X":없음/"Y":있음)
- if(model.getValue("/root/main/chkstatinfo/dietynrtnmsg") == "X"){
- messageBox("해당환자의 당일 " + sDietNm + "식사처방이 존재하지 않아 식사정리가 되지 않았습니다.", "E", "해당환자의 당일 식사처방을 확인 후 다시 정리하십시오.\n(해당환자의 당일 "+sDietNm+"식사이후의 식사는 D/C처리 됩니다.)");
- //model.makeValue(chkPath + "/dietcmfninfo" , sDietNm+"식사처방이 존재하지 않습니다.");
- //model.refresh();
- } else {
- select_dschpatinfo("N"); // 환자상세정보조회
- }
- }
- /**
- * @group :
- * @ver : 2007.09.05
- * @by : 김진아
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 초기화
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fInit(){
-
- grd_inppatlist.cellstyle("background-color", 0, 0, grd_inppatlist.rows-1, grd_inppatlist.cols-1) = "white";
- fClearChildNode("/root/main/descpatdeinfo");
- fClearChildNode("/root/main/chemoinrminfo");
- fClearChildNode(chkPath);
-
- if(getNodesetCount("/root/main/outrsrvinfo") > 0){
- fClearChildNode("/root/main/outrsrvinfo");
- }
-
- var wardcd = model.getValue("/root/main/cond/wardcd");
- if (wardcd == daywardcd) {
- fVisibleNotidt('Y');
- } else {
- fVisibleNotidt('N');
- }
-
- grp_erprcp.visible = false;
- model.refresh();
- }
- /**
- * @group :
- * @ver : 2007.09.07
- * @by : 김진아
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 화면상단 정보설정
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fsetHngBaseInfo(){
- //**상단정보 초기화**//
- delPatientInfos(); //화면상단정보 삭제
- setGlobalVariable("paminfo", ""); //원무정보 reset
- if(getNodesetCount("/root/main/paminfo/list") > 0) {
- model.removeNodeset("/root/main/paminfo/list");
- }
-
- var iRow = grd_inppatlist.row;
-
- // 상단 환자정보 parameter
- var sIoflag = "I";
- var sPid = model.getValue(dschPath + "[" + iRow + "]/pid");
-
- model.removenode ("/root/send");
- model.makeNode ("/root/send");
- model.makeValue ("/root/send/reqdata/pid" , sPid);
- model.makeValue ("/root/send/reqdata/histstat", sIoflag);
-
- model.removeNodeset("/root/temp/gettoplist");
- submit("TRMND00103");
-
- var sCretno = model.getValue("/root/temp/gettoplist/gettopinfo/cretno" ); //생성번호
- var sSeqno = model.getValue("/root/temp/gettoplist/gettopinfo/seqno" ); //일련번호
- var sInstcd = model.getValue("/root/temp/gettoplist/gettopinfo/instcd" ); //기관코드
- var sIndd = model.getValue("/root/temp/gettoplist/gettopinfo/indd" ); //입원일자
- var sParam;
-
- sParam = (sIoflag + "▦" + sPid + "▦" + sIndd + "▦" + sCretno + "▦" + sInstcd + "▦");
- setParameter("condparam", sParam);
- modal("SPMMO08900", 1, "", "", "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;"); // 상단올리기 화면 호출
-
- //debugger;
- var useyn = getParameter("SPMMO08900_rtn_useyn"); // 입원,외래 원무환자정보 존재 "Y" / 존재하지 않을 경우 "N"
- // 원무환자정보 있을 경우만 다음 단계 진행
- if(useyn == 'Y') {
- var node = getGlobalVariable("paminfo");
- setCSVToNode("/root/main/paminfo", node);
-
- // 환자상세정보조회
- // 환자 외래예약
- // 환자 처방건수 조회(/투약기록/퇴원약/반환예정/마감/식이정리정보/입원전검사처방/퇴원후 외래검사 처방/입원예정정보)
- select_dschpatinfo("Y");
- }
- }
- /**
- * @group :
- * @ver : 2007.10.16
- * @by : 김진아
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 재실시간계산
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fCalTime(){
- //** 외래CHEMO 정보 **//
- /* 특수주사실 사용 안함. 주석처리_20090416(ByJA)
- if(model.getValue("/root/main/cond/wardcd")== chemodeptcd) { // 특수주사실(외래CHEMO)인 경우
- var HH=0, MM=0, wHH=0, sHH=0, tHH=0;
- var sInHospTMs, sInHospTM;
- var sCareInRmDT = model.getValue("/root/main/chemoinrminfo/careinrmdt"); // 외래CHEMO 입실일시
- var sCareInRmDD = sCareInRmDT.substr(0,8); // 외래CHEMO 입실일자
- var sCareInRmTM = sCareInRmDT.substr(8,4); // 외래CHEMO 입실시간
- var sDschnotiDD = model.getValue("/root/main/chemoinrminfo/dschnotidd"); // 외래CHEMO 퇴실일자
- var sDschnotiTM = model.getValue("/root/main/chemoinrminfo/dschnotitm"); // 외래CHEMO 퇴실시간
-
- if(sCareInRmDT!="" && sDschnotiDD!="" && sDschnotiTM!=""){
- if(sCareInRmDT > sDschnotiDD+sDschnotiTM){
- messageBox("외래 CHEMO 입실일시 및 퇴실일시를 확인하십시오.", "E");
- return;
- }
- }
-
- if(sDschnotiDD.length<8){
- model.setValue("/root/main/chemoinrminfo/dschnotidd", getCurrentDate()); // 외래 CHENO 퇴실일자(현재일자)
- ipt_dschnotidd.refresh();
- }
- if(sDschnotiTM.length<4){
- model.setValue("/root/main/chemoinrminfo/dschnotitm", getCurrentTime().substr(0,4)); // 외래 CHENO 퇴실시간 (현재시간)
- ipt_dschnotitm.refresh();
- }
-
- if(sCareInRmDD!="" && sDschnotiDD!="" && sCareInRmTM!="" && sDschnotiTM!=""){
- var sDateInterval = getDateInterval(sCareInRmDD , sDschnotiDD ); // 두 일자사이의 차(일단위)
- var sTimeInterval = getTimeInterval(sCareInRmTM+"00", sDschnotiTM+"00" ); // 두 시간사이의 차(초단위)
-
- tHH = Number(sDateInterval * 24 )
- + Number(sTimeInterval / 3600);
- HH = Math.floor(tHH);
- MM = (HH == 0) ? Math.round(tHH * 60) : Math.round((tHH % HH) * 60);
- model.setValue("/root/main/chemoinrminfo/inhosptm", (HH+"시간 "+MM+"분")); // 외래 CHEMO 재실시간
- opt_inhosptm.refresh();
- } else if(sCareInRmDD =="" || sCareInRmTM =="") {
- messageBox("외래 CHEMO 입실일시가 존재하지 않습니다.", "E");
- }else if(model.getValue("/root/main/chemoinrminfo/dschnotidd") =="" || model.getValue("/root/main/chemoinrminfo/dschnotitm") =="") {
- messageBox("외래 CHENO 퇴실일시를 입력하십시오.", "E");
- }
- }
- */
- }
- /**
- * @group
- * @ver : 2008.06.30
- * @by : 김진아
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 출력기능
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fExecPrint(){
- // 출력할 데이터가 없는 경우
- if(getNodesetCount("/root/main/dschpatinfo/dschpatlist")==0){
- messageBox("출력할 데이터가", "I004"); return;
- }else{
- model.removenode("/root/send");
- model.makeNode("/root/send/printdata/dschpatinfo"); // 퇴원예정자리스트
- model.copyNode("/root/send/printdata/dschpatinfo", "/root/main/dschpatinfo");
- exeReportPreview("RPMNW01200", "XMLSTR");
- }
- }
- function fVisibleNotidt(vsb)
- {
- if (vsb == 'Y') {
- cap_inroomdt.visible = true;
- cap_outroomdt.visible = true;
- ipt_inroomdt.visible = true;
- ipt_notidt.visible = true;
- ipt_notitm.visible = true;
- chk_brateflag.visible = true;
- } else {
- cap_inroomdt.visible = false;
- cap_outroomdt.visible = false;
- ipt_inroomdt.visible = false;
- ipt_notidt.visible = false;
- ipt_notitm.visible = false;
- chk_brateflag.visible = false
- }
- }
- function fNrCpRecord() {
- var cpPid = model.getValue("/root/main/paminfo/list/pid");
- var cpIndd = model.getValue("/root/main/paminfo/list/indd");
- var cpCretno = model.getValue("/root/main/paminfo/list/cretno");
- var cpPatnm = model.getValue("/root/main/paminfo/list/hngnm2");
- var cpRoom = model.getValue("/root/main/paminfo/list/roomcd");
- var cpSexage = model.getValue("/root/main/paminfo/list/sex") + "/" + model.getValue("/root/main/paminfo/list/age");
- var cpOrddeptcd = model.getValue("/root/main/paminfo/list/orddeptcd");
- var cpMedispclid = model.getValue("/root/main/paminfo/list/medispclid");
- var cpSupcdid = "";
-
- model.removenode("root/send/recinfo");
- model.makeValue("root/send/recinfo/pid", cpPid);
- model.makeValue("root/send/recinfo/indd", cpIndd);
- model.makeValue("root/send/recinfo/cretno", cpCretno);
- model.makeValue("root/send/recinfo/checkdate", getCurrentDate());
-
- //CP 대상 환자여부
- if (submit("TRMNR02903")) {
- var cpCpyn = model.getValue("/root/temp/cpinfo/cpyn");
- var cpCpgno = model.getValue("/root/temp/cpinfo/cpgno");
- var cpRecType = "CP5";
- var cpOrigincd = "";
-
- if (cpCpyn == "Y" && cpCpgno != 0) {
-
- //기록여부 확인
- model.makeValue("/root/temp/cpinfo/cdgrupid", cpRecType);
-
- if (submit("TRMNW01107")) { //간호기록 코드 가지고 오기
-
- cpOrigincd = model.getValue("/root/main/cpinfo/termcd/cdid");
- cpSupcdid = model.getValue("/root/main/cpinfo/termcd/supcdid");
-
- if (cpOrigincd == null || cpOrigincd == "") {
-
- } else {
-
- model.makeValue("root/send/recinfo/origincd", cpOrigincd);
-
- if (submit("TRMNR02902")) {
-
- var recyn = model.getValue("/root/temp/recinfo/recyn");
- if (recyn != "Y") {
- var rtnval = messageBox("CP 대상환자입니다. 해당 CP에 구성되어있는 [퇴원 간호기록]을 진행하시겠습니까?", "Q999");
-
- if (rtnval == "6") {
- //기록 화면으로 연결
- setParameter("pid", cpPid);
- setParameter("indd", cpIndd);
- setParameter("cretno", cpCretno);
- setParameter("patnm", cpPatnm);
- setParameter("room", cpRoom);
- setParameter("sexage", cpSexage);
- setParameter("orddeptcd", cpOrddeptcd);
- setParameter("medispclid", cpMedispclid);
- setParameter("cdid", cpOrigincd);
- setParameter("supcdid", cpSupcdid);
-
- modal("SMMNR02900", 1, 0, 0 ,"", "", "");
- }
- }
- }
- }
- }
- }
- }
- }
- function fErPrcplist() {
-
- var iRow = grd_inppatlist.row;
-
- model.makeValue("/root/send/pid", model.getValue(dschPath+"["+iRow+"]/pid"));
- model.makeValue("/root/send/indd", model.getValue(dschPath+"["+iRow+"]/indd"));
- model.makeValue("/root/send/cretno", model.getValue(dschPath+"["+iRow+"]/cretno"));
- model.makeValue("/root/send/instcd", model.getValue(dschPath+"["+iRow+"]/instcd"));
- model.makeValue("/root/send/dschdclrdt", model.getValue(dschPath+"["+iRow+"]/dschdclrdt"));
-
- submit("TRMNW01212");
-
- /*grd_inglist.rebuildStyle();
-
- var tRow = grd_inglist.rows;
-
- for(i= 0 ; i < tRow ; i ++ ){
- if(model.getValue("/root/main/incplist/inginfo["+i+"]/prcpkindcdyn") == "Y"){
- //퇴원약 약 확인
- grd_inglist.cellstyle("background-color", i, 0, i, 21) = "#ccffff";
- }
- }*/
-
- if (getNodesetCount("/root/main/erprcplist/inginfo") > 0) {
- grp_erprcp.visible = true;
- } else {
- grp_erprcp.visible = false;
- }
- }
- function fPopupMenuInfo(){
- //마우스 오른쪽 버튼 클릭시 이밴트 발생
- if (event.button == 3) {
- if (grd_erprcplist.selectedRows == 1 || (( grd_erprcplist.selectedRow(0) > grd_erprcplist.mouseRow) || ((grd_erprcplist.row + grd_erprcplist.selectedRows -1) < grd_erprcplist.mouseRow ))) {
- for(var i = 1 ; i < grd_erprcplist.rows ; i++){
- model.setValue("/root/main/erprcplist/inginfo["+i+"]/selectyn", "");
- }
- grd_erprcplist.row = grd_erprcplist.mouseRow;
- }
-
- //선택행 선택 플래그 변경 후 DC팝업창 활성화
- if (grd_erprcplist.isCell(event.target) && grd_erprcplist.mouseRow >= grd_erprcplist.fixedrows) {
- model.setValue("/root/main/erprcplist/inginfo["+grd_erprcplist.row+"]/selectyn", "Y");
- window.setPopupMenu(true, "/root/codedata/popupmenu/grid10/item", "name", "func", true); //퇴원구분 미선택
- } else {
- window.setPopupMenu(false);
- }
- }
- }
- function fSelectGridRowCtrl(pPath){
- //선택row 초기화
- var iRow = "";
- var iRow = "";
- var sRow = "";
- var tRow = "";
- var chkNode1 = "";
- var chkNode2 = "";
-
- iRow = grd_erprcplist.row;
- sRow = grd_erprcplist.selectedRows;
- eRow = grd_erprcplist.selectedRow(0);
- tRow = grd_erprcplist.rows;
- chkNode1 = "/selectyn";
- chkNode2 = "/prcpkindcdyn";
- if(eRow < "0"){
- return;
- } else {
- if(tRow != "1"){
- // ctrl키 누른 상태에서 그리드 클릭시 선택된 모든 행 상태값 변경
- if(event.ctrlKey == 1){
- if(model.getValue(pPath+"["+iRow+"]"+chkNode1) != "Y" ) {
- model.setValue(pPath+"["+iRow+"]"+chkNode1, "Y");
- } else {
- model.setValue(pPath+"["+iRow+"]"+chkNode1, "");
- }
- }
- // shift키 누른 상태에서 선택행과 마지막 선택행 사이의 그리드 상태값 변경
- else if(event.shiftKey == 1){
- for(i =1 ; i < tRow ; i++){
- model.setValue(pPath+"["+i+"]"+chkNode1, "");
- }
- if(iRow == eRow){
- for(i = iRow ; i < iRow+sRow ; i++) {
- if(model.getValue(pPath+"["+i+"]"+chkNode1) != "Y" ) {
- model.setValue(pPath+"["+i+"]"+chkNode1, "Y");
- }
- }
- }else{
- for(i = eRow; i <= iRow ; i ++ ){
- if(model.getValue(pPath+"["+i+"]"+chkNode1) != "Y" ) {
- model.setValue(pPath+"["+i+"]"+chkNode1, "Y");
- }
- }
- }
- }
- // 마우스 드래그를 하여 그리드의 로우 선택시 상태값 변경
- else {
- for(i =1 ; i < tRow ; i++){
- model.setValue(pPath+"["+i+"]"+chkNode1, "")
- }
- if((sRow == "1") && (iRow != "0")){
- if(model.getValue(pPath+"["+eRow+"]"+chkNode1) != "Y" ) {
- if(tRow ==1){
- return;
- }else{
- model.setValue(pPath+"["+eRow+"]"+chkNode1, "Y"); ///////에러나는 줄2
- }
- } else {
- model.setValue(pPath+"["+eRow+"]"+chkNode1, "");
- }
- } else {
- if (iRow != "0") {
- if (iRow == eRow){
- for(i = iRow ; i < iRow+sRow ; i++) {
- if(model.getValue(pPath+"["+i+"]"+chkNode1) != "Y" ) {
- model.setValue(pPath+"["+i+"]"+chkNode1, "Y");
- }
- }
- } else {
- for(i = eRow; i <= iRow ; i ++ ){
- if(model.getValue(pPath+"["+i+"]"+chkNode1) != "Y" ) {
- model.setValue(pPath+"["+i+"]"+chkNode1, "Y");
- }
- }
- }
- } // if irow end
- }
- }
- }
- }
- }
- function fPrcpDC(){
-
- //------------------------------------------------------------------------------------------------------
- // 간호 확인 약처방을 의사가 D/C(반납)를 하였을 경우에 투약기록지로 가서 해결하라는 메세지를 보여준다
- // sdm
- //------------------------------------------------------------------------------------------------------
- var prcpddprcpno = ""; //------------(20080917)김보성
-
- if(messageBox ( "DC 처리를 ", "Q003" ) == "6"){
-
- //var iRow = grd_patlist.findRow(model.getValue("/root/main/condition/pid"), 1, grd_patlist.colRef("pid"), false, false);
- var sHeaderData = "status▦prcpdd▦prcpno▦prcphistno▦instcd▩";
- var dcPrcpInfo = "";
- var dcMediPrcpInfo = "";
- var dcPrcpCnt = 0;
-
- var tRow = grd_erprcplist.rows;
- var prcpno = "";
- var dcstatus = "";
-
- for(i=1 ; i < tRow ; i ++){
- var chkprcp = model.getValue("/root/main/erprcplist/inginfo["+i+"]/prcpnm");
- // 그리드에서 선택된 처방 선택
- if(model.getValue("/root/main/erprcplist/inginfo["+i+"]/selectyn") == "Y" ){
- //미수행 처방 선택 ( Actiong 완료, 퇴원약 약국전송 건 제외)
- if(model.getValue("/root/main/erprcplist/inginfo["+i+"]/prcpkindcdyn") == "Y" ){
- messageBox(chkprcp + "는 퇴원약 처방입니다.\n퇴원 처방은 간호사가 D/C할 수 없습니다.","E");
- } else{
- if( model.getValue("/root/main/erprcplist/inginfo["+i+"]/execyn") == "N" || model.getValue("/root/main/erprcplist/inginfo["+i+"]/execyn") == "E" ){
- //dcstatus E 이면 의사 후인증을 안타도록 "MEDI", N이면 후인증타도록 "CERT"
- dcstatus = ( model.getValue("/root/main/erprcplist/inginfo["+i+"]/execyn") == "N" ? "CERT" : "MEDI");
-
- switch( model.getValue("/root/main/erprcplist/inginfo["+i+"]/execyn") ){
- case "N" : //정상처방인것이고 처방 인터페이스를 타면 의사 처방반환요청 상태인 "E"로 변경됨.
- dcPrcpInfo += "C▦"
- + model.getValue("/root/main/erprcplist/inginfo["+i+"]/prcpdd" ) + "▦"
- + model.getValue("/root/main/erprcplist/inginfo["+i+"]/prcpno" ) + "▦"
- + model.getValue("/root/main/erprcplist/inginfo["+i+"]/prcphistno" ) + "▦"
- + model.getValue("/root/main/erprcplist/inginfo["+i+"]/instcd" ) + "▩";
-
- case "E" :
- /*의사반환요청들어온 처방이고 투약기록에서 DC최종 정리를 하고 후인증처리대상이 안됨.dcstatus "CERT"인것은 후인증관리에도 조회가 되어야한다.
- 투약기록을 태우기위한 파라미터 정의이므로 case "N" 에는 break가 없는게 정상임. 20100108 김홍점
- */
- prcpno = model.getValue("/root/main/erprcplist/inginfo["+i+"]/prcpno");
- dcMediPrcpInfo += dcstatus + "▦"
- + model.getValue("/root/main/erprcplist/inginfo["+i+"]/prcpdd" ) + "▦"
- + model.getValue("/root/main/erprcplist/inginfo["+i+"]/prcpno" ) + "▦"
- + model.getValue("/root/main/erprcplist/inginfo["+i+"]/prcphistno" ) + "▦"
- + model.getValue("/root/main/erprcplist/inginfo["+i+"]/instcd" ) + "▩";
- dcPrcpCnt++;
-
- //-----------------(20080926) 김보성
- if (model.getValue("/root/main/erprcplist/inginfo["+i+"]/prcpstatcd") >= "000" ) {
- prcpddprcpno += "'"
- + model.getValue("/root/main/erprcplist/inginfo["+i+"]/prcpdd")
- + model.getValue("/root/main/erprcplist/inginfo["+i+"]/prcpno")
- + "',";
- }
-
- break;
- }
- } else if(model.getValue("/root/main/erprcplist/inginfo["+i+"]/execyn") == "DC") {
- messageBox(chkprcp+"는 반환요청된 처방입니다.","E");
- } else {
- messageBox(chkprcp+"는 이미 시행된 처방입니다.","E");
- }
- }
- }
- }
-
- model.makeValue("/root/send/cond3" , sHeaderData+dcPrcpInfo );
- model.makeValue("/root/send/cond5" , sHeaderData+dcMediPrcpInfo );
-
- //저장구분정보(saveFlagInfo)
- model.setValue ( "/root/save/saveflaginfo/savedataflag" , "2" ); //저장자료구분 0:진단 및 처방, 1:진단, 2:처방, 4:임시저장
- model.setValue ( "/root/save/saveflaginfo/saveflag" , "I" ); //저장구분 O:외래, I:입원, E:응급, S:건진
- model.setValue ( "/root/save/saveflaginfo/prcpflag" , "0" ); //처방구분 0:의사처방, 2:간호, 3:지원부서, 5:Admission, 6:CP, 7:항암프로토콜, 8:임시처방
- model.setValue ( "/root/save/saveflaginfo/inptflag" , "3" ); //입력구분 (11:건진처방, 12:LIS장비IF, 13:기타LIS, 14:병리, 15:EMR기록, 16:원무)
- model.setValue ( "/root/save/saveflaginfo/pamflag" , "Y" ); //원무정보 처리구분 (Y/N) -> N일 경우 check하지 않음.
- model.setValue ( "/root/save/saveflaginfo/diagflag" , "Y" ); //진단정보 처리구분 (Y/N) -> N일 경우 check하지 않음. ('Y'이면 진단없이 처방 저장이 안됨)
- model.setValue ( "/root/save/saveflaginfo/prcperrflag" , "Y" ); //처방오류구분(Y/N) -> Y일 경우 의사처방과 동일하게 오류리스트를 반환, N이면 오류를 확인하지 않음
- model.setValue ( "/root/save/saveflaginfo/deptcd" , getUserInfo("dutplcecd") ); //부서코드
- model.setValue ( "/root/save/saveflaginfo/deptnm" , getUserInfo("dutplcenm") ); //부서명
- model.setValue ( "/root/save/saveflaginfo/userid" , getUserInfo("userid") ); //사용자ID
- model.setValue ( "/root/save/saveflaginfo/usernm" , getUserInfo("usernm") ); //사용자명
- model.setValue ( "/root/save/saveflaginfo/signyn" , "N" ); //전자서명여부
-
- var saveFlagInfoNodeList = model.instances(0).selectNodes( "/root/save/saveflaginfo" );
- model.makeValue ( "/root/send/cond1", getNodeListCSV(saveFlagInfoNodeList));
-
- //저장등록정보(saveRgstInfo)
- model.setValue ( "/root/save/savergstinfo/pid" , model.getValue("/root/main/paminfo/list/pid") ); // 등록번호(원무Key)
- model.setValue ( "/root/save/savergstinfo/orddd" , "-" ); // 진료일자(원무Key) - 입원일경우는 '-'
- model.setValue ( "/root/save/savergstinfo/indd" , model.getValue("/root/main/paminfo/list/indd") ); // 입원일자(원무Key)
- model.setValue ( "/root/save/savergstinfo/cretno" , model.getValue("/root/main/paminfo/list/cretno") ); // 생성번호(원무Key)
- model.setValue ( "/root/save/savergstinfo/orddeptcd" , model.getValue("/root/main/paminfo/list/orddeptcd") ); // 진료과(원무)
- model.setValue ( "/root/save/savergstinfo/orddrid" , model.getValue("/root/main/paminfo/list/atdoctid") ); // 진료의ID(원무)
- model.setValue ( "/root/save/savergstinfo/instcd" , model.getValue("/root/main/paminfo/list/instcd") ); // 기관코드
-
- var saveRgstInfo = model.instances(0).selectNodes( "/root/save/savergstinfo");
- model.makeValue("/root/send/cond2", getNodeListCSV(saveRgstInfo));
-
- // D/C할 처방이 없을 경우 return처리
- if( dcPrcpCnt > 0 ){
- //1. 인증을 위한 자료 추출
- prcpddprcpno = prcpddprcpno.substr(0,prcpddprcpno.length-1);
- fnSignSaveCall("30", prcpddprcpno);
-
- //----------------(20090923)
- if (getNodesetCount("/root/signinfo/signsave/signdata") > 0 ) {
- //2. 자료에 대해서 인증하기
- if (fnSignSaveWork() == true) {
- //3. 인증자료를 묶음 submit("TXMNP06013")
- var signsave = model.instances(0).selectNodes("/root/signinfo/signsave/signdata");
- model.makeValue("/root/send/cond4", getNodeListCSV(signsave));
- } else {
- return ; //---(20080922)
- }
- }
- //----------------(20090923)
-
- //-----------------------(20080917)
- if(submit("TXMNE00203") == true ){
- if(getNodesetCount("/root/temp/errlist") > 0){
- var iNode = "/root/srcdata/list/patlist";
- fShowModal("SPMNE00200");
- }
-
- fErPrcplist();
- //-----------------------(20080917):김보성
- //1. 일자별 인증을 위한 일자 추출
- var signDates = new Array;
- var signDateCnt = 0;
- var signdispdd = "";
- var sPathsignsave = "/root/signinfo/signsave/signdata";
- var rows = getNodesetCount(sPathsignsave);
-
- if (rows <= 0 ) return;
-
- for (var i=1;i<= rows ;i++) { //---(0922)
- signdispdd = model.getValue(sPathsignsave + "[" + i + "]/execdd");
- if ( signDates.length == 0) {
- signDateCnt =0;
- signDates[signDateCnt] = "";
- }
- if ( signdayFind(signDates,signdispdd) == true ) { //------(투약일자)
- signDateCnt ++;
- signDates[signDateCnt] = signdispdd;
- }
- }
-
- //2. 투약기록을 일자별로 XLST를 만들기 위해서
- fnWorkddSign(signDates);
- //-----------------------(20080917)
- }
- }
- }
- }
- //=====================================================================================
- // 아래는 약 D/C 시 투약기록에 반영및 투약기록 일자별 XSLT 생성하기(20080917) 김보성
- //=====================================================================================
- // 투약기록 통합기록을 위한 자료 추출질의문
- // prcpddprcpno으로 n개의 iprc에 대한 exip단위의 정보를 추출한다.
- function fnSignSaveCall(workflag, prcpddprcpno) {
- var sPathSign = "/root/signinfo";
- model.resetInstanceNode(sPathSign + "/reqsigncond");
-
- var spid = model.getValue("/root/main/paminfo/list/pid"); //등록번호(필수)
- var sinstcd = getUserInfo("dutplceinstcd"); //기관코드(사용X)
- var sindd = model.getValue("/root/main/paminfo/list/indd"); //입원일자(필수)
- var scretno = ""; //생성번호(사용X)
- var sprcpdd = ""; //처방일자(PRN시 필수)
- var sprcpno = ""; //처방번호(확인사항)
- var sworkdd = ""; //투약일(일자그룹일때만 (필수))
- var slistflag = workflag; //작업구분(필수)
- var snursnm = getUserName(); //간호사명추가(필수)
- var shngnm = model.getValue("/root/main/paminfo/list/hngnm"); //환자명추가 (필수)
- var smedrexecdd = ""; //화면에서저장할투약일자(사용X)
- var smedrexectm = ""; //화면에서저장할투약시간(사용X)
- var sprcpddprcpno = prcpddprcpno; //n개의 iprc
-
- model.setValue(sPathSign + "/reqsigncond/pid", spid ); //desc="등록번호"
- model.setValue(sPathSign + "/reqsigncond/instcd", sinstcd ); //desc="기관코드"
- model.setValue(sPathSign + "/reqsigncond/indd", sindd ); //desc="입원일자"
- model.setValue(sPathSign + "/reqsigncond/cretno", scretno ); //desc="생성번호"
- model.setValue(sPathSign + "/reqsigncond/prcpdd", sprcpdd ); //desc="처방일자"
- model.setValue(sPathSign + "/reqsigncond/prcpno", sprcpno ); //desc="처방번호"
- model.setValue(sPathSign + "/reqsigncond/workdd", sworkdd ); //desc="투약일"
- model.setValue(sPathSign + "/reqsigncond/listflag", slistflag ); //desc="작업구분"
- model.setValue(sPathSign + "/reqsigncond/nursnm", snursnm ); //desc="간호사명추가"
- model.setValue(sPathSign + "/reqsigncond/hngnm" , shngnm ); //desc="환자명추가"
- model.setValue(sPathSign + "/reqsigncond/medrexecdd", smedrexecdd ); //desc="화면에서저장할투약일자"
- model.setValue(sPathSign + "/reqsigncond/medrexectm", smedrexectm ); //desc="화면에서저장할투약시간"
- model.setValue(sPathSign + "/reqsigncond/prcpddprcpno", sprcpddprcpno ); //desc=""
- var sPathSign = "/root/signinfo";
- model.removenode(sPathSign + "/signsave/signdata");
- submit("TRMNR00608");
- }
- /**
- * @group :
- * @ver : 2008.08.31
- * @by : 김보성
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 투약기록 관련 인증저장(interface제공한 web에서 사용)(iprc단위 1개 처리용)
- * : 따라서 여러개의 iprc이면 n번 호출해야한다.
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fnSignSaveWork() {
-
- var sSignPath = "/root/signinfo/signsave/signdata";
- var sSignPathCount = getNodesetCount(sSignPath);
- var sPathSignSave = "/root/signinfo/signsave/signdata";
- if ( sSignPathCount <= 0 ) {
- messageBox("자료가 존재하지 않습니다. ","E999");
- return false;
- }
-
- Sign.certreload = true ; // 전자서명 호출시 인증저장 버튼을 누늘때마다 인증서가 뜨도록 처리(20080922)
-
- model.removenode("/root/send/savedata");
-
- for(var j = 1; j <= getNodesetCount(sSignPath); j++){
- //alert("loop:"+j);
- sSignRow= j; //전역변수(프로그램내)
- if(Sign.signprocess() == false){//인증저장 데이터 생성fMake_SignData 호출
- Sign.certreload = false ; // 전자서명 호출시 인증저장 버튼을 누늘때마다 인증서가 안뜨도록 처리(20080922)
- return false;
- }
- Sign.certreload = false ; // 전자서명 호출시 인증저장 버튼을 누늘때마다 인증서가 안뜨도록 처리(20080922)
-
- model.setValue(sPathSignSave + "[" + j + "]/recdd", getCurrentDate()); //실제기록이 이루어진 기록일자
- model.setValue(sPathSignSave + "[" + j + "]/rectm", getCurrentTime()); //실제기록이 이루어진 기록시간
- model.setValue(sPathSignSave + "[" + j + "]/recsaveflag", "Y"); //전자서명인적정보변경여부
- model.setValue(sPathSignSave + "[" + j + "]/signflag", "02"); //서명자료구분(02:간호)
- model.setValue(sPathSignSave + "[" + j + "]/signgenrflag","E"); //외래/입원구분
- model.setValue(sPathSignSave + "[" + j + "]/formcd", "0000002476"); //투약기록 서식번호
- model.setValue(sPathSignSave + "[" + j + "]/signbfcnts", Sign.signedInfos[1]); //인증할 데이터 정보(미기록 노드 제거된 정보)
- model.setValue(sPathSignSave + "[" + j + "]/signaftcnts", Sign.signedInfos[2]); //공인인증 처리후 데이터
- model.setValue(sPathSignSave + "[" + j + "]/signflagyn", "Y"); //비공식적으로 인증되지않도록 제어할수 있는기능
-
- //--------------------------(20080921)
- //건별인증은 통합기록조회에서 보이지 않고 일자별을 보이기 위해서
- //건별인증은 dispyn ='N'
- //하단의 일자별인 경우만 보임
- model.setValue(sPathSignSave + "[" + j + "]/dispyn", "N");
- //--------------------------(20080921)
- }
-
- return true;
- }
- //일자별 XSLT 생성작업
- function fnWorkddSign(signDates) {
-
- //-----------------------------------------------)
- // 투약기록을 일자별로 XLST를 만들기 위해서
- //-----------------------------------------------
- var sPathSign = "/root/signinfo";
- var signDate = "";
-
- //alert(signDates.length);
- for (var i=0;i<signDates.length;i++) {
- signDate = "" + signDates[i];
- //alert("1:" + signDate);
- if ( signDate != "") {
- model.resetInstanceNode(sPathSign + "/reqsigncond");
- signDate = signDate.replace("-","");
- //alert("2:" + signDate);
-
- var spid = model.getValue("/root/main/paminfo/list/pid"); //등록번호(필수)
- var sinstcd = getUserInfo("dutplceinstcd"); //기관코드(사용X)
- var sindd = model.getValue("/root/main/paminfo/list/indd"); //입원일자(필수)
- var scretno = model.getValue("/root/main/paminfo/list/cretno"); //생성번호(사용X)
- var sprcpdd = ""; //처방일자(PRN시 필수)
- var sprcpno = ""; //처방번호(확인사항)
- var sworkdd = signDate; //투약일(일자그룹일때만 (필수))
- var slistflag = "90"; //작업구분(필수)
- var snursnm = getUserName(); //간호사명추가(필수)
- var shngnm = model.getValue("/root/main/paminfo/list/hngnm"); //환자명추가 (필수)
- var smedrexecdd = ""; //화면에서저장할투약일자(사용X)
- var smedrexectm = ""; //화면에서저장할투약시간(사용X)
-
-
- model.setValue(sPathSign + "/reqsigncond/pid" ,spid ); //desc="등록번호"
- model.setValue(sPathSign + "/reqsigncond/instcd" ,sinstcd ); //desc="기관코드"
- model.setValue(sPathSign + "/reqsigncond/indd" ,sindd ); //desc="입원일자"
- model.setValue(sPathSign + "/reqsigncond/cretno" ,scretno ); //desc="생성번호"
- model.setValue(sPathSign + "/reqsigncond/prcpdd" ,sprcpdd ); //desc="처방일자"
- model.setValue(sPathSign + "/reqsigncond/prcpno" ,sprcpno ); //desc="처방번호"
- model.setValue(sPathSign + "/reqsigncond/workdd" ,sworkdd ); //desc="투약일"
- model.setValue(sPathSign + "/reqsigncond/listflag" ,slistflag ); //desc="작업구분"
- model.setValue(sPathSign + "/reqsigncond/nursnm" ,snursnm ); //desc="간호사명추가"
- model.setValue(sPathSign + "/reqsigncond/hngnm" ,shngnm ); //desc="환자명추가"
- model.setValue(sPathSign + "/reqsigncond/medrexecdd" ,smedrexecdd); //desc="화면에서저장할투약일자"
- model.setValue(sPathSign + "/reqsigncond/medrexectm" ,smedrexectm); //desc="화면에서저장할투약시간"
-
- var pFlag = "Drug"; //저장구분 (Drug : 투약기록)
- var pNode1 = ""; //조회할 조건 PATH(의미없음)
- var pNode2 = "/root/signinfo/signdruginfo/signdruglist"; //Return 리스트 PATH
-
- //alert("signDate:" + i + "/" + signDate);
- //임시로 막음(test)
- fCare_SignNode(pFlag, pNode1, pNode2,spid,sindd,scretno,"I"); //-----(20080917)수정
- //fCare_SignNode(pFlag, pNode1, pNode2, pPid, pIndd, pCretno, pIoflag){
- }
- }
- }
- //인증정보 말기
- function fMake_SignData(){
-
- //alert("fMake_SignData---------시작");
- /*
- <signinfo>
- <signdata>
- <pid>29953</pid>
- <hngnm>T입0820</hngnm>
- <prcpdd>20080821</prcpdd>
- <execdd>20080821</execdd>
- <prcpkindnm/>
- <prcpmixno/>
- <prcpcd>DSSL500</prcpcd>
- <prcpnm>Disal tab. 500mg (Salsalate)</prcpnm>
- <prcpvolnm>1500mg</prcpvolnm>
- <prcpqtynm>3T</prcpqtynm>
- <abbrnm>PO</abbrnm>
- <exectm>130000</exectm>
- <nursnm>김보성</nursnm>
- <execcarestatnm>정상투약</execcarestatnm>
- <carecfactnm> </carecfactnm>
- <orddrnm>김만수</orddrnm>
- </signdata>
- </signinfo>
- */
-
- var ssigndruglist = "/root/signinfo/signsave/signdata";
-
- var spid = model.getValue(ssigndruglist + "[" + sSignRow + "]/pid");
- var shngnm = model.getValue(ssigndruglist + "[" + sSignRow + "]/hngnm");
- var sprcpdd = model.getValue(ssigndruglist + "[" + sSignRow + "]/prcpdd");
- var sexecdd = model.getValue(ssigndruglist + "[" + sSignRow + "]/execdd");
- /*
- ,CASE WHEN a.careprnexecflag = 'P' THEN 'PRN' ELSE '' END || ' ' ||
- CASE WHEN a.anticncrprtlno <> 0 THEN '항암' ELSE '' END || ' ' ||
- CASE WHEN a.dccountyn = 'Y' AND a.selfdrugflag = 'Y' THEN 'self D/C'
- WHEN a.dccountyn = 'Y' then 'D/C'
- WHEN a.selfdrugflag = 'Y' then 'self'
- END prcpkindnm
- //처방종류명 (다른업무에서 투약기록관련인증정보를 생성시 어려운 항목
- */
- var sprcpkindnm = model.getValue(ssigndruglist + "[" + sSignRow + "]/prcpkindnm");
- var sprcpmixno = model.getValue(ssigndruglist + "[" + sSignRow + "]/prcpmixno");
- var sprcpcd = model.getValue(ssigndruglist + "[" + sSignRow + "]/prcpcd");
- var sprcpnm = model.getValue(ssigndruglist + "[" + sSignRow + "]/prcpnm");
- var sprcpvolnm = model.getValue(ssigndruglist + "[" + sSignRow + "]/prcpvolnm");
- var sprcpqtynm = model.getValue(ssigndruglist + "[" + sSignRow + "]/prcpqtynm");
- var sabbrnm = model.getValue(ssigndruglist + "[" + sSignRow + "]/abbrnm");
- var sexectm = model.getValue(ssigndruglist + "[" + sSignRow + "]/exectm");
- var snursnm = model.getValue(ssigndruglist + "[" + sSignRow + "]/nursnm");
- var sexeccarestatnm = model.getValue(ssigndruglist + "[" + sSignRow + "]/execcarestatnm");
- var scarecfactnm = model.getValue(ssigndruglist + "[" + sSignRow + "]/carecfactnm");
- var sorddrnm = model.getValue(ssigndruglist + "[" + sSignRow + "]/orddrnm");
-
- model.resetInstanceNode("/root/send/signinfo/signdata");
- model.makeValue("/root/send/signinfo/signdata/pid", spid );
- model.makeValue("/root/send/signinfo/signdata/hngnm", shngnm );
- model.makeValue("/root/send/signinfo/signdata/prcpdd", sprcpdd ); //처방일자
- if(sexecdd == "00000000"){ //투약일자
- model.makeValue("/root/send/signinfo/signdata/execdd", "");
- }else{
- model.makeValue("/root/send/signinfo/signdata/execdd", sexecdd);
- }
-
- model.makeValue("/root/send/signinfo/signdata/prcpkindnm", sprcpkindnm );
- model.makeValue("/root/send/signinfo/signdata/prcpmixno", sprcpmixno ); //MIXNO
-
- model.makeValue("/root/send/signinfo/signdata/prcpcd", sprcpcd ); //처방코드
- model.makeValue("/root/send/signinfo/signdata/prcpnm", sprcpnm ); //처방명
- model.makeValue("/root/send/signinfo/signdata/prcpvolnm", sprcpvolnm ); //용량단위명칭(용량+용량단위명칭)
- model.makeValue("/root/send/signinfo/signdata/prcpqtynm", sprcpqtynm ); //수량단위명칭(수량+수량단위명칭)
- //투여방법약어명(다른업무에서 투약기록관련인증정보를 생성시 어려운 항목)
- model.makeValue("/root/send/signinfo/signdata/abbrnm", sabbrnm );
- if(sexectm == "000000"){ //투약시간
- model.makeValue("/root/send/signinfo/signdata/exectm", "");
- }else{
- model.makeValue("/root/send/signinfo/signdata/exectm", sexectm);
- }
- model.makeValue("/root/send/signinfo/signdata/nursnm", snursnm); //간호사명칭
- if(sexeccarestatnm == "") sexeccarestatnm = "N";
- //미확인,정상투약,투약X-반환가능,투약X-반환불가,퇴원당일남은약
- //(다른업무에서 투약기록관련인증정보를 생성시 정상투약,)
- model.makeValue("/root/send/signinfo/signdata/execcarestatnm", sexeccarestatnm);
- //간호사REMARK CODE에 대한 REMARK 명칭((다른업무에서 투약기록관련인증정보를 생성시 공백)
- model.makeValue("/root/send/signinfo/signdata/carecfactnm", scarecfactnm);
- //진료의명(다른업무에서 투약기록관련인증정보를 생성시 어려운 항목)
- model.makeValue("/root/send/signinfo/signdata/orddrnm", sorddrnm);
-
- Sign.addnode("/root/send/signinfo/signdata");
- //alert("fMake_SignData---------종료");
- //Sign.signedInfos[1] 는 없음
- //alert("fmake_signdata"+ Sign.signedInfos[1] );
- }
- //일자별 인증정보를 묶을 일자를 찾는다
- //넣어야 할지는 판단한다.
- function signdayFind(signDates,findDate) {
- var sreturn = false;
- if (findDate == "00000000" || findDate == "") {
- } else {
- //alert("signDates.length:"+ signDates.length);
- for (var i=0;i<signDates.length;i++) {
- //alert("비교:" + signDates[i] + "/" + findDate);
- sreturn = true;
- if ( signDates[i] == findDate) {
- sreturn = false;
- break;
- }
- }
- }
- return sreturn;
- }
|