1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787 |
- /*
- (SMMNW04810.xfm - JScript )
- - Version :
- 1) : Ver.1.00.01
- - Desc : 통증관리기록및 통증관리 팝업이미지 에서 사용하는 스크립트
- */
- /******************************************************************************************************************************************************/
- /****************************************************** 통증관리기록에서 사용하는 펑션 시작************************************************************/
- /******************************************************************************************************************************************************/
- var xCondPath = "/root/cond"; // 조회조건 xPath
- var xBedsoreGridPath = "/root/main/detlgrup/detlgruplist" // 그리드 xPath
- var xClsListBKPath = "/root/hidden/main/detlgrup/detlgruplist"; // 그리드 hidden xPath
- var xPamInfoPath = '/root/temp/paminfo'
- var erPatPidPath = "/root/cond/patientnm";
- var gpidPath = "/root/temp/cond/settingpatient/settingpatientlist"
- var gcurrentpid = "";
- var xChartHeaderListPath = "/root/main/chartheaderlist";
- var xTMSettingListPath = "/root/temp/clincobsrecinfo/tmsettinglist";
- //var xPamInfoPath = "/root/main/paminfo/pamlist"; // 환자정보
- var xPrcpInfoPath1 = "/root/main/searchinfo/prcplist1"; // 처방정보(fromdd)
- var xPrcpInfoPath2 = "/root/main/searchinfo/prcplist2"; // 처방정보(fromdd+1)
- var xPrcpInfoPath3 = "/root/main/searchinfo/prcplist3"; // 처방정보(fromdd+2)
- var xPrcpInfoPath4 = "/root/main/searchinfo/prcplist4"; // 처방정보(fromdd+3)--> srchdd
- var xPainInfoPath1 = "/root/main/searchinfo/painlist1"; //통증정보(fromdd)
- var xPainInfoPath2 = "/root/main/searchinfo/painlist2"; //통증정보(fromdd+1)
- var xPainInfoPath3 = "/root/main/searchinfo/painlist3"; //통증정보(fromdd+2)
- var xPainInfoPath4 = "/root/main/searchinfo/painlist4"; //통증정보(fromdd+3)--> srchdd
- var xTotPainInfoPath = "/root/main/searchinfo/totpainlist"; //통증조회(그래프를 그리기 위한 4일간의 모든 통증기록)
- var xTPRInfoPath = "/root/main/searchinfo/tprlist"; //TPR vs조회
- var xChkObsPartInfoPath = "/root/main/searchinfo/obspartlist"; //통증부위--> 그래프 체크박스에 나타낼 통증부위
- var xPainCountInfoPath = "/root/main/searchinfo/paincount"; //점수가7점이상이 3회이상인경우
- var sHeader = new Array();
- var sFormerHeader = new Array();
- var sPid = ""; // 환자번호
- var sIndd = ""; // 입원일자
- var sCretNo = ""; // 환자 일자별 일련번호
- var sInstcd = ""; // 기관코드
- var sIOFlag = ""; // 입원/외래 구분
- var sWardCD = ""; // 병동코드
- var sRoomCD = ""; // 병실코드
- var sJobKindCD = ""; // 직급코드
- var sIndschacptstat = "";
- var sDschdd = "";
- var sChartItem = new Array();
- var sLineColor = new Array();
- //var sLineColor = new Array(0xcc88dd , 0xff0000 , 0x00ff00 , 0x0000ff , 0x4400cc , 0x6688ff , 0x888822 , 0xff8822 , 0xffff00, 0x88ffff, 0xe5f3c2, 0x6699ff );
- var sCheckColor = new Array("#cc88dd" , "#ffff00" , "#6688ff", "#88ffff" , "#00ff00" , "#ff0000" , "#ff88bb" , "#888822" , "#ff8822" ,"#777777", "#aa3399" , "#ccff44","#ccffbb");
- var sPatNm = "";
- var sSexAge = "";
- var sDutplcecd = "";
- var sOrdDeptcd = "";
- var sMedispclid = "";
- var sUserFlag = "";
- var sUserDeptCd = "";
- var sUserId = "";
- //통합기록조회
- var ViewFunc = "sign"; //sign : 기록인증용, view : view인증용
- //가정간호 parameter를 global variable로 선언
- var HC_homecarecd = '';
- var HC_ioflag = '';
- var HC_isHomeCare = '';
- //응급의료센터 관련 변수_경북대 (2011.03.16 Ahn)
- var eERDEPTCD = "";
- var eERFLAG = "";
- var eSECTIONCD = "";
- //경북대 기록지 구분용 _ 2011.03.17 (ahn)
- var eRECFLAG = "erPain"; // 통증관리기록
- //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- //+++++++++++++++++++++++++++++++++++++++++++ 조회관련 펑션 모음 시작 ++++++++++++++++++++++++++++++++++++++++++++++//
- //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- /**
- * @group :
- * @ver : 2007.09. 06
- * : 2008.05.28 dhkim 수정
- * @by : 정찬성
- * @----------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 화면을 초기화한다. 화면로딩이 끝난 시점에 호출된다.
- * @param :
- * @return :
- * @----------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function finit(){
-
- model.makeValue("/root/send/cdgpid", "T30");
- submit("TRMNW04001");
-
- //사용자 직급구분에 따른 화면 제어 플래그 설정
- sJobKindCD = getUserInfo("jobkindcd"); // 직급코드
- sUserDeptCd = getUserInfo("dutplcecd");
- sUserId = getUserInfo("userid");
- //---------(20101204) 경북대
- //추가
- //var sJobKindCD = getUserInfo("jobkindcd"); // 직급코드
- var ssflag = "";
- if( sJobKindCD.substring(0, 2) == "03"){
- ssflag = "Y";
- }else{
- ssflag = "N";
- }
-
-
- //----------------------------
- //응급의료센터 부서코드 추출_ 경북대 (2011.03.16 Ahn)
- model.makeValue("/root/send/cdgrupid", "'002'");
- model.makeValue("/root/send/srchdd" , getCurrentDate()); // 조회기준일자
- if(submit("TRMNW00001", false)){
- eERDEPTCD = model.getvalue("/root/code/codeinfo/codelist[cdgrupid='002']/cdid");
- }
-
- //원본:의사의 경우만
- //if(sJobKindCD == "0330" || sJobKindCD == "0310" ){
- if(ssflag=="Y") {
- //---------(20101204) 경북대
- grp_search.visible = true;
- grp_save.visible = false;
- chk_nextyn.visible = false;
- //grp_data.disabled = true;
- }else{
- grp_search.visible = false;
- grp_save.visible = true;
- chk_nextyn.visible = true;
- }
- /*
- // 간호하드코딩 테이블 조회_20090816(ByKHJ)
- var pCode = "'077'"; // 조회할 CdGrupID 코드정보(기관코드조회)
- var pDate = getCurrentDate(); // 조회기준일자
-
- fGetNursHardCdInfo(pCode, pDate);
-
- if ( model.getValue("/root/code/codeinfo/codelist[supcdid='01']/cdid") == getUserInfo("dutplceinstcd") ){
- grd_detlgrup.colHidden(grd_detlgrup.colRef("paingb")) = false;
- setParameter("SPMNW04800_PARAM9SHOW","Y");
- }else{
- grd_detlgrup.colHidden(grd_detlgrup.colRef("paingb")) = true;
- }
- */
- //조회조건을 세팅한다.
- model.removenode('/root/cond');
- model.makeNode('/root/cond/wardcd');
- model.makeNode('/root/cond/roomcd');
- model.makeNode('/root/cond/patientnm');
- model.makeNode('/root/cond/pid');
- // 응급실 구역정보 추가
- model.makeNode('/root/cond/zonecd');
- model.makeNode('/root/cond/nextyn');
- //병동 조회
- if(!submit('TRMNW04705')){
- messageBox('화면 초기화를', 'E009');
- return;
- }
- //상단정보를 가져온다.
- var isOpener = fSetPatInfo();
- fpatinfoset();
-
- model.makeValue(rdo_stdradio.attribute("ref"), "2" ); // 종료전(최근입력만) 선택
-
- if(sIndschacptstat == "D"){ // 퇴원환자는 퇴원일자 기준
- model.makeValue(ipt_genrdd.attribute("ref"), sDschdd);
- }else{
- model.makeValue(ipt_genrdd.attribute("ref"), getCurrentDate()); // 기준일에 현재날짜(디폴트)
- }
- model.makeValue(ipt_genrtm.attribute("ref"), getCurrentDateTime().substring(9,13)); // 기준시간 셋팅
-
- //가정간호 parameter 세팅
- if(checkOpener()){
- HC_isHomeCare = fSetHomeCareParamter();
- }
-
- //상단정보가 있으면 바로 조회
- if(isOpener || HC_isHomeCare){
- // fSearch();
- fSearchRecInfo();
- //조회후 그리드의 발생부위, 발생일자를 머지
- fMergeGenrAreaDD();
-
- }else{
- model.setValue("/root/cond/wardcd", getUserInfo("dutplcecd"));
-
- // 응급실인 경우 (2011.03.16 Ahn)
- fGetWardChngInfo("N");
-
- //병실정보 조회
- fSearchRoomcd();
- model.setFocus("cmb_roomcd");
-
- if(eERFLAG == "Y"){
- cmb_roomcd.value = model.getValue("/root/roomcdgrup/roomcdgruplist[1]/roomcd");
- //선택한 병실에 해당하는 환자리스트 조회
- fGetCareComPatList(cmb_wardcd.value, cmb_roomcd.value, cmb_zone.value);
- model.setFocus("cmb_erpat");
- }
- }
-
- var pFlag = null;
- var flag = 'SMMNW04800';
- fGetSettingPatientList(pFlag,flag);
-
- if(model.getValue("/root/cond/pid")!=""){
- if(getNodesetCount("/root/temp/cond/settingpatient/settingpatientlist") > 0){
- model.setValue(cmb_mypatlist.attribute('ref'), model.getValue("/root/cond/pid"));
- cmb_mypatlist.refresh();
- }
- }
- fSearchGrape("4days");
-
- }
- /**
- * @ver : 2008.06.12
- * @author : dhkim
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @param :
- * @return : true/false (true는 가정간호 parameter정상 세팅/ false는 리턴)
- * @desc : 가정간호의 parameter를 넘겨받은 경우에는 조회조건에 parameter값을 setting한다.
- * 입원의 경우에는 병동, 병실정보, 등록번호, 환자명을 조회영역에 세팅한다.
- * 외래의 경우에는 병동, 병실정보 및 중증도점수 조회영역을 hidden시키고 등록번호, 환자명을 조회영역에 세팅한다.
- * [가정간호에서 받아오는 parameter]
- * - homecarecd : 3090100000 (가정간호를 구분하기 위한 부서코드)
- * - ioflag : I/O (I:입원, O:외래)
- * - pid : 등록번호
- * - hngnm : 환자명
- * - wardcd : 병동코드
- * - roomcd : 병실코드
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------
- */
-
- function fSetHomeCareParamter(){
-
- //가정간호 parameter를 가져온다.
- model.removenode('/root/hidden/homecareparam');
- model.makenode('/root/hidden/homecareparam');
- HC_homecarecd = opener.javascript.getParameter('homecarecd');//'3090100000';//'3090100000';//
- HC_ioflag = opener.javascript.getParameter('ioflag');//'O';//'I';//
- var pid = opener.javascript.getParameter('pid'); //'551121110';//'11524296';//
- var hngnm = opener.javascript.getParameter('hngnm'); //'김미연';//'이상월';//
- var wardcd = opener.javascript.getParameter('wardcd');//'';//'3050107000';//
- var roomcd = opener.javascript.getParameter('roomcd');//'';//'4003';//
-
-
- //외래/입원의 경우에 따라 조회영역을 visible/hidden처리
- fHiddenRoomWard(HC_ioflag);
-
- //가정간호구분자가 널이면 리턴
- if(HC_homecarecd != null && HC_homecarecd != ''){
- if(pid == null || pid == ''){
- messageBox('필수정보가 없으므로 기록을 조회할 수', 'I004');
- return false;
- }else{
- if(HC_ioflag == 'O'){
- //환자명 combonode, input pid set
- model.removenode('/root/patientgrup/patientgruplist');
- model.makeValue('/root/patientgrup/patientgruplist/patientnm', hngnm);
- model.makeValue('/root/patientgrup/patientgruplist/pid' , pid);
- model.setValue(cmb_patientnm.attribute('ref') , pid);
- model.setValue(ipt_pid.attribute('ref') , pid);
- model.refresh();
- }else if(HC_ioflag == 'I'){
- //pid를 가지고 병실, 병동 정보를 찾는다.
- fSetWardRoomPidInfo(wardcd, roomcd, pid);
- }
- return true;
- }
- }else{
- return false;
- }
-
-
- }
- /**
- * @ver : 2008.06.12
- * @author : dhkim
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @param : ioflag I/O (I:입원, O:외래)
- * @return :
- * @desc : 입원의 경우에는 병동, 병실정보, 등록번호, 환자명을 조회영역에 visible.
- * 외래의 경우에는 병동, 병실정보 및 중증도점수 조회영역을 hidden.
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fHiddenRoomWard(ioflag){
-
- if(ioflag == 'O'){
- ctn_ward.attribute('visibility') = 'hidden';
- cmb_wardcd.attribute('visibility') = 'hidden';
- ctn_room.attribute('visibility') = 'hidden';
- cmb_roomcd.attribute('visibility') = 'hidden';
- ctn_searchflag.attribute('style') = 'top:14px;';
- rdo_stdradio.attribute('style') = 'top:14px;';
- }else{
- ctn_ward.attribute('visibility') = 'visible';
- cmb_wardcd.attribute('visibility') = 'visible';
- ctn_room.attribute('visibility') = 'visible';
- cmb_roomcd.attribute('visibility') = 'visible';
- ctn_searchflag.attribute('style') = 'top:40px;';
- rdo_stdradio.attribute('style') = 'top:40px;';
- }
-
- }
-
-
- /**
- * @ver : 2008.06.12
- * @author : dhkim
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @param : wardcd 병동코드
- * @param : roomcd 병실코드
- * @param : pid 등록번호
- * @return :
- * @desc : pid를 가지고 병실, 병동 정보를 찾아서 조회영역에 병동, 병실, 환자명, 등록번호를 세팅한다.
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fSetWardRoomPidInfo(wardcd, roomcd, pid, zoneflag){
-
- cmb_wardcd.value = wardcd; //병동코드 세팅
- fSearchRoomcd(wardcd); //병동에 해당되는 병실조회
- cmb_roomcd.value = roomcd; //병실코드 세팅
-
- fGetWardChngInfo("N");
-
- // 응급실일 경우 응급실 환자 조회 (2011.03.16 ahn)
- if(eERFLAG == "Y"){
- fGetCareComPatList(wardcd, roomcd, cmb_zone.value, eRECFLAG);
- // 해당 환자의 section 정보로 재설정
- var sectioncd = model.getValue("/root/patientgrup/patientgruplist[pid='" + pid + "']/zonecd");
- if(zoneflag== "Chg"){
- //model.setValue("/root/cond/zonecd", "-");
- model.setValue("/root/cond/zonecd", (sectioncd=="") ? "-" : sectioncd);
- cmb_zone.dispatch("xforms-value-changed");
- }else if(zoneflag== "NoChg"){
- model.setValue("/root/cond/zonecd", eSECTIONCD);
- cmb_zone.dispatch("xforms-value-changed");
- }
-
- cmb_erpat.value = pid;
-
- }else{
- fSearchPatInfo(wardcd, roomcd); //병실에 해당되는 환자조회
- }
- //퇴원환자의 경우 환자이름에 조회되지 않으므로 콤보아이템을 추가
- if ( isNull(model.getValue("/root/patientgrup/patientgruplist[pid='"+pid+"']/patientnm")) ){
- addComboItem( "cmb_patientnm", getPatientInfoDetail('hngnm'), pid, "above" );
- model.setValue(cmb_patientnm.attribute('ref'), pid);
- model.makeValue("/root/patientgrup/patientgruplist[1]/indd", getPatientInfoDetail('indd'));
- model.makeValue("/root/patientgrup/patientgruplist[1]/cretno", getPatientInfoDetail('cretno'));
- model.makeValue("/root/patientgrup/patientgruplist[1]/orddeptcd", getPatientInfoDetail('orddeptcd'));
- model.makeValue("/root/patientgrup/patientgruplist[1]/orddrid", getPatientInfoDetail('medispclid'));
- model.makeValue("/root/patientgrup/patientgruplist[1]/ordtype", getPatientInfoDetail('ioflag'));
- cmb_patientnm.disabled = true;
- }else{
- // 응급실일 경우 응급실 환자 조회 (2011.03.16 ahn)
- if(eERFLAG == "Y"){
- cmb_erpat.value = pid;
- }else{
- cmb_patientnm.value = pid; //등록번호 세팅
- cmb_patientnm.disabled = false;
- }
- }
- ipt_pid.value = pid; //등록번호 세팅
-
- }
-
-
- /**
- * @ver : 2008.06.12
- * @author : dhkim
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @param : pid - 등록번호
- * @return :
- * @desc : 등록번호만 입력된 상태일때는 병동, 병실정보를 알수 없으므로
- * 해당 등록번호의 환자의 병동정보를 조회해온다.
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fGetPidWardInfo(pid, zoneflag){
- if(pid != null && pid != ''){
- model.removenode('/root/send');
- model.removenode('/root/main/patinfo');
- model.makeValue('/root/send/pid', model.getValue('/root/cond/pid'));
- if ( getPatientInfoDetail('indschacptstat') == "D"
- || getPatientInfoDetail('indschacptstat') == "T" ){
- model.makeValue('/root/send/indd', getPatientInfoDetail('indd'));
- }
-
- if(!submit('TRMNW04707', "false")){
- messageBox('환자정보 조회를', 'E009');
- return;
- }else{
- cmb_wardcd.refresh();
- var wardcd = model.getValue('/root/main/patinfo/patinfolist/wardcd'); //병동코드,
- var roomcd = model.getValue('/root/main/patinfo/patinfolist/roomcd'); //병실코드
- var pid = model.getValue('/root/main/patinfo/patinfolist/pid'); //등록번호
-
- //가정간호의 경우는 상단정보가 아닌 parameter에서 받아온다
- if(HC_isHomeCare){
- wardcd = opener.javascript.getParameter('wardcd');
- roomcd = opener.javascript.getParameter('roomcd');
- pid = opener.javascript.getParameter('pid');
- }
- //pid를 가지고 병실, 병동 정보를 찾는다.
- fSetWardRoomPidInfo(wardcd, roomcd, pid, zoneflag);
- }
-
- if(model.getValue("/root/cond/pid")!=""){
- if(getNodesetCount("/root/temp/cond/settingpatient/settingpatientlist") > 0){
- model.setValue(cmb_mypatlist.attribute('ref'), model.getValue("/root/cond/pid"));
- cmb_mypatlist.refresh();
- }
- }
- }
- }
- /**
- * @group :
- * @ver : 2008.05.27
- * @by : dhkim
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 상단정보를 세팅한다.
- * @param :
- * @return : true/false - 상단정보 있을때 true, 없을때 false
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fSetPatInfo(){
- var xPamInfoPath = '/root/temp/paminfo'
- var node = getPatientInfoDetails(xPamInfoPath) ;
- var pid = ''; var hngnm = ''; var wardcd = ''; var roomcd = '';
- // 응급실 구역정보 (2011.03.16 ahn)
- var sectioncd = "";
- var isOpener = false;
- if(checkOpener()){
- pid = getPatientInfoDetail('pid');
- hngnm = getPatientInfoDetail('hngnm');
- wardcd = getPatientInfoDetail('wardcd');
- roomcd = getPatientInfoDetail('roomcd');
- sectioncd = getPatientInfoDetail('sectioncd'); // 응급실 구역정보 (2011.03.16 ahn)
- if(pid != null && pid != ''){
- isOpener = true;
- }
- }
- if(pid != '' && hngnm != '' && wardcd != '' && roomcd != ''){
- // 응급실일 경우 (2011.03.16 Ahn)
- //alert(sectioncd);
- fGetWardChngInfo("Y", wardcd, sectioncd);
-
- //콤보에서 끌고 오기 위한 병실, 환자정보 조회
- fSearchRoomcd(wardcd);
-
- if(eERFLAG == "Y"){ // 응급실 환자 조회 (2011.03.15 Ahn)
- fGetCareComPatList(wardcd, roomcd, cmb_zone.value);
- }else{
- fSearchPatInfo(wardcd, roomcd);
- }
- //상단정보를 세팅
- model.setValue(cmb_wardcd.attribute('ref'), wardcd);
- model.setValue(cmb_roomcd.attribute('ref'), roomcd);
-
- //퇴원환자의 경우 환자이름에 조회되지 않으므로 콤보아이템을 추가
- if ( isNull(model.getValue("/root/patientgrup/patientgruplist[pid='"+pid+"']/patientnm")) ){
- addComboItem( "cmb_patientnm", getPatientInfoDetail('hngnm'), pid, "above" );
- model.setValue(cmb_patientnm.attribute('ref'), pid);
- model.makeValue("/root/patientgrup/patientgruplist[1]/indd", getPatientInfoDetail('indd'));
- model.makeValue("/root/patientgrup/patientgruplist[1]/cretno", getPatientInfoDetail('cretno'));
- model.makeValue("/root/patientgrup/patientgruplist[1]/orddeptcd", getPatientInfoDetail('orddeptcd'));
- model.makeValue("/root/patientgrup/patientgruplist[1]/orddrid", getPatientInfoDetail('medispclid'));
- model.makeValue("/root/patientgrup/patientgruplist[1]/ordtype", getPatientInfoDetail('ioflag'));
-
- cmb_patientnm.disabled = true;
- }else{
- model.setValue(cmb_patientnm.attribute('ref'), pid);
- cmb_patientnm.disabled = false;
- }
-
- model.setValue(ipt_pid.attribute('ref'), pid);
- }
- model.refresh();
- return isOpener;
- }
- /**
- * @group :
- * @ver : 2008.05.27
- * @by : dhkim
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 병동코드에 해당되는 병실정보 조회
- * @param :
- * @return :
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fSearchRoomcd(wardcd){
- //병실정보 clear
- model.setValue('/root/cond/roomcd', '');
- model.removenode('/root/roomcdgrup');
- //해당 병실 환자정보 clear
- model.setValue('/root/cond/patientnm', '');
- model.setValue('/root/cond/pid', '');
-
- model.removenode('/root/patientgrup');
- cmb_patientnm.disabled = false;
- //선택한 병동에 해당되는 병실 조회
- if(wardcd == null || wardcd == ''){
- wardcd = model.getValue("/root/cond/wardcd");
- model.removenode(xPamInfoPath);
- fInitTopInfo();
- }
- fGetCareComRoomList(wardcd);
- }
- /**
- * @group :
- * @ver : 2008.05.27
- * @by : dhkim
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 병실코드에 해당되는 환자정보 조회
- * @param :
- * @return :
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fSearchPatInfo(wardcd, roomcd){
- //해당 병실 환자정보 clear
- model.setValue('/root/cond/patientnm', '');
- model.setValue('/root/cond/pid', '');
- model.removenode('/root/patientgrup');
- //선택한 병동, 병실에 해당되는 환자 조회
- if(wardcd == null || wardcd == ''){
- wardcd = model.getValue('/root/cond/wardcd');
- cmb_patientnm.disabled = false;
- model.removenode(xPamInfoPath);
- fInitTopInfo();
-
- }
- if(roomcd == null || roomcd == '')
- roomcd = model.getValue('/root/cond/roomcd');
- fGetCareComPatList(wardcd, roomcd);
-
- model.refresh();
- }
- /**
- * @group :
- * @ver : 2007.09.06
- * : 2008.05.28 dhkim 수정
- * @by : 정찬성
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 조회버튼
- * @param :
- * @return :
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fSearch(zoneflag){
-
- var pid = model.getValue(cmb_patientnm.attribute('ref'));
-
- if(pid == ''){
- pid = model.getValue(ipt_pid.attribute('ref'));
- }else{
- //병실내 환자정보 선택시 환자등록번호 setting
- model.setValue(ipt_pid.attribute('ref'), pid);
- model.refresh();
- }
-
- //부위 추가시 등록번호 필수
- if(pid == "") {
- messageBox("등록번호를 ","C001");
- model.setfocus("ipt_pid");
- return false;
- }else{
- //가정간호에서 팝업을 띄운 외래 환자의 경우엔 skip한다.
- if(!HC_isHomeCare || (HC_isHomeCare && HC_ioflag == 'I')){
- //등록번호에 해당되는 병동, 병실정보를 조회한다.
- fGetPidWardInfo(pid, zoneflag);
- }
- }
-
- fSearchRecInfo();
- //조회후 그리드의 발생부위, 발생일자를 머지
-
- fMergeGenrAreaDD();
-
- fSearchGrape("4days");
- return true;
- }
- function fSearchRecInfo() {
-
- //조회조건값 세팅
- var pid = model.getValue("/root/cond/pid");
- model.makeValue("/root/send/pid", model.getValue("/root/cond/pid")); //등록번호
- model.makeValue("/root/send/indd", model.getValue("/root/patientgrup/patientgruplist[pid = '"+ pid +"']/indd")); //등록번호
- model.makeValue("/root/send/cretno", model.getValue("/root/patientgrup/patientgruplist[pid = '"+ pid +"']/cretno")); //등록번호
-
- model.makeValue("/root/send/genrdd", model.getValue("/root/cond/genrdd")); //기준일자(발생일자)
- model.makeValue("/root/send/genrtm", model.getValue("/root/cond/genrtm")); //기준시간(발생시간)
- model.makeValue("/root/send/stdradio", model.getValue("/root/cond/stdradio")); //조회조건의라디오(전체/종료전(전체)/종료전(최근입력만))
- //통증관리 기록 조회
- model.removenode('/root/main/detlgrup');
-
- if(submit('TRMNW04802')){
- //그리드변경시 update상태파악위한 노드백업
- model.copyNode("/root/hidden/main/detlgrup", "/root/main/detlgrup");
- }
- }
- /**
- * @group :
- * @ver : 2008.05.28
- * @by : dhkim
- * @--------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 조회후 발생부위, 방향,원인 가 같으면 머지한다.
- * @param :
- * @return :
- * @--------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fMergeGenrAreaDD(){
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("obspartnm")) = true;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("cause")) = true;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("direcnm")) = true;
-
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("flag")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("recdd")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("rectm")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("symptomid")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("freq")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("paingb")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("paingbid")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("term")) = false;
-
- // 기간 정보 추가
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("termtm")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("termth")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("termdd")) = false;
-
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("pnt")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("resn")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("arbitration")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("valu")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("pid")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("instcd")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("obsrecseq")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("direcid")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("causeid")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("symptom")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("grupcd")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("sel")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("obspartid")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("freqid")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("pntid")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("lastupdtrid")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("tool")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("toolid")) = false;
-
- //약물중재, 비약물중재 컬럼추가_20110414_SMY
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("pnt1")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("pnt2")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("pnt3")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("pnt4")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("pnt5")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("cnps1")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("cnps2")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("cnps3")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("cnps4")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("drugarbt")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("nondrugarbt")) = false;
- grd_detlgrup.mergeCol(grd_detlgrup.colRef("nondrugarbtid"))= false;
- }
- //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- //+++++++++++++++++++++++++++++++++++++++++++ 조회관련 펑션 모음 끝 ++++++++++++++++++++++++++++++++++++++++++++++//
- //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- //+++++++++++++++++++++++++++++++ 욕창관련 팝업호출관련 펑션모음 시작 ++++++++++++++++++++++++++++++++++++++++++++++//
- //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- /////////////////팝업 오픈 시작////////////////////
- /**
- * @group :
- * @ver : 2008.05.28
- * @by : dhkim
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 첨부파일팝업을 호출
- * @param :
- * @return :
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fOpenFilePopup(){
- var iRow = grd_detlgrup.row;
- var cdColIdx = 0;
- var mergeyn = 0;
-
- var pid = model.getValue(xBedsoreGridPath + '[' + (iRow-1) + ']/pid');
- var obsrecseq = model.getValue(xBedsoreGridPath + '[' + (iRow-1) + ']/obsrecseq');
- var grupcd = model.getValue(xBedsoreGridPath + '[' + (iRow-1) + ']/grupcd');
-
-
- var stat = '';
- for(var i = 2 ; i < grd_detlgrup.rows; i++){
- stat = model.getValue(xBedsoreGridPath + '[' + (i - 1) + ']/stat');
- if(stat != '-'){
- return;
- }
- }
-
- if(obsrecseq != ''){
- setParameter('pid', pid);
- setParameter('grupcd', grupcd);
- setParameter('obsrecseq', obsrecseq);
- modal('SPMNW04703', 100, 100);
- fSearch();
- }else{
- return ;
- }
- }
- /**
- * @group :
- * @ver : 2008.08.08
- * @by : dhkim
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @desc : undermining팝업 호출
- * @type : function
- * @access : public
- * @param :
- * @return :
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fPopupUndermining(){
- var iRow = grd_detlgrup.row;
- var cdColIdx = 0;
- var mergeyn = 0;
-
- var pid = model.getValue(xBedsoreGridPath + '[' + (iRow-1) + ']/pid');
- var obsrecseq = model.getValue(xBedsoreGridPath + '[' + (iRow-1) + ']/obsrecseq');
- var grupcd = model.getValue(xBedsoreGridPath + '[' + (iRow-1) + ']/grupcd');
-
-
- var stat = '';
- for(var i = 2 ; i < grd_detlgrup.rows; i++){
- stat = model.getValue(xBedsoreGridPath + '[' + (i - 1) + ']/stat');
- if(stat != '-'){
- return;
- }
- }
-
-
- if(obsrecseq != ''){
- setParameter('pid', pid);
- setParameter('grupcd', grupcd);
- setParameter('obsrecseq', obsrecseq);
- modal('SPMNW04701', 100, 100);
- fSearch();
- }else{
- return ;
- }
- }
- /**
- * @group :
- * @ver : 2008.05.28
- * @by : dhkim
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 욕창발생부위 팝업호출
- * @param :
- * @return :
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fPopupBedSoreImg(){
- var iRow = grd_detlgrup.row;
- var iCol = grd_detlgrup.col;
- var obsrecseq = model.getValue(xBedsoreGridPath+"["+(grd_detlgrup.row-1)+"]/obsrecseq");
- //팝업창에 부위 값이 있으면 기존값 셋팅
- //이미저장되어있으면 수정하지 못하도록 확인버튼을 막아주는 flag를 set한다.
- if(grd_detlgrup.textmatrix(iRow,2) != ""){
- setParameter("partall", grd_detlgrup.textmatrix(iRow,3));
- if(obsrecseq > 0){
- setParameter('editable', 'f');
- }
- }else{
- setParameter('editable', 't');
- }
- // 환자 기록부분 선택 팝업
- modal("SMMNW04701",1, event.screenX-200, event.screenY+50); //이미지호출
- //팝업에서 아무것도 선택하지 않고 close를 눌렀을때..
- if( getParameter("returnnull") == "close" ){
- return ;
- } else {
- //욕창발생부위 값을 grid에 set
- var retStr = getParameter('retStr');
- model.setValue(xBedsoreGridPath + '[' + (iRow-1) + ']/obspartnm', retStr);
- //그리드 상태값 변경
- var stat = model.getValue(xBedsoreGridPath+"["+(grd_detlgrup.row-1)+"]/stat");
- if(stat != "i") {
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row-1)+"]/stat","u");
- } else {
- //욕창발생부위의 추가시 해당 부위에 대해
- //동일한 발생부위+발생일자+발생시간+원인의 '종료'가 없으면
- //그 부위를 추가할수 없도록 메세지 리턴
- if(grd_detlgrup.rows > 3){
- var returnArr = fIsExistEndData(grd_detlgrup.row, true);
- if(returnArr[3] != null && !returnArr[3]){
- messageBox('선택하신 발생부위는 이미 등록되어 있으며, 종료된 사정이 아니므로 재등록 하실 수 ', 'I004');
- model.setValue(xBedsoreGridPath + '[' + (iRow-1) + ']/obspartnm', '');
- model.refresh();
- return ;
- }
- }
- }
- }
- }
- /**
- * @group :
- * @ver : 2008.05.28
- * @by : dhkim
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @desc : 통증기준자료팝업 호출
- * @type : function
- * @access : public
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fPopupBedSoreData(iRow){
-
- //alert("팝업 테스트");
-
- // Main Data -> popup 으로
- //--------------------------------------------------------------
- // Update or Insert 확인 (Parameter= Upflag)
- //--------------------------------------------------------------
-
- setParameter("Upflag",model.getValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/lastupdtrid"));//기록자
- setParameter("Gubnflag",model.getValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/flag")); //구분
-
- var part = model.getValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/obspartid") ; //통증부위ID
- setParameter("SPMNW04800_PARAM1", part);
- var partnm= model.getValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/obspartnm") ; //통증부위명
- setParameter("SPMNW04800_PARAMOBSDATA",partnm);
- setParameter("SPMNW04800_ETC",model.getValue("/root/main/etc/partnm"));
- var part2 = model.getValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/direcid") ; //방향ID
- setParameter("SPMNW04800_PARAM2", part2);
- var partnm2=model.getValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/direcnm") ; //방향명
- setParameter("SPMNW04800_PARAMDIRDATA",partnm2);
- setParameter("SPMNW04800_ETC2",model.getValue("/root/main/etc/catenm"));
-
- var part3=model.getValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/causeid") ; //원인ID
- setParameter("SPMNW04800_PARAM3", part3);
- setParameter("SPMNW04800_ETC3",model.getValue("/root/main/etc/sympnm"));
-
- var partnm4=model.getValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/cause") ; //원인명
- setParameter("SPMNW04800_PARAMCAUDATA", partnm4);
-
- var part5=model.getValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/symptomid") ; //통증양상ID
- setParameter("SPMNW04800_PARAM4", part5);
- var partnm6=model.getValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/symptom") ; //통증양상명칭
- setParameter("SPMNW04800_PARAMSYMDATA", partnm6);
- var part7=model.getValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/freqid") ; //빈도ID
- setParameter("SPMNW04800_PARAM5", part7);
- var partnm8=model.getValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/freq") ; //빈도
- setParameter("SPMNW04800_PARAMFREQDATA", partnm8);
- var part11=model.getValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/toolid") ; //사정도구ID
- setParameter("SPMNW04800_PARAM7", part11);
- var partnm12=model.getValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/tool") ; //사정도구
- setParameter("SPMNW04800_PARAMTOOLDATA", partnm12);
-
- var part9=model.getValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/pntid") ; //통증점수ID
- setParameter("SPMNW04800_PARAM6", part9);
- var partnm10=model.getValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/pnt") ; //통증점수
- setParameter("SPMNW04800_PARAMPNTDATA", partnm10);
-
- var part9=model.getValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/paingbid") ; //통증발생구분ID
- setParameter("SPMNW04800_PARAM9", part9);
-
- if(iRow >1 && part11!="" && model.getValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/stat") =="i"){ //동일 통증 부위에 대한 기록내역 있는 경우 이전 사정도구 default check
- var part11_1 =model.getValue("/root/main/detlgrup/detlgruplist" + "[" + (iRow-1) + "]/toolid") ; //사정도구ID
- setParameter("SPMNW04800_PARAM7", part11_1);
- }
-
- //비약물중재 추가_20110418_SMY
- var part17 = model.getValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/nondrugarbtid") ; //비약물중재ID
- setParameter("SPMNW04800_PARAM17", part17);
- var partnm18=model.getValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/nondrugarbt") ; //비약물중재명
- setParameter("SPMNW04800_PARAMNONDRUGDATA",partnm18);
- setParameter("SPMNW04800_ETC4",model.getValue("/root/main/etc/nondrugnm"));
-
- //통증점수상세추가_20110418_SMY
- var partptn1=model.getValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/pnt1") ;
- setParameter("SPMNW04800_PARAMPNT1DATA", partptn1);
- var partptn2=model.getValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/pnt2") ;
- setParameter("SPMNW04800_PARAMPNT2DATA", partptn2);
- var partptn3=model.getValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/pnt3") ;
- setParameter("SPMNW04800_PARAMPNT3DATA", partptn3);
- var partptn4=model.getValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/pnt4") ;
- setParameter("SPMNW04800_PARAMPNT4DATA", partptn4);
- var partptn5=model.getValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/pnt5") ;
- setParameter("SPMNW04800_PARAMPNT5DATA", partptn5);
-
- //통증점수cnps상세추가_20150202
- var partcnps1=model.getValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/cnps1") ;
- setParameter("SPMNW04800_PARAMCNPS1DATA", partcnps1);
- var partcnps2=model.getValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/cnps2") ;
- setParameter("SPMNW04800_PARAMCNPS2DATA", partcnps2);
- var partcnps3=model.getValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/cnps3") ;
- setParameter("SPMNW04800_PARAMCNPS3DATA", partcnps3);
- var partcnps4=model.getValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/cnps4") ;
- setParameter("SPMNW04800_PARAMCNPS4DATA", partcnps4);
-
- var termtm=model.getValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/termtm") ;
- setParameter("SPMNW04800_PARAMTERMTMDATA", termtm);
- var termth=model.getValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/termth") ;
- setParameter("SPMNW04800_PARAMTERMTHDATA", termth);
- var termdd=model.getValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/termdd") ;
- setParameter("SPMNW04800_PARAMTERMDDDATA", termdd);
-
- modal("SPMNW04802",1, event.screenX-200, event.screenY+50); //기준자료호출
- // popup Data--> Main Data
- var flg = getParameter("SMMNW04800_PARAM");
-
- //alert("flg : " + flg);
-
- if(flg == "Y") {
-
- // 통증부위
- var part1 = getParameter("SMMNW04800_PARAM1");
- model.setValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/obspartnm", part1);
- var part2 = getParameter("SMMNW04800_PARAM2");
- model.makeValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/obspartid", part2);
- // 통증방향
- var part3=getParameter("SMMNW04800_PARAM3");
- model.makeValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/direcnm", part3);
- var part4=getParameter("SMMNW04800_PARAM4");
- model.makeValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/direcid", part4);
- //통증원인
- var part5=getParameter("SMMNW04800_PARAM5");
- model.makeValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/cause", part5);
- var part6=getParameter("SMMNW04800_PARAM6");
- model.makeValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/causeid", part6);
- //양상
- var part7=getParameter("SMMNW04800_PARAM7");
- model.makeValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/symptom", part7);
- var part8=getParameter("SMMNW04800_PARAM8");
- model.makeValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/symptomid", part8);
- //빈도
- var part9=getParameter("SMMNW04800_PARAM9");
- model.makeValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/freq", part9);
- var part10=getParameter("SMMNW04800_PARAM10");
- model.makeValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/freqid", part10);
- //점수
- var part11=getParameter("SMMNW04800_PARAM11");
- model.makeValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/pnt", part11);
- var part12=getParameter("SMMNW04800_PARAM12");
- model.makeValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/pntid", part12);
- //통증발생구분
- var part13=getParameter("SMMNW04800_PARAM13");
- model.makeValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/paingb", part13);
- var part14=getParameter("SMMNW04800_PARAM14");
- model.makeValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/paingbid", part14);
- //사정도구
- var part15=getParameter("SMMNW04800_PARAM15");
- model.makeValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/tool", part15);
- var part16=getParameter("SMMNW04800_PARAM16");
- model.makeValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/toolid", part16);
- //비약물중재 추가_20110418_SMY
- var part17=getParameter("SMMNW04800_PARAM17");
- model.makeValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/nondrugarbt", part17);
- var part18=getParameter("SMMNW04800_PARAM18");
- model.makeValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/nondrugarbtid", part18);
- //통증점수상세추가_20110418_SMY
- var partptn1=getParameter("SMMNW04800_PARAMPnt1");
- model.makeValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/pnt1", partptn1);
- var partptn2=getParameter("SMMNW04800_PARAMPnt2");
- model.makeValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/pnt2", partptn2);
- var partptn3=getParameter("SMMNW04800_PARAMPnt3");
- model.makeValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/pnt3", partptn3);
- var partptn4=getParameter("SMMNW04800_PARAMPnt4");
- model.makeValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/pnt4", partptn4);
- var partptn5=getParameter("SMMNW04800_PARAMPnt5");
- model.makeValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/pnt5", partptn5);
-
- var partcnps1=getParameter("SMMNW04800_PARAMCNPS1");
- model.makeValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/cnps1", partcnps1);
- var partcnps2=getParameter("SMMNW04800_PARAMCNPS2");
- model.makeValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/cnps2", partcnps2);
- var partcnps3=getParameter("SMMNW04800_PARAMCNPS3");
- model.makeValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/cnps3", partcnps3);
- var partcnps4=getParameter("SMMNW04800_PARAMCNPS4");
- model.makeValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/cnps4", partcnps4);
-
- var parttermtm=getParameter("SMMNW04800_PARAMTERMTM");
- model.makeValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/termtm", parttermtm);
- var parttermth=getParameter("SMMNW04800_PARAMTERMTH");
- model.makeValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/termth", parttermth);
- var parttermdd=getParameter("SMMNW04800_PARAMTERMDD");
- model.makeValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/termdd", parttermdd);
-
-
- var partetc=getParameter("SMMNW04800_ETC");
- model.makeValue("/root/main/etc/partnm",partetc);
- var partetc2=getParameter("SMMNW04800_ETC2");
- model.makeValue("/root/main/etc/catenm",partetc2);
- var partetc3=getParameter("SMMNW04800_ETC3");
- model.makeValue("/root/main/etc/sympnm",partetc3);
- var partetc4=getParameter("SMMNW04800_ETC4");
- model.makeValue("/root/main/etc/nondrugnm",partetc4);
-
- //----------------------------------------------------------------------
- var upchk=getParameter("SMMNW04800_PARAUPFLAG");
- if (upchk!='') {
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/stat","u");
- }
- //------------------------------------------
- }
- }
- /////////////////팝업데이터 세팅 시작////////////////////
- /**
- * @group :
- * @ver : 2008.08.08
- * @by : dhkim
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @desc :
- * cause, causeid,
- * stage, stageid,
- * color, colorid,
- * state, stateid,
- * amount, amountid,
- * symptom, symptomid,
- * dressing, dressingid
- * @type : function
- * @access : public
- * @param :
- * @return :
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fSetPopupData(iRow, str) {
- var cd;
- var nm = '';
-
- // cd = model.getValue(xBedsoreGridPath+'['+(iRow-1)+']/' + str + 'id');//기존저장되어있던 코드값 ;
- // nm = model.getValue(xBedsoreGridPath+'['+(iRow-1)+']/' + str); //기존저장되어있던 명칭값 ;
- cd = model.getValue(xBedsoreGridPath+'['+(iRow)+']/' + str + 'id');//기존저장되어있던 코드값 ;
- nm = model.getValue(xBedsoreGridPath+'['+(iRow)+']/' + str); //기존저장되어있던 명칭값 ;
-
- if(cd != '') {
- setParameter(str + "cdnm", "");
- setParameter(str + "cd", "");
- setParameter(str + "cdid", cd);
-
- //기타가 선택되어진 상태일때 freetext를 파라메터로 set한다.
- /** if(nm.indexOf('기타') > -1){
- var etcStr = nm.split(')')[0].split('(')[1];
- setParameter(str + 'EtcExist', true);
- setParameter(str + 'EtcStr', etcStr);
- }
- if(str == "dressing") {
- setParameter("dressingStr", nm);
- }
- */
-
- }
-
- }
- /**
- * 원인, 기저부, 상처감염증상,dressing 공통 팝업의 선택결과를 그리드에 세팅
- */
- function fGetPopupData(iRow, str, retClosParam) {
- var retCDParam = '';
- var retNMParam = '';
- if(retClosParam != "close"){
- if(model.getValue(xBedsoreGridPath +"[" + (iRow-1) + "]/stat") != "i") {
- model.setValue(xBedsoreGridPath +"[" + (iRow-1) + "]/stat","u");
- }
- retNMParam = getParameter(str + "cdnm");
- retCDParam = getParameter(str +"cd");
- } else {
- return ;
- }
-
- if(str == "stage" || str=="state" || str=="amount") {
- model.setValue(xBedsoreGridPath+'['+(iRow-1)+']/' + str, retCDParam) ;
- } else {
- model.setValue(xBedsoreGridPath+'['+(iRow-1)+']/' + str, retNMParam);
- model.setValue(xBedsoreGridPath+'['+(iRow-1)+']/' + str + 'id', retCDParam) ;
- }
-
- clearParameter(str + "cdnm");
- clearParameter(str + "cd");
- clearParameter(str + "cdid");
- clearParameter(str + "Str");
- clearParameter(str + "etcExist");
- clearParameter(str + "etcStr");
- }
- //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- //+++++++++++++++++++++++++++++++ 팝업호출관련 펑션모음 종료 ++++++++++++++++++++++++++++++++++++++++++++++//
- //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- //++++++++++++++++++++++++++++++++++++++++ 저장 관련 펑션 모음 시작 ++++++++++++++++++++++++++++++++++++++++++++++//
- //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- /**
- * @group :
- * @ver : 2008.05.28
- * @by : dhkim
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 저장하기전에 유효성을 체크한다.
- * @param :
- * @return :
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fIsValid(){
-
- //그리드 저장데이터 존재여부 체크(default rows = 2)
- if(grd_detlgrup.rows < 2){
- messageBox("저장할 내역이","I004");
- return false;
- }
- //수정 데이터 존재여부 체크
- var sflag = '';
- for(var i = 1; i < grd_detlgrup.rows; i++){
- sflag = getArrayData(grd_detlgrup.getupdatedataAll("i"), i, 0);
-
- if(sflag == ''){
- messageBox("신규등록/수정사항이","I004");
- return false;
- }
- }
- for(var i = 1 ; i < grd_detlgrup.rows; i++ ){
- //발생부위 입력여부 체크
- if( model.getValue(xBedsoreGridPath + "[" + (i) + "]/obspartnm") == ""
- || model.getValue(xBedsoreGridPath + "[" + (i) + "]/obspartnm").length <= 0 ) {
- messageBox("통증발생부위는","I003");
- return false;
- }
-
- if ( getPatientInfoDetail('dschdd') < "99991231"
- && model.getValue(xBedsoreGridPath + "[" + (i) + "]/recdd") > getPatientInfoDetail('dschdd') ){
- messageBox((i) + "번째에 사정일자는 퇴원일 "+getPatientInfoDetail('dschdd')+" 이전이어야 합니다" ,"I007");
- return false;
- }
- //필드값 필수입력여부 체크
- var valiStr = '';
- valiStr += model.getValue(xBedsoreGridPath + '[' + (i) + ']/direcnm'); //방향
- valiStr += model.getValue(xBedsoreGridPath + '[' + (i) + ']/causenm'); //원인
- valiStr += model.getValue(xBedsoreGridPath + '[' + (i) + ']/direcnm'); //원인
- if(valiStr == ''){
- messageBox((i) + "번째에 항목을 1개 이상","C002");
- return false;
- }
-
- // 16.11.03_사정도구, 통증점수 필수항목 지정_AYS
- if( model.getValue(xBedsoreGridPath + '[' + (i) + ']/tool') == '-'
- || model.getValue(xBedsoreGridPath + '[' + (i) + ']/tool') == ''
- || model.getValue(xBedsoreGridPath + '[' + (i) + ']/pnt') == '-'
- || model.getValue(xBedsoreGridPath + '[' + (i) + ']/pnt') == '') {
- messageBox((i) + "번째 열에 사정도구, 통증점수는 필요항목 입니다.","C");
- return false;
- }
- }
- return true;
- }
- /**
- * @group :
- * @ver :
- * :
- * @by :
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 통증기록 저장
- * @param :
- * @return :not used
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fSave(){
- if(fIsValid()){
- //저장여부 메세지박스
- if(messageBox("","Q002") != 6)
- return false;
- model.removenode("/root/send/savedata");
- model.makeValue("/root/send/savedata/detlgrup", grd_detlgrup.getupdatedataAll('i'));
- model.makeValue("/root/send/savedata/pid", model.getValue("/root/cond/patientgrupInfo/patientgruplistInfo/pid"));
- if(submit("TXMNW04710")){
- model.copyNode("/root/hidden/main/detlgrup", "/root/main/detlgrup");
- fSearch();
- }
- }
- }
- var SIGN_ROW = 0;//for돌때 해당 그리드만 인증데이터로 만들어주기 위해 global variable로 선언
- //인증저장
- function fSignSave(){
- if(fIsValid()){
- var pid = model.getValue("/root/cond/pid");
- var orddd = model.getValue("/root/patientgrup/patientgruplist[pid = '"+ pid +"']/indd");
- var cretno = model.getValue("/root/patientgrup/patientgruplist[pid = '"+ pid +"']/cretno");
- var orddeptcd = model.getValue("/root/patientgrup/patientgruplist[pid = '"+ pid +"']/orddeptcd");
- var orddrid = model.getValue("/root/patientgrup/patientgruplist[pid = '"+ pid +"']/orddrid");
- var signno = ''; //model.getValue("/root/main/endsummary/endsummaryrecord/signno");
-
- //var flaglab=model.getValue("/root/main/detlgrup/detlgruplist/
-
- // 저장 데이터 세팅
- model.removenode("/root/send/savedata");
- //alert( grd_detlgrup.getupdatedataAll('i'));
- model.makeValue("/root/send/savedata/detlgrup", grd_detlgrup.getupdatedataAll('i'));
-
- //model.makeValue("/root/send/savedata/pid", pid);
-
- model.refresh();
-
- Sign.certreload = false ; // 전자서명 호출시 인증저장 버튼을 누늘때마다 인증서가 뜨도록 처리
-
- ViewFunc = "sign";
- //for를 돌면서 각 기록정보의 노드를 복사 한다.
- for(var i = 1; i < grd_detlgrup.rows; i++){
-
- SIGN_ROW = (i);
- signno = model.getValue(xBedsoreGridPath + '[' + (i) + ']/signno');
-
- // 인증 로직 호출
- if(Sign.signprocess() == true){
-
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/pid", pid); // 등록번호
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/certflag", "C"); // 인증여부( T : 임시저장, C : 인증저장)
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/orddd", orddd); // 입원일자(입원,응급)/진료일자(외래)
-
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/signno", signno); // 서명번호
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/cretno" , cretno); // 생성번호
-
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/recdd", getCurrentDate()); // 실제 기록이 이루어진 기록일자(통합기록에서 보여짐)
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/rectm", getCurrentTime()); // 실제 기록이 이루어진 기록시간(통합기록에서 보여짐)
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/recsaveflag" , "Y"); // 전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/signflag" , "02"); // 서명자료구분(01 : 진료, 02 : 간호, 20 : 가정간호)
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/signgenrflag", "I"); // 외래/입원구분 (코드정의서 M0010 참조)
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/formcd", "0000001590"); // 각 기록지별 서식코드(0000001590 - 통증간호기록)
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/orddeptcd", orddeptcd); // 진료부서코드
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/orddrid" , orddrid); // 진료의사ID
- //미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/signbfcnts" , Sign.signedInfos[1]); // 인증할 데이터 정보(미기록 노드 제거된 정보)
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/signaftcnts" , Sign.signedInfos[2]); // 공인인증 처리후 데이터
-
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/screenid", getScreenID());
-
- //model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/flag", );
-
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/dispyn", "N");
-
- } else {
- return ;
- }
- }
-
- //약물중재 데이터 저장_20110422_SMY
- //model.makeValue("/root/send/savedata/painprcpinfo", model.getValue("/root/main/painprcpinfo"));
- if(submit("TXMNW04810")){
- model.copyNode("/root/hidden/main/detlgrup", "/root/main/detlgrup");
- fMakeViewData();
- fSearch("NoChg");
-
-
- // 응급실 여부에 따라 다음 내환자 동작 제어 (2011.03.08 Ahn)
- if(eERFLAG == "Y"){
- fgetSelectPid(cmb_erpat);
- }else{
- //-------(20110228) 경북대
- //alert("0");
- fgetSelectPid(cmb_mypatlist);
- //alert("1");
- //-------(20110228) 경북대
- }
-
- var nextyn = model.getValue(chk_nextyn.attribute("ref"));
- var pFlag = null;
- var flag = 'SMMNW04800';
-
- if(nextyn == "Y") {
- // 응급실 여부에 따라 다음 내환자 동작 제어 (2011.03.08 Ahn)
- if(eERFLAG == "Y"){
- fGetCareComPatList(cmb_wardcd.value, cmb_roomcd.value, cmb_zone.value, eRECFLAG);
- fNextSelectErPat(cmb_erpat);
- cmb_erpat.refresh();
- } else{
- //-------(20110228) 경북대
- //alert("3");
- //내환자 조회-간호일지용
- //debugger;
- if (gcurrentpid != "") {
- fGetSettingPatientList(pFlag,flag); //--테스트완료 , XRW를 변경하면됨
- //alert("4");
- var posi = fgetSelectPidNext();
- //alert("5/"+ posi);
- fsetSelectPidNext(cmb_mypatlist,posi);
- //alert("6");
- cmb_mypatlist.refresh();
- }
- }
- } else {
- if(eERFLAG == "Y"){
- fGetCareComPatList(cmb_wardcd.value, cmb_roomcd.value, cmb_zone.value, eRECFLAG);
- fNextSelectErPat(cmb_erpat);
- cmb_erpat.refresh();
- } else {
- if (gcurrentpid != "") {
- fGetSettingPatientList(pFlag,flag); //--테스트완료 , XRW를 변경하면됨
- cmb_mypatlist.dispatch("xforms-value-changed");
- }
- }
- }
- }
- }
- }
- // 인증데이터 만들기.
- function fMake_SignData(){
- if (ViewFunc == "sign"){
- // ▶ 기록 관련 인스턴스 전체를 copy, 인증에 저장할 모든 Instance AddNode한다.
- Sign.addnode("/root/cond" );
- Sign.addnode("/root/main/detlgrup/detlgruplist[" + SIGN_ROW + "]");
- Sign.addnode("/root/main/sriusgrup");
- Sign.addnode("/root/main/patinfo/patinfolist");
- var xDeltGrupPath = Sign.XPATH_SIGNINFO + "/detlgruplist[" + SIGN_ROW + "]";
-
- var flag;
- var stage;
- var state;
- var amount;
- var underangle;
-
- //구분
- flag = model.getValue(xDeltGrupPath + "/flag");
- if(flag != "") {
- model.setValue(xDeltGrupPath + "/flag", grd_detlgrup.labelMatrix(SIGN_ROW, grd_detlgrup.colRef("flag")));
- }
-
- }else if (ViewFunc == "view"){
- // ▶ 기록 관련 인스턴스 전체를 copy, 인증에 저장할 모든 Instance AddNode한다.
-
- Sign.addnode("/root/cond");
- Sign.addnode("/root/viewinfo/viewdetlgrup");
- Sign.addnode("/root/main/sriusgrup");
- Sign.addnode("/root/main/patinfo/patinfolist");
-
- var xViewDeltGrupPath = Sign.XPATH_SIGNINFO + "/viewdetlgrup";
-
-
- var flag;
-
- for(var i = 1 ; i <= getNodesetCount(xViewDeltGrupPath + "/detlgruplist"); i++) {
- flag = model.getValue(xViewDeltGrupPath + "/detlgruplist[" + i + "]/flag");
-
- //구분
- if(flag != "") {
- if(flag == "00"){
- model.setValue(xViewDeltGrupPath + "/detlgruplist[" + i + "]/flag", "초기평가");
- }else if(flag == "01"){
- model.setValue(xViewDeltGrupPath + "/detlgruplist[" + i + "]/flag", "재평가");
- }else if(flag == "99"){
- model.setValue(xViewDeltGrupPath + "/detlgruplist[" + i + "]/flag", "종료");
- }
- }
- }
- }
- }
- function fMakeViewData(){
- var pid = model.getValue("/root/cond/pid");
- var indd = model.getValue("/root/patientgrup/patientgruplist[pid = '"+ pid +"']/indd");
- var cretno = model.getValue("/root/patientgrup/patientgruplist[pid = '"+ pid +"']/cretno");
- var orddeptcd = model.getValue("/root/patientgrup/patientgruplist[pid = '"+ pid +"']/orddeptcd");
- var orddrid = model.getValue("/root/patientgrup/patientgruplist[pid = '"+ pid +"']/orddrid");
- var signno = '';
-
-
- //조회조건값 세팅
- model.removenode("/root/send");
- model.makeValue("/root/send/pid", model.getValue("/root/cond/pid")); //등록번호
- model.makeValue("/root/send/indd", model.getValue("/root/patientgrup/patientgruplist[pid = '"+ pid +"']/indd")); //등록번호
- model.makeValue("/root/send/cretno", model.getValue("/root/patientgrup/patientgruplist[pid = '"+ pid +"']/cretno")); //등록번호
-
- model.makeValue("/root/send/genrdd", model.getValue("/root/cond/genrdd")); //기준일자(발생일자)
- model.makeValue("/root/send/genrtm", model.getValue("/root/cond/genrtm")); //기준시간(발생시간)
- model.makeValue("/root/send/stdradio", '0'); //조회조건의라디오(전체/종료전(전체)/종료전(최근입력만))
- //통증관리 기록 조회
-
- model.removenode("/root/main/patinfolist");
- model.removenode("/root/main/detlgrup");
- if(submit('TRMNW04808')){
- // 인증 로직 호출
- ViewFunc = "view";
- if (Sign.signprocess() == true){
-
- model.makeValue("/root/send/savedata/pid", pid); // 등록번호
- model.makeValue("/root/send/savedata/certflag", "C"); // 인증여부( T : 임시저장, C : 인증저장)
- model.makeValue("/root/send/savedata/orddd", indd); // 입원일자(입원,응급)/진료일자(외래)
- model.makeValue("/root/send/savedata/signno", signno); // 서명번호
- model.makeValue("/root/send/savedata/cretno" , cretno); // 생성번호
- model.makeValue("/root/send/savedata/recdd", model.getValue("/root/viewinfo/viewdetlgrup/detlgruplist/signrecddmax")); // 실제 기록이 이루어진 기록일자(통합기록에서 보여짐)
- model.makeValue("/root/send/savedata/rectm", getCurrentTime()); // 실제 기록이 이루어진 기록시간(통합기록에서 보여짐)
- model.makeValue("/root/send/savedata/recsaveflag" , "Y"); // 전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
- model.makeValue("/root/send/savedata/signflag" , "02"); // 서명자료구분(01 : 진료, 02 : 간호, 20 : 가정간호)
- model.makeValue("/root/send/savedata/signgenrflag", "I"); // 외래/입원구분 (코드정의서 M0010 참조)
- model.makeValue("/root/send/savedata/formcd", "0000001590"); // 각 기록지별 서식코드(0000001590 통증관리(상처)기록)
- model.makeValue("/root/send/savedata/orddeptcd", orddeptcd); // 진료부서코드
- model.makeValue("/root/send/savedata/orddrid" , orddrid); // 진료의사ID
-
- //미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
- model.makeValue("/root/send/savedata/signbfcnts" , Sign.signedInfos[1]); // 인증할 데이터 정보(미기록 노드 제거된 정보)
- model.makeValue("/root/send/savedata/signaftcnts" , Sign.signedInfos[2]); // 공인인증 처리후 데이터
-
- model.makeValue("/root/send/savedata/screenid" , getScreenID());
-
- model.makeValue("/root/send/savedata/dispyn", "Y");
-
-
- } else {
- return ;
- }
-
- if(submit("TXMNW04813")){
- var chkViewData = model.getValue("/root/temp/SignData/SignInfo/viewdetlgrup/detlgruplist/obspartnm");
- if (chkViewData==""){
-
- // if(submit("TXMNW04814")) {//TXMNW04813에서 뷰용데이타 모두 지우고 나서 최근기록일자로 insert함.
- // }
- } else {
- }
- }
-
- //model.removeNodeset("/root/viewinfo"); //***********************************
- //model.makeNode("/root/viewinfo"); //**********************************
-
- }
- }
- /**
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc :
- * @param :
- * @return : returnArr[0] compareStr string 선택한 '발생부위+발생일자+발생시간+원인'을 그리드의 반복문과 비교한다.
- * returnArr[1] compRow int 반복문 내에서 compareStr과 같은 string의 첫번째 인덱스(발생부위의 가장 하위 row index찾기 위한 초기값)
- * returnArr[2] isAss boolean 해당발생부위의 사정기록 존재여부
- * returnArr[3] isEnd boolean 해당발생부위의 종료기록 존재여부
- * returnArr[4] pid string 등록번호(set parameter)
- * returnArr[5] grupcd string 그룹코드(set parameter)
- * returnArr[6] obspartnm string 발생부위(set parameter)
- * returnArr[7] genrdd string 발생일자(set parameter)
- * returnArr[8] genrtm string 발생시간(set parameter)
- * returnArr[9] cause string 원인 (set parameter)
- * returnArr[10] causeid string 원인코드(set parameter)
- * @------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fDel(){
-
- //삭제할 항목이 선택되었는지 여부를 체크
- var delFlag = false;//체크박스 체크여부
- var sel = ''; //체크박스(true/false)
- var stat = ''; //그리드상태(i/u/d)
- var flag = ''; //등록구분 (등록/사정/종료)
- var fileCnt = 0; //첨부파일등록된 갯수
- var returnArr, isEnd, isAss;
- var checkStr; //체크값 (발생부위 + 발생일자 + 발생시간 + 원인)
- var isSvrDel = false;//db에 저장된 데이터 삭제시
-
- //20080930 retMsg추가
- var retMsg = messageBox('선택하신 통증기록을', 'Q001');
-
- //20080930 인증추가
- var pid = model.getValue(xBedsoreGridPath + "/pid");
- var orddd = model.getValue(xBedsoreGridPath + "/orddd");
- var cretno = model.getValue(xBedsoreGridPath + "/cretno");
- var orddeptcd = model.getValue(xBedsoreGridPath + "/orddeptcd");
- var orddrid = model.getValue(xBedsoreGridPath + "/orddrid");
- var signno = '';//model.getValue("/root/main/endsummary/endsummaryrecord/signno");
-
- Sign.certreload = false ; // 전자서명 호출시 인증저장 버튼을 누늘때마다 인증서가 뜨도록 처리
-
- for(var i = 1; i < grd_detlgrup.rows; i++){
- sel = model.getValue(xBedsoreGridPath + "[" + (i) + "]/sel");
- stat = model.getValue(xBedsoreGridPath + "[" + (i) + "]/stat");
- flag = model.getValue(xBedsoreGridPath + "[" + (i) + "]/flag");
- fileCnt = model.getValue(xBedsoreGridPath + "[" + (i) + "]/addfile");
-
- SIGN_ROW = (i); //20080930
-
- if(sel == 'true'){
- delFlag = true;
- if(stat == 'i'){
- //체크한 항목이 행추가 (stat:i)상태인 경우 그리드에서 바로 삭제
- grd_detlgrup.deleteRow(i);
- }else{
-
- isSvrDel = true;
- //종료가 존재하는지 여부를 배열로 리턴
- returnArr = fIsExistEndData(i);
- isAss = returnArr[2];
- isEnd = returnArr[3];
-
- checkStr = i + '¿' + returnArr[6] + returnArr[13] + returnArr[14] + returnArr[9];
- if(flag == '00' && isAss){
- //선택한 체크박스가 등록상태이고, 해당 발생부위에 사정기록이 존재할때
- //사정기록까지 삭제하겠냐는 메세지 호출해 확인 누르면 해당 그룹 모두 체크 취소누르면 선택 해제
- if(messageBox('선택하신 통증 부위 "'+returnArr[6]+'"의 초기 기록을 삭제하시면 모든 기록이 함께 삭제됩니다.', 'Q001') == 6){
- fCheckSamePart(checkStr);
- }
- }else{
- //상태값을 'd'로 변경
- model.setValue(xBedsoreGridPath + "[" + (i) + "]/stat", 'd');
- grd_detlgrup.addStatus(i, 'delete');
-
- //20080930 인증추가
- signno = model.getValue(xBedsoreGridPath + '[' + (i) + ']/signno');
- // 인증 로직 호출
- ViewFunc = "sign";
- if(Sign.signprocess() == true){
-
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/pid", pid); // 등록번호
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/certflag", "C"); // 인증여부( T : 임시저장, C : 인증저장)
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/orddd", orddd); // 입원일자(입원,응급)/진료일자(외래)
-
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/signno", signno); // 서명번호
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/cretno" , cretno); // 생성번호
-
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/recdd", getCurrentDate()); // 실제 기록이 이루어진 기록일자(통합기록에서 보여짐)
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/rectm", getCurrentTime()); // 실제 기록이 이루어진 기록시간(통합기록에서 보여짐)
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/recsaveflag" , "Y"); // 전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/signflag" , "02"); // 서명자료구분(01 : 진료, 02 : 간호, 20 : 가정간호)
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/signgenrflag", "I"); // 외래/입원구분 (코드정의서 M0010 참조)
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/formcd", "0000001670"); // 각 기록지별 서식코드(0000001670 - 통증 간호기록)
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/orddeptcd", orddeptcd); // 진료부서코드
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/orddrid" , orddrid); // 진료의사ID
-
- //미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/signbfcnts" , Sign.signedInfos[1]); // 인증할 데이터 정보(미기록 노드 제거된 정보)
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/signaftcnts" , Sign.signedInfos[2]); // 공인인증 처리후 데이터
-
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/dispyn", "N");
-
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/screenid", getScreenID());
-
- } else {
- return ;
- }
-
- }
- }
- }
- }
- //선택한 항목이 없을때
- if(!delFlag){
- messageBox('삭제할 항목을', 'C002');
- return;
- }
- //삭제하기전 첨부파일이 있으면 함께 삭제된다는 메세지 출력
- //db에 저장되어 있던 데이터 삭제시(isSvrDel== true)
- //20080930 retMsg추가
- if(isSvrDel == true && retMsg == 7){
- return;
- }
- //삭제 서브미션 호출
- model.removenode("/root/send/savedata");
- model.makeValue("/root/send/savedata/detlgrup", grd_detlgrup.getupdatedata('delete'));
-
- model.makeValue("/root/send/savedata/pid", model.getValue("/root/cond/patientgrupInfo/patientgruplistInfo/pid"));
-
- if(submit("TXMNW04810")){
- model.copyNode("/root/hidden/main/detlgrup", "/root/main/detlgrup");
- fMakeViewData();
- fSearch("NoChg");
- }
- }
- //선택한 발생부위에 해당되는 모든 그룹을 체크(true)로 변경
- function fCheckSamePart(checkStr){
- var _chkArr = checkStr.split('¿');
- var sRow = _chkArr[0];
- var chkStr = _chkArr[1];
- var _chkStr = '';
-
- var pid = model.getValue(xBedsoreGridPath + "/pid");
- var orddd = model.getValue(xBedsoreGridPath + "/orddd");
- var cretno = model.getValue(xBedsoreGridPath + "/cretno");
- var orddeptcd = model.getValue(xBedsoreGridPath + "/orddeptcd");
- var orddrid = model.getValue(xBedsoreGridPath + "/orddrid");
- var signno = '';
-
- for(var i = sRow; i < grd_detlgrup.rows; i++){
- _chkStr = model.getValue(xBedsoreGridPath+ '[' + i + ']/obspartnm');
- _chkStr += model.getValue(xBedsoreGridPath+ '[' + i + ']/genrdd');
- _chkStr += model.getValue(xBedsoreGridPath+ '[' + i + ']/genrtm');
- _chkStr += model.getValue(xBedsoreGridPath+ '[' + i + ']/cause');
- if(chkStr == _chkStr){
- model.setValue(xBedsoreGridPath + "[" + i + "]/stat", 'd');
- model.setValue(xBedsoreGridPath + "[" + i + "]/sel", 'true');
- grd_detlgrup.addStatus(i, 'delete');
-
- //--------------------------------------------------------------
- // model.setValue(xBedsoreGridPath + "[" + (i) + "]/stat", 'd');
- // grd_detlgrup.addStatus(i, 'delete');
- //20080930 인증추가
- signno = model.getValue(xBedsoreGridPath + '[' + (i) + ']/signno');
- // 인증 로직 호출
- ViewFunc = "sign";
-
- if(Sign.signprocess() == true){
-
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/pid", pid); // 등록번호
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/certflag", "C"); // 인증여부( T : 임시저장, C : 인증저장)
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/orddd", orddd); // 입원일자(입원,응급)/진료일자(외래)
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/signno", signno); // 서명번호
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/cretno" , cretno); // 생성번호
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/recdd", getCurrentDate()); // 실제 기록이 이루어진 기록일자(통합기록에서 보여짐)
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/rectm", getCurrentTime()); // 실제 기록이 이루어진 기록시간(통합기록에서 보여짐)
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/recsaveflag" , "Y"); // 전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/signflag" , "02"); // 서명자료구분(01 : 진료, 02 : 간호, 20 : 가정간호)
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/signgenrflag", "I"); // 외래/입원구분 (코드정의서 M0010 참조)
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/formcd", "0000001670"); // 각 기록지별 서식코드(0000001670 - 통증 간호기록)
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/orddeptcd", orddeptcd); // 진료부서코드
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/orddrid" , orddrid); // 진료의사ID
- //미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/signbfcnts" , Sign.signedInfos[1]); // 인증할 데이터 정보(미기록 노드 제거된 정보)
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/signaftcnts" , Sign.signedInfos[2]); // 공인인증 처리후 데이터
-
- model.makeValue("/root/send/savedata/signlist[" +SIGN_ROW+ "]/dispyn", "N");
-
- } else {
- return ;
- }
- }
- //--------------------------------------------------------------
- }
-
- model.refresh();
- }
- //체크 해제하면 update상태를 select상태로 변경한다.
- function fChangeStatus(selRow){
- var isChk = model.getValue(xBedsoreGridPath + "[" + (selRow) + "]/sel");
- if(isChk == 'false'){
- model.setValue(xBedsoreGridPath + "[" + (selRow) + "]/stat", '-');
- grd_detlgrup.removeStatus(selRow, 'update');
- }
- }
- /**
- * @group :
- * @ver : 2007.09.27
- * : 2008.05.28 dhkim 수정
- * @by : 정찬성
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 발생부위추가
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fAddGenArea(){
- //통증발생부위 추가시 등록번호 필수
- if(model.getValue(ipt_pid.attribute('ref')) == "") {
- messageBox("등록번호를 ","C001");
- model.setfocus("ipt_pid");
- return;
- }
- //발생부위 추가전에 그리드에 row가 없으면 조회후 추가
- if(grd_detlgrup.rows == 1){
- if(!fSearch("NoChg") || model.getValue(ipt_pid.attribute('ref')) == ''){
- messageBox('등록번호를', 'C001');
- return;
- }
- }
- var iRows = grd_detlgrup.rows;
- var iRow = grd_detlgrup.row;
- grd_detlgrup.addRow();
- // 후에 수정해야 할 부분..
- if(iRows < 2){
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/grupcd","00000001");
-
- } else if(iRows > 1){
- //grupcd만드는 부분인데.. 별의미없는 것 같음..-_-;;;
- var sRowCnt = grd_detlgrup.rows-grd_detlgrup.fixedrows;
- /* grupcd 현재 화면의 최대값 가져오기 시작 */
- var retVal = "" ;
- for(var i=1; i<= sRowCnt; i++){
- if(model.getValue(xBedsoreGridPath+"["+i+"]/grupcd") ) {
- saveyn = 1 ;
- }
- retVal = Math.max(retVal,model.getValue(xBedsoreGridPath+"["+i+"]/grupcd"));
- }
- retVal = retVal + 1 ;
- retVal = String(retVal) ;
- retVal = fLpad(retVal,8,0);// grupcd 8자리 나머지는 0 으로 매꿈
- /* grupcd 현재 화면의 최대값 가져오기 끝 */
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/grupcd",retVal);
- }
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/stat", "i");
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/pid", model.getValue(ipt_pid.attribute('ref')));
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/flag", "00");
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/recdd", getCurrentDate());
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/rectm", getCurrentDateTime().substring(9,13));
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/genrdd", getCurrentDate());
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/genrtm", getCurrentDateTime().substring(9,13));
-
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/obspartnm", '-');
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/direcnm", '-');
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/cause", '-');
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/symptomid", '-');
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/freq", '-');
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/freqid", '-');
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/term", '-');
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/pnt", '-');
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/pntid", '-');
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/resn", '-');
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/arbitration", '-');
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/valu", '-');
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/direcid", '-');
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/causeid", '-');
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/symptom", '-');
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/obspartid", '-');
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/tool", '-');
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/toolid", '-');
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/paingb", '-');
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/recrnm", getUserName());
- //통증점수상세컬럼 추가_20110414_SMY
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/pnt1", '-');
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/pnt2", '-');
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/pnt3", '-');
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/pnt4", '-');
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/pnt5", '-');
-
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/cnps1", '-');
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/cnps2", '-');
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/cnps3", '-');
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/cnps4", '-');
- //약물중재, 비약물중재컬럼 분리추가_20110414_SMY
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/drugarbt", '-');
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/nondrugarbt", '-');
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/nondrugarbtid", '-');
-
- grd_detlgrup.colDisabled(grd_detlgrup.colRef("flag")) = true;
- model.refresh();
- }
- //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- //++++++++++++++++++++++++++++++++++++++++ 저장 관련 펑션 모음 끝 +++++++++++++++++++++++++++++++++++++++++++++++//
- //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
- /**
- * @group :
- * @ver : 2007.09. 06
- * @by : 정찬성
- * @--------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 왼쪽 자리수 채우기
- * @param :
- * @return :
- * @--------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- // Left 빈자리 만큼 padStr 을 붙인다.
- function fLpad(src, len, padStr){
- var retStr = "";
- var padCnt = Number(len) - String(src).length;
- for(var i=0;i<padCnt;i++)
- retStr += String(padStr);
- return retStr+src;
- }
- /**
- * @group :
- * @ver : 2007.04.04
- * 2008.06.04 dhkim 수정
- * @by : 정찬성
- * @--------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 그리드내의 mousedown 이벤트 발생시 호출
- * @param :
- * @return :
- * @--------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fMouseDownGridRow(){
- var iDetlGrupRow = grd_detlgrup.row;
- // right Button Click
- if(event.button == 3){
- //데이터 행이 존재할때
- if(grd_detlgrup.rows > grd_detlgrup.fixedrows && grd_detlgrup.isCell(event.target) && grd_detlgrup.mouseRow >= grd_detlgrup.fixedrows){
- window.setPopupMenu(true, "/root/hidden/detlgrup_sameinflevl_popmenu/menu", "name", "func", false);
- }else{
- window.setPopupMenu(false);
- }
- }
- }
- /**
- * @group :
- * @ver : 2007.04.02
- * : 2008.05.28 dhkim 수정
- * @by : 정찬성
- * @--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 욕창그리드의 xforms-value-changed이벤트 발생시 호출된다.
- * @param :
- * @return :
- * @--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fChangedGridCol(){
- // var sDetlGrupRow = (grd_detlgrup.row-1);
-
- var sDetlGrupRow = (grd_detlgrup.row);
- var sDetlGrupBKRow=0;
- var iRow = grd_detlgrup.row;
- var iCol = grd_detlgrup.col;
- // var stat = model.getValue(xBedsoreGridPath+"["+(grd_detlgrup.row-1)+"]/stat");
- var stat = model.getValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/stat");
-
- //데이터 변경시 그리드 상태값(stat)을 u상태로 변경한다.
- //sdm
-
- if(stat == "-"){
- //그리드의 stat update를 위한 비교할 hidden nodelist의 idx찾기
- var obsrecseq = model.getValue(xBedsoreGridPath+"["+sDetlGrupRow+"]/obsrecseq");
- for(var i=1; i<= getNodesetCount(xClsListBKPath); i++){
- if(model.getValue(xClsListBKPath+"["+i+"]/obsrecseq") == obsrecseq){
- sDetlGrupBKRow = i;
- break;
- }
- }
-
- //체크박스 선택 아닐때 조회해서 hidden에 담아둔 nodelist와 변경된 그리드의 nodelist의 stat를 비교하여 수정상태로 바꿔준다.
- // if(iCol != 9){// 선택시 stat 값 변경 않기
-
- if(iCol != grd_detlgrup.colRef("sel")) {
- var preUpdatedStr = instance1.selectSingleNode(xClsListBKPath+"["+sDetlGrupBKRow+"]").xml;
- var updatedStr = instance1.selectSingleNode(xBedsoreGridPath+"["+sDetlGrupRow+"]").xml;
-
- if(updatedStr != preUpdatedStr){
-
- model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row)+"]/stat","u");
- }
-
- //var preUnderAngle = model.getValue(xClsListBKPath+"["+sDetlGrupBKRow+"]/underangle");
- //var updateUnerAngle = model.getValue(xBedsoreGridPath+"["+ sDetlGrupRow +"]/underangle");
-
- //if(preUnderAngle != updateUnerAngle) {
- // model.setValue(xBedsoreGridPath+"["+(grd_detlgrup.row-1)+"]/stat2","u");
- //}
- }
- }
- }
- /**
- * @group :
- * @ver : 2007.09.27
- * : 2008.05.28 dhkim 수정
- * @by : 정찬성
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 선택한 부위가 종료된 것이 있으면 종료할 수 없다는 메세지를 출력한다.
- * 선택한 부위가 평가된 것이 없으면 종료할 수 없다는 메세지를 출력한다.
- * 발생부위가 등록/평가만 있으면 해당 발생부위 하위에
- * 구분을 종료로, 해당부위의 발생일자,발생시간, 원인을 선택한 데이터와 동일하게 추가한다.
- * @param :
- * @return :
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fAddSameLevlItemEnd(){
- fAddSameLevlItem(true);
- return ;
- }
- /**
- * @group :
- * @ver : 2008.05.28
- * @by : dhkim
- * @--------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @param : selEndMenu - true이면 오른쪽 메뉴에서 종료를 선택한 상태, false이면 사정을 선택한 상태
- * @return :
- * @desc : 선택한 부위가 종료된 것이 있으면 사정할수 없다는 메세지를 출력한다.
- * 발생부위가 등록/사정만 있으면 해당 발생부위 하위에
- * 구분을 사정으로, 해당부위의 발생일자,발생시간, 원인을 선택한 데이터와 동일하게 추가한다.
- * @--------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fAddSameLevlItem(selEndMenu){//오른쪽 메뉴에서 사정또는 종료 선택시
- var msgStr = '재평가기록';
-
- if(selEndMenu){
- msgStr = '종료기록';
- }
- //종료또는 사정기록 존재여부를 리턴받는다.
- var returnArr = fIsExistEndData(grd_detlgrup.row);
- var compareStr = returnArr[0];
- var compRow = returnArr[1];
- var isAss = returnArr[2];
- var isEnd = returnArr[3];
- //종료기록이 있으면 입력할수 없다는 메세지 출력후 리턴
- if(isEnd){
- messageBox('선택하신 부위는 이미 종료된 기록이 있으므로 다시 '+ msgStr +' 하실 수', 'I004');
- return;
- }
- //종료메뉴 선택시 사정기록이 없으면 메세지 출력후 리턴
- if(selEndMenu && !isAss){
- messageBox('선택하신 부위는 평가기록이 없으므로 ' + msgStr + ' 하실 수', 'I004');
- return;
- }
-
- caption1.value="";
-
- //해당 발생부위 가장 하위의 그리드에 insertRow을 하기 위해 발생부위 가장 하위row index를 찾는다.
- var addLastRow = 0;
- var _compareStr;
- for(var i = compRow; i < grd_detlgrup.rows; i++){
- _compareStr = model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/obspartnm'); //통증부위명
- _compareStr += model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/direcnm') ; //방향명
- _compareStr += model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/cause') ; //원인명
- if(compareStr != _compareStr){
-
- addLastRow= ( i <= 1 ? grd_detlgrup.row+1 : i-1 );
- break;
- }
- }
- //발생부위가 초기평가/재평가만 있으면 해당 발생부위 하위에 재평가 추가
- //구분을 재평가으로, 해당부위의 발생일자,발생시간, 원인을 선택한 데이터와 동일하게 추가.
- if(addLastRow == 0 || addLastRow == grd_detlgrup.rows){
- addLastRow = grd_detlgrup.rows;
- grd_detlgrup.addRow();
- }else{
- grd_detlgrup.insertRow(addLastRow);
- }
- //그리드에 통증부위, 방향, 원인 set한다.
- fSetInsertValue(addLastRow, selEndMenu, returnArr);
- grd_detlgrup.colDisabled(grd_detlgrup.colRef("flag")) = true;;
- model.refresh();
- }
- /**
- * @group :
- * @ver : 2008.05.28
- * @by : dhkim
- * @---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @param : selRow - 선택한 row 인덱스
- * @param : updatePartChk - 통증관리 부위선택시 평가종료되지 않은 부위인지 체크할때에는 발생부위, 구분만 가지고 체크함..
- * @return : returnArr(10) - 배열로 리턴한다.
- * @desc : 선택한 발생부위의 기록에 재평가 또는 종료가 존재하는지 여부를 배열로 리턴한다
- * Array idx value type description
- * --------------------------------------------------------------------------------------------------------------------------------------------------------------------
- * returnArr[0] compareStr string 선택한 '발생부위+발생일자+발생시간+원인'을 그리드의 반복문과 비교한다.
- * returnArr[1] compRow int 반복문 내에서 compareStr과 같은 string의 첫번째 인덱스(발생부위의 가장 하위 row index찾기 위한 초기값)
- * returnArr[2] isAss boolean 해당발생부위의 재평가기록 존재여부
- * returnArr[3] isEnd boolean 해당발생부위의 종료기록 존재여부
- * returnArr[4] pid string 등록번호(set parameter)
- * returnArr[5] grupcd string 그룹코드(set parameter)
- * returnArr[6] obspartnm string 발생부위(set parameter)
- * returnArr[7] direcnm string 방향명(set parameter) //genrdd 발생일자(set parameter)
- * returnArr[8] causenm string 원인명(set parameter) //genrtm 발생시간(set parameter)
- * -- returnArr[9] cause string 원인 (set parameter)
- * -- returnArr[10] causeid string 원인코드(set parameter)
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fIsExistEndData(selRow, updatePartChk){
- //발생부위에 대해 종료된 사정인 경우 메세지 출력
- var compareStr, _compareStr, _flag;//비교값 str
- var compRow = 0;
- var isAss ; //사정기록 존재여부
- var isEnd ; //종료기록 존재여부
- var returnArr = new Array(8);
- //선택한 발생부위 비교값
- // var pid = model.getValue(xBedsoreGridPath+ '[' + (selRow-1) + ']/pid');
- // var grupcd = model.getValue(xBedsoreGridPath+ '[' + (selRow-1) + ']/grupcd');
- // var obspartnm = model.getValue(xBedsoreGridPath+ '[' + (selRow-1) + ']/obspartnm');
- // var genrdd = model.getValue(xBedsoreGridPath+ '[' + (selRow-1) + ']/direcnm');
- // var genrtm = model.getValue(xBedsoreGridPath+ '[' + (selRow-1) + ']/cause');
-
- var pid = model.getValue(xBedsoreGridPath+ '[' + (selRow) + ']/pid');
- var grupcd = model.getValue(xBedsoreGridPath+ '[' + (selRow) + ']/grupcd');
- var obspartnm = model.getValue(xBedsoreGridPath+ '[' + (selRow) + ']/obspartnm'); //통증부위
- var obspartid = model.getValue(xBedsoreGridPath+ '[' + (selRow) + ']/obspartid'); //통증부위id
- var direcnm = model.getValue(xBedsoreGridPath+ '[' + (selRow) + ']/direcnm'); // 방향
- var direcid = model.getValue(xBedsoreGridPath+ '[' + (selRow) + ']/direcid'); //방향id
- var cause = model.getValue(xBedsoreGridPath+ '[' + (selRow) + ']/cause'); //원인
- var causeid = model.getValue(xBedsoreGridPath+ '[' + (selRow) + ']/causeid'); //원인id
- var genrdd = model.getValue(xBedsoreGridPath+ '[' + (selRow) + ']/genrdd');
- var genrtm = model.getValue(xBedsoreGridPath+ '[' + (selRow) + ']/genrtm');
- //----------------------------------------------------------------------------------------
-
- //통증관리부위선택시 평가종료되지 않은 부위인지 체크할때에는 발생부위, 구분만 가지고 체크함..
- if(updatePartChk){
- compareStr = obspartnm;
- }else{
- // compareStr = obspartnm + genrdd + genrtm + cause;
- compareStr = obspartnm + direcnm + cause ;
- }
- var obsrecseq = 0;
- //선택한 compareStr과 그리드내의 모든 _compareStr을 비교한다.
- for(var i = 1; i < grd_detlgrup.rows; i++){
- if(selRow != i){
- // _compareStr = model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/obspartnm');
- _compareStr = model.getValue(xBedsoreGridPath+ '[' + (i) + ']/obspartnm');
- //통증부위선택시 평가종료되지 않은 부위인지 체크할때에는 발생부위, 구분만 가지고 체크함..
- if(!updatePartChk){
- _compareStr += model.getValue(xBedsoreGridPath+ '[' + (i) + ']/direcnm');
- _compareStr += model.getValue(xBedsoreGridPath+ '[' + (i) + ']/cause');
- // _compareStr += model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/cause');
- }
- }
- if(compareStr == _compareStr){
- compRow = i;
- _flag = model.getValue(xBedsoreGridPath+ '[' + (i) + ']/flag');
- if(_flag == '99'){//등록구분이 종료(99)
- isEnd = true;
- obsrecseq = model.getValue(xBedsoreGridPath+ '[' + (i) + ']/obsrecseq');
- break;
- }else if(_flag == '01'){//등록구분이 재평가(01)
- isAss = true;
- obsrecseq = model.getValue(xBedsoreGridPath+ '[' + (i) + ']/obsrecseq');
- }else{
- isEnd = false;
- isAss = false;
- }
- }
- }
- //배열을 리턴한다.
- returnArr[0] = compareStr;
- returnArr[1] = compRow;
- returnArr[2] = isAss;
- returnArr[3] = isEnd;
- returnArr[4] = pid ;
- returnArr[5] = grupcd ;
- returnArr[6] = obspartnm ;
- returnArr[7] = direcnm ; //genrdd;
- returnArr[8] = direcid ; //genrdd;
- returnArr[9] = cause ; //genrtm;
- returnArr[10] = causeid ;
- returnArr[11] = obspartid ;
- returnArr[12] = obsrecseq ;
- returnArr[13] = genrdd ;
- returnArr[14] = genrtm ;
-
- return returnArr;
- }
- /**
- * @group :
- * @ver : 2008.05.28
- * @by : dhkim
- * @----------------------------------------------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @param :
- * @return :
- * @desc : 구분을 사정으로, 해당부위의 발생일자,발생시간, 원인을 선택한 데이터와 동일하게 추가.
- * @----------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fSetInsertValue(addLastRow, selEndMenu, returnArr){
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow) + ']/stat', 'i');
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow) + ']/pid', returnArr[4]);
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow) + ']/grupcd', returnArr[5]);
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow) + ']/obspartnm', returnArr[6]);
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow) + ']/direcnm', returnArr[7]);
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow) + ']/direcid', returnArr[8]);
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow) + ']/cause', returnArr[9]);
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow) + ']/causeid', returnArr[10]);
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow) + ']/obspartid', returnArr[11]);
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow) + ']/obsrecseq', returnArr[12]);
-
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow) + ']/genrdd', returnArr[13]);
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow) + ']/genrtm', returnArr[14]);
-
- model.setValue(xBedsoreGridPath+ "[" + (addLastRow) + "]/recdd", getCurrentDate());
- model.setValue(xBedsoreGridPath+ "[" + (addLastRow) + "]/rectm", getCurrentDateTime().substring(9,13));
- //------------------------------------------------------------------------------------------
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow) + ']/symptomid', '-'); //통증양상
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow) + ']/symptom', '-');
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow) + ']/freq', '-');
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow) + ']/freqid', '-');
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow) + ']/term', '-');
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow) + ']/pnt', '-');
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow) + ']/pntid', '-');
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow) + ']/resn', '-');
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow) + ']/arbitration','-');
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow) + ']/valu', '-');
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow) + ']/tool', '-');
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow) + ']/toolid', '-');
- //----------------------------------------------------------------------------------------
- model.setValue(xBedsoreGridPath+ "[" + (addLastRow) + "]/recrnm", getUserName());
-
- //약물중재, 비약물중재 컬럼추가_20110414_SMY
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow) + ']/pnt1', '-');
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow) + ']/pnt2', '-');
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow) + ']/pnt3', '-');
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow) + ']/pnt4', '-');
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow) + ']/pnt5', '-');
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow) + ']/cnps1', '-');
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow) + ']/cnps2', '-');
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow) + ']/cnps3', '-');
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow) + ']/cnps4', '-');
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow) + ']/drugarbt', '-');
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow) + ']/nondrugarbt', '-');
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow) + ']/nondrugarbtid', '-');
-
- if(!selEndMenu)
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow) + ']/flag', '01');//사정
- else
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow) + ']/flag', '99');//종료
- }
- function fAddSameLevlItem111(isEnd){
- var msgStr = '사정기록';
- if(isEnd){
- msgStr = '종료기록';
- }
- //발생부위에 대해 종료된 사정인 경우 메세지 출력
- var compareStr, _compareStr, _flag;//비교값 str
- var pid = model.getValue(xBedsoreGridPath+ '[' + (grd_detlgrup.row-1) + ']/pid');
- var grupcd = model.getValue(xBedsoreGridPath+ '[' + (grd_detlgrup.row-1) + ']/grupcd');
- var obspartnm = model.getValue(xBedsoreGridPath+ '[' + (grd_detlgrup.row-1) + ']/obspartnm');
- var genrdd = model.getValue(xBedsoreGridPath+ '[' + (grd_detlgrup.row-1) + ']/genrdd');
- var genrtm = model.getValue(xBedsoreGridPath+ '[' + (grd_detlgrup.row-1) + ']/genrtm');
- var cause = model.getValue(xBedsoreGridPath+ '[' + (grd_detlgrup.row-1) + ']/cause');
- var causeid = model.getValue(xBedsoreGridPath+ '[' + (grd_detlgrup.row-1) + ']/causeid');
- var compRow = 0;
- var isAss = false;//사정기록 존재여부
- //선택한 발생부위 비교값
- compareStr = obspartnm + genrdd + genrtm + cause;
- //종료기록이 있으면 메세지 출력후 리턴
- for(var i = 2; i < grd_detlgrup.rows; i++){
- _compareStr = model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/obspartnm');
- _compareStr += model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/genrdd');
- _compareStr += model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/genrtm');
- _compareStr += model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/cause');
- if(compareStr == _compareStr){
- compRow = i;
- _flag = model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/flag');
- if(_flag == '99'){
- messageBox('선택하신 부위는 이미 종료된 기록이므로 다시 '+ msgStr +' 하실 수', 'I004');
- return;
- }else if(_flag == '01'){
- isAss = true;
- }
- }
- }
- //종료메뉴 선택시 사정기록이 없으면 메세지 출력후 리턴
- if(isEnd && !isAss){
- messageBox('선택하신 부위는 사정기록이 없으므로 ' + msgStr + ' 하실 수', 'I004');
- return;
- }
- //해당 발생부위 가장 하위 row index찾기
- var addLastRow = 0;
- for(var i = compRow; i < grd_detlgrup.rows; i++){
- _compareStr = model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/obspartnm');
- _compareStr += model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/genrdd');
- _compareStr += model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/genrtm');
- _compareStr += model.getValue(xBedsoreGridPath+ '[' + (i-1) + ']/cause');
- if(compareStr != _compareStr){
- addLastRow = i;
- break;
- }
- }
- //발생부위가 등록/사정만 있으면 해당 발생부위 하위에 사정 추가
- //구분을 사정으로, 해당부위의 발생일자,발생시간, 원인을 선택한 데이터와 동일하게 추가.
- if(addLastRow == 0){
- addLastRow = grd_detlgrup.rows;
- grd_detlgrup.addRow();
- }else{
- grd_detlgrup.insertRow(addLastRow);
- }
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/stat', 'i');
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/pid', pid);
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/grupcd', grupcd);
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/obspartnm', obspartnm);
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/genrdd', genrdd);
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/genrtm', genrtm);
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/cause', cause);
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/causeid', causeid);
- model.setValue(xBedsoreGridPath+ "[" + (addLastRow-1) + "]/recdd", getCurrentDate());
- model.setValue(xBedsoreGridPath+ "[" + (addLastRow-1) + "]/rectm", getCurrentDateTime().substring(9,13));
- if(!isEnd)
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/flag', '01');//사정
- else
- model.setValue(xBedsoreGridPath+ '[' + (addLastRow-1) + ']/flag', '99');//종료
- model.refresh();
- }
- /**
- * @group :
- * @ver : 2011.03.16
- * @by : 안도영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 구역정보 조회 (응급실인 경우)
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fGetWardChngInfo(initFlag, wardCd, sectionCd){
- if(initFlag=="Y") {
- var sWardCD = wardCd;
- }
- else{
- var sWardCD = model.getValue("/root/cond/wardcd");
- }
-
- if ( sWardCD == eERDEPTCD) {
- eERFLAG = "Y";
- }else{
- eERFLAG = "";
- }
-
- //응급실인 경우 구역정보 추가조회
- if(eERFLAG == "Y"){ // 응급실
- fGetZoneList();
- //copyNodeset("/root/temp2/zoneinfo", "/root/temp/zoneinfo");
- ctn_room.attribute("text") = "구 역 :";
- cmb_roomcd.visible = "false";
- cmb_erpat.visible = "true";
- cmb_patientnm.visible = "false";
- cmb_zone.visible = "true";
- //cmb_mypatlist.visible = "false";
- //cap_mypatlist.visible = "false";
-
- ipt_pid.attribute("left") = 755; // 위치 변경
- ipt_pid.attribute("top") = 15;
- btn_patSearch.attribute("left") = 830; // 위치 변경
- btn_patSearch.attribute("top") = 16; // 위치 변경
- cap_mypatlist.attribute("left") = 645;
- cap_mypatlist.attribute("top") = 40;
- cmb_mypatlist.attribute("left") = 755;
- cmb_mypatlist.attribute("top") = 40;
-
- if(initFlag=="Y"){ // 처음 상단 정보로 화면 열릴 때
- model.setValue("/root/cond/zonecd", (sectionCd == "") ? "-" : sectionCd);
- }else{
- model.setValue("/root/cond/zonecd", "-"); // 'All'로 default
- }
-
-
- }else{
- ctn_room.attribute("text") = "병 실 :";
- cmb_roomcd.visible = "true";
- cmb_erpat.visible = "false";
- cmb_patientnm.visible = "true"
- cmb_zone.visible = "false";
- //cmb_mypatlist.visible = "true";
- //cap_mypatlist.visible = "true";
- ipt_pid.attribute("left") = 669; // 기존 위치
- ipt_pid.attribute("top") = 15;
- btn_patSearch.attribute("left") = 747; // 기존 위치
- btn_patSearch.attribute("top") = 16;
- cap_mypatlist.attribute("left") = 770;
- cap_mypatlist.attribute("top") = 15;
- cmb_mypatlist.attribute("left") = 880;
- cmb_mypatlist.attribute("top") = 15;
-
- model.setValue("/root/cond/zonecd", "");
-
- }
- ctn_room.refresh();
- cmb_zone.refresh();
- cmb_roomcd.refresh();
- cmb_erpat.refresh();
- cmb_patientnm.refresh();
- }
- /**
- * @group :
- * @ver : 2011.04.19
- * @by : SMY
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- * @desc : 약물중재 클릭시 처방리스트 팝업 호출
- * @type : function
- * @access : public
- * @----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- */
- function fPopupPrcpData(iRow){
-
- // Main Data -> popup 으로
- //--------------------------------------------------------------
- // Update or Insert 확인 (Parameter= Upflag)
- //--------------------------------------------------------------
-
- setParameter("Upflag",model.getValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/lastupdtrid"));//기록자
- setParameter("Gubnflag",model.getValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/flag")); //구분
-
- var param_recdd = model.getValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/recdd"); //사정일자
- setParameter("SPMNW13900_PARAM_RECDD", param_recdd);
- var param_pid = model.getValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/pid");
- setParameter("SPMNW13900_PARAM_PID", param_pid);
- var param_indd = getPatientInfoDetail('indd');
- setParameter("SPMNW13900_PARAM_INDD", param_indd);
- var param_cretno = getPatientInfoDetail('cretno');
- setParameter("SPMNW13900_PARAM_CRETNO", param_cretno);
- //var param_painprcpinfo = model.getValue("/root/main/painprcpinfo"); //통증처방기준자료
- // setParameter("SPMNW13900_PARAM_PAINPRCPINFO", param_painprcpinfo);
-
- // 통증관리기록순번 추가
- var param_obsrecseq = model.getValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/obsrecseq");
- setParameter("SPMNW13900_PARAM_OBSRECSEQ", param_obsrecseq);
- // 그룹코드 추가
- var param_grupcd = model.getValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/grupcd");
- setParameter("SPMNW13900_PARAM_GRUPCD", param_grupcd);
-
- //modal("SPMNW13900",1, event.screenX-200, event.screenY+50); //처방리스트호출
- window.load("../xrw/SPMNW13900_통증관리처방기준자료팝업.xrw","modal", "SPMNW13900", "left: event.screenX-200; top:event.screenY+50; sysmenu:hidden;");
-
- var flg = getParameter("SMMNW04800_PARAM");
- if(flg == "Y") {
- var param_painprcpinfo = getParameter("SPMNW13900_PARAMPainPrcpInfo");
- //model.setValue("/root/main/painprcpinfo", param_painprcpinfo);
- model.setValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/painprcpinfo", param_painprcpinfo);
- var param_painprcpnm = getParameter("SPMNW13900_PARAMPainPrcpNm");
- model.setValue("/root/main/detlgrup/detlgruplist" + "[" + iRow + "]/drugarbt", param_painprcpnm);
-
- var upchk=getParameter("SPMNW13900_PARAUPFLAG");
- if (upchk!='') {
- model.setValue(xBedsoreGridPath+"["+(iRow)+"]/stat","u");
- }
- }
-
- }
- function fSearch2(zoneflag){
-
- var pid = model.getValue(cmb_mypatlist.attribute('ref'));
-
- if(pid == ''){
- pid = model.getValue(ipt_pid.attribute('ref'));
- }else{
- //병실내 환자정보 선택시 환자등록번호 setting
- model.setValue(ipt_pid.attribute('ref'), pid);
- model.refresh();
- }
-
- //부위 추가시 등록번호 필수
- if(pid == "") {
- messageBox("등록번호를 ","C001");
- model.setfocus("ipt_pid");
- return false;
- }else{
- //가정간호에서 팝업을 띄운 외래 환자의 경우엔 skip한다.
- if(!HC_isHomeCare || (HC_isHomeCare && HC_ioflag == 'I')){
- //등록번호에 해당되는 병동, 병실정보를 조회한다.
- fGetPidWardInfo(pid, zoneflag);
- }
- }
-
- fSearchRecInfo();
- //조회후 그리드의 발생부위, 발생일자를 머지
-
- fMergeGenrAreaDD();
- return true;
- }
- /* -----(20110228) 경북대 ------------------------ */
- // 현재 위치 인지하기
- function fgetSelectPid(sobj){
- //현재위치찾기
- //alert("sobj.value:" + sobj.value);
- if (sobj.value != "") {
- gcurrentpid = sobj.value;
- } else {
- gcurrentpid = "";
- }
- //alert("gcurrentpid:" + gcurrentpid);
- }
-
- // 이전 저장위치이전 다음으로 조회시키기
- function fgetSelectPidNext(){
- var tempPid = "";
- var sposition = 0;
-
- if ( gcurrentpid != "") {
- for(i = 1; i <= getNodesetCount(gpidPath); i++ ) {
- tempPid = model.getValue(gpidPath + "["+ i +"]/pid");
- //alert(gcurrentpid + "/" + tempPid);
- //gcurrentpid 전역변수
- if (gcurrentpid == tempPid) {
-
- sposition = i;
-
- break;
- //i = getNodesetCount(gpidPath) + 1;
- }
- }
- }
- return sposition;
- }
-
- function fNextSelectErPat(sobj){
- var tempPid = "";
- var sPosition = 0;
-
- if ( gcurrentpid != "") {
- for(i = 1; i <= getNodesetCount(erPatPidPath); i++ ) {
- tempPid = model.getValue(erPatPidPath + "["+ i +"]/pid");
- if (gcurrentpid == tempPid) {
- sPosition = i;
- break;
- }
- }
- }
-
- var nextyn = model.getValue(chk_nextyn.attribute("ref"));
-
- if(nextyn == "Y") {
- if(sPosition == getNodesetCount(erPatPidPath)){
- sobj.select(0); // 마지막 환자인 경우 처음 환자로 재 선택
- }else{
- sobj.select(sPosition);
- }
- } else {
- sobj.select(sPosition-1);
- }
- }
- // 재설정하기
- function fsetSelectPidNext(sobj,sposition){
- // 중환자실 환자인 경우 저장 후 현재 환자 재선택 (2011.03.25 Ahn)
- var nextyn = model.getValue(chk_nextyn.attribute("ref"));
- var sWardCD = model.getValue("/root/cond/wardcd");
-
- if(fIsICUPatient(sWardCD)){
- sobj.select(parseInt(sposition)-1);
- }else{
- if ( getNodesetCount(gpidPath) >= sposition ) {
- if(nextyn == "Y") {
- sobj.select(sposition);
- } else {
- sobj.select(sposition-1);
- }
- //alert("1");
- } else {
- //콤보믄 0부터시작
- //instance는 1부터시작
- sobj.select(0);
- //alert("2");
- }
- }
- }
- /**
- * @author : dhkim
- * @create : 20080827
- * @desc : 해당환자가 중환자실 환자인가?
- * @return : boolean (true/false)
- */
- function fIsICUPatient(wardcd){
- var ret = false;//icu 환자인지 여부 디폴트
- /*
- for(var i = 0; i < icuArr.length ; i++){
- if(wardcd == icuArr[i]){
- ret = true;
- return true;
- }
- }
- */
- //중증도 기록에서 사용하는 부서코드 조회_20090414_SMY추가
- for(i = 1; i <= getNodesetCount("/root/tmp/icucdgrup/icucdgruplist"); i++){
- if(wardcd == model.getValue("/root/tmp/icucdgrup/icucdgruplist[" + i + "]/wardcd")
- && model.getValue("/root/tmp/icucdgrup/icucdgruplist[" + i + "]/clsflag") == '4'){
- ret = true;
- return true;
- }
- }
- return ret;
- }
- /***********************************************************************************************************************************************************/
- /****************************************************** 기록에서 사용하는 펑션 종료 ************************************************************/
- /***********************************************************************************************************************************************************/
- /**
- * @group :
- * @ver : 2008.10.14
- * @by : 양천덕
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 사용자별 조회 조건 변경
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- /*
- function fSettingUserTypeSrch(pFlag){
- if( pFlag == "1"){
- grp_outpatinfo.visible = false;
- grp_oderinpatinfo.visible = false;
- grp_inpatinfo.visible = true;
- }else{
- grp_outpatinfo.visible = false;
- grp_oderinpatinfo.visible = true;
- grp_inpatinfo.visible = false;
- }
- }
- */
- /**
- * @group :
- * @ver : 2008.10.14
- * @by : 양천덕
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 사용자별 조회 조건 변경
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- /*
- function fChangUserTypeSrch(pFlag){
-
- fTPRviewInit();
- //fSettingUserTypeSrch(pFlag);
- var sSettingId1 = "-";
- var sSettingId2 = "-";
- if( pFlag == "1"){
- fGetWardChngInfo("Y", "", ""); // 병동 조회조건으로 초기화
- //병동코드 조회
- fGetCareComWardList();
- //내환자 조회
- fGetSettingPatientList();
- fGetCareComRoomList(sUserDeptCd);
- model.setValue("/root/temp/cond/wardcdgrup/wardcdgruplist", sUserDeptCd);
- cmb_wardlist.refresh();
- }else{
- //진료과 정보 조회
- mmbfGetDeptCodeComboList("/root/send/reqdata", "/root/temp/cond/deptgrup/deptgruplist" , "D"); //부서코드 콤보
- //---------(20101204) 경북대
- //추가
- var ssflag = "";
- if(getUserInfo("dutplceinstcd") != '032' && getUserInfo("dutplceinstcd") != '031') {
- //경북대가 아니면
- if( sJobKindCD == "0330" || sJobKindCD == "0310"){
- ssflag = "Y";
- }else{
- ssflag = "N";
- }
- } else if(getUserInfo("dutplceinstcd") == '032' || getUserInfo("dutplceinstcd") == '031') {
- //경북대이면 03%로 체크한다.
- if( sJobKindCD.substring(0, 2) == "03"){
- ssflag = "Y";
- }else{
- ssflag = "N";
- }
- }
- //원본:의사의 경우만
- //if(sJobKindCD == "0330" || sJobKindCD == "0310"){
- if(ssflag=="Y") {
- //---------(20101204) 경북대
- mmbfGetUserComboList("/root/send/reqdata", "/root/temp/cond/doctlist/medispcl" , sUserDeptCd, "0330", "", "M");
- mmbfGetUserComboList("/root/send/reqdata", "/root/temp/cond/doctlist/atdoct", sUserDeptCd, "0330", "", "A");
- addComboInstance("/root/temp/cond/doctlist/medispcl", "userid^usernm", "-^전체", "usercombo"); //의사콤보 전체항목 추가
- addComboInstance("/root/temp/cond/doctlist/atdoct", "userid^usernm", "-^전체", "usercombo");//의사콤보 전체항목 추가
- if(model.getValue("/root/temp/cond/doctlist/medispcl/usercombo[ userid='"+ sUserId+"']/userid") != ""){
- sSettingId1 = sUserId
- }
- if(model.getValue("/root/temp/cond/doctlist/atdoct/usercombo[ userid='"+ sUserId+"']/userid") != ""){
- sSettingId2 = sUserId
- }
- fGetCareComDeptPatList(sUserDeptCd, sSettingId1 , sSettingId2, model.getValue("/root/init/mypatsrchflag"));
- model.setValue("/root/temp/cond/deptgrup/deptgruplist/dept", sUserDeptCd);
- model.setValue("/root/temp/cond/doctlist/medispcl/usercombo", sSettingId1);
- model.setValue("/root/temp/cond/doctlist/atdoct/usercombo", sSettingId2);
- cmb_deptlist.refresh();
- cmb_medispcllist.refresh();
- cmb_atdoctlist.refresh();
- }else{
- model.setValue("/root/temp/cond/deptgrup/deptgruplist/dept", "-");
- model.removenodeset("/root/temp/cond/doctlist/medispcl/usercombo");
- model.removenodeset("/root/temp/cond/doctlist/atdoct/usercombo");
- }
- }
- }
- */
-
- /**
- * @group :
- * @ver : 2008.09.01
- * @by : 양천덕
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 초기 param 존재 하지 않을 경우 환자 선택화면 설정
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSettingPamInfo(pFlag){
- model.setValue(xCondPath+"/recdd",getCurrentDate());
-
- fChangUserTypeSrch(pFlag);
- }
- /**
- * @group :
- * @ver : 2007.07.11
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 이전/이후 날짜 Setting
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fDateCalc(pFlag, pVWFlag, pTerm){
- switch(pVWFlag){
- case "24hours" :
- model.setValue(xCondPath+"/recdd",getDateCalc(model.getValue(xCondPath+"/genrdd"),1,pFlag));
- break;
- case "4days" :
- model.setValue(xCondPath+"/recdd",getDateCalc(model.getValue(xCondPath+"/genrdd"),4,pFlag));
- break;
- }
- ipt_4daysrecdd.refresh();
- }
- /**
- * @group :
- * @ver : 2007.07.11
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 화면 전환
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fChageView(pFlag){
- model.setValue(xCondPath+"/vwctrl_button", pFlag);
-
- switch(pFlag){
- // case "24hours" :
- // model.toggle("case_24hoursstnd");
- // //그래프 체크박스 숨김,보임 설정
- // if(model.getValue(xCondPath+"/vwctrl_24hours") == "A"){
- // grp_chkbox.visible = true;
- // }else{
- // grp_chkbox.visible = false;
- // }
- //
- // chk_hourschartinfo.visible = true;
- // chk_dayschartinfo.visible = false;
- // obj_4dayschart.visible = false;
- // obj_24hourschart.visible = true;
- // btn_4daysvw.visible = true;
- // btn_24hoursvw.visible = false;
- // grd_timelist24hours.visible = true;
- // grd_timelist.visible = false;
- // grp_hide.visible = true;
- // model.setValue(xCondPath+"/hourschartinfo","1 2 3 4");
- // break;
- case "4days" :
- // model.toggle("case_4daysstnd");
- //그래프 체크박스 숨김,보임 설정
- // if(model.getValue(xCondPath+"/vwctrl_4days") == "A"){
- // grp_chkbox.visible = true;
- // }else{
- // grp_chkbox.visible = false;
- // }
- // chk_hourschartinfo.visible = false;
- // chk_dayschartinfo.visible = true;
- obj_4dayschart.visible = true;
- // obj_24hourschart.visible = false;
- // btn_4daysvw.visible = false;
- // btn_24hoursvw.visible = true;
- // grd_timelist24hours.visible = false;
- grd_timelist.visible = true;
- // grp_hide.visible = false;
- // model.setValue(xCondPath+"/dayschartinfo","1 2 3 4");
- break;
- }
- }
- /**
- * @group :
- * @ver : 2008.07.30
- * @by : 양천덕
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc :
- * @param : 화면 초기화
- * @return :
- * @---------------------------------------------------
- */
- /*
- function fTPRviewInit(){
- if(getNodesetCount("/root/temp/cond/patientgrup") < 1){
- return;
- }
- fInitTopInfo();
- model.removenode("/root/main/searchinfo");
-
- model.removeNode("/root/temp/cond/patientgrup");
- grd_timelist.caption = "";
- fMakeChart("init4days");
-
- if(getNodesetCount("/root/main/patinfo") > 0){
- model.makeValue("/root/main/patinfo/patinfolist/pid", "");
- model.makeValue("/root/main/patinfo/patinfolist/indd", "");
- model.makeValue("/root/main/patinfo/patinfolist/cretno", "");
- model.makeValue("/root/main/patinfo/patinfolist/ordtype", "");
- model.makeValue("/root/main/patinfo/patinfolist/indschacptstat", "");
- model.makeValue("/root/main/patinfo/patinfolist/dschdd", "");
- model.makeValue("/root/main/patinfo/patinfolist/eroutdd", "");
- model.makeValue("/root/main/patinfo/patinfolist/patnm", "");
- model.makeValue("/root/main/patinfo/patinfolist/sexage", "");
- model.makeValue("/root/main/patinfo/patinfolist/wardcd", "");
- model.makeValue("/root/main/patinfo/patinfolist/roomcd", "");
- }
- sPid == "";
- sIndd == "";
- sCretNo == "";
- sInstcd == "";
- sIOFlag == "";
- sWardCD == "";
- sRoomCD == "";
- sIndschacptstat == "";
- sDschdd == "";
- sOrdDeptcd == "";
- sMedispclid == "";
-
- model.makeValue(xCondPath+"/pid", "");
- //fChkTgtPatInfo("disable");
- }
- */
- /**
- * @group :
- * @ver : 2008.07.02
- * @by : 양천덕
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc :
- * @param : 환자 선택 여부확인
- * @return :
- * @---------------------------------------------------
- */
- function fChkTgtPatInfo(pFlag){
- switch(pFlag){
- case "disable":
- btn_4dayrefresh.disabled = true;
- btn_4daysvwctrl.disabled = true;
- // btn_24hoursvw.disabled = true;
- btn_4daybefore.disabled = true;
- btn_4dayafter.disabled = true;
- break;
- case "able":
- btn_4dayrefresh.disabled = false;
- btn_4daysvwctrl.disabled = false;
- // btn_24hoursvw.disabled = false;
- btn_4daybefore.disabled = false;
- btn_4dayafter.disabled = false;
- break;
- }
- }
- /**
- * @group :
- * @ver : 2008.04.28
- * @by : 양천덕
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 환자 선택시 상단정보 변경
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetParam(pFlag, pIndex){
-
- if(getNodesetCount("/root/main/paminfo/pamlist") > 0){
- model.removenodeset("root/main/paminfo/pamlist");
- }
-
- var sOrdtype = "";
- var sPid = "";
- var sIndd = "";
- var sCretno = "";
- var sInstcd = "";
- var param = "";
-
- if(pFlag == "SrchPat"){
- sOrdtype = model.getValue("/root/temp/cond/patientgrup/patientgruplist["+ pIndex +"]/ordtype" );
- sPid = model.getValue("/root/temp/cond/patientgrup/patientgruplist["+ pIndex +"]/pid" );
- sIndd = model.getValue("/root/temp/cond/patientgrup/patientgruplist["+ pIndex +"]/indd" );
- sCretno = model.getValue("/root/temp/cond/patientgrup/patientgruplist["+ pIndex +"]/cretno" );
- sInstcd = model.getValue("/root/temp/cond/patientgrup/patientgruplist["+ pIndex +"]/instcd" );
-
- cmb_mypatlist.value = "";
- }else if(pFlag == "SettingPat"){
- sOrdtype = model.getValue("/root/temp/cond/settingpatient/settingpatientlist["+ pIndex +"]/ordtype" );
- sPid = model.getValue("/root/temp/cond/settingpatient/settingpatientlist["+ pIndex +"]/pid" );
- sIndd = model.getValue("/root/temp/cond/settingpatient/settingpatientlist["+ pIndex +"]/indd" );
- sCretno = model.getValue("/root/temp/cond/settingpatient/settingpatientlist["+ pIndex +"]/cretno" );
- sInstcd = model.getValue("/root/temp/cond/settingpatient/settingpatientlist["+ pIndex +"]/instcd" );
- }
-
- param = sOrdtype + "▦"
- + sPid + "▦"
- + sIndd + "▦"
- + sCretno + "▦"
- + sInstcd + "▦"
- + "▦" ;
-
- setParameter("condparam", param);
-
- modal("SPMMO08900", 1, "", "", "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
-
- if(pFlag == "SrchPat"){
- fInitialize("patinit");
- }else if(pFlag == "SettingPat"){
- fInitialize("reset");
- }
- }
-
- /**
- * @group :
- * @ver : 2007.07.11
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 시작일자 계산
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fCalStartDate(pDate, pTimeFlag){
- var sStartDT = pDate.toDate("YYYYMMDDhhmmss");
- var sTime = "";
- var sRemainder = 0;
-
- if(pTimeFlag != 1 ){
- sRemainder = eval(pDate.substr(10,2))%pTimeFlag;
- }
- sStartDT.setMinutes(sStartDT.getMinutes()-sRemainder);
-
- return sStartDT;
- }
- /**
- * @group :
- * @ver : 2007.07.11
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 그리드 크기 조절(펼치기/ 접기)
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fControlGridSize(pFlag){
- switch(pFlag){
- // case "24hours" : // 24시간 화면
- // if(model.getValue(xCondPath+"/vwctrl_24hours") == "A"){ // 펼치기
- // btn_24hoursvwctrl.value = "접기";
- // model.setValue(xCondPath+"/vwctrl_24hours","I");
- // document.all.item("obj_24hourschart").visible = false;
- // document.all.item("obj_24hourschart").refresh();
- // //grd_24hoursheader.visible = false;
- //
- // grp_chkbox.visible = false;
- // chk_hourschartinfo.visible = false;
- // chk_dayschartinfo.visible = false;
- //
- //
- // }else{
- // btn_24hoursvwctrl.value = "펼치기";
- // model.setValue(xCondPath+"/vwctrl_24hours","A");
- // document.all.item("obj_24hourschart").visible = true;
- // document.all.item("obj_24hourschart").refresh();
- // //grd_24hoursheader.visible = true;
- // chk_hourschartinfo.visible = true;
- //
- // grp_chkbox.visible = true;
- // chk_hourschartinfo.visible = true;
- // chk_dayschartinfo.visible = false;
- //
- // }
- // btn_24hoursvwctrl.refresh();
- // //fCreateHeader(pFlag);
- // break;
- case "4days" : // 4일기준 화면
- if(model.getValue(xCondPath+"/vwctrl_4days") == "A"){ // 펼치기
- //btn_4daysvwctrl.value = "접기";
- model.setValue(xCondPath+"/vwctrl_4days","I");
- document.all.item("obj_4dayschart").visible = false;
- document.all.item("obj_4dayschart").refresh();
- //grd_4dayschartheader.visible = false;
-
- // grp_chkbox.visible = false;
- // chk_hourschartinfo.visible = false;
- // chk_dayschartinfo.visible = false;
-
- }else{
- //btn_4daysvwctrl.value = "펼치기";
- model.setValue(xCondPath+"/vwctrl_4days","A");
- document.all.item("obj_4dayschart").visible = true;
- document.all.item("obj_4dayschart").refresh();
- //grd_4dayschartheader.visible = true;
- chk_dayschartinfo.visible = true;
-
- // grp_chkbox.visible = true;
- // chk_hourschartinfo.visible = false;
- // chk_dayschartinfo.visible = true;
-
- }
- //btn_4daysvwctrl.refresh();
- //fCreateHeader(pFlag);
- break;
- }
- }
- /**
- * @group :
- * @ver : 2007.08.14
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 차트 생성
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fMakeChart(pFlag){
- var Obj_Chart = null;
- var Obj_CheckBox = null;
- var sColCnt = 0;
- var sRecRslt = "";
- var sRecRslt1 = "";
- var sChartInfo = "";
- var sRecDD = "";
- var sRecTM = "";
- var sRecTM4 = "";
- var sRecRsltArr = new Array();
- var sRecRslt1Arr = new Array();
- var iArrSize = 0;
- var iChartPos = 0;
- var idx=0;
- var grdRecTM1="";
- var grdRecTM2="";
- var grdRecDD="";
- var iArrSize = 0;
- var iSeriCnt = 0;
- var iToolsCnt=0;
- var sRecRsltHint = "";
- var typecd = 1;
- var sChartToolId = "";
- var sChartItemcd = "";
- var cnt = 0;
-
- switch(pFlag){
- case "4days" :
- Obj_Chart = obj_4dayschart;
- Obj_CheckBox = chk_dayschartinfo;
- obj_4dayschart.ClearChart();
- sChartInfo = model.getValue(xCondPath+"/dayschartinfo").split(" ");
- //obj_4dayschart.RemoveAllSeries();
- //obj_4dayschart.Axis.RemoveAllCustom();
-
- //margin 값 정하기
- obj_4dayschart.Panel.MarginTop = 2;
- obj_4dayschart.Panel.MarginLeft = 1.5;
- obj_4dayschart.Panel.MarginRight = 0;
- obj_4dayschart.Panel.MarginBottom = -6;
- // obj_4dayschart.Axis.Bottom.TickLength = 16;
-
- //하단축 칸 수 정하기와 눈금 없애기
-
- obj_4dayschart.Axis.Bottom.SetMinMax (0,16); //4일 동안 좌표를 표현 (하루는 DivPerDay만큼 나눠짐)
- obj_4dayschart.Axis.Bottom.Increment = 1;
- obj_4dayschart.Axis.Bottom.MinorTickCount = 5;
- sColCnt = 16;
- iArrSize = 6;
- break;
- }
-
- Obj_Chart.Axis.Bottom.AxisPen.Color = 0x000000;
- Obj_Chart.Axis.Bottom.Labels.Font.Color = 0xffffff; //Obj_Chart.Panel.Color; //하단 축 눈금 명칭 색을 바탕색으로 하여 보이지 않게 처리
- Obj_Chart.Header.Visible = false;
- Obj_Chart.Aspect.View3D = 0; //2d 로 표현하기
- Obj_Chart.Zoom.Enable = false; // zoom 사용하지 않기
- Obj_Chart.Scroll.Enable = false; // scroll 사용하지 않기
- Obj_Chart.Legend.Visible = false; // 그래프 참조 박스 띄우지 않기
- Obj_Chart.Panel.Gradient.Visible = true; // 페널에 그라디언트 적용
- Obj_Chart.Panel.Gradient.StartColor = 0xffffff;
- Obj_Chart.Panel.Gradient.EndColor=0xffffff;
- Obj_Chart.Environment.MouseWheelScroll = false;
- var cus_axis1 = Obj_Chart.Axis.AddCustom(false);
- Obj_Chart.Axis.Custom(0).AxisPen.Color = 0x0000ff;
- Obj_Chart.Axis.Custom(0).Title.Font.Size = 8;
- Obj_Chart.Axis.Custom(0).Title.Font.Bold = true;
- Obj_Chart.Axis.Custom(0).Title.Angle = 90;
- Obj_Chart.Axis.Custom(0).PositionPercent = 0;
- Obj_Chart.Axis.Custom(0).StartPosition = 0;
- Obj_Chart.Axis.Custom(0).EndPosition = 100;
- Obj_Chart.Axis.Custom(0).Automatic = false;
- Obj_Chart.Axis.Custom(0).Maximum = 10;
- Obj_Chart.Axis.Custom(0).Minimum = 0;
- Obj_Chart.Axis.Custom(0).Increment = 1;
-
-
- iSeriCnt = Obj_CheckBox.length;
- //시간구분선이 생기도록 임의의 널값을 그래프 X축에 세팅
- Obj_Chart.AddSeries(0);//포인트 - Series 4
- Obj_Chart.Series(0).asLine.ClickableLine = 0;//라인을 지나갈때 tool이 먹히게 할지(1) 말지(0)
- Obj_Chart.Series(0).Depth = 1;
- Obj_Chart.Series(0).VerticalAxisCustom = cus_axis1;
- for( var cnt = 0 ; cnt < sColCnt ; cnt++){
- Obj_Chart.Series(0).AddNull("null");
- }
-
-
- Obj_Chart.Series(0).asLine.LinePen.Width = 2;
- Obj_Chart.Series(0).asLine.Pointer.Visible = true;
- Obj_Chart.Series(0).asLine.Pointer.Style = 1;
- Obj_Chart.Series(0).asLine.ClickableLine = 0;//라인을 지나갈때 tool이 먹히게 할지(1) 말지(0)
- for(var i = 1 ; i <= Obj_CheckBox.length && !isNull(model.getValue(xChkObsPartInfoPath+"[1]/obspartid")) ; i++){
-
- sChartItem[i-1] = model.getValue(xChkObsPartInfoPath+"[" + i + "]/obspartid");
- Obj_CheckBox.item(i-1).attribute("background-color") = sCheckColor[i-1];
- if ( Obj_Chart.Tools.Count == 0 ){
-
- Obj_Chart.Tools.Add(8);
- Obj_Chart.Tools.Items(0).asMarksTip.MouseAction = 0;
- Obj_Chart.Tools.Items(0).asMarksTip.Style = 2;//9:y값 x값 0:x값 2:Label
- Obj_Chart.Tools.Items(0).asMarksTip.Delay = 10;
- Obj_Chart.Tools.Items(0).asMarksTip.Series = 4;
- }
- if ( Obj_CheckBox.item(i-1).selected ){
- switch(pFlag){
- case "4days" :
- for( var idx = 1 ; idx <= getNodesetCount(xTotPainInfoPath) ; idx++ ){
- Obj_Chart.AddSeries(0);//포인트 - Series 4
-
- if ( sChartItem[i-1] == model.getValue(xTotPainInfoPath+"["+idx+"]/obspartid")){
- Obj_Chart.Series(typecd).VerticalAxisCustom = cus_axis1;
- Obj_Chart.Series(typecd).Color = sLineColor[i-1];
-
- Obj_Chart.Series(typecd).asLine.LinePen.Width = 2;
- Obj_Chart.Series(typecd).asLine.Pointer.Visible = true;
- Obj_Chart.Series(typecd).Depth = i+1;
-
-
-
- if(model.getValue(xTotPainInfoPath+"["+idx+"]/toolid")=="81"){
- Obj_Chart.Series(typecd).asLine.Pointer.Style = 0;
-
- }else if(model.getValue(xTotPainInfoPath+"["+idx+"]/toolid")=="83"){
- Obj_Chart.Series(typecd).asLine.Pointer.Style = 1;
- }else if(model.getValue(xTotPainInfoPath+"["+idx+"]/toolid")=="84"){
- Obj_Chart.Series(typecd).asLine.Pointer.Style = 2;
-
- }else if(model.getValue(xTotPainInfoPath+"["+idx+"]/toolid")=="85"){
- Obj_Chart.Series(typecd).asLine.Pointer.Style = 7;
-
- }
- if ( Obj_CheckBox.item(i-1).selected ){
- sRecRslt = model.getValue(xTotPainInfoPath+"["+ idx +"]/pnt");
- sRecDD = model.getValue(xTotPainInfoPath+"["+ idx +"]/recdd");
- sRecTM = model.getValue(xTotPainInfoPath+"["+ idx +"]/rectm").substring(0,2);
-
- for( var iCol = 0 ; iCol < sColCnt ; iCol++ ){
- if ( iCol < (sColCnt-1) ){
- grdRecTM1 = getArrayData(grd_timelist.caption,0,iCol,"|","^").substring(0,2);
- grdRecTM2 = getArrayData(grd_timelist.caption,0,iCol+1,"|","^").substring(0,2);
- } else {
- grdRecTM1 = getArrayData(grd_timelist.caption,0,iCol,"|","^").substring(0,2);
- grdRecTM2 = "07";
- }
- if ( sRecDD+sRecTM >= sHeader[1][iCol]+ grdRecTM1
- && sRecDD+sRecTM < sHeader[1][iCol+1]+ grdRecTM2 ){
- if( !isNull(sRecRslt) && fIsNumber(sRecRslt) == true){
- sRecTM4 = model.getValue(xTotPainInfoPath+"["+ idx +"]/rectm").substring(2,4);
- var pos= eval(iCol) + (eval(eval(sRecTM)-eval(grdRecTM1))/iArrSize) + (eval(eval(sRecTM4)-eval("00"))/(iArrSize*60)) ;
-
- sRecRsltHint = "부위 : "+model.getValue(xTotPainInfoPath+"["+ idx +"]/obspartnm")
- +"("+ model.getValue(xTotPainInfoPath+"["+ idx +"]/direcnm") +")"
- +"\n사정시간 : "+ model.getValue(xTotPainInfoPath+"["+ idx +"]/recdd").substring(0,4)+"-"+model.getValue(xTotPainInfoPath+"["+ idx +"]/recdd").substring(4,6)+"-"+model.getValue(xTotPainInfoPath+"["+ idx +"]/recdd").substring(6,8)+" "+ model.getValue(xTotPainInfoPath+"["+ idx +"]/rectm").substring(0,2)+":"+ model.getValue(xTotPainInfoPath+"["+ idx +"]/rectm").substring(2,4)
- +"\n사정도구 : "+ model.getValue(xTotPainInfoPath+"["+ idx +"]/tool")
- +"\n약물중재 : "+ model.getValue(xTotPainInfoPath+"["+ idx +"]/drugarbt")
- +"\n비약물중재 : "+ model.getValue(xTotPainInfoPath+"["+ idx +"]/nondrugarbt");
- Obj_Chart.Series(typecd).AddXY (pos, eval(sRecRslt), sRecRsltHint, sLineColor[i-1]);
-
- }
- }
- }
- }
- sChartToolId = model.getValue(xTotPainInfoPath+"[" + idx + "]/toolid");
- sChartItemcd = model.getValue(xTotPainInfoPath+"[" + idx + "]/obspartid");
- if(model.getValue(xTotPainInfoPath+"["+(idx+1)+"]/toolid") != ""){
-
- if(sChartItemcd != model.getValue(xTotPainInfoPath+"["+(idx+1)+"]/obspartid") || sChartToolId != model.getValue(xTotPainInfoPath+"["+(idx+1)+"]/toolid")){
-
- typecd++;
- }
- obj_4dayschart.Panel.MarginLeft = 1.0;
- }
-
- }
-
- }
- break;
- }
-
- }
-
- }
- }
- /**
- * @group :
- * @ver : 2007.07.21
- * @by : 양천덕
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 문자여부 확인
- * @param : str : 값
- * @return : true / false
- * @---------------------------------------------------
- */
- function fIsNumber(str) {
- str += ''; // 문자열로 변환
- str = str.replace(/^\s*|\s*$/g, ''); // 좌우 공백 제거
- if (str == '' || isNaN(str)) return false;
- return true;
- }
- /**
- * @group :
- * @ver : 2007.08.16
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 그리드 Header 생성
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fCreateHeader(pFlag){
- var sRecDD = "";
- //var sChartCapNm = "";
- var sGridCapNm = "";
- var sTimeFlag = 0;
- var sCDay = new Array();
- var sDayInfo = "";
- var iDayRow = 0;
- var sDayCountInfo = "";
- var sDateList = "";
- var idx=0;
- sHeader[1] = new Array();
-
- var sCaption = "07:00^13:00^19:00^01:00^07:00^13:00^19:00^01:00^07:00^13:00^19:00^01:00^07:00^13:00^19:00^01:00";
- var sCaption24="07:00^08:00^09:00^10:00^11:00^12:00^13:00^14:00^15:00^16:00^17:00^18:00^19:00^20:00^21:00^22:00^23:00^24:00^01:00^02:00^03:00^04:00^05:00^06:00";
-
- switch(pFlag){
- case "4days" :
-
- var sStartDD = getDateCalc(model.getValue(xCondPath+"/genrdd"),3,"-");
- for( idx = 1 ; idx <= grd_timelist.cols ; idx++ ){
- sRecDD = getDateCalc(sStartDD,idx/4,"+");
- sHeader[1][idx-1] = sRecDD;
- }
- sHeader[1][idx]=getDateCalc(model.getValue(xCondPath+"/recdd"),1,"+")
-
- for(var iRow=1; iRow<=1; iRow++){
- for(var iCol=0; iCol<grd_timelist.cols; iCol++){
- if(iRow == 1){
- sGridCapNm += sHeader[iRow][iCol].toDate("YYYYMMDD").getDateFormat("YYYY년 MM월 DD일")+
- " ("+sHeader[iRow][iCol].toDate("YYYYMMDD").getDayOfWeek("k")+")";
- }
- if(iCol != grd_timelist.cols){
- sGridCapNm += "^";
- }
- }
- }
- grd_timelist.caption = sCaption + "|" + sGridCapNm;
- break;
- case "24hours" :
-
- var sStartDD = model.getValue(xCondPath+"/recdd");
- for( var idx = 0 ; idx < grd_timelist24hours.cols ; idx++ ){
- sHeader[1][idx] = sStartDD;
- }
-
- for(var iRow=1; iRow<=1; iRow++){
- for(var iCol=0; iCol<grd_timelist24hours.cols; iCol++){
- if(iRow == 1){
- sGridCapNm += sHeader[iRow][iCol].toDate("YYYYMMDD").getDateFormat("YYYY년 MM월 DD일")+
- " ("+sHeader[iRow][iCol].toDate("YYYYMMDD").getDayOfWeek("k")+")";
- }
- if(iCol != grd_timelist24hours.cols){
- sGridCapNm += "^";
- }
- }
- }
- grd_timelist24hours.caption = sCaption24 + "|" + sGridCapNm;
- break; }
- }
- /**
- * @group :
- * @ver : 2007.08.16
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 임상관찰 기록 조회
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSearchGrape(pFlag){
- /*
- if(model.getValue("/root/main/patinfo/patinfolist/pid") == ""){
- messageBox("환자를 선택하십시요","I");
- return;
- }
- */
- model.setValue(xCondPath+"/vwctrl_button",pFlag)
-
- model.removenode("/root/send");
- model.makeValue("/root/send/pid", sPid);
- model.makeValue("/root/send/indd", sIndd);
- model.makeValue("/root/send/cretno", sCretNo);
- model.makeValue("/root/send/instcd", sInstcd);
- model.makeValue("/root/send/ioflag", sIOFlag);
- model.makeValue("/root/send/srchdd", model.getValue(xCondPath+"/genrdd") );
- model.makeValue("/root/send/fromdd", getDateCalc(model.getValue(xCondPath+"/genrdd"),3,'-') );
- model.makeValue("/root/send/todd", model.getValue(xCondPath+"/genrdd") );
- model.makeValue("/root/send/vwctrl_button", model.getValue(xCondPath+"/vwctrl_button") );
-
- if(submit("TRMNR08401")){
- fCreateHeader(pFlag);
- fSettingCheckBox(pFlag);
- fMakeChart(pFlag);
- fChageView(pFlag);
- if ( getSystemCd().substring(0,3) == "DEV" ){
- fMessageAlert(xPainCountInfoPath);
-
- }
- }
- model.refresh();
-
- }
- /**
- * @group :
- * @ver : 2007.08.16
- * @by :
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 점수가7점이상이 3회이상인경우 메시지 팝업
- * @param :
- model.makeValue("/root/send/pid", sPid);
- model.makeValue("/root/send/indd", sIndd);
- model.makeValue("/root/send/cretno", sCretNo);
- model.makeValue("/root/send/vwctrl_button", "dr" );
- * @return :
- * @---------------------------------------------------
- */
- function fMessageAlert(destPath){
- if ( model.getValue(destPath+"/cntpnt") == "Y" ){
- var rtnmsg = messageBox("7점이상의 통증이 3회이상 존재합니다 " ,"Q011");
-
- if ( rtnmsg == 6 ){
- submit("TXMNR08401");//메시지팝업 확인일시 업데이트
- }
- }
-
- }
- /**
- * @group :
- * @ver : 2007.08.16
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 임상관찰 기록 조회
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSettingCheckBox(pFlag){
-
- switch(pFlag){
- case "4days" :
- var sDaysChart = "";
- for( var idx = 0 ; idx < chk_dayschartinfo.length ; idx++){
-
- if ( idx == 0 ) {
- sDaysChart = chk_dayschartinfo.item(0).value;
- } else {
- sDaysChart += " " + chk_dayschartinfo.item(idx).value;
- }
-
- }
- model.makeValue(xCondPath+"/dayschartinfo",sDaysChart);
-
- chk_dayschartinfo.refresh();
- break;
- case "24hours" :
-
- var s24HoursChart = "";
- for( var idx = 0 ; idx < chk_hourschartinfo.length ; idx++){
-
- if ( idx == 0 ) {
- s24HoursChart = chk_hourschartinfo.item(0).value;
- } else {
- s24HoursChart += " " + chk_hourschartinfo.item(idx).value;
- }
-
- }
- model.makeValue(xCondPath+"/hourschartinfo",s24HoursChart);
-
- chk_hourschartinfo.refresh();
- break; }
- }
- function fpatinfoset(){
-
- for( var idx = 0 ; idx < sCheckColor.length ; idx++){
- sLineColor[idx] = RgbToGraph(sCheckColor[idx]);
- }
- model.makeValue(xCondPath+"/vwctrl_button","4days");
- sPid = model.getValue(xPamInfoPath+"/pid"); // 환자번호
- sCretNo = model.getValue(xPamInfoPath+"/cretno"); // 환자 일자별 일련번호
- sInstcd = model.getValue(xPamInfoPath+"/instcd"); // 기관코드
- sIOFlag = model.getValue(xPamInfoPath+"/ioflag"); // 입원/외래 구분
- sWardCD = model.getValue(xPamInfoPath+"/wardcd"); // 병동코드
- sRoomCD = model.getValue(xPamInfoPath+"/roomcd"); // 병실코드
- sIndschacptstat = model.getValue(xPamInfoPath+"/indschacptstat"); //입퇴원구분코드
- sDschdd = model.getValue(xPamInfoPath+"/dschdd"); // 퇴원일자
- sPatNm = model.getValue(xPamInfoPath+"/hngnm"); // 환자명
- sSexAge = model.getValue(xPamInfoPath+"/sex") +"/"+ model.getValue(xPamInfoPath+"/age"); // 성별
- sOrdDeptcd = model.getValue(xPamInfoPath+"/orddeptcd");
- sMedispclid = model.getValue(xPamInfoPath+"/medispclid");
- sSectioncd = model.getValue(xPamInfoPath+"/sectioncd"); // 응급실 구역정보 추가(2011.05.04 ahn)
-
-
- if(sIOFlag == "O"){
- sIndd = model.getValue(xPamInfoPath+"/orddd"); // 진료일자
- }else{
- sIndd = model.getValue(xPamInfoPath+"/indd"); // 입원일자
- }
-
- model.makeValue(xCondPath+"/pid", sPid);
-
- model.makeValue("/root/main/patinfo/patinfolist/pid", sPid);
- model.makeValue("/root/main/patinfo/patinfolist/indd", sIndd);
- model.makeValue("/root/main/patinfo/patinfolist/cretno", sCretNo);
- model.makeValue("/root/main/patinfo/patinfolist/ordtype", sIOFlag);
- model.makeValue("/root/main/patinfo/patinfolist/indschacptstat", sIndschacptstat);
- model.makeValue("/root/main/patinfo/patinfolist/dschdd", sDschdd);
- model.makeValue("/root/main/patinfo/patinfolist/wardcd", sWardCD);
- model.makeValue("/root/main/patinfo/patinfolist/roomcd", sRoomCD);
- model.makeValue("/root/main/patinfo/patinfolist/patnm", sPatNm);
- model.makeValue("/root/main/patinfo/patinfolist/sexage", sSexAge);
- model.makeValue("/root/main/patinfo/patinfolist/orddeptcd", sOrdDeptcd);
- model.makeValue("/root/main/patinfo/patinfolist/medispclid", sMedispclid);
- model.makeValue("/root/main/patinfo/patinfolist/sectioncd", sSectioncd); // 응급실 구역정보 추가(2011.05.04 ahn)
- }
- /**
- * @group :
- * @ver : 2011.03.16
- * @by : 안도영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 구역정보 조회 (응급실인 경우)
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- /*
- function fGetWardChngInfo(initFlag, wardCd, sectionCd){
- if(initFlag=="Y") {
- var sWardCD = wardCd;
- }
- else{
- //var sWardCD = model.getValue("/root/cond/wardcd");
- var sWardCD = cmb_wardlist.value;
- }
-
- if ( sWardCD == eERDEPTCD) {
- eERFLAG = "Y";
- }else{
- eERFLAG = "";
- }
-
- //응급실인 경우 구역정보 추가조회
- if(eERFLAG == "Y"){ // 응급실
- fGetZoneList();
- //copyNodeset("/root/temp2/zoneinfo", "/root/temp/zoneinfo");
- caption7.attribute("text") = "구 역 :";
- cmb_roomlist.visible = "false";
- cmb_erpat.visible = "true";
- cmb_patlist.visible = "false";
- cmb_zone.visible = "true";
-
- //ipt_pid.attribute("left") = 539; // 위치 변경
- //ipt_pid.attribute("top") = 40;
- //btn_patSearch.attribute("left") = 617; // 위치 변경
- //btn_patSearch.attribute("top") = 41; // 위치 변경
- caption9.visible = "false";
- cmb_mypatlist.visible = "false";
-
- if(initFlag=="Y"){ // 처음 상단 정보로 화면 열릴 때
- model.setValue("/root/main/cond/zonecd", (sectionCd == "") ? "-" : sectionCd);
- }else{
- model.setValue("/root/main/cond/zonecd", "-"); // 'All'로 default
- }
-
-
- }else{
- caption7.attribute("text") = "병 실 :";
- cmb_roomlist.visible = "true";
- cmb_erpat.visible = "false";
- cmb_patlist.visible = "true"
- cmb_zone.visible = "false";
- //ipt_pid.attribute("left") = 669; // 기존 위치
- //ipt_pid.attribute("top") = 15;
- //btn_patSearch.attribute("left") = 747; // 기존 위치
- //btn_patSearch.attribute("top") = 16;
-
- caption9.visible = "true";
- cmb_mypatlist.visible = "true";
-
- model.setValue("/root/main/cond/zonecd", "");
-
- }
- //ctn_room.refresh();
- cmb_zone.refresh();
- cmb_roomlist.refresh();
- cmb_erpat.refresh();
- cmb_patlist.refresh();
- }
- */
- function RgbToGraph(h) { return window.rgb(HexToR(h),HexToG(h),HexToB(h)) }
- function HexToR(h) { return parseInt((cutHex(h)).substring(0,2),16) }
- function HexToG(h) { return parseInt((cutHex(h)).substring(2,4),16) }
- function HexToB(h) { return parseInt((cutHex(h)).substring(4,6),16) }
- function cutHex(h) { return (h.charAt(0)=="#") ? h.substring(1,7) : h}
|