1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284 |
- /*
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- 마취환자기록 ( SSMMR05700_마취환자기록일반정보.xrw - JScript )
- - Version :
- 1) : Ver.1.00.01 2008-06-23
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- */
- var instcd = "012";
- // 마취과 부서코드 (마취통증의학과/통증클리닉)
- var anstdeptcd = "2090000000";
- // 수술실 마취 부서코드 (간호사 소속부서코드)
- var opanstdeptcd = "";
- // 수술실 마취 부서코드 (간호사 소속부서코드)
- //2012/11/13 Start
- //var hardcdno = "79";
- var hardcdno = "5590";
- //2012/11/13 End
- var orddd = "";
- var cretno = "";
- var ordtype = "";
- var ioflag = "";
- var oprsrvno = "";
- var mainoprsrvno = "";
- var ophistno = "";
- var pid = "";
- var phngnm = "";
- var anstrecno = "";
- var anstdd = "";
- var currentdate = "";
- var patarrvdt = "";
- var checkedMeetingTime = "N";
- //2013/09/11 수술구분
- var old_opflagcd="";
- var new_opflagcd="";
- //2013/09/11
- //2013/12/19
- var nurseoprec=""; //간호 수술기록 존재여부
- var rtn="";
- //2013/12/19
- var btn_oproominoutctl_clickyn=false;
- /**
- 수술환자 parameter 구조 : mmohoprs수술예약정보 tbl의 정보를 기본으로 함
- var param = 구분자'T' + "▦" +
- 등록번호 :=pid + "▦" +
- 수술확정일자 :=opcnfmdd + "▦" +
- (생성번호) :=cretno + "▦" +
- 기관코드 :=instcd + "▦" +
- 집도과코드 :=perfdeptcd + "▦" +
- 집도의 :=perfdrid + "▦" +
- 환자구분 :=patflag + "▦" + ==> 외래(I), 입원(O), DSC(D), 응급(E)
- 처리구분'F' + "▦" +
- 수술예약번호 :=oprsrvno + "▦" +
- 수술이력번호 :=ophistno + "▦" +
- 조회일자;
- */
- /**
- * @desc : 폼초기화
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fFormInit(send_oprsrvno) {
- oprsrvno = send_oprsrvno;
- if (oprsrvno.length == 0) {
- return;
- }
-
- instcd = getUserInfo("dutplceinstcd"); // 2009.04.21. 기관코드 셋;
- //초기화 데이타
- model.makeValue("/root/send/reqdata/instcd" , instcd);
- model.makeValue("/root/send/reqdata/anstdeptcd", anstdeptcd);
- model.makeValue("/root/send/reqdata/oprsrvno" , oprsrvno);
- // 현재일시
- currentdate = getCurrentDate() + getCurrentTime();
- model.makeValue("/root/send/reqdata/currentdate" , currentdate);
- //수술예약정보조회
- submit("TRMMR03701");
- //협진수술여부
- mainoprsrvno = model.getValue("/root/main/oprsrvinfo[seq='1']/mainoprsrvno");
- if(mainoprsrvno=="-" || mainoprsrvno=="" || mainoprsrvno==null){
- messageBox("수술 예약 정보가 올바르지 않습니다. 전산실로 문의 바랍니다.", "E");
- return;
- }
-
- if (oprsrvno != mainoprsrvno) {
- //2013/09/23 START 협진 수술에 대해서도 마취 기록지를 사용 할 수 있도록 수정(이정택)
- messageBox("협진수술에 마취 기록을 작성합니다.\n주수술과 연계되지 않고 협진수술로 수술 종료시에는 주과에 연락하여\n수술취소를 안내해 주시기 바랍니다.", "I", "");
- }
- //진단명 리스트, 수술명(전)- case cart (주+부), 수술명(후) 조회
- submit("TRMMR03709");
- // 마취 수술후명 카피 노드셋
- copyNodeset("/root/main/opinfo7/item" , "/root/main/opinfo/item[cdflag = '4']");
- //공통 기본 정보 셋
- oprsrvno = model.getValue("/root/main/oprsrvinfo[seq='1']/oprsrvno");
- ophistno = model.getValue("/root/main/oprsrvinfo[seq='1']/ophistno");
- pid = model.getValue("/root/main/oprsrvinfo[seq='1']/pid");
- phngnm = model.getValue("/root/main/oprsrvinfo[seq='1']/phngnm");
- anstrecno = model.getValue("/root/main/oprsrvinfo[seq='1']/anstrecno");
- opcnfmdd = model.getValue("/root/main/oprsrvinfo[seq='1']/opcnfmdd");
-
- model.makeValue("/root/send/reqdata/oprsrvno" , oprsrvno);
- model.makeValue("/root/send/reqdata/ophistno" , ophistno);
- model.makeValue("/root/send/reqdata/pid" , pid);
- model.makeValue("/root/send/reqdata/anstrecno", anstrecno);
-
- //공통코드 가져오기...
- //M0013:수술구분코드
- //M0016:수술체위코드
- //M0020:수술환자구분코드
- //M0008:마취가산
- //M0270:마취방법코드(주)
- //M0271:마취방법코드(부)
- //M0269:physical status
- //M0287:drug 소분류
- zbcfGetCodeListSubmit(new Array("M0013","M0016","M0020","M0008","M0270","M0271","M0269","M0287"),
- new Array("/root/init/M0013",
- "/root/init/M0016",
- "/root/init/M0020",
- "/root/init/M0008",
- "/root/init/M0270",
- "/root/init/M0271",
- "/root/init/M0269",
- "/root/init/M0287"),null,null,null,opcnfmdd);
- // 부서코드 콤보조회
- fGetDeptCodeComboList("/root/send/orddept", "/root/init/orddept", "D", orddd);
- // 수술방 콤보조회
- submit("TRMMR03712");
- // 마취의 1,2,3
- fGetUserComboList("/root/send/userlist", "/root/init/anstdrlist", anstdeptcd, '0330', '');
- // 2009.04.21. 수술실마취 부서코드 정보 가져오기.. 하드코드조회 (79)
- model.makeValue("/root/send/reqdata/hardcdno" , hardcdno);
- submit("TRMMR03716");
- opanstdeptcd = model.getValue ( "/root/hidden/hardcdlist/item[hardcdno ='" + hardcdno + "']/trgtcd");
- // 수술실 마취 간호사 1,2
- fGetUserComboList("/root/send/userlist", "/root/init/anstnurslist", opanstdeptcd, '1140', '', opcnfmdd);
- // 용법조회 (주사약)
- model.setValue ( "/root/send/req/cond1" , "I");
- model.setValue ( "/root/send/req/cond2" , 1);
- model.setValue ( "/root/send/req/cond3" , "");
- submit("TRMMR03710");
-
- // 마취일반정보조회
- if (anstrecno == "0") {
- // 선택환자정보
- var node = getGlobalVariable("paminfo");
- model.removeNodeset("/root/main/paminfo/list");
- setCSVToNode("/root/main/paminfo", node);
-
- //환자정보 : 오더일자(원무키), 생성번호(원무키), 내원구분, 서식코드
- ordtype = model.getValue("/root/main/paminfo/list/ioflag");
- // O : 왜래, S : 검진
- if (ordtype == "O" || ordtype == "S") {
- orddd = model.getValue("/root/main/paminfo/list/orddd");
- ioflag = "o";
- } else {
- orddd = model.getValue("/root/main/paminfo/list/indd");
- ioflag = "i";
- }
- cretno = model.getValue("/root/main/paminfo/list/cretno");
- // 환자번호, 환자명 셋 해주기.
- model.setValue("/root/main/anstinfo/pid", pid);
- model.setValue("/root/main/anstinfo/phngnm", phngnm);
- // 원무키 : 오더일자, 생성번호 셋 해주기.
- model.setValue("/root/main/anstinfo/orddd", orddd);
- model.setValue("/root/main/anstinfo/cretno", cretno);
- // 마취일자는 수술확정일자와 동일하게 한다.
- anstdd = model.getValue("/root/main/oprsrvinfo[seq='1']/opcnfmdd");
- model.setValue("/root/main/anstinfo/anstdd", anstdd);
- //20131010 이정택 집도과 및 집도의 세팅하는 부분 수정
- model.setValue("/root/main/anstinfo/perfdeptcd1", model.getValue("/root/main/oprsrvinfo[seq='1']/perfdeptcd"));
- model.setValue("/root/main/anstinfo/perfdrid1", model.getValue("/root/main/oprsrvinfo[seq='1']/perfdrid"));
- model.setValue("/root/main/anstinfo/perfdeptcd2", model.getValue("/root/main/oprsrvinfo[seq='2']/perfdeptcd"));
- model.setValue("/root/main/anstinfo/perfdrid2", model.getValue("/root/main/oprsrvinfo[seq='2']/perfdrid"));
- model.setValue("/root/main/anstinfo/perfdeptcd3", model.getValue("/root/main/oprsrvinfo[seq='3']/perfdeptcd"));
- model.setValue("/root/main/anstinfo/perfdrid3", model.getValue("/root/main/oprsrvinfo[seq='3']/perfdrid"));
- model.setValue("/root/main/anstinfo/perfdeptcd4", model.getValue("/root/main/oprsrvinfo[seq='4']/perfdeptcd"));
- model.setValue("/root/main/anstinfo/perfdrid4", model.getValue("/root/main/oprsrvinfo[seq='4']/perfdrid"));
-
- // 마취일반정보가 없는 경우 수술예약정보로 기본 셋 (진료과,집도의)
- /*
- model.setValue("/root/main/anstinfo/perfdeptcd1", model.getValue("/root/main/oprsrvinfo/perfdeptcd"));
- model.setValue("/root/main/anstinfo/perfdrid1", model.getValue("/root/main/oprsrvinfo/perfdrid"));
- model.setValue("/root/main/anstinfo/perfdeptcd2", "-");
- model.setValue("/root/main/anstinfo/perfdrid2", "");
- */
- // 집도의사 콤보조회
- // reqGetDrList("/root/init/drinfo", "/root/init/drinfo/drlist", model.getValue("/root/main/anstinfo/perfdeptcd"), instcd);
- // var orddeptcd = model.getValue("/root/main/anstinfo/perfdeptcd1");
- // fGetUserComboList("/root/send/userlist1", "/root/init/userlist1", orddeptcd, '0330', '');
- // 마취일반정보가 없는 경우 수술예약정보로 기본 셋 (마취의 1,2,3)
- model.setValue("/root/main/anstinfo/anstdrid1", model.getValue("/root/main/oprsrvinfo[seq='1']/anstdrid1"));
- model.setValue("/root/main/anstinfo/anstdrid2", model.getValue("/root/main/oprsrvinfo[seq='1']/anstdrid2"));
- model.setValue("/root/main/anstinfo/anstdrid3", model.getValue("/root/main/oprsrvinfo[seq='1']/anstdrid3"));
- //2013/09/25 이정택(네번째 마취의가 통합기록에 안보이는 현상 수정)
- model.setValue("/root/main/anstinfo/anstdrid4", model.getValue("/root/main/oprsrvinfo[seq='1']/anstdrid4"));
- //2013/09/25
-
- // 마취일반정보가 없는 경우 수술예약정보로 기본 셋 (수술방)
- model.setValue("/root/main/anstinfo/oproomcd", model.getValue("/root/main/oprsrvinfo[seq='1']/oproomcd"));
- // 마취일반정보가 없는 경우 수술예약정보로 기본 셋 (수술구분)
- model.setValue("/root/main/anstinfo/opflagcd", model.getValue("/root/main/oprsrvinfo[seq='1']/opflagcd"));
- // 마취일반정보가 없는 경우 수술예약정보로 기본 셋 (수술체위)
- var opposturecd = model.getValue("/root/main/oprsrvinfo[seq='1']/opposturecd");
- var opposturerem = model.getValue("/root/init/M0016/M0016[cdid ='"+opposturecd+"']/cdnm");
- model.setValue("/root/main/anstinfo/opposturecd", opposturecd);
- model.setValue("/root/main/anstinfo/opposturerem", opposturerem);
- // 마취방법 (주/부), 마취가산, Physical Status 기본 셋
- // 2008.12.23. 마취방법(주) default 는 "" 공백으로 항상 선택되어야 함.
- model.setValue("/root/main/anstinfo/anstmthdcd", "");
- model.setValue("/root/main/anstinfo/anstmthdcdsub", "00");
- model.setValue("/root/main/anstinfo/anstaddcd", "0");
- model.setValue("/root/main/anstinfo/physstat", "01");
- var opcnfmdd = model.getValue("/root/main/oprsrvinfo[seq='1']/opcnfmdd");
- opcnfmdd.substr(0,8);
- // 마취, 수술 일자
- model.setValue("/root/main/anstinfo/meetingdd" , opcnfmdd);
- model.setValue("/root/main/anstinfo/tmoutchkdd" , opcnfmdd);
- model.setValue("/root/main/anstinfo/optodd" , opcnfmdd);
- model.setValue("/root/main/anstinfo/anstfromdd" , opcnfmdd);
- model.setValue("/root/main/anstinfo/ansttodd" , opcnfmdd);
- //model.setValue("/root/main/anstinfo/opfromdd" , opcnfmdd);
- //간호수술기록에서 수술시작 정보 읽어온다. 2010.04.14, 주희경 추가
- model.makeValue("/root/send/reqdata/oprsrvno" , oprsrvno);
- //2014/01/07 서브밋 주석처리
- //submit("TRMMR03718");
-
- var tmpopcnfmdd = model.getValue("/root/temp/anstinfo/opfromdd");
- var opcnfmtm = model.getValue("/root/temp/anstinfo/opfromtm");
- if ( tmpopcnfmdd != "" )
- {
- opcnfmdd = tmpopcnfmdd;
- }
- model.setValue("/root/main/anstinfo/opfromdd" , opcnfmdd);
- model.setValue("/root/main/anstinfo/opfromtm" , opcnfmtm);
-
- //20131111 키 및 몸무게 세팅하도록 수정(이정택)
- model.setValue("/root/main/anstinfo/height", model.getValue("/root/main/oprsrvinfo[seq='1']/ht"));
- model.setValue("/root/main/anstinfo/weight", model.getValue("/root/main/oprsrvinfo[seq='1']/wt"));
- //20131111
-
- // 2017.03.15 default '일치'
- model.setValue("/root/main/anstinfo/recmatchflag", "Y");
- } else {
- submit("TRMMR03702");
- }
- // 2009.06.12. 수술전처치 관련 플래그..
- var preopcureflag = model.getValue("/root/main/anstinfo/preopcureflag");
- if (preopcureflag == "N") { preopcureflag = "" };
- model.setValue("/root/main/anstinfo/preopcureflag" , preopcureflag);
- // 마취기록 일련번호 기본셋..
- anstrecno = model.getValue("/root/main/anstinfo/anstrecno");
-
- model.makeValue("/root/main/oprsrvinfo/anstrecno", anstrecno);
- model.makeValue("/root/send/reqdata/anstrecno" , anstrecno);
- // 집도의사 콤보조회 (1)
- var orddeptcd = model.getValue("/root/main/anstinfo/perfdeptcd1");
- fGetUserComboList("/root/send/userlist1", "/root/init/userlist1", orddeptcd, '0330', ''); // 0330
- if (model.getValue("/root/main/anstinfo/perfdeptcd2") != "-") {
- // 집도의사 콤보조회 (2)
- var orddeptcd = model.getValue("/root/main/anstinfo/perfdeptcd2");
- fGetUserComboList("/root/send/userlist", "/root/init/userlist2", orddeptcd, '0330', ''); // 0330
- }
- if (model.getValue("/root/main/anstinfo/perfdeptcd3") != "-") {
- // 집도의사 콤보조회 (3)
- var orddeptcd = model.getValue("/root/main/anstinfo/perfdeptcd3");
- fGetUserComboList("/root/send/userlist", "/root/init/userlist3", orddeptcd, '0330', ''); // 0330
- }
- if (model.getValue("/root/main/anstinfo/perfdeptcd4") != "-") {
- // 집도의사 콤보조회 (4)
- var orddeptcd = model.getValue("/root/main/anstinfo/perfdeptcd4");
- fGetUserComboList("/root/send/userlist", "/root/init/userlist4", orddeptcd, '0330', ''); // 0330
- }
- // opposturerem
- window.parent.model.setValue("/root/main/anstinfo/opposturerem", model.getValue("/root/main/anstinfo/opposturerem"));
- // remark
- window.parent.model.setValue("/root/main/anstinfo/remark" , model.getValue("/root/main/anstinfo/remark"));
- // pca remark
- window.parent.model.setValue("/root/main/anstinfo/pcarem" , model.getValue("/root/main/anstinfo/pcarem"));
- // vs set code (2009.06.22)
- window.parent.model.setValue("/root/main/anstinfo/vssetcd" , model.getValue("/root/main/anstinfo/vssetcd"));
- // [요청번호:20170214016] 마취기록지
- window.parent.model.setValue("/root/main/anstinfo/teethrem" , model.getValue("/root/main/anstinfo/teethrem"));
- window.parent.model.setValue("/root/main/anstinfo/recmatchflag" , model.getValue("/root/main/anstinfo/recmatchflag"));
- window.parent.model.setValue("/root/main/anstinfo/reccomparerem" , model.getValue("/root/main/anstinfo/reccomparerem"));
- window.parent.model.setValue("/root/main/anstinfo/recsolutionsrem" , model.getValue("/root/main/anstinfo/recsolutionsrem"));
-
- // 마취시작시간, 마취종료시간 차~
- fGetHours();
- // 시간 컨트롤
- fCtlDisable(true);
- // 2009.05.26. 대기실 환자 도착시간 표시하기..
- //2013/10/10 병동 출발시각은 메인수술에만 기록하기 때문에 메인으로 변경하여 정보 취득후 다시 원래 수술번호로 원복(이정택)
- //fGetPatArrvDT();
- model.makeValue("/root/send/reqdata/oprsrvno" , mainoprsrvno);
- fGetPatArrvDT();
- model.makeValue("/root/send/reqdata/oprsrvno" , oprsrvno);
- //2013/10/10 End
-
- // 2009.05.19. 수술전평가서 formcd 조회하기..
- submit("TRMMO05503");
- // 2008.10.07. 수술전평가서 정보가져오기..
- model.removeNodeset("/root/main/opanstform");
- submit("TRMMR03714");
- // 2008.10.07. 수술전평가서 작성후.. 표시하기..
- // 2009.03.03. 수술전평가서의 작성된 asa class code 셋하기..
- fSetASAClass();
- // 2010.02.02. 하드코드 정보 가져오기..
- reqHardCodeInfo("/root/send/chkhardcd", "/root/init/chkhardcd", "9919");
- var checkedStartDD = model.getValue("/root/init/chkhardcd/hardcd/hardcd");
- var opdd = model.getValue("/root/main/oprsrvinfo[seq='1']/opcnfmdd");
- if (checkedStartDD != "" && checkedStartDD <= opdd) {
- checkedMeetingTime = "Y";
- model.setValue("/root/hidden/checkedmeetingtime", checkedMeetingTime);
- }
-
- //2012/12/11 Start 화면 로딩 후 수술부위확인 점검표의 인증저장 여부 체크
- if(opener.javascript.model.getValue("/root/init/applychk/hardcd/hardcd")=="Y"){
- fChkEspi();
- }
- //2012/12/11 End
-
- //2013/09/11
- var opflagcd=model.getValue("/root/main/anstinfo/opflagcd");
- if(opflagcd !="" && opflagcd!=null){
- old_opflagcd=opflagcd;
- }
- //2013/09/11
- }
- /**
- * @desc : 그래프의 시작시간 가져오기
- * @
- * @param :
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fGetGraphFormdt(fromdt)
- {
- var fromdd = fromdt.substr(0,8);
- var fromhr = fromdt.substr(8,2);
- var frommin = fromdt.substr(10,2);
-
- // 6분 시작 -> 5분/10분, 14분 시작 -> 10분/15분
- var share = parseInt(frommin / 5);
- frommin = 5 * share;
- if (("" + frommin).length == 1) { frommin = "0" + frommin; }
- return "" + fromdd + fromhr + frommin;
- }
- /**
- * @desc : 마취일반정보 저장
- * @
- * @param :
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fSaveAnstInfo(flag) {
- var chk_anstrecno = model.getValue("/root/main/anstinfo/anstrecno");
- if (chk_anstrecno == "") { // 2009.06.22. 이미 저장된 마취기록정보가 있는가? 덮어쓸껀지 물어보자..
- submit("TRMMR03717");
- var dataCnt = getNodesetCnt(model, "/root/main/oprsanstinfo/item");
- if (dataCnt > 0) {
- // 최초입력자 & 시간 / 최종수정자 & 시간
- var fstrgstrid = model.getValue("/root/main/oprsanstinfo/item/fstrgstrid");
- var fstrgstrnm = model.getValue("/root/main/oprsanstinfo/item/fstrgstrnm");
- var fstrgstdt = model.getValue("/root/main/oprsanstinfo/item/fstrgstdt");
- var lastupdtrid = model.getValue("/root/main/oprsanstinfo/item/lastupdtrid");
- var lastupdtrnm = model.getValue("/root/main/oprsanstinfo/item/lastupdtrnm");
- var lastupdtdt = model.getValue("/root/main/oprsanstinfo/item/lastupdtdt");
- var message = "";
- message = message + "\n" + "----------------------------------------------------"
- message = message + "\n" + "이미 저장된 마취기록지가 있습니다. 덮어쓰시겠습니까?"
- message = message + "\n" + "----------------------------------------------------"
- message = message + "\n" + "최초작성 : " + fstrgstrnm + " (" + fstrgstdt + ")";
- message = message + "\n" + "최종수정 : " + lastupdtrnm + " (" + lastupdtdt + ")";
- message = message + "\n" + "----------------------------------------------------"
- var retValue = messageBox(message, "Q999", "");
- if( retValue == '6' ){
- chk_anstrecno = model.getValue("/root/main/oprsanstinfo/item/anstrecno");
- model.setValue("/root/main/anstinfo/anstrecno", chk_anstrecno);
- } else {
- return;
- }
- }
- }
-
- if (flag == null) { flag = "N" };
- // 2008.12.23. 마취방법(주) default 는 "" 공백으로 항상 선택되어야 함.
- var anstfromtm = model.getValue("/root/main/anstinfo/anstmthdcd");
- if (anstfromtm == ""){
- messageBox("마취방법 (주마취)를 선택해 주시기 바랍니다.", "E");
- return;
- }
-
- //20131112 추가(이정택)
- var anstdrid1 = cmb_anstdrid1.value;
- if(anstdrid1==null || anstdrid1=="" || anstdrid1=="0" || anstdrid1=="-"){
- messageBox("첫번째 마취의는 필수 입력입니다.", "E");
- return;
- }
- //20131112
- model.makeValue("/root/main/anstinfo/opposturerem", window.parent.model.getValue("/root/main/anstinfo/opposturerem")); // opposturerem
- model.makeValue("/root/main/anstinfo/remark" , window.parent.model.getValue("/root/main/anstinfo/remark")); // remark
- model.makeValue("/root/main/anstinfo/pcarem" , window.parent.model.getValue("/root/main/anstinfo/pcarem")); // pca remark
- model.makeValue("/root/main/anstinfo/vssetcd" , window.parent.model.getValue("/root/main/anstinfo/vssetcd")); // vs set code (2009.06.22)
- // [요청번호:20170214016] 마취기록지
- model.makeValue("/root/main/anstinfo/teethrem" , window.parent.model.getValue("/root/main/anstinfo/teethrem"));
- model.makeValue("/root/main/anstinfo/recmatchflag" , window.parent.model.getValue("/root/main/anstinfo/recmatchflag"));
- model.makeValue("/root/main/anstinfo/reccomparerem" , window.parent.model.getValue("/root/main/anstinfo/reccomparerem"));
- model.makeValue("/root/main/anstinfo/recsolutionsrem" , window.parent.model.getValue("/root/main/anstinfo/recsolutionsrem"));
-
- // 임시 마취의사리스트 정보
- var anstdrid1_c = model.getValue("/root/main/anstinfo/anstdrid1");
- var anstdrid2_c = model.getValue("/root/main/anstinfo/anstdrid2");
- var anstdrid3_c = model.getValue("/root/main/anstinfo/anstdrid3");
- var anstdrid4_c = model.getValue("/root/main/anstinfo/anstdrid4"); //2013/02/04 Start 마취의 추가
-
- // 임시 간호사 리스트 정보
- var anstnursid1_c = model.getValue("/root/main/anstinfo/anstnursid1");
- var anstnursid2_c = model.getValue("/root/main/anstinfo/anstnursid2");
- var anstnursid3_c = model.getValue("/root/main/anstinfo/anstnursid3"); //20131104 임시간호사 추가
- var anstnursid4_c = model.getValue("/root/main/anstinfo/anstnursid4"); //20131104 임시간호사 추가
- var perfdeptcd1_c = model.getValue("/root/main/anstinfo/perfdeptcd1");
- var perfdrid1_c = model.getValue("/root/main/anstinfo/perfdrid1");
- var perfdeptcd2_c = model.getValue("/root/main/anstinfo/perfdeptcd2");
- var perfdrid2_c = model.getValue("/root/main/anstinfo/perfdrid2");
- var perfdeptcd3_c = model.getValue("/root/main/anstinfo/perfdeptcd3");
- var perfdrid3_c = model.getValue("/root/main/anstinfo/perfdrid3");
- var perfdeptcd4_c = model.getValue("/root/main/anstinfo/perfdeptcd4");
- var perfdrid4_c = model.getValue("/root/main/anstinfo/perfdrid4");
- // 마취, 수술 (시작 날짜+시간, 종료 날짜+시간)
- var meetingdt = model.getValue("/root/main/anstinfo/meetingdd") + model.getValue("/root/main/anstinfo/meetingtm");
- var tmoutchkdt = model.getValue("/root/main/anstinfo/tmoutchkdd") + model.getValue("/root/main/anstinfo/tmoutchktm");
- var anstfromdt = model.getValue("/root/main/anstinfo/anstfromdd") + model.getValue("/root/main/anstinfo/anstfromtm");
- var ansttodt = model.getValue("/root/main/anstinfo/ansttodd") + model.getValue("/root/main/anstinfo/ansttotm");
- var opfromdt = model.getValue("/root/main/anstinfo/opfromdd") + model.getValue("/root/main/anstinfo/opfromtm");
- var optodt = model.getValue("/root/main/anstinfo/optodd") + model.getValue("/root/main/anstinfo/optotm");
- var anstfromtm = model.getValue("/root/main/anstinfo/anstfromtm");
- var ansttotm = model.getValue("/root/main/anstinfo/ansttotm");
- var opfromtm = model.getValue("/root/main/anstinfo/opfromtm");
- var optotm = model.getValue("/root/main/anstinfo/optotm");
- if (anstfromtm.length == 0) {anstfromdt = anstfromdt + "9999"};
- if (ansttotm.length == 0) {ansttodt = ansttodt + "9999"};
- if (opfromtm.length == 0) {opfromdt = opfromdt + "9999"};
- if (optotm.length == 0) {optodt = optodt + "9999"};
- anstfromdt = anstfromdt.replace("9999","");
- ansttodt = ansttodt.replace("9999","");
- opfromdt = opfromdt.replace("9999","");
- optodt = optodt.replace("9999","");
-
- // 마취, 수술 (시작일시, 종료일시)
- model.makeValue("/root/main/anstinfo/meetingdt" , meetingdt);
- model.makeValue("/root/main/anstinfo/tmoutchkdt", tmoutchkdt);
- model.makeValue("/root/main/anstinfo/anstfromdt", anstfromdt);
- model.makeValue("/root/main/anstinfo/ansttodt" , ansttodt);
- model.makeValue("/root/main/anstinfo/opfromdt" , opfromdt);
- model.makeValue("/root/main/anstinfo/optodt" , optodt);
- model.refresh();
- // 2009.06.12. 수술전처치 관련 플래그..
- var preopcureflag = model.getValue("/root/main/anstinfo/preopcureflag");
- if (preopcureflag == "") { preopcureflag = "N" };
- model.setValue("/root/main/anstinfo/preopcureflag" , preopcureflag);
-
- var vssetcd = model.getValue("/root/main/anstinfo/vssetcd"); // 2009.06.16. V/S 셋코드..
- if (vssetcd == "") { vssetcd = "0" };
- model.setValue("/root/main/anstinfo/vssetcd" , vssetcd);
- //마취일반정보 저장
- model.copyNode("/root/send/reqdata/anstinfo" , "/root/main/anstinfo");
- model.makeValue("/root/send/reqdata/anstinfo/instcd" , instcd);
- model.makeValue("/root/send/reqdata/anstinfo/oprsrvno" , oprsrvno);
- model.makeValue("/root/send/reqdata/anstinfo/mainoprsrvno" , mainoprsrvno);
- model.makeValue("/root/send/reqdata/anstinfo/ophistno" , ophistno);
- model.makeValue("/root/send/reqdata/anstinfo/pid" , pid);
- model.makeValue("/root/send/reqdata/anstinfo/anstdd" , anstdd);
- model.makeValue("/root/send/reqdata/anstinfo/lastespiyn" , flag);
-
- //2013/09/11
- if(new_opflagcd!=null && new_opflagcd!=""){
- model.makeValue("/root/send/reqdata/anstinfo/chopflagcd", new_opflagcd);
- }
- //2013/09/11
-
- //20131111 키 및 몸무게 저장하도록 수정(이정택)
- model.makeValue("/root/send/reqdata/anstinfo/height", model.getValue("/root/main/anstinfo/height"));
- model.makeValue("/root/send/reqdata/anstinfo/weight", model.getValue("/root/main/anstinfo/weight"));
- //20131111
- //2013/12/19
- var temp_patinroomdd="";
- var temp_patinroomtm="";
- var temp_patoutroomdd="";
- var temp_patoutroomtm="";
- if(nurseoprec=="false"){
- temp_patinroomdd = ipt_patinroomdd.value;
- temp_patinroomtm = ipt_patinroomtm.value;
- temp_patoutroomdd = ipt_patoutroomdd.value;
- temp_patoutroomtm = ipt_patoutroomtm.value;
-
- var temp_wardstartdttm = model.getValue("/root/main/anstinfo/wardstartdttm");
- var temp_patarrvdttm = model.getValue("/root/main/anstinfo/patarrvdttm");
- var temp_patinroomdt = model.getValue("/root/main/anstinfo/patinroomdt");
- var temp_patoutroomdt = model.getValue("/root/main/anstinfo/patoutroomdt");
- if(temp_patinroomdt=="" || temp_patinroomdt==null){ // 환자 수술방 입실 시간이 저장되어 있지 않은 상태
- if(temp_patoutroomtm!="" && temp_patoutroomtm!=null){ // 환자 수술방 퇴실 시간을 기록한 상태
- messageBox("수술방 입실시간과 동시에 퇴실시간은 입력 불가능합니다.", "E");
- ipt_patoutroomtm.value="";
- temp_patoutroomdd="";
- temp_patoutroomtm="";
- return;
- }else{ // 환자 수술방 입실시간이 없는 상태에서 저장시 수술방 퇴실 시간을 없애주기
- temp_patoutroomdd="";
- temp_patoutroomtm="";
- }
- }
- fGetPatArrvDT("recheck");
- }
-
- model.makeValue("/root/send/reqdata/anstinfo/patinroomdd", ipt_patinroomdd.value);
- model.makeValue("/root/send/reqdata/anstinfo/patinroomtm", ipt_patinroomtm.value);
- model.makeValue("/root/send/reqdata/anstinfo/patoutroomdd", ipt_patoutroomdd.value);
- model.makeValue("/root/send/reqdata/anstinfo/patoutroomtm", ipt_patoutroomtm.value);
- model.makeValue("/root/send/reqdata/anstinfo/opcnfmdd", model.getValue("/root/main/oprsrvinfo/opcnfmdd"));
- model.makeValue("/root/send/reqdata/anstinfo/perfdeptcd", model.getValue("/root/main/oprsrvinfo/perfdeptcd")); // 2014/03/21
-
- if(!fRecTimeCheck(rtn)){ //2013/12/30 마취기록지상 시간을 다시 한번 체크 하도록 설정
- return;
- } //2013/12/30
-
- submit("TXMMR03702");
-
- //2013/09/11
- old_opflagcd=model.getValue("/root/send/reqdata/anstinfo/chopflagcd");
- //2013/09/11
- //alert("마취 일반 정보를 저장하였습니다");
-
- // 공통 기본 정보 셋 (마취기록번호)
- anstrecno = model.getValue("/root/main/anstinfo/anstrecno");
- model.makeValue("/root/send/reqdata/anstrecno", anstrecno);
- // 집도과, 집도의, 마취의사 저장
- var updateflag = "N";
- model.makeValue("/root/main/anstinfo/anstdrid1", anstdrid1_c);
- model.makeValue("/root/main/anstinfo/anstdrid2", anstdrid2_c);
- model.makeValue("/root/main/anstinfo/anstdrid3", anstdrid3_c);
- model.makeValue("/root/main/anstinfo/anstdrid4", anstdrid4_c); //2013/02/04 Start 마취의 추가
-
- model.makeValue("/root/main/anstinfo/anstnursid1", anstnursid1_c);
- model.makeValue("/root/main/anstinfo/anstnursid2", anstnursid2_c);
- model.makeValue("/root/main/anstinfo/anstnursid3", anstnursid3_c); //20131104 Start
- model.makeValue("/root/main/anstinfo/anstnursid4", anstnursid4_c); //20131104 End
-
- model.makeValue("/root/main/anstinfo/perfdeptcd1", perfdeptcd1_c);
- model.makeValue("/root/main/anstinfo/perfdrid1" , perfdrid1_c);
- model.makeValue("/root/main/anstinfo/perfdeptcd2", perfdeptcd2_c);
- model.makeValue("/root/main/anstinfo/perfdrid2" , perfdrid2_c);
- model.makeValue("/root/main/anstinfo/perfdeptcd3", perfdeptcd3_c);
- model.makeValue("/root/main/anstinfo/perfdrid3" , perfdrid3_c);
- model.makeValue("/root/main/anstinfo/perfdeptcd4", perfdeptcd4_c);
- model.makeValue("/root/main/anstinfo/perfdrid4" , perfdrid4_c);
- var savedata = "oprsrvno▦anstrecno▦instcd▦drseq▦drtype▦drid▦deptcd▩";
- var dataString = "";
-
- // 집도과 / 집도의 / 마취의
- if (perfdrid1_c != null && perfdrid1_c != '' && perfdrid1_c != '-' && perfdrid1_c != '0') {
- dataString = dataString + oprsrvno + "▦" + anstrecno + "▦" + instcd + "▦1▦O▦" + perfdrid1_c + "▦" + perfdeptcd1_c + "▩";
- }
- if (perfdrid2_c != null && perfdrid2_c != '' && perfdrid2_c != '-' && perfdrid2_c != '0') {
- dataString = dataString + oprsrvno + "▦" + anstrecno + "▦" + instcd + "▦2▦O▦" + perfdrid2_c + "▦" + perfdeptcd2_c + "▩";
- }
- if (perfdrid3_c != null && perfdrid3_c != '' && perfdrid3_c != '-' && perfdrid3_c != '0') {
- dataString = dataString + oprsrvno + "▦" + anstrecno + "▦" + instcd + "▦3▦O▦" + perfdrid3_c + "▦" + perfdeptcd3_c + "▩";
- }
- if (perfdrid4_c != null && perfdrid4_c != '' && perfdrid4_c != '-' && perfdrid4_c != '0') {
- dataString = dataString + oprsrvno + "▦" + anstrecno + "▦" + instcd + "▦4▦O▦" + perfdrid4_c + "▦" + perfdeptcd4_c + "▩";
- }
- if (anstdrid1_c != null && anstdrid1_c != '' && anstdrid1_c != '-' && anstdrid1_c != '0') {
- dataString = dataString + oprsrvno + "▦" + anstrecno + "▦" + instcd + "▦1▦A▦" + anstdrid1_c + "▦" + anstdeptcd + "▩";
- }
- if (anstdrid2_c != null && anstdrid2_c != '' && anstdrid2_c != '-' && anstdrid2_c != '0') {
- dataString = dataString + oprsrvno + "▦" + anstrecno + "▦" + instcd + "▦2▦A▦" + anstdrid2_c + "▦" + anstdeptcd + "▩";
- }
- if (anstdrid3_c != null && anstdrid3_c != '' && anstdrid3_c != '-' && anstdrid3_c != '0') {
- dataString = dataString + oprsrvno + "▦" + anstrecno + "▦" + instcd + "▦3▦A▦" + anstdrid3_c + "▦" + anstdeptcd + "▩";
- }
- if (anstdrid4_c != null && anstdrid4_c != '' && anstdrid4_c != '-' && anstdrid4_c != '0') { //2013/02/04 Start 마취의 추가
- dataString = dataString + oprsrvno + "▦" + anstrecno + "▦" + instcd + "▦4▦A▦" + anstdrid4_c + "▦" + anstdeptcd + "▩";
- }//2013/02/04 End
- if (anstnursid1_c != null && anstnursid1_c != '' && anstnursid1_c != '-' && anstnursid1_c != '0') {
- dataString = dataString + oprsrvno + "▦" + anstrecno + "▦" + instcd + "▦1▦N▦" + anstnursid1_c + "▦" + opanstdeptcd + "▩";
- }
- if (anstnursid2_c != null && anstnursid2_c != '' && anstnursid2_c != '-' && anstnursid2_c != '0') {
- dataString = dataString + oprsrvno + "▦" + anstrecno + "▦" + instcd + "▦2▦N▦" + anstnursid2_c + "▦" + opanstdeptcd + "▩";
- }
- if (anstnursid3_c != null && anstnursid3_c != '' && anstnursid3_c != '-' && anstnursid3_c != '0') { //20131104 Start
- dataString = dataString + oprsrvno + "▦" + anstrecno + "▦" + instcd + "▦3▦N▦" + anstnursid3_c + "▦" + opanstdeptcd + "▩";
- }
- if (anstnursid4_c != null && anstnursid4_c != '' && anstnursid4_c != '-' && anstnursid4_c != '0') {
- dataString = dataString + oprsrvno + "▦" + anstrecno + "▦" + instcd + "▦4▦N▦" + anstnursid4_c + "▦" + opanstdeptcd + "▩";
- } //20131104 End
- // 집도과 / 집도의 / 마취의 저장
- model.makeValue("/root/send/savedata/drinfo", savedata + dataString);
- submit("TXMMR03701");
- // 2008.10.07. 수술전평가서 작성후.. 표시하기..
- // 2009.03.03. 수술전평가서의 작성된 asa class code 셋하기..
- fSetASAClass();
- // 2009.06.12. 수술전처치 관련 플래그..
- var preopcureflag = model.getValue("/root/main/anstinfo/preopcureflag");
- if (preopcureflag == "N") { preopcureflag = "" };
- model.setValue("/root/main/anstinfo/preopcureflag" , preopcureflag);
-
- //hkjoo, 2009/10/29, 마취의(선택의) 정보를 원무팀 선택진료정보에 저장
- setSpecdridInfo();
- model.refresh();
- }
- /*************************************************
- * 마취일반정보 마취의(선택의) 첫번째 정보를
- * 원무팀 선택진료의사 정보의 마취통증의학과 선택의3에 저장
- *************************************************/
- function setSpecdridInfo()
- {
- mmbfGetHardCodeInfo("/root/send/reqdata/hardCodeInfo", "/root/init/hardcd", 9910);
-
- var dutplceinstcd = getUserInfo("dutplceinstcd");
-
- //하드코드 테이블의 정보에 따라 해당 기관에만 적용
- if(model.getValue("/root/init/hardcd/hardcd[hardcd='" + dutplceinstcd + "']/hardcd") != "")
- {
- //hkjoo, 2009/10/26
- var anstdrid = "";
- var anstdrid1 = model.getValue("/root/main/anstinfo/anstdrid1");
- var anstdrid2 = model.getValue("/root/main/anstinfo/anstdrid2");
- var anstdrid3 = model.getValue("/root/main/anstinfo/anstdrid3");
-
- if ( model.getValue("/root/init/anstdrlist/userlist/usercombo[userid='"+anstdrid1+"']/refseq") == "A")
- {
- anstdrid = anstdrid1;
- }
- else if ( model.getValue("/root/init/anstdrlist/userlist/usercombo[userid='"+anstdrid2+"']/refseq") == "A")
- {
- anstdrid = anstdrid2;
- }
- else if ( model.getValue("/root/init/anstdrlist/userlist/usercombo[userid='"+anstdrid3+"']/refseq") == "A")
- {
- anstdrid = anstdrid3;
- }
-
- if ( anstdrid != "" )
- {
- model.makeNode("/root/send/reqdata/anstinfoMast");
- model.makeValue("/root/send/reqdata/anstinfoMast/pid", pid);
- model.makeValue("/root/send/reqdata/anstinfoMast/anstdrid", anstdrid);
-
- submit("TRMMR04211");
- var specdrid1 = model.getValue("/root/main/specdridInfo/specdrid1");
- var specdrid2 = model.getValue("/root/main/specdridInfo/specdrid2");
-
- if ( anstdrid == specdrid1 || anstdrid == specdrid2 ) {
- //alert("원무팀 선택의 정보에 이미 저장 되어 있는 마취의 입니다.");
- }
- else { //선택의1의 정보가 원무팀 선택의1, 선택의2의 정보와 겹치지 않으면 저장
- submit("TXMMR03713");
- }
- }
- }
- }
- /************************************/
- /**
- * @desc : 노드셋 갯수 구하기
- * @
- * @param :
- * @
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function getNodeList(strPath) {
- var node = instance1.selectNodes(strPath);
- if(node == null)
- return 0;
- return node;
- }
- /**
- * @desc : 종료시간에서 시작시간을 뺀 시간 계산
- * @param :
- * @ fromtmPath : 시작시간 (시분)
- * @ totmPath : 종료시간 (시분)
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fGetHours()
- {
- var anstfromdd = model.getValue("/root/main/anstinfo/anstfromdd");
- var anstfromtm = model.getValue("/root/main/anstinfo/anstfromtm");
- var ansttodd = model.getValue("/root/main/anstinfo/ansttodd");
- var ansttotm = model.getValue("/root/main/anstinfo/ansttotm");
- if (anstfromtm >= "2400") { anstfromtm = "0000" }
- if (ansttotm >= "2400") { ansttotm = "0000" }
-
- var fromdtPath = "/root/main/anstinfo/anstfromdt";
- var todtPath = "/root/main/anstinfo/ansttodt";
- model.setValue(fromdtPath, ""+ anstfromdd + anstfromtm);
- model.setValue(todtPath, ""+ ansttodd + ansttotm);
- model.refresh();
- var fromdt = model.getValue(fromdtPath);
- var todt = model.getValue(todtPath);
- var getHours = "0000";
- if (fromdt <= todt)
- {
- var date1 = fromdt.toDate("YYYYMMDDhhmm");
- var date2 = todt.toDate("YYYYMMDDhhmm");
-
- getHours= fGetHourInterval(fTimeString(date1),fTimeString(date2));
- }
- if (getHours.length > 4)
- {
- alert("마취 총시간은 100시간 미만입니다.");
- getHours = "0000";
- }
- var hr = getHours.substr(0,2);
- var min = getHours.substr(2,2);
-
- var hrPath = "/root/hidden/ansttm";
- var minPath = "/root/hidden/anstmnt";
-
- model.setValue(hrPath,hr);
- model.setValue(minPath,min);
-
- model.refresh();
- /*
- // 시간차
- var getHours= getTimeInterval(fromtm,totm);
-
- hr = getHours.substr(0,2);
- min = getHours.substr(2,2);
-
- model.setValue(hrPath,hr);
- model.setValue(minPath,min);
-
- model.refresh();
- */
- }
- /**
- * Time 스트링을 자바스크립트 Date 객체로 변환
- * parameter time: Time 형식의 String
- */
- function fTimeObject(time) { //parseTime(time)
- var year = time.substr(0,4);
- var month = time.substr(4,2) - 1; // 1월=0,12월=11
- var day = time.substr(6,2);
- var hour = time.substr(8,2);
- var min = time.substr(10,2);
-
- return new Date(year,month,day,hour,min);
- }
- /**
- * 자바스크립트 Date 객체를 Time 스트링으로 변환
- * parameter date: JavaScript Date Object
- */
- function fTimeString(date) { //formatTime(date)
- var year = date.getFullYear();
- var month = date.getMonth() + 1; // 1월=0,12월=11이므로 1 더함
- var day = date.getDate();
- var hour = date.getHours();
- var min = date.getMinutes();
-
- if (("" + month).length == 1) { month = "0" + month; }
- if (("" + day).length == 1) { day = "0" + day; }
- if (("" + hour).length == 1) { hour = "0" + hour; }
- if (("" + min).length == 1) { min = "0" + min; }
-
- return ("" + year + month + day + hour + min)
- }
- /**
- * 두 Time이 몇 시간 차이나는지 구함
- * time1이 time2보다 크면(미래면) minus(-)
- */
- function fGetHourInterval(time1,time2) {
- var date1 = fTimeObject(time1);
- var date2 = fTimeObject(time2);
- var hour = 1000 * 3600; //1시간
- var min = 1000 * 60; //1분
-
- var origin = parseInt((date2 - date1) / min, 10);
- var deferhour = parseInt(origin / 60,10);
- var defermin = origin % 60;
- //document.write("시간 차이는 " + parseInt((date2 - date1) / hour, 10)+ "<br>");
- //document.write("분 차이는" + parseInt((date2 - date1) / min, 10) + "<br>");
- //alert(deferhour + '시간 ' + defermin + '분')
- var hour = deferhour;
- var min = defermin;
- if (("" + hour).length == 1) { hour = "0" + hour; }
- if (("" + min).length == 1) { min = "0" + min; }
- return ("" + hour + min);
-
- }
- /**
- * Right 빈자리 만큼 padStr 을 붙인다.
- */
- function rpad(src, len, padStr){
- var retStr = "";
- var padCnt = Number(len) - String(src).length;
- for(var i=0;i<padCnt;i++) retStr += String(padStr);
- return src+retStr;
- }
- /**
- * @desc : 종료일시 적용 (선택된 Inhalational Agent)
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetAnstToDt()
- {
- // 2007.12.13. 마취시작시간을 확인한다.. 마취시작시간이랑 선택할 시작시간이 같으면 선택시간 변경한다..
- var anstfromdt = model.getValue("/root/main/anstinfo/anstfromdd") + model.getValue("/root/main/anstinfo/anstfromtm");
- var agenttodd = model.getValue("/root/hidden/agenttodd");
- var agenttotm = model.getValue("/root/hidden/agenttotm");
- var todt = agenttodd + agenttotm;
-
- if (anstfromdt > todt)
- {
- //alert("종료일시가 마취시작일시 보다 작습니다.");
- return;
- }
- // Inhalational Agent
- var ref = "/root/main/agent01/item";
- var gridObj = grd_agent01;
- for (var i=1 ; i < gridObj.rows ; i++) {
- var checked = model.getValue(ref +"[" + i + "]/checked");
- if (checked == "true") {
- gridObj.textMatrix(i, gridObj.colref("drugtodd")) = agenttodd;
- gridObj.textMatrix(i, gridObj.colref("drugtotm")) = agenttotm;
- }
- }
- gridObj.rebuild();
- model.refresh();
- }
- /**
- * @desc : 수술전상태평가표 기록지
- * @
- * @param :
- * @return :
- * @author : 박유미
- * @---------------------------------------------------
- */
- function fPreOpAssemRec_20090527() {
- var formseqno = model.getValue("/root/main/opanstform/formseqno");
- if (formseqno == "" || formseqno == "0") {
- model.removeNodeset("/root/main/opanstform");
- submit("TRMMR03714");
- formseqno = model.getValue("/root/main/opanstform/formseqno");
- }
- if (formseqno == "" || formseqno == "0")
- {
- // 환자수술정보
- var node = getGlobalVariable("paminfo");
- model.removeNodeset("/root/main/paminfo/list");
- setCSVToNode("/root/main/paminfo", node);
- var sPid = model.getValue("/root/main/paminfo/list/pid"); // 환자번호
- var sPnm = model.getValue("/root/main/paminfo/list/hngnm"); // 환자명
- var sSex = model.getValue("/root/main/paminfo/list/sex"); // 성별
- var sAge = model.getValue("/root/main/paminfo/list/age"); // 나이
- var sIndd = model.getValue("/root/main/paminfo/list/indd"); // 입원일자
- var sOrddd = model.getValue("/root/main/paminfo/list/orddd"); // 진료일자
- var sCretNo = model.getValue("/root/main/paminfo/list/cretno"); // 환자 일자별 일련번호
- var sInstcd = model.getValue("/root/main/paminfo/list/instcd"); // 기관코드
- var sIOFlag = model.getValue("/root/main/paminfo/list/ioflag"); // 입원/외래 구분
- var sWardCD = model.getValue("/root/main/paminfo/list/wardcd");
- var sRoomCD = model.getValue("/root/main/paminfo/list/roomcd");
- var sOrdDeptCd = model.getValue("/root/main/paminfo/list/orddeptcd"); // 진료과코드
- var sOrdDrId = model.getValue("/root/main/paminfo/list/medispclid"); // 진료의사ID
- var sOrdDeptNm = model.getValue("/root/main/paminfo/list/orddeptnm"); // 진료과
- var sOrdDrNm = model.getValue("/root/main/paminfo/list/orddrnm"); // 진료의사
- // 2009.05.20. 입원/외래 파람처리를 위하여..
- var sPerfDeptCd = model.getValue("/root/main/oprsrvinfo/perfdeptcd"); // 집도과코드
- var sPerfDrId = model.getValue("/root/main/oprsrvinfo/perfdrid"); // 집도의ID
- var disparam = sPid +"▦" + sPnm +"▦" + sSex+ "/" + sAge+ "▦" + sOrdDeptNm +"▦" + sRoomCD + "▦";
-
- setParameter("pid", sPid);
- // 2009.05.20. 입원인 경우는 입원일/진료과를.. 이외는 진료일/집도과를..
- if (sIOFlag == "I" || sIOFlag == "D" || sIOFlag == "E") {
- setParameter("orddd", sIndd);
- setParameter("orddeptcd", sOrdDeptCd); //진료과
- } else {
- setParameter("orddd", sOrddd);
- setParameter("orddeptcd", sPerfDeptCd); //집도과
- }
- setParameter("cretno", sCretNo);
- setParameter("ioflag", sIOFlag);
- setParameter("orddrid", sPerfDrId); //집도의
- setParameter("disppatinfo", disparam); //등록번호▦환자명▦성별/나이▦진료과▦병실▦
- // 2009.02.24. 수술전평가서 띄울때 검사 측정치 등이 있으면 바로 세팅해서 보여달라는 요청
- // 파라메터 추가 : oprsrvno, opcnfmdd)
- var oprsrvno = model.getValue("/root/main/oprsrvinfo/oprsrvno");
- var opcnfmdd = model.getValue("/root/main/oprsrvinfo/opcnfmdd");
- setParameter("oprsrvno", oprsrvno);
- setParameter("opcnfmdd", opcnfmdd);
-
- setParameter("openmode", "newform"); //오픈모드는 “recform”
- // setParameter("formcd", "0000000737");
- // 2009.05.19. 수술전평가서 폼코드 가져오기.. (의정부 확산 관련 수정내용임)
- var formcd = model.getValue("/root/init/formcd/hardcd/hardcd");
- setParameter("formcd", formcd);
-
- modal("SSMMR01100", 1, 0, 0 ,"", "", "");
-
- //수술전평가표 저장후 formseqno 넘겨받음
- var param = getParameter("SSMMR01100_formrecseq");
-
- if(param != "") {
- model.removeNodeset("/root/send/reqdata/formrec");
- model.makeValue("/root/send/reqdata/formrec/formseqno", param);
- model.makeValue("/root/send/reqdata/formrec/oprsrvno" , oprsrvno);
- submit("TXMMO05502");
- model.makeValue("/root/main/opanstform/formseqno", param);
- }
- } else {
- // 2009.02.24. 수술전평가서 띄울때 검사 측정치 등이 있으면 바로 세팅해서 보여달라는 요청
- // 환자수술정보
- var node = getGlobalVariable("paminfo");
- model.removeNodeset("/root/main/paminfo/list");
- setCSVToNode("/root/main/paminfo", node);
- var sPid = model.getValue("/root/main/paminfo/list/pid"); // 환자번호
- var sPnm = model.getValue("/root/main/paminfo/list/hngnm"); // 환자명
- var sSex = model.getValue("/root/main/paminfo/list/sex"); // 성별
- var sAge = model.getValue("/root/main/paminfo/list/age"); // 나이
- var sIndd = model.getValue("/root/main/paminfo/list/indd"); // 입원일자
- var sOrddd = model.getValue("/root/main/paminfo/list/orddd"); // 진료일자
- var sCretNo = model.getValue("/root/main/paminfo/list/cretno"); // 환자 일자별 일련번호
- var sInstcd = model.getValue("/root/main/paminfo/list/instcd"); // 기관코드
- var sIOFlag = model.getValue("/root/main/paminfo/list/ioflag"); // 입원/외래 구분
- var sWardCD = model.getValue("/root/main/paminfo/list/wardcd");
- var sRoomCD = model.getValue("/root/main/paminfo/list/roomcd");
- var sOrdDeptCd = model.getValue("/root/main/paminfo/list/orddeptcd"); // 진료과코드
- var sOrdDrId = model.getValue("/root/main/paminfo/list/medispclid"); // 진료의사ID
- var sOrdDeptNm = model.getValue("/root/main/paminfo/list/orddeptnm"); // 진료과
- var sOrdDrNm = model.getValue("/root/main/paminfo/list/orddrnm"); // 진료의사
- var disparam = sPid +"▦" + sPnm +"▦" + sSex+ "/" + sAge+ "▦" + sOrdDeptNm +"▦" + sRoomCD + "▦";
- setParameter("disppatinfo", disparam); //등록번호▦환자명▦성별/나이▦진료과▦병실▦
- setParameter("openmode", "recform"); //오픈모드는 “recform”
- setParameter("formrecseq", formseqno);
- modal("SSMMR01100", 1, 0, 0 ,"", "", "");
- }
- // 2008.10.07. 수술전평가서 정보가져오기..
- model.removeNodeset("/root/main/opanstform");
- submit("TRMMR03714");
- // 2008.10.07. 수술전평가서 작성후.. 표시하기..
- // 2009.03.03. 수술전평가서의 작성된 asa class code 셋하기..
- fSetASAClass();
- }
- /**
- * @desc : 수술전상태평가표 기록지
- * @
- * @param :
- * @return :
- * @author : 박유미
- * @---------------------------------------------------
- */
- function fPreOpAssemRec() {
- // 2009.05.29. 수술전평가서팝업 화면 체킹하기..
- var mainObj = getMainViewer();
- var xpt = window.screenleft + eval(0);
- var ypt = window.screenTop + eval(0);
- var coord = getRelativeCoordinate ( xpt, ypt );
- var mon = coord[0];
- xpt = coord[1];
- ypt = coord[2];
-
- var curPrcpObj = mainObj.javascript.getOpenWindow("SSMMR06900"); //활성화된 수술전평가서팝업 화면 object loading
-
- if(curPrcpObj != null){ //활성화된 처방화면이 있는 경우, 처방창 클로징하기..
- curPrcpObj.activate();
- return;
- }
- var formseqno = model.getValue("/root/main/opanstform/formseqno");
- if (formseqno == "" || formseqno == "0") {
- model.removeNodeset("/root/main/opanstform");
- submit("TRMMR03714");
- formseqno = model.getValue("/root/main/opanstform/formseqno");
- }
- if (formseqno == "" || formseqno == "0")
- {
-
- messageBox(" 마취전평가 및 협진서 작성이 되지않았습니다. \n진료대상자리스트 수술탭에서 작성하시기 바랍니다.", "E");
- return;
-
- // 환자수술정보
- var node = getGlobalVariable("paminfo");
- model.removeNodeset("/root/main/paminfo/list");
- setCSVToNode("/root/main/paminfo", node);
- var sPid = model.getValue("/root/main/paminfo/list/pid"); // 환자번호
- var sPnm = model.getValue("/root/main/paminfo/list/hngnm"); // 환자명
- var sSex = model.getValue("/root/main/paminfo/list/sex"); // 성별
- var sAge = model.getValue("/root/main/paminfo/list/age"); // 나이
- var sIndd = model.getValue("/root/main/paminfo/list/indd"); // 입원일자
- var sOrddd = model.getValue("/root/main/paminfo/list/orddd"); // 진료일자
- var sCretNo = model.getValue("/root/main/paminfo/list/cretno"); // 환자 일자별 일련번호
- var sInstcd = model.getValue("/root/main/paminfo/list/instcd"); // 기관코드
- var sIOFlag = model.getValue("/root/main/paminfo/list/ioflag"); // 입원/외래 구분
- var sWardCD = model.getValue("/root/main/paminfo/list/wardcd");
- var sRoomCD = model.getValue("/root/main/paminfo/list/roomcd");
- var sOrdDeptCd = model.getValue("/root/main/paminfo/list/orddeptcd"); // 진료과코드
- var sOrdDrId = model.getValue("/root/main/paminfo/list/medispclid"); // 진료의사ID
- var sOrdDeptNm = model.getValue("/root/main/paminfo/list/orddeptnm"); // 진료과
- var sOrdDrNm = model.getValue("/root/main/paminfo/list/orddrnm"); // 진료의사
- // 2009.05.20. 입원/외래 파람처리를 위하여..
- var sPerfDeptCd = model.getValue("/root/main/oprsrvinfo/perfdeptcd"); // 집도과코드
- var sPerfDrId = model.getValue("/root/main/oprsrvinfo/perfdrid"); // 집도의ID
- var disparam = sPid +"▦" + sPnm +"▦" + sSex+ "/" + sAge+ "▦" + sOrdDeptNm +"▦" + sRoomCD + "▦";
-
- setParameter("pid", sPid);
- // 2009.05.20. 입원인 경우는 입원일/진료과를.. 이외는 진료일/집도과를..
- if (sIOFlag == "I" || sIOFlag == "D" || sIOFlag == "E") {
- setParameter("orddd", sIndd);
- setParameter("orddeptcd", sOrdDeptCd); //진료과
- } else {
- setParameter("orddd", sOrddd);
- setParameter("orddeptcd", sPerfDeptCd); //집도과
- }
- setParameter("cretno", sCretNo);
- setParameter("ioflag", sIOFlag);
- setParameter("orddrid", sPerfDrId); //집도의
- setParameter("disppatinfo", disparam); //등록번호▦환자명▦성별/나이▦진료과▦병실▦
- // 2009.02.24. 수술전평가서 띄울때 검사 측정치 등이 있으면 바로 세팅해서 보여달라는 요청
- // 파라메터 추가 : oprsrvno, opcnfmdd)
- var oprsrvno = model.getValue("/root/main/oprsrvinfo/oprsrvno");
- var opcnfmdd = model.getValue("/root/main/oprsrvinfo/opcnfmdd");
- setParameter("oprsrvno", oprsrvno);
- setParameter("opcnfmdd", opcnfmdd);
- setParameter("openmode", "newform"); //오픈모드는 “recform”
- // setParameter("formcd", "0000000737");
- // 2009.05.19. 수술전평가서 폼코드 가져오기.. (의정부 확산 관련 수정내용임)
- var formcd = model.getValue("/root/init/formcd/hardcd/hardcd");
- setParameter("formcd", formcd);
- } else {
- // 2009.02.24. 수술전평가서 띄울때 검사 측정치 등이 있으면 바로 세팅해서 보여달라는 요청
- // 환자수술정보
- var node = getGlobalVariable("paminfo");
- model.removeNodeset("/root/main/paminfo/list");
- setCSVToNode("/root/main/paminfo", node);
- var sPid = model.getValue("/root/main/paminfo/list/pid"); // 환자번호
- var sPnm = model.getValue("/root/main/paminfo/list/hngnm"); // 환자명
- var sSex = model.getValue("/root/main/paminfo/list/sex"); // 성별
- var sAge = model.getValue("/root/main/paminfo/list/age"); // 나이
- var sIndd = model.getValue("/root/main/paminfo/list/indd"); // 입원일자
- var sOrddd = model.getValue("/root/main/paminfo/list/orddd"); // 진료일자
- var sCretNo = model.getValue("/root/main/paminfo/list/cretno"); // 환자 일자별 일련번호
- var sInstcd = model.getValue("/root/main/paminfo/list/instcd"); // 기관코드
- var sIOFlag = model.getValue("/root/main/paminfo/list/ioflag"); // 입원/외래 구분
- var sWardCD = model.getValue("/root/main/paminfo/list/wardcd");
- var sRoomCD = model.getValue("/root/main/paminfo/list/roomcd");
- var sOrdDeptCd = model.getValue("/root/main/paminfo/list/orddeptcd"); // 진료과코드
- var sOrdDrId = model.getValue("/root/main/paminfo/list/medispclid"); // 진료의사ID
- var sOrdDeptNm = model.getValue("/root/main/paminfo/list/orddeptnm"); // 진료과
- var sOrdDrNm = model.getValue("/root/main/paminfo/list/orddrnm"); // 진료의사
- var disparam = sPid +"▦" + sPnm +"▦" + sSex+ "/" + sAge+ "▦" + sOrdDeptNm +"▦" + sRoomCD + "▦";
- setParameter("disppatinfo", disparam); //등록번호▦환자명▦성별/나이▦진료과▦병실▦
- // 2009.02.24. 수술전평가서 띄울때 검사 측정치 등이 있으면 바로 세팅해서 보여달라는 요청
- // 파라메터 추가 : oprsrvno, opcnfmdd)
- var oprsrvno = model.getValue("/root/main/oprsrvinfo/oprsrvno");
- var opcnfmdd = model.getValue("/root/main/oprsrvinfo/opcnfmdd");
- setParameter("oprsrvno", oprsrvno);
- setParameter("opcnfmdd", opcnfmdd);
- setParameter("openmode", "recform"); //오픈모드는 “recform”
- setParameter("formrecseq", formseqno);
- }
- open("SSMMR06900", 1, 0, 0 ,"", "", "","caption:hidden;");
- }
- function fPreOpAssemRecClose() {
- //술전평가표 저장후 formseqno 넘겨받음
- var param = getParameter("SSMMR01100_formrecseq");
- if (param != "") {
- model.makeValue("/root/main/opanstform/formseqno", param);
- // 2008.10.07. 수술전평가서 정보가져오기..
- model.removeNodeset("/root/main/opanstform");
- submit("TRMMR03714");
- // 2008.10.07. 수술전평가서 작성후.. 표시하기..
- // 2009.03.03. 수술전평가서의 작성된 asa class code 셋하기..
- fSetASAClass();
- }
- }
- function fPreOpAssemRecClose_20100222() {
- //술전평가표 저장후 formseqno 넘겨받음
- var param = getParameter("SSMMR01100_formrecseq");
- if (param != "") {
- model.makeValue("/root/main/opanstform/formseqno", param);
- }
- // 2008.10.07. 수술전평가서 정보가져오기..
- model.removeNodeset("/root/main/opanstform");
- submit("TRMMR03714");
- // 2008.10.07. 수술전평가서 작성후.. 표시하기..
- // 2009.03.03. 수술전평가서의 작성된 asa class code 셋하기..
- fSetASAClass();
- }
- /**
- * @desc : 부서콤보 조회
- * @
- * @param : ref - reference path
- * rsltref - result reference path
- * orddeptflag- 진료과구분
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fGetDeptCodeComboList(ref, rsltref, orddeptflag, stnddd){
- model.removeNode(ref);
- model.makeValue(ref + "/orddeptflag", orddeptflag);
- model.makeValue(ref + "/stnddd", stnddd);
- submit("TRMMB04101", "false", ref, rsltref);
- }
- /**
- * @desc : 사용자콤보 조회
- * @
- * @param : ref - reference path
- * rsltref - result reference path
- * deptcd - 부서코드
- * jobkindcd - 직종코드
- * jobposcd - 직책코드
- * specordyn - 선택진료여부
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fGetUserComboList(ref, rsltref, deptcd, jobkindcd, specordyn, opcnfmdd){
- var opcnfmdd=model.getValue("/root/main/oprsrvinfo/opcnfmdd");
-
- model.removeNode(ref);
- model.makeValue(ref + "/deptcd" , deptcd); //부서코드
- model.makeValue(ref + "/jobkindcd", jobkindcd); //직종코드(의사:0330)
- model.makeValue(ref + "/specordyn", specordyn); //선택진료여부
-
- // 2016.09.30 마취의 조회 시 수술확정일자 시점으로 조회
- if(opcnfmdd!=null || opcnfmdd!=""){
- model.makeValue(ref + "/opcnfmdd", opcnfmdd); //수술확정일자
- }
- model.removeNode(rsltref);
- model.makeValue(rsltref + "/userlist/usercombo[1]/usernm", '-');
- model.makeValue(rsltref + "/userlist/usercombo[1]/userid", '-');
- model.refresh();
- submit("TRMMR03700", "false", ref, rsltref + "/userlist");
- }
- /**
- * @desc : meeting time set
- * @
- * @param :
- * @return :
- * @author : 2008.06.23. 이은영
- * @---------------------------------------------------
- */
- function fSetMeetingTime(currentFlag)
- {
- //2013/12/19
- var iptObj = ipt_meetingtm;
- var patinroomdd="";
- var patinroomtm="";
- if(nurseoprec=="false"){
- patinroomdd=ipt_patinroomdd.value;
- patinroomtm=ipt_patinroomtm.value;
- if(patinroomdd==""||patinroomtm==""){
- messageBox("수술방 입실시간이 입력되지 않았습니다.", "E");
- iptObj.value="";
- model.setFocus("btn_oproominoutctl");
- return;
- }else{
- fCtlDisable(false);
- }
- }else{
- if (fGetPatArrvDT() == false) {
- messageBox("환자가 도착하지 않았습니다.", "E999", "");
- iptObj.value = "";
- return;
- }
- }
- //2013/12/19
-
- // 2. 버튼 현재 시간 입력인가?
- if (currentFlag == "Y") {
- var tm = getCurrentTime();
- iptObj.value = tm.substring(0,4);
- }
- // 3. 날짜 + 시간 => 데이트 타입이 맞는가?
- var dt = model.getValue("/root/main/anstinfo/meetingdd") + iptObj.value;
- if (isValidDateTime(dt, "YYYYMMDDhhmm") == false) {
- messageBox("Meeting Time 시간을 정확히 입력하십시오", "E999", "");
- iptObj.value = "";
- }
- dt = model.getValue("/root/main/anstinfo/meetingdd") + iptObj.value;
- // 4. 환자도착시간 , meeting time 비교
- // 2009.05.04. 무통마취 / 재수술 / 수술전처치 인 경우에는 환자도착시간을 체킹하지 않음..
- // 2009.07.16. 무통마취 / 재수술 인 경우에는 환자도착시간을 체킹하지 않음.. (수술전처치 제외)
- var painlessflag = model.getValue("/root/main/oprsrvinfo/painlessflag");
- var reopflag = model.getValue("/root/main/oprsrvinfo/reopflag");
- var preopcureflag = model.getValue("/root/main/anstinfo/preopcureflag");
- //마취 방법 변경의 경우에도 환자 도착시간 체킹하지 않음. 2010.03.25, 주희경
- var anstmthdchgflag = model.getValue("/root/main/anstinfo/anstmthdchgflag"); //2010.04.13, 주희경, 마취방법변경 시 시간 체크 블러킹 해제
- if (painlessflag != "Y" && reopflag != "Y" && anstmthdchgflag != "Y") {
- if (dt.length == 12) {
- //2013/12/19
- var diffDays="";
- var diffSecond="";
- var diffMin="";
- if(nurseoprec=="false"){
- diffDays = getDateInterval(patinroomdd, dt.substring(0, 8));
- diffSecond = getTimeInterval(patinroomtm, dt.substring(8,12));
- diffMin = (diffDays * 24 * 60) + (diffSecond/60);
- }else{
- diffDays = getDateInterval(patarrvdt.substring(0,8), dt.substring(0, 8));
- diffSecond = getTimeInterval(patarrvdt.substring(8,12), dt.substring(8,12));
- diffMin = (diffDays * 24 * 60) + (diffSecond/60);
- }
- //2013/12/19
- if (diffMin < 0) {
- if(nurseoprec=="false"){
- messageBox("Meeting Time이 수술방 입실시간 보다 작습니다.", "E999", "");
- iptObj.value = "";
- model.setFocus("ipt_meetingtm");
- return;
- }else{
- messageBox("Meeting Time이 대기실 도착시간 보다 작습니다.", "E999", "");
- iptObj.value = "";
- model.setFocus("ipt_meetingtm");
- return;
- }
- } else if (checkedMeetingTime == "Y" && diffMin > 15) {
- // 2010.02.02. meeting time 블락킹..
- // 1. 수술간호에서 환자 대기실 도착시간 저장 후 15분 이내에만 마취환자기록의 Meeting Time 을 저장할 수 있도록 Blocking
- // 2. 단, 15분이 지난 경우에는 15분 이내 시간으로 수정하여 Meeting Time 입력 가능해야 함.
- messageBox("환자 도착 시간 후 15분 이내로 Meeting Time 입력 가능합니다.", "E999", "");
- iptObj.value = "";
- }
- }
- }
- // 5. meeting time set
- dt = model.getValue("/root/main/anstinfo/meetingdd") + iptObj.value;
-
- //마취 방법 변경이 체크되어 있는 경우 수술방 도착시간을 기준으로 일시를 셋팅한다.
- //2010.03.25, 주희경
- if (anstmthdchgflag == "Y")
- {
- var patinroomtm = model.getValue("/root/hidden/patinroomtm");
- dt = model.getValue("/root/hidden/patinroomdd") + patinroomtm;
- }
-
-
- var preMeetingdt = model.getValue("/root/main/anstinfo/meetingdt");
- if( !isNull(preMeetingdt) && preMeetingdt.length == 12
- && !isNull(dt) && dt.length == 12){
- var bRtn = window.parent.javascript.lf_ChkVsData(dt);
- if( bRtn == false ){
- messageBox("변경하시는 Meeting Time 이전 기입력된 기록이 존재합니다. 기록 삭제 후 진행하시기 바랍니다.", "E");
- iptObj.value = preMeetingdt.substr(8, 12);
- model.setFocus("ipt_meetingtm");
- return;
- }
- }
- model.setValue("/root/main/anstinfo/meetingdt", dt);
- model.refresh();
-
- if (dt.length == 12) {
- // 그래프 시작일시, 종료일시 셋해주기.. 마취시작시간 ~ (5분간격 컬럼 표시 : 총 2시간)
- window.parent.javascript.fSetGraphFormdt(dt);
- // 메인 그리드에 그려주자..
- window.parent.javascript.fDisplayGrid();
- // V/S TChart 그려주자..
- // window.parent.javascript.fDisplayChart();
- }
- model.setFocus("ipt_tmoutchktm");
- }
- /**
- * @desc : time out check time set
- * @
- * @param :
- * @return :
- * @author : 2008.06.23. 이은영
- * @---------------------------------------------------
- */
- function fSetTimeOutCheck(currentFlag)
- {
-
- //2013/12/19
- var iptObj = ipt_tmoutchktm;
- if(nurseoprec=="false"){
- var patinroomdd=ipt_patinroomdd.value;
- var patinroomtm=ipt_patinroomtm.value;
- if(patinroomdd==""||patinroomtm==""){
- messageBox("수술방 도착시간이 입력되지 않았습니다.", "E");
- iptObj.value="";
- return;
- }else{
- fCtlDisable(false);
- }
- }else{
- if (fGetPatArrvDT() == false) {
- messageBox("환자가 도착하지 않았습니다.", "E999", "");
- iptObj.value = "";
- return;
- }
- }
- //2013/12/19
-
- // 2. 버튼 현재 시간 입력인가?
- if (currentFlag == "Y") {
- var tm = getCurrentTime();
- iptObj.value = tm.substring(0,4);
- }
- // 3. 날짜 + 시간 => 데이트 타입이 맞는가?
- var dt = model.getValue("/root/main/anstinfo/tmoutchkdd") + iptObj.value;
- if (isValidDateTime(dt, "YYYYMMDDhhmm") == false) {
- messageBox("환자확인시간을 정확히 입력하십시오", "E999", "");
- iptObj.value = "";
- }
- var anstmthdchgflag = model.getValue("/root/main/anstinfo/anstmthdchgflag"); //2010.04.13, 주희경, 마취방법변경 시 시간 체크 블러킹 해제
- // 4. time out check, meeting time 비교
- var meetingdt = model.getValue("/root/main/anstinfo/meetingdt");
- if (meetingdt.length == 8) {
- messageBox("meeting time 을 입력하십시오", "E999", "");
- iptObj.value = "";
- } else if (dt.length == 12 && Number(dt) < Number(meetingdt) && anstmthdchgflag != 'Y') {
- messageBox("환자확인시간이 meeting time 보다 작습니다.\n시간을 정확히 입력하십시오", "E999", "");
- iptObj.value = "";
- model.setFocus("ipt_tmoutchktm");
- return;
- }
- // 5. time out check set
- dt = model.getValue("/root/main/anstinfo/tmoutchkdd") + iptObj.value;
- model.setValue("/root/main/anstinfo/tmoutchkdt", dt);
- model.refresh();
- // 6. 시작종료 symbol 그려주기..
- // 20160624 [요청번호:20160818037] 마취기록지 관련
- //window.parent.javascript.fSetTimeRecAnstInfo("01", dt, 1);
- }
- /**
- * @desc : 수술 시작 시간 set
- * @
- * @param :
- * @return :
- * @author : 2008.06.23. 이은영
- * @---------------------------------------------------
- */
- function fSetOpStartTime(currentFlag) {
- //2013/12/19
- var iptObj = ipt_opfromtm;
- if(nurseoprec=="false"){
- var patinroomdd=ipt_patinroomdd.value;
- var patinroomtm=ipt_patinroomtm.value;
- if(patinroomdd==""||patinroomtm==""){
- messageBox("수술방 도착시간이 입력되지 않았습니다.", "E");
- iptObj.value="";
- return;
- }else{
- fCtlDisable(false);
- }
- }else{
- if (fGetPatArrvDT() == false) {
- messageBox("환자가 도착하지 않았습니다.", "E999", "");
- iptObj.value = "";
- return;
- }
- }
- //2013/12/19
-
- // 2. 버튼 현재 시간 입력인가?
- if (currentFlag == "Y") {
- var tm = getCurrentTime();
- iptObj.value = tm.substring(0,4);
- }
- // 3. 날짜 + 시간 => 데이트 타입이 맞는가?
- var dt = model.getValue("/root/main/anstinfo/opfromdd") + iptObj.value;
- if (isValidDateTime(dt, "YYYYMMDDhhmm") == false) {
- messageBox("수술시작시간을 정확히 입력하십시오", "E999", "");
- iptObj.value = "";
- }
- var anstmthdchgflag = model.getValue("/root/main/anstinfo/anstmthdchgflag"); //2010.04.13, 주희경, 마취방법변경 시 시간 체크 블러킹 해제
- // 4. 수술시작시간, 마취시작시간 비교
- var anstfromdt = model.getValue("/root/main/anstinfo/anstfromdt");
- if (anstfromdt.length == 8 && anstmthdchgflag != 'Y') {
- messageBox("마취시작시간을 입력하십시오", "E999", "");
- iptObj.value = "";
- }
-
- // 5. 수술시작시간 set
- dt = model.getValue("/root/main/anstinfo/opfromdd") + iptObj.value;
- model.setValue("/root/main/anstinfo/opfromdt", dt);
- model.refresh();
- // 6. 시작종료 symbol 그려주기..
- window.parent.javascript.fSetTimeRecAnstInfo("03", dt, 1);
- }
- /**
- * @desc : 수술 종료 시간 set
- * @
- * @param :
- * @return :
- * @author : 2008.06.23. 이은영
- * @---------------------------------------------------
- */
- function fSetOpEndTime(currentFlag)
- {
-
- //2013/12/19
- var iptObj = ipt_optotm;
- if(nurseoprec=="false"){
- var patinroomdd=ipt_patinroomdd.value;
- var patinroomtm=ipt_patinroomtm.value;
- if(patinroomdd==""||patinroomtm==""){
- messageBox("수술방 도착시간이 입력되지 않았습니다.", "E");
- iptObj.value="";
- return;
- }else{
- fCtlDisable(false);
- }
- }else{
- if (fGetPatArrvDT() == false) {
- messageBox("환자가 도착하지 않았습니다.", "E999", "");
- iptObj.value = "";
- return;
- }
- }
- //2013/12/19
-
- // 2. 버튼 현재 시간 입력인가?
- if (currentFlag == "Y") {
- var tm = getCurrentTime();
- iptObj.value = tm.substring(0,4);
- }
- // 3. 날짜 + 시간 => 데이트 타입이 맞는가?
- var dt = model.getValue("/root/main/anstinfo/optodd") + iptObj.value;
- if (isValidDateTime(dt, "YYYYMMDDhhmm") == false) {
- messageBox("수술종료시간을 정확히 입력하십시오", "E999", "");
- iptObj.value = "";
- }
- var anstmthdchgflag = model.getValue("/root/main/anstinfo/anstmthdchgflag"); //2010.04.13, 주희경, 마취방법변경 시 시간 체크 블러킹 해제
-
- //2010.04.16, 이은영, Physical Status = 06 (환자의 퇴사가 선언되고 장기기증을 위한 목적으로 수술을 받는 환자) 인 경우 (수술종료시간/마취종료시간) 시간 체크 블러킹 해제
- var physstat = model.getValue("/root/main/anstinfo/physstat");
- // 4. 수술시작시간, 수술종료시간 비교
- var opfromdt = model.getValue("/root/main/anstinfo/opfromdt");
- if (opfromdt.length == 8) {
- messageBox("수술시작시간을 입력하십시오", "E999", "");
- iptObj.value = "";
- } else if (dt.length == 12 && Number(dt) < Number(opfromdt) && anstmthdchgflag != 'Y' && physstat != "06") {
- messageBox("수술종료시간이 수술시작시간 보다 작습니다.\n시간을 정확히 입력하십시오", "E999", "");
- iptObj.value = "";
- model.setFocus("ipt_optotm");
- return;
- }
- // 5. 수술종료시간 set
- dt = model.getValue("/root/main/anstinfo/optodd") + iptObj.value;
- model.setValue("/root/main/anstinfo/optodt", dt);
- model.refresh();
- // 6. 시작종료 symbol 그려주기..
- window.parent.javascript.fSetTimeRecAnstInfo("03", dt, 2);
- }
- /**
- * @desc : 마취 시작 시간 set
- * @
- * @param :
- * @return :
- * @author : 2008.06.23. 이은영
- * @---------------------------------------------------
- */
- function fSetAnstStartTime(currentFlag)
- {
-
- //2013/12/19
- var iptObj = ipt_anstfromtm;
- if(nurseoprec=="false"){
- var patinroomdd=ipt_patinroomdd.value;
- var patinroomtm=ipt_patinroomtm.value;
- if(patinroomdd==""||patinroomtm==""){
- messageBox("수술방 도착시간이 입력되지 않았습니다.", "E");
- iptObj.value="";
- return;
- }else{
- fCtlDisable(false);
- }
- }else{
- if (fGetPatArrvDT() == false) {
- messageBox("환자가 도착하지 않았습니다.", "E999", "");
- iptObj.value = "";
- return;
- }
- }
- //2013/12/19
-
- // 2. 버튼 현재 시간 입력인가?
- if (currentFlag == "Y") {
- var tm = getCurrentTime();
- iptObj.value = tm.substring(0,4);
- }
- // 3. 날짜 + 시간 => 데이트 타입이 맞는가?
- var dt = model.getValue("/root/main/anstinfo/anstfromdd") + iptObj.value;
- if (isValidDateTime(dt, "YYYYMMDDhhmm") == false) {
- messageBox("마취시작시간을 정확히 입력하십시오", "E999", "");
- iptObj.value = "";
- }
- var anstmthdchgflag = model.getValue("/root/main/anstinfo/anstmthdchgflag"); //2010.04.13, 주희경, 마취방법변경 시 시간 체크 블러킹 해제
- // 4. 마취시작시간, time out check 비교
- var tmoutchkdt = model.getValue("/root/main/anstinfo/tmoutchkdt");
- if (tmoutchkdt.length == 8) {
- messageBox("환자확인시간을 입력하십시오", "E999", "");
- iptObj.value = "";
- } else if (dt.length == 12 && Number(dt) < Number(tmoutchkdt) && anstmthdchgflag != 'Y') {
- messageBox("마취시작시간이 환자확인시간 보다 작습니다.\n시간을 정확히 입력하십시오", "E999", "");
- iptObj.value = "";
- model.setFocus("ipt_anstfromtm");
- return;
- }
- // 5. 마취시작시간 set
- dt = model.getValue("/root/main/anstinfo/anstfromdd") + iptObj.value;
- model.setValue("/root/main/anstinfo/anstfromdt", dt);
- model.refresh();
- // 6. 마취 시작~종료 시간 구하기..
- fSetAnstStartEndTime();
- // 7. 시작종료 symbol 그려주기..
- // 2009.06.16. 수술전처치 시 마취시간은 [T] - 02 가 아닌 [X] - 01 로 표기함.
- window.parent.javascript.fSetTimeRecAnstInfo("01", dt);
- /*
- var preopcureflag = model.getValue("/root/main/anstinfo/preopcureflag");
- if (preopcureflag == "Y") {
- window.parent.javascript.fSetTimeRecAnstInfo("01", dt);
- } else {
- window.parent.javascript.fSetTimeRecAnstInfo("02", dt);
- }
- */
- }
- /**
- * @desc : 마취 종료시간 set
- * @
- * @param :
- * @return :
- * @author : 2008.06.23. 이은영
- * @---------------------------------------------------
- */
- function fSetAnstEndTime(currentFlag)
- {
-
- //2013/12/19
- var iptObj = ipt_ansttotm;
- if(nurseoprec=="false"){
- var patinroomdd=ipt_patinroomdd.value;
- var patinroomtm=ipt_patinroomtm.value;
- if(patinroomdd==""||patinroomtm==""){
- messageBox("수술방 도착시간이 입력되지 않았습니다.", "E");
- iptObj.value="";
- return;
- }else{
- fCtlDisable(false);
- }
- }else{
- if (fGetPatArrvDT() == false) {
- messageBox("환자가 도착하지 않았습니다.", "E999", "");
- iptObj.value = "";
- return;
- }
- }
- //2013/12/19
-
- // 2. 버튼 현재 시간 입력인가?
- if (currentFlag == "Y") {
- var tm = getCurrentTime();
- iptObj.value = tm.substring(0,4);
- }
- // 3. 날짜 + 시간 => 데이트 타입이 맞는가?
- var dt = model.getValue("/root/main/anstinfo/ansttodd") + iptObj.value;
- if (isValidDateTime(dt, "YYYYMMDDhhmm") == false) {
- messageBox("마취종료시간을 정확히 입력하십시오", "E999", "");
- iptObj.value = "";
- }
- var anstmthdchgflag = model.getValue("/root/main/anstinfo/anstmthdchgflag"); //2010.04.13, 주희경, 마취방법변경 시 시간 체크 블러킹 해제
- //2010.04.16, 이은영, Physical Status = 06 (환자의 퇴사가 선언되고 장기기증을 위한 목적으로 수술을 받는 환자) 인 경우 (수술종료시간/마취종료시간) 시간 체크 블러킹 해제
- var physstat = model.getValue("/root/main/anstinfo/physstat");
- // 4. 마취종료시간, 수술종료시간 비교
- var optodt = model.getValue("/root/main/anstinfo/optodt");
- var anstfromdt = ipt_anstfromdd.value+ipt_anstfromtm.value; // 마취시작시간
- if (optodt.length == 8) {
- messageBox("수술종료시간을 입력하십시오", "E999", "");
- iptObj.value = "";
- } else if (dt.length == 12 && Number(dt) < Number(optodt) && physstat != "06") {
- messageBox("마취종료시간이 수술종료시간 보다 작습니다.\n시간을 정확히 입력하십시오", "E999", "");
- iptObj.value = "";
- model.setFocus("ipt_ansttotm");
- return;
- } else if (dt.length == 12 && Number(dt) < Number(anstfromdt) && physstat != "06") {
- messageBox("마취종료시간이 마취시작시간 보다 작습니다.\n시간을 정확히 입력하십시오", "E999", "");
- iptObj.value = "";
- model.setFocus("ipt_ansttotm");
- return;
- }
-
- // 5. 마취종료시간 set
- dt = model.getValue("/root/main/anstinfo/ansttodd") + iptObj.value;
- model.setValue("/root/main/anstinfo/ansttodt", dt);
- model.refresh();
-
- // 6. 마취 시작~종료 시간 구하기..
- fSetAnstStartEndTime();
- // 7. 시작종료 symbol 그려주기..
- window.parent.javascript.fSetTimeRecAnstInfo("01", dt, 2);
- }
- /**
- * @desc : 마취 종료시간 set
- * @
- * @param :
- * @return :
- * @author : 2008.06.23. 이은영
- * @---------------------------------------------------
- */
- function fSetAnstStartEndTime()
- {
- fGetHours();
- // Inhalational Agent 인 경우 시작일시 셋해주기
- window.parent.iv_anstmast.window.javascript.fSetTimeAgent01();
- // Inhalational Agent : 별도로 Display (항목 선택해 주고, 시작일시, 종료일시 다시 보여주기)
- window.parent.iv_anstmast.window.javascript.fDisplayAgent01();
- }
- /**
- * @desc : 환자도착시간 조회하고 체킹하기...
- * @
- * @param :
- * @return :
- * @author : 2008.09.17. 이은영
- * @---------------------------------------------------
- */
- function fGetPatArrvDT(flag)
- {
- var chkPatArrvDT = true;
- // 2009.05.04. 무통마취 / 재수술 / 수술전처치 인 경우에는 환자도착시간을 체킹하지 않음..
- // 2009.07.16. 무통마취 / 재수술 인 경우에는 환자도착시간을 체킹하지 않음.. (수술전처치 제외)
- /* 2009.12.01. 변경요청사항
- 1. 마취환자기록의 수술구분의 금일재수술은 재수술로 변경
- 2. 집도과에서 재수술로 의뢰하는 경우에도 병동 출발시간, 대기실 도착시간, 수술방 도착시간 정보가 있는 경우에는 해당 정보 디스플레이
- 3. 단, 회복실에서 바로 수술실로 재입실하는 경우에는 병동출발시간과 대기실 도착시간 없이
- 수술방 도착시간만 있기 때문에 이런 경우 마취과에서 Meeting Time 을 체크하고 일반 수술프로세스와 동일하게 처리되어야 함.
- */
- var painlessflag = model.getValue("/root/main/oprsrvinfo/painlessflag");
- var reopflag = model.getValue("/root/main/oprsrvinfo/reopflag");
- var preopcureflag = model.getValue("/root/main/anstinfo/preopcureflag");
- if (painlessflag == "Y") {
- var opcnfmdd = model.getValue("/root/main/oprsrvinfo/opcnfmdd");
- patarrvdt = opcnfmdd + "0000";
- chkPatArrvDT = false;
- fCtlDisable(false);
- return true;
- }
- if (chkPatArrvDT == true) {
- // 2009.06.08. 병동 환자 출발시간, 수술방 환자 도착시간 표시하기..
- var wardstartdttm = model.getValue("/root/main/patinfo/wardstartdttm");
- var patarrvdttm = model.getValue("/root/main/patinfo/patarrvdttm");
- var patinroomdt = model.getValue("/root/main/patinfo/patinroomdt");
- var patoutroomdt = model.getValue("/root/main/patinfo/patoutroomdt");
- if (wardstartdttm == "" || patarrvdttm == "" || patinroomdt == "") {
- submit("TRMMR03715");
- wardstartdttm = model.getValue("/root/main/patinfo/wardstartdttm");
- patarrvdttm = model.getValue("/root/main/patinfo/patarrvdttm");
- patinroomdt = model.getValue("/root/main/patinfo/patinroomdt");
- patoutroomdt = model.getValue("/root/main/patinfo/patoutroomdt");
- // 2009.06.08. 병동 환자 출발시간 표시하기..
- if (wardstartdttm != "") {
- model.setValue("/root/hidden/wardstartdd", wardstartdttm.substr(0,8));
- model.setValue("/root/hidden/wardstarttm", wardstartdttm.substr(8,4));
- ipt_wardstartdd.refresh();
- ipt_wardstarttm.refresh();
- }
- // 2009.05.26. 대기실 환자 도착시간 표시하기..
- if (patarrvdttm != "") {
- model.setValue("/root/hidden/patarrvdd", patarrvdttm.substr(0,8));
- model.setValue("/root/hidden/patarrvtm", patarrvdttm.substr(8,4));
- ipt_patarrvdd.refresh();
- ipt_patarrvtm.refresh();
- }
- // 2009.06.08. 수술방 환자 도착시간 표시하기..
- if (patinroomdt != "") {
- model.setValue("/root/hidden/patinroomdd", patinroomdt.substr(0,8));
- model.setValue("/root/hidden/patinroomtm", patinroomdt.substr(8,4));
- ipt_patinroomdd.refresh();
- ipt_patinroomtm.refresh();
- }
-
- //2013/12/26 수술방 퇴실시간을 표시
- if (patoutroomdt != "" && patoutroomdt.length==12) {
- model.setValue("/root/hidden/patoutroomdd", patoutroomdt.substr(0,8));
- model.setValue("/root/hidden/patoutroomtm", patoutroomdt.substr(8,4));
- ipt_patoutroomdd.refresh();
- ipt_patoutroomtm.refresh();
- }
- //2013/12/26
- }
- //2013/12/30
- var perfdeptcd=model.getValue("/root/main/oprsrvinfo/perfdeptcd");
- var instcd = getUserInfo("dutplceinstcd");
- var oproomcd = model.getValue("/root/main/oprsrvinfo/oproomcd");
- if(instcd=="031" && (oproomcd=="0041"||oproomcd=="0042"||oproomcd=="0043"||oproomcd=="0061"||oproomcd=="0062"||oproomcd=="0063"||oproomcd=="0064"||oproomcd=="0080")){ // 시술일때는 그냥 스킵하도록 설정(김시오교수 요청)
- btn_oproominoutctl.disabled=false;
- nurseoprec="false";
- }else{
- if(wardstartdttm != "" && patarrvdttm != "" && patinroomdt==""){ // 병동 출발시간 / 대기실 도착시간 / 수술방 입실시간
- if(instcd=="032" && perfdeptcd=="2090000000"){ // 칠곡은 집도과가 마취통증의학과 일시에만 수술방 입실시간 활성화 버튼 오픈
- btn_oproominoutctl.disabled=false;
- nurseoprec="false";
- }else if(instcd=="031"){ // 본원은 집도과 상관 없이 수술방 입실시간 활성화 버튼 오픈
- btn_oproominoutctl.disabled=false;
- nurseoprec="false";
- }else{
- return false;
- }
- }else if(wardstartdttm != "" && patarrvdttm != "" && patinroomdt!=""){
- if(nurseoprec=="false"){
- btn_oproominoutctl.disabled=false;
- }else if(nurseoprec=="" || nurseoprec=="true"){
- //btn_oproominoutctl.disabled=true;
- nurseoprec="true";
- }
- }
- }
- //2013/12/30
- patarrvdt = model.getValue("/root/main/patinfo/patarrvdttm");
- /* 2009.12.01. 변경요청사항
- 1. 마취환자기록의 수술구분의 금일재수술은 재수술로 변경
- 2. 집도과에서 재수술로 의뢰하는 경우에도 병동 출발시간, 대기실 도착시간, 수술방 도착시간 정보가 있는 경우에는 해당 정보 디스플레이
- 3. 단, 회복실에서 바로 수술실로 재입실하는 경우에는 병동출발시간과 대기실 도착시간 없이
- 수술방 도착시간만 있기 때문에 이런 경우 마취과에서 Meeting Time 을 체크하고 일반 수술프로세스와 동일하게 처리되어야 함.
- */
- if (patarrvdt == "" && patinroomdt != "") {
- patarrvdt = patinroomdt;
- }
-
- if(flag!="recheck"){
- if (patarrvdt == "") {
- fCtlDisable(true);
- return false;
- } else {
- fCtlDisable(false);
- return true;
- }
- }
- }
- }
- /**
- * @desc : 환자도착시간 조회하고 체킹하기...
- * @
- * @param :
- * @return :
- * @author : 2008.09.17. 이은영
- * @---------------------------------------------------
- */
- function fCtlDisable(disabled)
- {
- ipt_tmoutchktm.disabled = disabled;
- ipt_opfromtm.disabled = disabled;
- ipt_optotm.disabled = disabled;
- ipt_anstfromtm.disabled = disabled;
- ipt_ansttotm.disabled = disabled;
- }
- /**
- * @desc : 2008.10.07. 수술전평가서 작성후.. 표시하기..
- * @ 2009.03.03. 수술전평가서의 작성된 asa class code 셋하기..
- * @param :
- * @return :
- * @author : 2009.03.03. 이은영
- * @---------------------------------------------------
- */
- function fSetASAClass_20130814()
- {
- var formseqno = model.getValue("/root/main/opanstform/formseqno");
- if (formseqno == "" || formseqno == "0") {
- model.makeValue("/root/hidden/preopassemrec", "");
- } else {
- model.makeValue("/root/hidden/preopassemrec", "◈");
- // 2009.03.03. 수술전평가서의 작성된 asa class code 셋하기..
- var asaclasscd = model.getValue("/root/main/opanstform/cdid");
- var physstat = model.getValue("/root/main/anstinfo/physstat");
- if (physstat == "") {
- model.setValue("/root/main/anstinfo/physstat", asaclasscd);
- }
- var physstat = model.getValue("/root/main/anstinfo/physstat");
- if (physstat == asaclasscd) {
- cmb_physstat.disabled = true;
- cap_asamsg.attribute("visibility") = "hidden";
- } else {
- cmb_physstat.disabled = false;
- cap_asamsg.attribute("visibility") = "visible";
- }
- }
- cmb_physstat.refresh();
- cap_asamsg.refresh();
- cap_preopassemrec.refresh();
- }
- /**
- * 마취전 평가서 인증저장 여부 체크
- * 2013/08/14
- */
- function fSetASAClass(){
- var asaclasscd = null;
- var physstat = null;
- asaclasscd = model.getValue("/root/main/opanstform/cdid");
- physstat = model.getValue("/root/main/anstinfo/physstat");
-
- var formseqno = model.getValue("/root/main/opanstform/formseqno"); // 기록키
- var espiseq = model.getValue("/root/main/opanstform/espiseq"); //인증키
- if (espiseq == null || espiseq == "" || espiseq == "0") { //인증저장여부에 따라서 마크 표시 여부 결정
- model.makeValue("/root/hidden/preopassemrec", "");
- }else{
- model.makeValue("/root/hidden/preopassemrec", "◈");
- }
-
- //20131101 이정택 Start
- var anstrecno = model.getValue("/root/main/anstinfo/anstrecno");
- if(anstrecno==null || anstrecno==""){
- if(formseqno != null && formseqno != "" && formseqno != "0" && asaclasscd!=null && asaclasscd!=""){
- model.setValue("/root/main/anstinfo/physstat", asaclasscd);
- cmb_physstat.refresh();
- }
- }
- //20131101 End
-
- physstat = model.getValue("/root/main/anstinfo/physstat");
-
- if(formseqno != null && formseqno != "" && formseqno != "0") {
- if (physstat == "") {
- model.setValue("/root/main/anstinfo/physstat", asaclasscd);
- }
- if (physstat == asaclasscd) {
- //cmb_physstat.disabled = true;
- cap_asamsg.attribute("visibility") = "hidden";
- } else {
- //cmb_physstat.disabled = false;
- cap_asamsg.attribute("visibility") = "visible";
- }
- }
- cmb_physstat.refresh();
- cap_asamsg.refresh();
- cap_preopassemrec.refresh();
- }
- /**
- * 수술부위확인점검표 인증저장 여부 체크
- *
- */
- function fChkEspi(){
- model.makeValue("/root/send/espi_chk/pid", model.getValue("/root/main/anstinfo/pid"));
- model.makeValue("/root/send/espi_chk/oprsrvno", model.getValue("/root/main/anstinfo/oprsrvno"));
- model.makeValue("/root/send/espi_chk/orddd", model.getValue("/root/main/anstinfo/orddd"));
- model.makeValue("/root/send/espi_chk/cretno", model.getValue("/root/main/anstinfo/cretno"));
- submit("TRMMR03720");
-
- var signno=model.getValue("/root/main/espiinfo/signno");
- if(signno!="0" && signno!=""){
- model.setValue("/root/hidden/espi_chk", "◈");
- }
- model.refresh();
- }
- /*
- * 마취 일반정보에서 수술구분을 변경시의 이벤트
- *
- * */
- function fChangeOpFlag(){
- var change_opflagcd =model.getValue("/root/main/anstinfo/opflagcd");
- if(old_opflagcd!=change_opflagcd &&(change_opflagcd!=null && change_opflagcd!="")){
- new_opflagcd=model.getValue("/root/main/anstinfo/opflagcd");
- }
- }
- /**
- * 수술방 입실시간 활성화 버튼 클릭시 이벤트
- */
- function fOpRoomInOutCtl(){
- model.setValue("/root/hidden/patinroomdd", model.getValue("/root/main/oprsrvinfo/opcnfmdd"));
- model.setValue("/root/hidden/patoutroomdd", model.getValue("/root/main/oprsrvinfo/opcnfmdd"));
- ipt_patinroomdd.refresh();
- ipt_patoutroomdd.refresh();
- ipt_patinroomdd.disabled="false";
- ipt_patinroomtm.disabled="false";
- ipt_patoutroomdd.disabled="false";
- ipt_patoutroomtm.disabled="false";
- btn_patinroom.disabled="false";
- btn_patoutroom.disabled="false";
- }
- /**
- * 수술방 입실시간을 입력
- */
- function fSetPatInRoomTime(currentFlag){
- var iptObj = ipt_patinroomtm;
- // 2. 버튼 현재 시간 입력인가?
- if (currentFlag == "Y") {
- var tm = getCurrentTime();
- iptObj.value = tm.substring(0,4);
- }
- // 3. 날짜 + 시간 => 데이트 타입이 맞는가?
- var dt = ipt_patinroomdd.value + iptObj.value;
- if (isValidDateTime(dt, "YYYYMMDDhhmm") == false) {
- messageBox("수술방 입실시간을 정확히 입력하십시오", "E999", "");
- iptObj.value = "";
- model.setFocus("ipt_patinroomtm");
- return;
- }
- //2010.04.16, 이은영, Physical Status = 06 (환자의 퇴사가 선언되고 장기기증을 위한 목적으로 수술을 받는 환자) 인 경우 (수술종료시간/마취종료시간) 시간 체크 블러킹 해제
- var physstat = model.getValue("/root/main/anstinfo/physstat");
- // 4. 대기실 도착시간 VS 수술방 입실시간 비교
- var patarrvdt = ipt_patarrvdd.value + ipt_patarrvtm.value;
- if (dt.length == 12 && Number(dt) < Number(patarrvdt) && physstat != "06") {
- messageBox("수술방 입실시간이 대기실 도착시간 보다 작습니다.\n시간을 정확히 입력하십시오", "E999", "");
- iptObj.value = "";
- model.setFocus("ipt_patinroomtm");
- return;
- }
-
- ipt_patinroomdd.refresh();
- ipt_patinroomtm.refresh();
- }
- /**
- * 수술방 퇴실시간을 입력
- */
- function fSetPatOutRoomTime(currentFlag){
-
- //2013/12/19
- var iptObj = ipt_patoutroomtm;
- if(nurseoprec=="false"){
- var patinroomdd=ipt_patinroomdd.value;
- var patinroomtm=ipt_patinroomtm.value;
- if(patinroomdd==""||patinroomtm==""){
- messageBox("수술방 도착시간이 입력되지 않았습니다.", "E");
- iptObj.value="";
- return;
- }else{
- fCtlDisable(false);
- }
- }else{
- if (fGetPatArrvDT() == false) {
- messageBox("환자가 도착하지 않았습니다.", "E999", "");
- iptObj.value = "";
- return;
- }
- }
- //2013/12/19
-
- // 2. 버튼 현재 시간 입력인가?
- if (currentFlag == "Y") {
- var tm = getCurrentTime();
- iptObj.value = tm.substring(0,4);
- }
- // 3. 날짜 + 시간 => 데이트 타입이 맞는가?
- var dt = ipt_patoutroomdd.value + iptObj.value;
- if (isValidDateTime(dt, "YYYYMMDDhhmm") == false) {
- messageBox("수술방 퇴실시간을 정확히 입력하십시오", "E999", "");
- iptObj.value = "";
- return;
- }
- //2010.04.16, 이은영, Physical Status = 06 (환자의 퇴사가 선언되고 장기기증을 위한 목적으로 수술을 받는 환자) 인 경우 (수술종료시간/마취종료시간) 시간 체크 블러킹 해제
- var physstat = model.getValue("/root/main/anstinfo/physstat");
- // 4. 마취종료시간, 수술방 퇴실시간 비교
- var ansttodt = ipt_ansttodd.value + ipt_ansttotm.value;
- if (ansttodt.length != 12) {
- messageBox("마취 종료시간을 정확히 입력하십시오", "E999", "");
- iptObj.value = "";
- return;
- } else if (dt.length == 12 && Number(dt) < Number(ansttodt) && physstat != "06") {
- messageBox("수술방 퇴실시간이 마취종료시간 보다 작습니다.\n시간을 정확히 입력하십시오", "E999", "");
- iptObj.value = "";
- model.setFocus("ipt_patoutroomtm");
- return;
- }
- }
- /**
- * 기록지상 시간이 제대로 기록 됐는지 확인
- * 2013/12/30
- */
- function fRecTimeCheck(rtn){
- var physstat = model.getValue("/root/main/anstinfo/physstat");
- var ipt_patarrvdt = ipt_patarrvdd.value+ipt_patarrvtm.value; //대기실 도착시간
- var ipt_patinroomdt = ipt_patinroomdd.value+ipt_patinroomtm.value; // 수술방 입실시간
- var ipt_meetingdt = ipt_meetingdd.value + ipt_meetingtm.value; // 미팅타임
- var ipt_tmoutchkdt = ipt_tmoutchkdd.value + ipt_tmoutchktm.value; // time out check
- var ipt_anstfromdt = ipt_anstfromdd.value+ipt_anstfromtm.value; // 마취시작시간
- var ipt_opfromdt = ipt_opfromdd.value+ipt_opfromtm.value; // 수술시작시간
- var ipt_optodt = ipt_optodd.value+ipt_optotm.value; // 수술종료시간
- var ipt_ansttodt = ipt_ansttodd.value+ipt_ansttotm.value; // 마취종료시간
- var ipt_patoutroomdt = ipt_patoutroomdd.value+ipt_patoutroomtm.value; // 수술방 퇴실시간
- if(rtn=="6" && ipt_patinroomdt.length==12 && Number(ipt_patinroomdt) < Number(ipt_patarrvdt) && physstat != "06"){
- messageBox("수술방 입실시간이 대기실 도착시간보다 작습니다.\n시간을 정확히 입력하십시오", "E999", "");
- ipt_patinroomtm.value="";
- model.setFocus("ipt_patinroomtm");
- return false;
- }
-
- if(ipt_meetingdt.length==12 && Number(ipt_meetingdt) < Number(ipt_patarrvdt) && physstat != "06"){
- messageBox("Meeting Time이 대기실 도착시간보다 작습니다. \n시간을 정확히 입력하십시오", "E999", "");
- ipt_meetingtm.value="";
- model.setFocus("ipt_meetingtm");
- return false;
- }
-
- if(ipt_tmoutchkdt.length==12 && Number(ipt_tmoutchkdt) < Number(ipt_meetingdt) && physstat != "06"){
- messageBox("환자확인시간이 Meeting Time 보다 작습니다.\n시간을 정확히 입력하십시오", "E999", "");
- ipt_tmoutchktm.value="";
- model.setFocus("ipt_tmoutchktm");
- return false;
- }
- if(ipt_anstfromdt.length==12 && Number(ipt_anstfromdt) < Number(ipt_tmoutchkdt) && physstat != "06"){
- messageBox("마취시작시간이 환자확인시간보다 작습니다.\n시간을 정확히 입력하십시오", "E999", "");
- ipt_anstfromtm.value="";
- model.setFocus("ipt_anstfromtm");
- return false;
- }
- //2014.09.02 수술시작시간 마취시작시간 체크 로직 삭제 엄영만
- // if(ipt_opfromdt.length==12 && Number(ipt_opfromdt) < Number(ipt_anstfromdt) && physstat != "06"){
- // messageBox("수술시작시간이 마취시작시간 보다 작습니다.\n시간을 정확히 입력하십시오", "E999", "");
- // ipt_opfromtm.value="";
- // model.setFocus("ipt_opfromtm");
- // return false;
- // }
- if(ipt_optodt.length==12 && Number(ipt_optodt) < Number(ipt_opfromdt) && physstat != "06"){
- messageBox("수술종료시간이 수술시작시간 보다 작습니다.\n시간을 정확히 입력하십시오", "E999", "");
- ipt_optotm.value="";
- model.setFocus("ipt_optotm");
- return false;
- }
- if(ipt_ansttodt.length==12 && Number(ipt_ansttodt) < Number(ipt_anstfromdt) && physstat != "06"){
- messageBox("마취종료시간이 마취시작시간 보다 작습니다.\n시간을 정확히 입력하십시오", "E999", "");
- ipt_ansttotm.value="";
- model.setFocus("ipt_ansttotm");
- return false;
- }
- if(ipt_ansttodt.length==12 && Number(ipt_ansttodt) < Number(ipt_optodt) && physstat != "06"){
- messageBox("마취종료시간이 수술종료시간 보다 작습니다.\n시간을 정확히 입력하십시오", "E999", "");
- ipt_ansttotm.value="";
- model.setFocus("ipt_ansttotm");
- return false;
- }
-
- if(nurseoprec=="false" && ipt_patoutroomdt.length==12 && Number(ipt_patoutroomdt) < Number(ipt_ansttodt) && physstat != "06"){
- messageBox("수술방 퇴실시간이 마취 종료시간 보다 작습니다.\n시간을 정확히 입력하십시오", "E999", "");
- ipt_patoutroomtm.value="";
- model.setFocus("ipt_patoutroomtm");
- return false;
- }
- return true;
- }
|