1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[var xRecInfo = "ds_main_recinfo";
- var xRecInfoDS = this.objects[xRecInfo];
- var xRecMasterPath = "ds_main_recgruplist"; //중증도기록마스터
- var xRecMasterPathDS = this.objects[xRecMasterPath];
- var xRecDetailPath = "ds_main_recdetailgruplist"; //중증도상세내역
- var xRecDetailPathDS = this.objects[xRecDetailPath];
- var xRecPntPath = "ds_main_recpntlist"; //중증도상세점수
- var xRecPntPathDS = this.objects[xRecPntPath];
- var xRecDetailBKPath = "ds_temp_histgrup"; //중증도상세내역 hidden
- var xRecDetailBKPathDS = this.objects[xRecDetailBKPath];
- var recMCurRow = 0; //기록마스터에 현재 선택된 row index
- var instUseYN = "N";//JCI적용여부 20100430 김홍점
- var instUseYNcdnm = "";//JCI적용여부 20100430 김홍점
- var patRow = "";
- var recRow = "";
- var sAllSignSave = false;
- //응급의료센터 관련 변수_경북대 (2011.03.14 Ahn)
- var eERDEPTCD = "";
- var eERFLAG = "";
- // 환자정보 그리드 관련 색 (2011.03.30)
- var red = "#ff0000";
- var yellow = "#ffff00";
- var indigo = "#333399";
- var white = "#ffffff";
- /**
- * @group :
- * @ver : 2007.12.04
- * @by : 신혁춘
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 중증도 시작시 병동, 병실, 환자정보 조회
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fInit(){
- //사용자 직급구분에 따른 화면 제어 플래그 설정
- var sJobKindCD = sysf_getUserInfo("jobkindcd"); // 직급코드
- //---------(20101204) 경북대
- //추가
- var ssflag = "";
- if( sysf_getUserInfo("dutplceinstcd") != '032' && sysf_getUserInfo("dutplceinstcd") != '031') {
- //경북대가 아니면
- if( sJobKindCD == "0330" || sJobKindCD == "0310"){
- ssflag = "Y";
- } else {
- ssflag = "N";
- }
- } else if( sysf_getUserInfo("dutplceinstcd") == '032' || sysf_getUserInfo("dutplceinstcd") == '031') {
- //경북대이면 03%로 체크한다.
- if( sJobKindCD.substring(0, 2) == "03"){
- ssflag = "Y";
- } else {
- ssflag = "N";
- }
- }
- //----------------------------
- //응급의료센터 부서코드 추출_ 경북대 (2011.03.14 Ahn)
- ds_send.clear();
- ds_send.addColumn("cdgrupid", "string", 256);
- ds_send.addColumn("srchdd", "string", 256);
- var iRow = ds_send.addRow();
-
- ds_send.setColumn(iRow, "cdgrupid", "'002'");
- ds_send.setColumn(iRow, "srchdd" , utlf_getCurrentDate()); // 조회기준일자
- var oParam = {};
- oParam.id = "TRMNW00001";
- oParam.service = "wardcareapp.WardCareMngt";
- oParam.method = "reqGetNursHardCdInfo";
- oParam.inds = "req=ds_send";
- oParam.outds = "ds_code_codelist=codelist";
- oParam.async = false;
- oParam.callback = "cf_TRMNW00001";
- tranf_submit(oParam);
- if( arErrorCode.pop("TRMNW00001") > -1 ){
- eERDEPTCD = ds_code_codelist.lookup("cdgrupid", "002", "cdid");
- }
- //원본:의사의 경우만
- //if(sJobKindCD == "0330" || sJobKindCD == "0310" ){
- if(ssflag=="Y") {
- //---------(20101204) 경북대
- button4.visible = false;
- }else{
- button4.visible = true;
- }
- var pCode = "'199','055','W02','052','T49','T98'"; // 중증도위험사정에서 낙상 나이별 고위험군 지정 적용여부 FOR JCI
- fGetNursHardCdInfo(pCode, utlf_getCurrentDate());
- ds_code_codelist.copyData(ds_codelist);
- instUseYN = ds_code_codelist.lookupExpr("cdgrupid=='199' && cdnm=='Y'", "cdnm");//cdid 가 1: 낙상소아 2:낙상성인 (Morse Scale)
- var pid = "";
- var wardcd = "";
- var roomcd ="";
- // 응급실-구역정보 (2011.03.14 Ahn)
- var sectioncd ="";
- // 추가 (2011.03.29 Ahn)
- var sexage = "";
- var patnm = "";
- var age = "";
- //중증도 기록에서 사용하는 부서코드 조회_20090414_SMY추가
- ds_send.clear();
- ds_send.addColumn("wardcd", "string", 256);
- ds_send.addColumn("cdgpid", "string", 256);
-
- var oParam = {};
- oParam.id = "TRMNW04001";
- oParam.service = "carerecapp.AsesRec";
- oParam.method = "reqGetICUWardList";
- oParam.inds = "refCond=ds_send";
- oParam.outds = "ds_init_icucdgrup=icucdgruplist";
- oParam.async = false;
- //oParam.callback = "cf_TRMNW04001";
- tranf_submit(oParam);
- //라디오버튼 디폴트 선택
- wardcd = sysf_getUserInfo("dutplcecd");
- fChangeWardByRadio(wardcd);
- ipt_indate.value = utlf_getCurrentDate();// 수행일에 현재날짜(디폴트);
- ipt_time.value = utlf_getCurrentDateTime().substring(9,13);//수행시간
- // 상단정보 세팅
- var sPamInfo = sysf_getGlobalVariable("paminfo");
- if ( !utlf_isNull(sPamInfo) ){
- dsf_setCSVToDs("ds_main_paminfo",sPamInfo);
- if( utlf_isNull(ds_main_paminfo.getColumnInfo("sectioncd")) ){
- ds_main_paminfo.addColumn("sectioncd", "string");
- ds_main_paminfo.setColumn(0, "sectioncd", ds_main_paminfo.getColumn(0, "basetypecd"));
- }
-
- pid = ds_main_paminfo.getColumn(0, "pid");
- wardcd = ds_main_paminfo.getColumn(0, "wardcd");
- roomcd = ds_main_paminfo.getColumn(0, "roomcd");
- // 응급실 - 구역컬럼 추가 (2011.03.14 Ahn)
- sectioncd = ds_main_paminfo.getColumn(0, "sectioncd");
-
- // 추가 (2011.03.29 Ahn)
- sexage = ds_main_paminfo.getColumn(0, "sex") + "/" + ds_main_paminfo.getColumn(0, "age");
- patnm = ds_main_paminfo.getColumn(0, "hngnm2");
- age = ds_main_paminfo.getColumn(0, "age");
- }
- // 응급실일 경우 (2011.03.14 Ahn)
- fGetWardChngInfo("Y", wardcd, sectioncd);
- //상단정보있을때 병동, 병실, 환자명, pid 세팅
- if( !utlf_isNull(pid)){
- opt_pid.value = pid;
- // 추가 (2011.03.29 Ahn)
- opt_sexage.value = sexage;
- opt_patnm.value = patnm;
- opt_age.value = age;
-
- //상단환자가 퇴원환자일경우
- if( ds_main_paminfo.getColumn(0, "dschdd") != "99991231"){
- fGetICUList(); //중환자실리스트 조회
- fSetICUInOutFlag(pid, wardcd); //중환자실당일입퇴실여부
-
- ds_cond.setColumn(0, "patnm", patnm );
- ds_cond.setColumn(0, "sexage", sexage );
- ds_cond.setColumn(0, "age", age );
-
- //수행일시 초기화값 세팅
- ds_cond.setColumn(0, "execdd", utlf_getCurrentDate());
- ds_cond.setColumn(0, "exectm", utlf_getCurrentTime().substring(0, 4));
- ds_cond.setColumn(0, "execnm", sysf_getUserInfo("usernm"));
-
- xRecMasterPathDS.clearData(); //기록마스터리셋
- ds_main_recpntlist.clearData(); //상세점수리셋
- ds_main_recdetailgruplist.clearData(); //상세내역리셋
- fSearchPatList();//pid가 입력된 경우에는 중증도내역, 상세점수, 상세내역 모두조회
- return;
- } else {
- //20080827 dhkim 추가
- fGetICUList(); //중환자실리스트 조회
- fSetICUInOutFlag(pid, wardcd); //중환자실당일입퇴실여부
- }
- }
- //if(eERFLAG == "Y"){
- fGetWard(); //병동 조회
- ds_cond.setColumn(0, "wardcd", wardcd);
- fGetRoom(); //병실 검색
- fmisetting(); //내환자 세팅 조회
- if(eERFLAG == "Y"){ // 응급실 환자 조회 (2011.03.15 Ahn)
- fGetCareComPatList(group5.cmb_ward.value, group5.cmb_room.value, group5.cmb_zone.value);
- } else {
- fGetPatient(); //환자검색
- }
- //}else{
- //}
- //수행일시 초기화값 세팅
- ds_cond.setColumn(0, "execdd", utlf_getCurrentDate());
- ds_cond.setColumn(0, "exectm", utlf_getCurrentTime().substring(0, 4));
- ds_cond.setColumn(0, "execnm", sysf_getUserInfo("usernm"));
- xRecMasterPathDS.clearData(); //기록마스터리셋
- ds_main_recpntlist.clearData(); //상세점수리셋
- ds_main_recdetailgruplist.clearData(); //상세내역리셋
- fSearchPatList(); //pid가 입력된 경우에는 중증도내역, 상세점수, 상세내역 모두조회
- }
- function cf_TRMNW00001(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /**
- * 20080820
- * 분류가 선택될때마다 hidden으로 분류군정보를 로드함(인증저장시 필요함)
- */
- function fLoadBsPnt(totpnt){
- var clsflag = ds_cond.getColumn(0, "clsflag"); //분류구분
- var execdt = ds_cond.getColumn(0, "execdd"); //기록일자
- var maddchk01 = ds_cond.getColumn(0, "maddchk01");
- var maddchk02 = ds_cond.getColumn(0, "maddchk02");
- var maddchk03 = ds_cond.getColumn(0, "maddchk03");
- var maddchk04 = ds_cond.getColumn(0, "maddchk04");
- var haddchk = ds_cond.getColumn(0, "haddchk");
- var haddchk01 = ds_cond.getColumn(0, "haddchk01");
-
- var haddchk02 = ds_cond.getColumn(0, "haddchk02");
- var haddchk03 = ds_cond.getColumn(0, "haddchk03");
- var maddchk05 = ds_cond.getColumn(0, "maddchk05");
- var maddchk06 = ds_cond.getColumn(0, "maddchk06");
-
- var dinfo = maddchk01+maddchk02+maddchk03+maddchk04+haddchk+haddchk01+haddchk02+haddchk03+maddchk05+maddchk06;
- if( ds_cond.getColumn(0, "agechk") == "Y" ){
- bspntnm = instUseYNcdnm
- return bspntnm;
- }else {
- ds_send.clear();
- ds_send.addColumn("clsflag", "string", 256);
- ds_send.addColumn("execdt", "string", 256);
- ds_send.addColumn("totpnt", "string", 256);
- ds_send.addColumn("dinfo", "string", 256);
- var iRow = ds_send.addRow();
-
- ds_send.setColumn(iRow, 'clsflag', clsflag);
- ds_send.setColumn(iRow, 'execdt', execdt);
- ds_send.setColumn(iRow, 'totpnt', totpnt);
- ds_send.setColumn(iRow, 'dinfo', dinfo);
-
- var oParam = {};
- oParam.id = "TRMNW04014";
- oParam.service = "carerecapp.AsesRec";
- oParam.method = "reqGetMySignclsgrupkind";
- oParam.inds = "refCond=ds_send";
- oParam.outds = "ds_hidden_bspntinfo=bspntinfo";
- oParam.async = false;
- oParam.callback = "cf_TRMNW04014";
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TRMNW04014") > -1 ){
- var bspntnm = ds_hidden_bspntinfo.getColumn(0, 'bspntnm');
- return bspntnm;
- }else{
- sysf_messageBox('중증군조회를', 'E009');
- return;
- }
-
- }
- }
- function cf_TRMNW04014(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /**
- * @author : dhkim
- * @create : 20080829
- * @desc :해당환자가 중환자실당일입실환자인지,
- 당일퇴실환자인지 여부에 따라 조회조건의 중증도 구분을 변경
- 1.중환자실환자인지 체크
- 2.중환자실 당일퇴실환자인지 체크(퇴원예고포함)
- 해당환자면 조회조건의 중증도구분을 중환자실퇴실로 선택상태변경
- 3.중환자실 당일입실환자인지 체크
- 해당환자면 조회조건의 중증도구분을 중환자실입실로 선택상태변경
- */
- function fSetICUInOutFlag(pid, wardcd){
- var icuYn = 'N';
- /*
- //중환자실 환자인지 여부를 조회
- for(var i = 0; i < icuArr.length; i++){
- if(wardcd == icuArr[i]){
- icuYn = 'Y';
- break;
- }
- }
- */
- //중증도 기록에서 사용하는 부서코드 조회_20090414_SMY추가
- for( var i = 0; i < ds_init_icucdgrup.rowcount; i++ ){
- if( wardcd == ds_init_icucdgrup.getColumn(i, "wardcd") && ds_init_icucdgrup.getColumn(i, "clsflag") == '4'){
- icuYn = 'Y';
- break;
- }
- }
- //중환자실 환자일경우만 입퇴실여부체크
- if(icuYn == 'Y'){
- //입실, 퇴실여부
- ds_send.clear();
- ds_send.addColumn("pid", "string", 256);
- ds_send.addColumn("wardcd", "string", 256);
- var iRow = ds_send.addRow();
-
- ds_send.setColumn(iRow, 'pid', pid);
- ds_send.setColumn(iRow, 'wardcd', wardcd);
- var oParam = {};
- oParam.id = "TRMNW04015";
- oParam.service = "carerecapp.AsesRec";
- oParam.method = "reqGetICUYN";
- oParam.inds = "refCond=ds_send";
- oParam.outds = "ds_hidden_icuinoutinfo=icuinoutinfo";
- oParam.async = false;
- oParam.callback = "cf_TRMNW04015";
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TRMNW04015") > -1 ){
- /*
- var icuOutYn = model.getValue('/root/hidden/icuinout/icuinoutinfo/outyn');
- var icuInYn = model.getValue('/root/hidden/icuinout/icuinoutinfo/inyn');
- if(icuOutYn == 'Y'){
- model.setValue('/root/cond/clsflag', '7');//중환자실퇴실
- }else if(icuInYn == 'Y'){
- model.setValue('/root/cond/clsflag', '6');//중환자실입실
- }else{
- model.setValue('/root/cond/clsflag', '4');//중환자실
- }
- */
- ds_cond.setColumn(0, 'clsflag', '4');//중환자실
- }
- }
- }
- function cf_TRMNW04015(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /**
- * @author : dhkim
- * @create : 20080827
- * @desc : 병동리스트중 중환자실리스트만 조회해 hidden시킴.
- * 중환자실 구분 없음.. 하드코딩 .. → '3060100000','3060200000','3060300000','3060400000','3060600000'
- */
- function fGetICUList(){
- var wardCnt = ds_hidden_wardcdgruplist.rowcount;//ward list 노드 갯수
- var wardcd, wardnm ;
- // model.removenode('/root/temp/signdata/recpntgrup/recpntlist');
- // model.makeNode('/root/temp/signdata/recpntgrup/recpntlist');
- var nodeCnt = 0;
- /*
- for(var j = 0; j < icuArr.length; j++){
- for(var i = 1; i <= wardCnt; i++){
- wardcd = model.getValue('/root/hidden/wardcdgrup/wardcdgruplist[' + i + ']/wardcd');
- wardnm = model.getValue('/root/hidden/wardcdgrup/wardcdgruplist[' + i + ']/wardnm');
- if(wardcd == icuArr[j]){
- nodeCnt += 1;
- model.makeValue('/root/hidden/icucdgrup/icucdgruplist[' + nodeCnt + ']/cd', wardcd);
- model.makeValue('/root/hidden/icucdgrup/icucdgruplist[' + nodeCnt + ']/nm', wardnm);
- }
- }
- }
- */
- //중증도 기록에서 사용하는 부서코드 조회_20090414_SMY추가
- for( var j = 0; j < ds_init_icucdgrup.rowcount; j++ ){
- for( var i = 0; i < wardCnt; i++){
- wardcd = ds_hidden_wardcdgruplist.getColumn(i, 'wardcd');
- wardnm = ds_hidden_wardcdgruplist.getColumn(i, 'wardnm');
- if( wardcd == ds_init_icucdgrup.getColumn(j, "wardcd") && ds_init_icucdgrup.getColumn(j, "clsflag") == '4'){
- var iRow = ds_hidden_icucdgrup.addRow();
- ds_hidden_icucdgrup.setColumn(iRow, 'cd', wardcd);
- ds_hidden_icucdgrup.setColumn(iRow, 'nm', wardnm);
- }
- }
- }
- }
- /**
- * @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( var i = 0; i < ds_init_icucdgrup.rowcount; i++){
- if( wardcd == ds_init_icucdgrup.getColumn(i, "wardcd") && ds_init_icucdgrup.getColumn(i, "clsflag") == '4'){
- ret = true;
- return true;
- }
- }
- return ret;
- }
- /**
- * @author : dhkim
- * @desc : 병동값 value changed 됐을때 병동별 분류구분 라디오버튼 변경(default)
- */
- function fChangeWardByRadio(wardcd){
- /*
- var clsflag = '1';
- switch (wardcd){
- case "3050122000" : clsflag = "5" ; break; //10층동병동(정신과병동)
- case "2110201000" : clsflag = "2" ; break; //신생아중환자실(신생아ICU)
- case "3060000000" : clsflag = "4" ; break; //중환자실
- case "3060600000" : clsflag = "4" ; break; //2층중환자실
- case "3060400000" : clsflag = "4" ; break; //순환기계중환자실
- case "3060300000" : clsflag = "4" ; break; //신경외과중환자실
- case "3060200000" : clsflag = "4" ; break; //외과중환자실
- case "3060100000" : clsflag = "4" ; break; //내과중환자실
- default : clsflag = "1" //default는 일반병동임.
- }
- */
- //중증도 기록에서 사용하는 부서코드 조회_20090414_SMY추가
- var clsflag = "1";
- for( var i = 0; i < ds_init_icucdgrup.rowcount; i++){
- if( wardcd == ds_init_icucdgrup.getColumn(i, "wardcd")){ // 중환자실이면
- if( wardcd == ds_init_icucdgrup.lookup("cdgrupid", "052", "cdid")){ // 신생아중환자실이면
- clsflag = '2';
- } else {
- clsflag = ds_init_icucdgrup.getColumn(i, "clsflag");
- }
- }
- }
-
- if( clsflag == '1' ) {
- if( wardcd == ds_code_codelist.lookup("cdgrupid", "W02", "cdid")){ // 302병동이면
- clsflag = '5'
- } else if( wardcd == ds_code_codelist.lookup("cdgrupid", "055", "cdid")){ // 인공신장실이면
- clsflag = '3'
- } else {
- clsflag = '1';
- }
- }
-
- //인공신장실에서 메뉴 띄울 경우 혈액투석 셋팅_20090211_SMY추가
- //인공신장실 혈액투석간호기록에서 화면 연동시 parma추가-kys-20100412
- if( frmf_getMenuParam() == "SMMND" || opener.frmf_getParameter("SMMND00700_param_dial") == "dialrec"){
- clsflag = "3";
- }
-
- ds_cond.setColumn(0, 'recflag', '1');
- ds_cond.setColumn(0, 'clsflag', clsflag);
- }
- /**
- * @group :
- * @ver : 2007.12.04
- * @by : 신혁춘
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 중증도 병동 검색
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fGetWard(){
- ds_send.clear();
- //병동 조회
- var oParam = {};
- oParam.id = "TRMNW04003";
- oParam.service = "carerecapp.AsesRec";
- oParam.method = "reqGetWardList";
- oParam.inds = "refCond=ds_send";
- oParam.outds = "ds_hidden_wardcdgruplist=wardcdgruplist";
- oParam.async = false;
- //oParam.callback = "cf_TRMNW04003";
- tranf_submit(oParam);
- }
- /**
- * @group :
- * @ver : 2007.12.04
- * @by : 신혁춘
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 중증도 병실 검색
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fGetRoom(flag){
- ds_send.clear();
- ds_send.addColumn("wardcd", "string", 256);
- var iRow = ds_send.addRow();
-
- ds_send.setColumn(iRow, "wardcd", ds_cond.getColumn(0, "wardcd"));
- var setchk = ds_cond.getColumn(0, "settingrnid");
-
- //병실 조회
- var oParam = {};
- oParam.id = "TRMNW04008";
- oParam.service = "carerecapp.AsesRec";
- oParam.method = "reqGetRoomList";
- oParam.inds = "refCond=ds_send";
- oParam.outds = "ds_hidden_roomcdgruplist=roomcdgruplist";
- oParam.async = false;
- //oParam.callback = "cf_TRMNW04008";
- tranf_submit(oParam);
-
- dsf_addDsItem(ds_hidden_roomcdgruplist, "roomcd", "roomnm", "전체", "", "above");
- }
- /**
- * @group :
- * @ver : 2007.12.04
- * @by : 신혁춘
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 중증도 환자 검색
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fGetPatient(){
- ds_send.clear();
- ds_send.addColumn("wardcd", "string", 256);
- ds_send.addColumn("roomcd", "string", 256);
- ds_send.addColumn("pid", "string", 256);
- var iRow = ds_send.addRow();
-
- ds_send.setColumn(iRow, "wardcd", ds_cond.getColumn(0, "wardcd"));
- ds_send.setColumn(iRow, "roomcd", ds_cond.getColumn(0, "roomcd"));
- ds_send.setColumn(iRow, "pid", ds_cond.getColumn(0, "pid"));
-
- //환자 조회
- var oParam = {};
- oParam.id = "TRMNW04009";
- oParam.service = "carerecapp.AsesRec";
- oParam.method = "reqGetPatientListCombo";
- oParam.inds = "refCond=ds_send";
- oParam.outds = "ds_data_patientgruplist=patientgruplist";
- oParam.async = false;
- //oParam.callback = "cf_TRMNW04009";
- tranf_submit(oParam);
- }
- /**
- * @ver : 2008.06.20
- * @author : dhkim
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @param :
- * @return :
- * @desc : 그리드 환자정보 리스트 조회
- * @---------------------------------------------------
- */
- function fSearchPatList(flag){
- var wardcd = ds_cond.getColumn(0, "wardcd");
- var roomcd = ds_cond.getColumn(0, "roomcd");
- var pid = "";
- var sWardcd = ds_cond.getColumn(0, "wardcd"); //181108_AYS_조회버튼 클릭 시_중증도 구분항목 자동선택(특수병동 302, NICU 등)
-
- if(flag != "Srch"){
- if(eERFLAG=="Y"){ // 응급실 (2011.03.15 Ahn)
- pid = group5.cmb_erpat.value;
- }else{
- pid = ds_cond.getColumn(0, "pid");
- }
- }
-
- var onlyPatSrch = "N";
- if (flag == "Srch"){
- // 구분 값 동기화 조회구분 -> 라디오구분(2011.04.01 Ahn)
- var recsrchflag = ds_cond.getColumn(0, 'recsrchflag');
- var selRecFlag = fGetMinSrchFlag(recsrchflag); // 분류구분 중 우선순위 값 가져오기
- if(selRecFlag == 1){
- //ds_cond.setColumn(0, "clsflag", 1);
- ds_cond.setColumn(0, "recflag", 1);
-
- //181108_AYS_조회버튼 클릭 시_중증도 구분항목 자동선택(특수병동 302, NICU 등)
- if( sWardcd == ds_code_codelist.lookup("cdgrupid", "W02", "cdid")){ // (본원)302병동이면
- ds_cond.setColumn(0, "clsflag", '5');
- } else if( sWardcd == ds_code_codelist.lookup("cdgrupid", "055", "cdid")){ // 인공신장실이면
- ds_cond.setColumn(0, "clsflag", '3');
- } else {
- ds_cond.setColumn(0, "clsflag", '1');
- }
-
- } else if(selRecFlag == 2){
- ds_cond.setColumn(0, "clsflag", 9);
- ds_cond.setColumn(0, "recflag", 2);
- } else if(selRecFlag == 3){
- ds_cond.setColumn(0, "clsflag", 10);
- ds_cond.setColumn(0, "recflag", 3);
- } else if(selRecFlag == 4) {
- ds_cond.setColumn(0, "clsflag", 11);
- ds_cond.setColumn(0, "recflag", 4);
- } else {
- ds_cond.setColumn(0, "clsflag", "");
- onlyPatSrch = "Y";
- }
-
- }else if (flag == "Sel"){
- // 구분 값 동기화 라디오 구분 -> 조회구분
- var selClsFlag = ds_cond.getColumn(0, 'clsflag');
- if(parseInt(selClsFlag) < 8){
- ds_cond.setColumn(0, "recsrchflag", 1);
- ds_cond.setColumn(0, "recflag", 1);
- group5.rdo_recflag.setCheckAll(false);
- fn_setRecsrchflag();
- //recflag = "1";//중증도
- }else if(parseInt(selClsFlag) >= 8 && parseInt(selClsFlag) < 10){
- ds_cond.setColumn(0, "recsrchflag", 2);
- ds_cond.setColumn(0, "recflag", 2);
- group5.rdo_recflag.setCheckAll(false);
- fn_setRecsrchflag();
- //recflag = "2";//낙상
- }else if(parseInt(selClsFlag) == 10){
- ds_cond.setColumn(0, "recsrchflag", 3);
- ds_cond.setColumn(0, "recflag", 3);
- group5.rdo_recflag.setCheckAll(false);
- fn_setRecsrchflag();
- //recflag = "3";//욕창
- }else if(parseInt(selClsFlag) == 11){
- ds_cond.setColumn(0, "recsrchflag", 4);
- ds_cond.setColumn(0, "recflag", 4);
- group5.rdo_recflag.setCheckAll(false);
- fn_setRecsrchflag();
- }
- }
-
- var clsflag = ds_cond.getColumn(0, 'clsflag');
- var recflag = ds_cond.getColumn(0, 'recflag');
- var settingrnid = ds_cond.getColumn(0, 'settingrnid');//내환자
- //20080820 주석처리
- //var bloodioflag = model.getValue('/root/cond/bloodioflag');//혈액투석외래입원구분 2008.08.07 dhkim 추가
- //default 세팅
- if( utlf_isNull(wardcd) ){
- //wardcd = ""; //20090319_SMY_주석처리함
- }
- if( utlf_isNull(recflag) ){
- recflag = '1';
- }
- if( utlf_isNull(clsflag) ){
- clsflag = '1';
- }
- //캡션을 라디오 구분에 따라 변경
- fChangeCaption(clsflag);
- //환자정보 그리드의 컬럼을 라디오구분에 따라 변경
- fChangeGridColumn(clsflag);
- //혈액투석선택일 경우 조회조건clear
- if(clsflag == '3'){
- wardcd = '';
- roomcd = '';
- //pid = '';
- /* 20080820 주석처리
- if(bloodioflag == ''){
- bloodioflag = 'I';//default
- model.setValue('/root/cond/bloodioflag', bloodioflag);
- }
- */
- }
- //선택된 분류구분 라디오버튼 코드에 따라 실제 입력할 clsflag, recflag 값을 설정해준다.
- if(Number(clsflag) < 8){
- recflag = '1';//중증도
- }else if(Number(clsflag) >= 8 && Number(clsflag) < 10){
- recflag = '2';//낙상
- if( ds_cond.getColumn(0, "agechk") == "Y" ){
- ds_cond.getColumn(0, "agechk", "N" );
- }
-
- }else if(Number(clsflag) == 10){
- recflag = '3';//욕창
- }else if(Number(clsflag) == 11){ // 통증 추가 (2011.03.31 Ahn)
- recflag = '4';//통증
- }else{
- recflag = '1';//default
- }
- //조회조건의 recflag, clsflag값을 재설정한다.
- ds_cond.setColumn(0, 'wardcd', wardcd);
- ds_cond.setColumn(0, 'roomcd', roomcd);
- //조회전 instance 설정
- ds_send.clear();
- ds_send.copyData(ds_cond);
-
- var cretno = "";
- var dschdd ="";
- if ( !utlf_isNull(pid) && pid == ds_main_paminfo.getColumn(0, "pid") ){
- cretno = ds_main_paminfo.getColumn(0, "cretno");
- dschdd = ds_main_paminfo.getColumn(0, "dschdd")
- }else if( !utlf_isNull(pid) && !utlf_isNull(ds_data_patientgruplist.lookup("pid", pid, "dschdd") ) ){
- cretno = ds_data_patientgruplist.findRow("pid", pid, "cretno")
- dschdd = ds_data_patientgruplist.findRow("pid", pid, "dschdd");
- }else {
- dschdd = "99991231";
- }
-
- ds_send.addColumn("cretno", "string", 256);
- ds_send.addColumn("dschdd", "string", 256);
-
- ds_send.setColumn(0, 'cretno', cretno);
- ds_send.setColumn(0, 'dschdd', dschdd);
- ds_main_patinfo.clearData();
-
- //중증마스터, 상세점수, 상세내역, 상세설명의 현재instance를 remove한다.
- ds_main_recgruplist.clearData();
- ds_main_recinfo.clearData();
-
- ds_main_recpntlist.clearData();
- ds_main_pnttitlgruplist.clearData();
- ds_main_tar_desccnts.setColumn(0, "tar_desccnts", "");
- // 응급실 환자정보 flag 삽입 (2011.03.15 ahn)
- ds_send.addColumn("erflag", "string", 256);
- ds_send.setColumn(0, 'erflag', eERFLAG);
-
- // 응급실 환자 구역정보 삽입 (2011.03.15 ahn)
- ds_send.addColumn("zonecd", "string", 256);
- ds_send.setColumn(0, 'zonecd', group5.cmb_zone.value);
-
- grdf_clearSort(grd_patinfo);
-
- //환자정보 그리드 리스트 조회
- var oParam = {};
- oParam.id = "TRMNW04004";
- oParam.service = "carerecapp.AsesRec";
- oParam.method = "reqGetPatientList";
- oParam.inds = "refCond=ds_send";
- oParam.outds = "ds_main_patinfo=patlist";
- oParam.async = false;
- oParam.callback = "cf_TRMNW04004";
- tranf_submit(oParam);
- if( arErrorCode.pop("TRMNW04004") < 0 ){
- sysf_messageBox('환자정보 조회를', 'E009');//실패하였습니다.
- return;
- }else{
- //기록마스터리셋
- xRecMasterPathDS.clearData();
- //상세점수리셋
- ds_main_recpntlist.clearData();
- //상세내역리셋
- ds_main_recdetailgruplist.clearData();
-
- //2008.08.05 dhkim 추가
- //pid가 입력된 경우에는 환자정보에 해당 pid의 환자에 포커스 이동과 동시에 중증도 내역 자동조회
- if( !utlf_isNull(pid) ){
- for( var i = 0; i < ds_main_patinfo.rowcount; i++ ){
- if( ds_main_patinfo.getColumn(i, 'pid') == pid ){
- grd_patinfo.row = i+1;
- break;
- }
- }
-
- // 조회구분이 아무것도 선택되지 않은 경우
- if(onlyPatSrch != "Y"){
- //중증도/낙상/욕창 내역 조회(grd_recmaster)
- fSearchRecMaster(ds_main_patinfo.rowposition, recflag);
- }
- }
- }
-
- // 그리드 재구성 (2011.03.30 Ahn)
- fSetPatGrid("ds_main_patinfo", "grd_patinfo", "Pat");
-
- if( !utlf_isNull(pid)){
- if( dschdd != "99991231"){
- //otp_dsch.visible = true;
- group5.cmb_pid.visible = false;
- group5.cmb_ward.enable = false;
- group5.cmb_room.enable = false;
- group5.cmb_erpat.visible = false;
- }
- }
-
- /*
- // 환자가 한명일 경우 row 선택 해제 (색깔 관련)
- if(grd_patinfo.row == 2){
- grd_patinfo.row = 0;
- }
- */
- }
- function cf_TRMNW04004(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- ds_main_patinfo.addColumn("chk", "string");
- //ds_main_patinfo.addColumn("color", "string");
- }
- /**
- * @group :
- * @ver : 2007.12.05 신혁춘
- * 2008.06.09 dhkim 수정
- * @by : dhkim
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @param : curRow - 현재 선택된 그리드의 행 인덱스, pFlag : save 저장후 재조회할경우 상단 수행일자는 첫번째행의 날짜로 세팅한다.
- * @return :
- * @desc : 환자정보 그리드 더블클릭 이벤트 발생시 호출됨
- * 중증도 구분에 따른 중증도/낙상/욕창 내역 조회
- * [임의 코드 부여 clsflag]
- * (1) 중증도 구분
- * 1: 일반병동
- * 2: 신생아 ICU
- * 3: 혈액투석
- * 4: 중환자실
- * 5: 정신과병동
- * 10: 중환자실입실(실제 flag는 4(중환자실)로 넘기나 당일 중환자실 입실환자만 조회
- * 11: 중환자실퇴실(실제 flag는 4(중환자실)로 넘기나 당일 중환자실 퇴실환자만 조회
- * (2) 낙상위험사정구분
- * 7: 소아
- * 8: 성인 -> Morse Scale
- * (3) 욕창위험사정구분 (욕창 -> Braden Scale)
- * 9: 욕창(욕창위험사정구분)
- *
- * *2008.08.05 dhkim 추가
- * 해당환자의 입원일자 이전으로 수행일자를 기록하려고 할때에는 blocking처리
- * @---------------------------------------------------
- */
- function fSearchRecMaster(curRow,pFlag){
- //혈액투석의 경우 입원환자 더블클릭 할때에 조회조건에 기본 조회값을 세팅해야함.
- //혈액투석의 경우 외래환자 더블클릭은 조회조건 비활성화
- var clsflag = ds_cond.getColumn(0, 'clsflag');//분류구분
- var recflag = ds_cond.getColumn(0, 'recflag');//기록구분
- var ioflag = ds_main_patinfo.getColumn(curRow, "ioflag"); //외래/입원구분
- var pid = ds_main_patinfo.getColumn(curRow, "pid"); //등록번호
- var indd = ds_main_patinfo.getColumn(curRow, "indd"); //입원일자
- var histstat = ds_main_patinfo.getColumn(curRow, "histstat"); //이력상태
- var cretno = ds_main_patinfo.getColumn(curRow, "cretno"); //생성번호
- var seqno = ds_main_patinfo.getColumn(curRow, "seqno"); //이력번호
- var hngnm = ds_main_patinfo.getColumn(curRow, "hngnm"); //환자명
-
- var execdd = ds_cond.getColumn(0, 'execdd'); //수행일자
- var exectm = ds_cond.getColumn(0, 'exectm'); //수행시간
- if( utlf_isNull(execdd) ){
- execdd = utlf_getCurrentDate();
- }
- if( utlf_isNull(exectm) ){
- exectm = utlf_getCurrentTime().substring(0, 4);
- }
- //20081014 i/o조건값 cond 노드에 setting
- ds_cond.setColumn(0, 'ioflag', ioflag);
- //혈액투석외래환자의 경우 조회조건을 비활성화 처리
- fDisabledSearchArea(clsflag, ioflag);
- /********************************************************
- //화면 오픈시 상단에 환자 셋팅하지 않은 경우 저장 후에도 환자정보가 전체리스트로 조회되어야 함_중증도 조회조건에 셋팅하지 않음_20090211_SMY
- if(clsflag == '3'){
- //혈액투석외래환자의 경우 조회조건에 pid만 세팅, 입원환자의 경우 wardcd, roomcd, pid 세팅
- fSetSearchCondition(clsflag, ioflag);//조회조건 세팅
- }
- **********************************************************/
- //중증도 마스터내역을 조회한다.
- ds_send.clear();
- ds_send.addColumn("clsflag", "string", 256);
- ds_send.addColumn("recflag", "string", 256);
- ds_send.addColumn("execdd", "string", 256);
- ds_send.addColumn("exectm", "string", 256);
- ds_send.addColumn("pid", "string", 256);
- ds_send.addColumn("indd", "string", 256);
- ds_send.addColumn("histstat", "string", 256);
- ds_send.addColumn("cretno", "string", 256);
- ds_send.addColumn("seqno", "string", 256);
- ds_send.addColumn("hngnm", "string", 256);
- ds_send.addColumn("ioflag", "string", 256);
- var iRow = ds_send.addRow();
-
- ds_send.setColumn(iRow, "clsflag", clsflag);
- ds_send.setColumn(iRow, "recflag", recflag);
- ds_send.setColumn(iRow, "execdd", execdd);
- ds_send.setColumn(iRow, "exectm", exectm);
- ds_send.setColumn(iRow, "pid", pid);
- ds_send.setColumn(iRow, "indd", indd);
- ds_send.setColumn(iRow, "histstat", histstat);
- ds_send.setColumn(iRow, "cretno", cretno);
- ds_send.setColumn(iRow, "seqno", seqno);
- ds_send.setColumn(iRow, "hngnm", hngnm);
- ds_send.setColumn(iRow, "ioflag", ioflag);
-
- // 조회구분 추가 (2011.03.31 Ahn)
- var recsrchflag = ds_cond.getColumn(0, "recsrchflag");
- ds_send.addColumn("recsrchflag", "string", 256);
- ds_send.setColumn(iRow, "recsrchflag", recsrchflag);
-
- // 분류구분 중 우선순위 값 가져오기 (2011.03.31 ahn)
- var selRecFlag = fGetMinSrchFlag(recsrchflag);
- ds_send.addColumn("selrecflag", "string", 256);
- ds_send.setColumn(iRow, "selrecflag", selRecFlag);
-
- ds_main_recgruplist.clearData();
- ds_main_recinfo.clearData();
- //상세점수, 상세내역, 상세설명의 현재instance를 remove한다.
- ds_main_recpntlist.clearData();
- ds_main_pnttitlgruplist.clearData();
- ds_main_recdetailgruplist.clearData();
- ds_main_tar_desccnts.setColumn(0, "tar_desccnts", "");
- //중증도내역 마스터 조회 후 기록정보 조회
- var oParam = {};
- oParam.id = "TRMNW04011";
- oParam.service = "carerecapp.AsesRec";
- oParam.method = "reqGetRecListFlagSelect";
- oParam.inds = "refCond=ds_send";
- oParam.outds = "ds_main_recinfo=recinfo ds_main_recgruplist=recgruplist";
- oParam.async = false;
- oParam.callback = "cf_TRMNW04011";
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TRMNW04011") < 0 ){
- sysf_messageBox('중증도내역의 조회를', 'E009');
- return;
- } else {
- //조회갯수 0일때 조회 후 수행일자, 수행시간, 최근 저장일을 세팅
- //var execdd = model.getValue('/root/cond/execdd');
- var execdd = ds_cond.getColumn(0, 'copyexecdd');
- var exectm = ds_cond.getColumn(0, 'exectm');
-
- if(pFlag != "4"){
- //중증도 마스터를 조회후 수행일자에 해당하는 내역이 없으면 행추가, 있으면 해당 row select
- fSetRecMaster(exectm, execdd, pFlag);
-
- //환자정보에 선택한 로우정보 set
- //grd_patinfo.row = curRow;
- //grd_patinfo.topRow = curRow;
-
- //중증도 상세점수조회
- fSearchRecPnt();
- }
- }
- }
- function cf_TRMNW04011(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /************************************************************************************************************************
- * 중증도 마스터를 조회후 가장 우선수행일자, 기록순번에 해당하는 내역이 없으면 행추가, 있으면 해당 row select
- ************************************************************************************************************************/
- function fSetRecMaster(exectm, execdd, pFlag){
- //trace(xRecInfoDS.name);
- //trace(xRecMasterPathDS.name);
- var indx = -1;
- for( var i = 0; i < xRecMasterPathDS.rowcount; i++ ){
- if((xRecInfoDS.getColumn(0, "recflag") == xRecMasterPathDS.getColumn(i, "recflag")) &&
- (xRecInfoDS.getColumn(0, "clsflag") == xRecMasterPathDS.getColumn(i, "clsflag")) ){
- indx = i;
- break;
- }
- }
- //if(grd_recmaster.rows > 1){
- if (indx >= 0){ // 기록 내역이 존재할 경우 (2011.03.31 Ahn)
- ds_main_recgruplist.rowposition = indx;
- if ( pFlag =="save" ){
- if(ds_cond.getColumn(0, "nextyn") == 'Y'){
- ds_cond.setColumn(0, "execdd", utlf_getCurrentDate());
- } else {
- var cRow = ds_main_recgruplist.rowposition;
- ds_cond.setColumn(0, "execdd", ds_main_recgruplist.getColumn(cRow, "execdd"));
- }
- }
- } else {
- //기록된 내역이 한건도 없을때 신규행을 추가
- ds_main_recgruplist.addRow();
- fSetNewRowRecMaster();
- }
- if ( instUseYN == "Y" && grp_agechk.visible == true ){
- var curRow = xRecMasterPathDS.rowposition;
- ds_cond.setColumn(0, "agechk", xRecMasterPathDS.getColumn(curRow, "agechk"));
- }else {
- ds_cond.setColumn(0, "agechk", "N");
- }
- }
- /**
- * @group :
- * @ver : 2008.06.23
- * @by : dhkim
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 기록마스터에 행추가후 값 세팅
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetNewRowRecMaster(){
- var curRow = ds_main_recgruplist.rowposition;
- xRecMasterPathDS.setColumn(curRow, "execdd", ds_cond.getColumn(0, 'execdd'));//수행일자
- xRecMasterPathDS.setColumn(curRow, "exectm", ds_cond.getColumn(0, 'exectm'));//수행시간
-
- if( xRecInfoDS.getColumn(0, 'recflag') == '1') var recflagnm = "중증도";
- else if ( xRecInfoDS.getColumn(0, 'recflag') == '2') var recflagnm = "낙상";
- else if ( xRecInfoDS.getColumn(0, 'recflag') == '3') var recflagnm = "욕창";
- else if ( xRecInfoDS.getColumn(0, 'recflag') == '4') var recflagnm = "통증";
-
- xRecMasterPathDS.setColumn(curRow, 'recflagnm', recflagnm);//기록 분류구분명 추가 (2011.04.01 Ahn)
- xRecMasterPathDS.setColumn(curRow, 'totpnt', 0); //총점
- xRecMasterPathDS.setColumn(curRow, 'execnm', sysf_getUserName());//수행자명
- xRecMasterPathDS.setColumn(curRow, 'pid', xRecInfoDS.getColumn(0, 'pid'));//등록번호
- xRecMasterPathDS.setColumn(curRow, 'hngnm', xRecInfoDS.getColumn(0, 'hngnm'));//환자명
- xRecMasterPathDS.setColumn(curRow, 'recflag', xRecInfoDS.getColumn(0, 'recflag'));//기록구분
- xRecMasterPathDS.setColumn(curRow, 'clsflag', xRecInfoDS.getColumn(0, 'clsflag'));//분류구분
- xRecMasterPathDS.setColumn(curRow, 'execkind', 0);//분류구분
- xRecMasterPathDS.setColumn(curRow, 'execid', sysf_getUserId());//수행자ID
- xRecMasterPathDS.setColumn(curRow, 'indd', xRecInfoDS.getColumn(0, 'indd'));//입원일자
- xRecMasterPathDS.setColumn(curRow, 'histstat', xRecInfoDS.getColumn(0, 'histstat'));//이력상태
- xRecMasterPathDS.setColumn(curRow, 'cretno', xRecInfoDS.getColumn(0, 'cretno'));//생성번호
- xRecMasterPathDS.setColumn(curRow, 'seqno', xRecInfoDS.getColumn(0, 'seqno'));//이력일련번호
- xRecMasterPathDS.setColumn(curRow, 'stat', 'i');//그리드상태
- xRecMasterPathDS.setColumn(curRow, 'agechk', 'N');//그리드상태
- }
- /**
- * @group :
- * @ver : 2007.12.06
- * @by : 신혁춘
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 상세점수조회 셋팅
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSearchRecPnt(selflag){
-
- ds_cond.setColumn(0, "maddchk01","");
- ds_cond.setColumn(0, "maddchk02","");
- ds_cond.setColumn(0, "maddchk03","");
- ds_cond.setColumn(0, "maddchk04","");
- ds_cond.setColumn(0, "haddchk","");
- ds_cond.setColumn(0, "maddchk99","");
- ds_cond.setColumn(0, "haddchk01","");
- ds_cond.setColumn(0, "haddchk02","");
- ds_cond.setColumn(0, "haddchk03","");
- ds_cond.setColumn(0, "maddchk05","");
- ds_cond.setColumn(0, "maddchk06","");
- var curRow = ds_main_recgruplist.rowposition;
- var clsflag = "";
- var recflag = "";
-
- if(selflag == "Sel"){
- clsflag = ds_main_recgruplist.getColumn(curRow, 'clsflag');
- recflag = ds_main_recgruplist.getColumn(curRow, 'recflag');
- if(recflag == '1'){
- ds_cond.setColumn(0, "clsflag", clsflag); // 중증도구분 중 선택
- }else if((recflag == '2') && (clsflag == '2')){
- ds_cond.setColumn(0, "clsflag", 9); // 낙상 - Morse Scale 선택
- }else if((recflag == '2') && (clsflag == '1')){
- ds_cond.setColumn(0, "clsflag", 8); // 낙상 - Humpty Dumpty 선택
- }else if((recflag == '3') && (clsflag == '1')){
- ds_cond.setColumn(0, "clsflag", 10); // 욕창 선택
- }else if(recflag == '4'){
- sysf_messageBox('통증관리기록 메뉴를 사용하십시오', 'I');
- return;
- }
-
- fChangeCaption(ds_cond.getColumn(0, "clsflag")); // 선택된 구분으로 캡션 변경 (2011.04.19 ahn)
-
- //중증도 상세점수 조회처리시 오류 수정
- //clsflag = ds_main_recinfo.getColumn(0, "clsflag");
- //recflag = ds_main_recinfo.getColumn(0, "recflag");
- } else {
- clsflag = ds_main_recinfo.getColumn(0, "clsflag");
- recflag = ds_main_recinfo.getColumn(0, "recflag");
- }
-
- // 상단 라디오 선택
- //마스터가 암것도 없을때나 행추가 상태일때는 조회안하고 바로 리턴한다.
- if( ds_main_recgruplist.rowcount < 1 || ds_main_recdetailgruplist.getColumn(curRow, "stat") == "i" ){
- ds_main_recpntlist.clearData;// 중증도 상세점수 클리어
- }
-
- var maddchk01 = ds_main_recgruplist.getColumn(curRow, "maddchk01");
- var maddchk02 = ds_main_recgruplist.getColumn(curRow, "maddchk02");
- var maddchk03 = ds_main_recgruplist.getColumn(curRow, "maddchk03");
- var maddchk04 = ds_main_recgruplist.getColumn(curRow, "maddchk04");
- var haddchk = ds_main_recgruplist.getColumn(curRow, "haddchk");
- var haddchk01 = ds_main_recgruplist.getColumn(curRow, "haddchk01");
- var haddchk02 = ds_main_recgruplist.getColumn(curRow, "haddchk02");
- var haddchk03 = ds_main_recgruplist.getColumn(curRow, "haddchk03");
- var maddchk05 = ds_main_recgruplist.getColumn(curRow, "maddchk05");
- var maddchk06 = ds_main_recgruplist.getColumn(curRow, "maddchk06");
- var dinfo = maddchk01+maddchk02+maddchk03+maddchk04+haddchk+haddchk01+haddchk02+haddchk03+maddchk05+maddchk06;
-
- //중증도내역 선택했던 로우정보(수행일자)를 저장한다.
- ds_send.clear();
- ds_send.addColumn("pid", "string", 256);
- ds_send.addColumn("indd", "string", 256);
- ds_send.addColumn("cretno", "string", 256);
- ds_send.addColumn("execdd", "string", 256);
- ds_send.addColumn("recseq", "BIGDECIMAL", 256);
- ds_send.addColumn("clsflag", "string", 256);
- ds_send.addColumn("recflag", "string", 256);
- ds_send.addColumn("dinfo", "string", 256);
- var iRow = ds_send.addRow();
-
- ds_send.setColumn(iRow, "pid" ,ds_main_recgruplist.getColumn(curRow, "pid"));
- ds_send.setColumn(iRow, "indd" ,ds_main_recgruplist.getColumn(curRow, "indd"));
- ds_send.setColumn(iRow, "cretno" ,ds_main_recgruplist.getColumn(curRow, "cretno"));
- ds_send.setColumn(iRow, "execdd" ,ds_main_recgruplist.getColumn(curRow, "execdd"));
-
- ds_send.setColumn(iRow, "recseq" ,ds_main_recgruplist.getColumn(curRow, "recseq"));
- ds_send.setColumn(iRow, "clsflag" ,clsflag);
- ds_send.setColumn(iRow, "recflag" ,recflag);
- if( utlf_isNull(dinfo) ){
- dinfo = "";
- }
- ds_send.setColumn(iRow, "dinfo" ,dinfo);
-
- //상세내역, 상세설명의 현재instance를 remove한다.
- ds_main_recdetailgruplist.clearData();
- ds_main_tar_desccnts.setColumn(0, "tar_desccnts", "");
-
-
- //상세점수그리드조회
- var oParam = {};
- oParam.id = "TRMNW04007";
- oParam.service = "carerecapp.AsesRec";
- oParam.method = "reqGetRecHistPntList";
- oParam.inds = "refCond=ds_send";
- oParam.outds = "ds_main_recpntlist=recpntlist ds_main_pnttitlgruplist=pnttitlgruplist ds_main_serdiaghislist=serdiagchklist";
- oParam.async = false;
- oParam.callback = "cf_TRMNW04007";
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TRMNW04007") < 0 ){//상세점수조회
- sysf_messageBox('상세점수조회를', 'E009');
- return;
- }else{
- //상세점수그리드의 컬럼을 조회한 내역의 갯수만큼 화면에 보여준다.
- fColLqidtys();
- }
- //중증기록 detail 상세내역 그리드리스트를 조회한다.
- fSearchRecDetail();
- addchk();
- }
- function cf_TRMNW04007(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /**
- * @group :
- * @ver : 2007.12.05
- * @by : 신혁춘
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 선택된 중증도 내역에 따른 중증도 상세내역을 조회한다.
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSearchRecDetail(){
- var curRow = ds_main_recgruplist.rowposition;
- ds_main_recdetailgruplist.clearData();
-
- ds_send.clear();
- ds_send.addColumn("pid", "string", 256);
- ds_send.addColumn("cretno", "string", 256);
- ds_send.addColumn("indd", "string", 256);
- ds_send.addColumn("seqno", "string", 256);
- ds_send.addColumn("recseq", "BIGDECIMAL", 256);
- ds_send.addColumn("clsflag", "string", 256);
- ds_send.addColumn("recflag", "string", 256);
- ds_send.addColumn("execdd", "string", 256);
- ds_send.addColumn("newexecdd", "string", 256);
- var iRow = ds_send.addRow();
-
- ds_send.setColumn(iRow, "pid", xRecMasterPathDS.getColumn(curRow, "pid"));
- ds_send.setColumn(iRow, "cretno", xRecMasterPathDS.getColumn(curRow, "cretno"));
- ds_send.setColumn(iRow, "indd", xRecMasterPathDS.getColumn(curRow, "indd"));
- ds_send.setColumn(iRow, "seqno", xRecMasterPathDS.getColumn(curRow, "seqno"));
- ds_send.setColumn(iRow, "recseq", xRecMasterPathDS.getColumn(curRow, "recseq"));
- ds_send.setColumn(iRow, "clsflag", xRecMasterPathDS.getColumn(curRow, "clsflag"));
- ds_send.setColumn(iRow, "recflag", xRecMasterPathDS.getColumn(curRow, "recflag"));
- ds_send.setColumn(iRow, "execdd", xRecMasterPathDS.getColumn(curRow, "execdd"));
- ds_send.setColumn(iRow, "newexecdd", ds_cond.getColumn(0, "execdd"));
- //상세설명의 현재instance를 remove한다.
- ds_main_tar_desccnts.setColumn(0, "tar_desccnts", "");
-
- //중증도 상세내역 조회
- var oParam = {};
- oParam.id = "TRMNW04006";
- oParam.service = "carerecapp.AsesRec";
- oParam.method = "reqGetRecDetailList";
- oParam.inds = "refCond=ds_send";
- oParam.outds = "ds_main_recdetailgruplist=recdetailgruplist";
- oParam.async = false;
- oParam.callback = "cf_TRMNW04006";
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TRMNW04006") > -1 ){
- ds_temp_patinfo.copyData(ds_main_patinfo);
- ds_temp_paminfo.copyData(ds_main_paminfo);
- ds_temp_recgruplist.copyData(ds_main_recgruplist);
- ds_temp_recinfo.copyData(ds_main_recinfo);
- ds_temp_recpntlist.copyData(ds_main_recpntlist);
- ds_temp_pnttitlgruplist.copyData(ds_main_pnttitlgruplist);
- ds_temp_serdiaghislist.copyData(ds_main_serdiaghislist);
- ds_temp_recdetailgruplist.copyData(ds_main_recdetailgruplist);
- ds_temp_tar_desccnts.copyData(ds_main_tar_desccnts);
-
- //2019.03.15_낙상 조회시 해당항목 조회가능하게 수정(KDG)
- ds_cond.setColumn(0,"maddchk01",ds_main_recgruplist.getColumn(curRow,"maddchk01"));
- ds_cond.setColumn(0,"maddchk02",ds_main_recgruplist.getColumn(curRow,"maddchk02"));
- ds_cond.setColumn(0,"maddchk03",ds_main_recgruplist.getColumn(curRow,"maddchk03"));
- ds_cond.setColumn(0,"maddchk04",ds_main_recgruplist.getColumn(curRow,"maddchk04"));
- ds_cond.setColumn(0,"haddchk",ds_main_recgruplist.getColumn(curRow,"haddchk"));
- ds_cond.setColumn(0,"haddchk01",ds_main_recgruplist.getColumn(curRow,"haddchk01"));
-
- ds_cond.setColumn(0,"haddchk02",ds_main_recgruplist.getColumn(curRow,"haddchk02"));
- ds_cond.setColumn(0,"haddchk03",ds_main_recgruplist.getColumn(curRow,"haddchk03"));
- ds_cond.setColumn(0,"maddchk05",ds_main_recgruplist.getColumn(curRow,"maddchk05"));
- ds_cond.setColumn(0,"maddchk06",ds_main_recgruplist.getColumn(curRow,"maddchk06"));
- //end
-
- fShowTreeRecDetailGrup();
-
-
- //trace("1 : " + ds_main_recgruplist.getColumn(curRow,"recflag"));
- //trace("2 : " + ds_main_recgruplist.getColumn(curRow,"clsflag"));
-
- if( (ds_main_recgruplist.getColumn(curRow,"recflag") =="2" && ds_main_recgruplist.getColumn(curRow,"clsflag") =="1") ||
- (ds_main_recgruplist.getColumn(curRow,"recflag") =="2" && ds_main_recgruplist.getColumn(curRow,"clsflag") =="2")
- ){
- fChkTF("Y","N");
- }
-
-
-
-
- }
- }
- function cf_TRMNW04006(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
-
- ds_main_recdetailgruplist.addColumn("bkflag", "string", 256);
- ds_main_recdetailgruplist.addColumn("bktimsval", "string", 256);
- for( var i = 0; i < ds_main_recdetailgruplist.rowcount; i++ ){
- ds_main_recdetailgruplist.setColumn(i, "bkflag", ds_main_recdetailgruplist.getColumn(i, "flag"));
- ds_main_recdetailgruplist.setColumn(i, "bktimsval", ds_main_recdetailgruplist.getColumn(i, "timsval"));
- }
-
- ds_main_recdetailgruplist.addColumn("color", "string", 256);
- ds_main_recdetailgruplist.addColumn("chkTrue", "string", 256);
-
- if( utlf_isNull(ds_main_recdetailgruplist.getColumnInfo("basepnt_multi")) ){
- ds_main_recdetailgruplist.addColumn("basepnt_multi", "string");
- }
- }
- /**
- * @group :
- * @ver : 2008.06.25
- * @by : dhkim
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @param : selRow 현재 선택한 그리드 row idx
- * selCol 현재 선택한 그리드 col idx
- * _supcd 현재 선택한 그리드 row의 상위코드값
- * @desc : 횟수입력시 입력여부가 N이면 값을 원래 값으로 리턴
- * col = 1 (구분체크박스), col=5 (횟수)
- * @return :
- * @---------------------------------------------------
- */
- function fChangeTimsValValue(selRow, selCol, _supcd){
- if(_supcd == '00000000'){
- return;
- }
- if(selCol == 6){//횟수변경 (횟수입력여부가 Y인것만 입력 가능함)
- var flag = xRecDetailPathDS.getColumn(selRow, 'flag');
- var timsinptyn = xRecDetailPathDS.getColumn(selRow, 'timsinptyn');//횟수입력가능여부
- if(timsinptyn == 'N'){
- return;
- }else if(timsinptyn == 'Y'){//횟수 입력가능상태
- if(flag == 'N'){
- //체크상태가 아닌 데이터에 횟수 입력시 원래상태로 back
- xRecDetailPathDS.setColumn(selRow, "timsval", xRecDetailPathDS.getColumn(selRow, "bktimsval"));
- }
- }
- }
- }
- /**
- * @group :
- * @ver : 2008.06.25
- * @by : dhkim
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @param : selRow 현재 선택한 그리드 row idx
- * selCol 현재 선택한 그리드 col idx
- * _supcd 현재 선택한 그리드 row의 상위코드값
- * @desc : 체크박스 변경에 따른 선택된 같은 그룹내의 체크박스 값 변경
- * col = 1 (구분체크박스)
- * @return :
- * @---------------------------------------------------
- */
- function fChangeCheckboxValue(selRow, selCol, _supcd){
- var curFlag = xRecDetailPathDS.getColumn(selRow, "flag");//현재선택한 체크값
- var clsflag = ds_cond.getColumn(0, "clsflag");
- if(_supcd == '00000000'){
- return;
- }
- if(selCol == 1){//체크값 변경
- //2008.08.07 dhkim 추가
- //중증도중환자실(중환자실입실, 중환자실퇴실 포함), 신생아ICU는 multi 체크이므로 기존에 체크된 데이터를 해제하지 않는다.
- //일반병동, 정신과병동, 혈액투석, 낙상성인(Morse Scale), 욕창은 single 체크임
- var isMulti = false;
- if(clsflag == '4' || clsflag == '6' ||clsflag == '7' || clsflag == '2'){
- isMulti = true;
- }
- var supcd, flag;
- for( var i = 0; i < ds_main_recdetailgruplist.rowcount; i++ ){
- supcd = ds_main_recdetailgruplist.getColumn(i, "supcd");
- flag = ds_main_recdetailgruplist.getColumn(i, "flag");
-
- if(!isMulti){
- //같은 그룹내에서 비교
- if(supcd != '00000000' && supcd == _supcd && (flag == "1" || flag == "Y") ){//기존 체크데이터를 해제
- //원래 체크되어있던 값을 해제, 상태 삭제로
- ds_main_recdetailgruplist.setColumn(i, "flag", "0");
- }
- }
- }
- //현재 체크한 값을 선택, 상태 신규로
- if( curFlag == '1' || curFlag == "Y" ){
- xRecDetailPathDS.setColumn(selRow, "flag", 'Y');
- //20080827
- //횟수값이 입력가능 항목이면 항목에 체크되었을때 횟수필드를 노랑으로 변경
- if( !utlf_isNull(xRecDetailPathDS.getColumn(selRow, "timsval")) ){
- xRecDetailPathDS.setColumn(selRow, "color", "#FCFF00");//노랑
- }
- }else if(curFlag == '0' || curFlag == "N" ){
- xRecDetailPathDS.setColumn(selRow, "flag", 'N');
- //20080827
- //횟수값이 입력가능 항목이면 항목에 체크해제되었을때 횟수필드를 하냥으로 변경
- if( !utlf_isNull(xRecDetailPathDS.getColumn(selRow, "timsval")) ){
- xRecDetailPathDS.setColumn(selRow, "color", "#FFFFFF");//하양
- }
- }
- }
- }
- /**
- * @group :
- * @ver : 2008.06.25
- * @by : dhkim
- * @-------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @param :
- * @return :
- * @desc : 저장하기전 전체그리드의 변경된 내역에 따른 그리드 상태값을 변경한다.
- * (1) 체크박스 선택여부에 따른 상태값 변경
- * 1. 원래값이 Y, 현재Y이면 stat은 '-'
- * 2. 원래값이 Y, 현재N이면 stat은 'd'
- * 3. 원래값이 N, 현재N이면 stat은 '-'
- * 4. 원래값이 N, 현재Y이면 stat은 'i'
- * (2) 횟수 입력에 따른 상태값 변경
- * 1. 현재 chkbox가 Y이고 timsinptyn(횟수입력여부)이 Y일때만 입력가능함.
- * 2. 원래 chkbox가 Y, 현재Y, 현재timsval과 원래 bktimsval값이 다르면 상태값은 'u'로
- * 3. 현재 chkbox가 N인 것에 timsval값이 입력되면 timsval값을 원래상태(원래상태값:bkimsval)로 복구
- * @-------------------------------------------------------------------------------------------------------
- */
- function fChangeGridStat(){
- var bkflag, bktimsval; //원래 체크박스값, 원래횟수값
- var flag, timsval; //변경한체크박스값, 변경한횟수값
- var timsinptyn; //횟수입력여부
- var stat = '-'; //변경할 그리드 상태값
- var pntstat = '-'; //상세점수의 stat
- var recmasterrow = 0;
-
- for( var idx = 0; idx < ds_main_recgruplist.rowcount; idx++ ){
- if ( xRecDetailPathDS.getColumn(0, "pid") == xRecMasterPathDS.getColumn(idx, "pid")
- && xRecDetailPathDS.getColumn(0, "execdd") == xRecMasterPathDS.getColumn(idx, "execdd")
- && xRecDetailPathDS.getColumn(0, "recseq") == xRecMasterPathDS.getColumn(idx, "recseq")
- ){
- recmasterrow = idx;
- ds_main_recgruplist.rowposition = recmasterrow;
- break;
- }
- }
- if ( recmasterrow < 0 ){
- sysf_messageBox( capt_master.text + " 선택" ,"I008");
- return;
- }
- for( var i = 0; i < ds_main_recdetailgruplist.rowcount; i++ ){
- flag = xRecDetailPathDS.getColumn(i, "flag"); //현재체크박스값
- timsval = xRecDetailPathDS.getColumn(i, "timsval"); //현재횟수값
- bkflag = xRecDetailPathDS.getColumn(i, "bkflag"); //원래체크박스값
- bktimsval = xRecDetailPathDS.getColumn(i, "bktimsval"); //원래횟수값
- timsinptyn= xRecDetailPathDS.getColumn(i, "timsinptyn"); //횟수입력여부
- if(bkflag == 'Y' && flag == 'Y'){
- if(timsinptyn == 'Y' && (timsval != bktimsval)){
- stat = 'u';
- pntstat = 'u';
- }else{
- stat = '-';
- }
- }else if(bkflag == 'Y' && flag == 'N'){
- stat = 'd';
- pntstat = 'u';
- }else if(bkflag == 'N' && flag == 'N'){
- stat = '-';
- }else if(bkflag == 'N' && flag == 'Y'){
- stat = 'i';
- pntstat = 'u';
- }
- xRecDetailPathDS.setColumn(i, "stat", stat);
- }
-
-
- //상세내역이 변경되면 상세점수와 중증도마스터의 stat을 변경상태로 설정한다.
- if(pntstat == 'u'){
- //중증도점수그리드
- //grd_recpnt.addStatus(2, 'update');
- grdf_setStatus(grd_recpnt, "U", grdf_getSelectedRows(grd_recpnt));
- //중증도 마스터그리드
- if( ds_main_recgruplist.getRowType(recmasterrow) != "2" ){//상태가 신규상태가 아니면 u로 변경
- grdf_setStatus(grd_recpnt, "U", [recmasterrow]);
- xRecMasterPathDS.setColumn(recmasterrow, "stat", 'u');
- }
- }else{
- //중증도점수그리드
- //grd_recpnt.removeStatus(2, 'update');
- grdf_setStatus(grd_recpnt, "", [0]);
- //중증도 마스터그리드
- if( ds_main_recgruplist.getRowType(recmasterrow) != "2" ){//상태가 신규상태가 아니면 u로 변경
- grdf_setStatus(grd_recpnt, "", [recmasterrow]);
- xRecMasterPathDS.setColumn(recmasterrow, "stat", '-');
- }
- }
- }
- /**
- * @group :
- * @ver : 2011.03.14
- * @by : 안도영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 구역정보 조회 및 내환자정보 숨기기 (응급실인 경우)
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fGetWardChngInfo(initFlag, wardCd, sectionCd){
- if(initFlag=="Y") {
- var sWardCD = wardCd;
- }
- else{
- var sWardCD = ds_cond.getColumn(0, "wardcd");
- }
-
- if ( sWardCD == eERDEPTCD) {
- eERFLAG = "Y";
- }else{
- eERFLAG = "";
- }
-
- //응급실인 경우 구역정보 추가조회
- if(eERFLAG == "Y"){ // 응급실
- fGetZoneList();
-
- var age = ds_main_paminfo.getColumn(0, "age"); //190523_AYS_응급실 중증도 프로그램 오픈 시 낙상 Default
- trace("age : " + age);
- ds_temp2_zoneinfo.copyData(ds_temp_zoneinfo_zonelist);
-
- group5.cmb_room.visible = false;
- group5.cmb_zone.visible = true;
-
- if(initFlag=="Y"){ // 처음 상단 정보로 화면 열릴 때
- ds_cond.setColumn(0, "zonecd", (sectionCd == "") ? "-" : sectionCd);
- }else{
- ds_cond.setColumn(0, "zonecd", "-"); // 'All'로 default
- }
-
- //190523_AYS_응급실 중증도 프로그램 오픈 시 낙상 Default
- //190605_AYS_칠곡 응급실 적용
- //if(sysf_getUserInfo("dutplceinstcd") == '031'){
- ds_cond.setColumn(0, 'recflag', '2');
- ds_cond.setColumn(0, 'clsflag', parseInt(age) < 15 ? "8" : "9");
- //}
- }else{
- group5.cmb_room.visible = true;
- group5.cmb_zone.visible = false;
-
- ds_cond.setColumn(0, "zonecd", "");
- }
- }
- /**
- * @group :
- * @ver : 2007.12.06
- * @by : 신혁춘
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 내환자 정보를 조회한다.
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fmisetting(){
- var setid = sysf_getUserId();
- var setdeptcd = sysf_getUserInfo("dutplcecd");
-
- ds_send.clear();
- ds_hidden_settingrn.clearData();
-
- ds_send.addColumn("wardcd", "string", 256);
- var iRow = ds_send.addRow();
-
- //인공신장실 혈액투석간호기록에서 화면 연동시 parma추가-kys-20100412
- if(frmf_getMenuParam() == "SMMND" || opener.frmf_getParameter("SMMND00700_param_dial") == "dialrec"){
- ds_send.setColumn(iRow, "wardcd", setdeptcd);
- } else {
- ds_send.setColumn(iRow, "wardcd", ds_cond.getColumn(0, "wardcd"));
- }
-
- //내환자세팅한 간호사 조회
- var oParam = {};
- oParam.id = "TRMNW04012";
- oParam.service = "carerecapp.AsesRec";
- oParam.method = "reqGetMyPatientSetList";
- oParam.inds = "refCond=ds_send";
- oParam.outds = "ds_hidden_settingrn=settingrn";
- oParam.async = false;
- oParam.callback = "cf_TRMNW04012";
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TRMNW04012") > -1 ){
- //병동 변경시 내환자 정보 셋팅됨_2009-02-09_SMY수정
- ds_cond.setColumn(0, "settingrnid", "");
- for( var i = 0; i < ds_hidden_settingrn.rowcount; i++ ) {
- if( ds_hidden_settingrn.getColumn(i, "settingrnid") == setid) {
- ds_cond.setColumn(0, "settingrnid", setid);
- }
- }
- /*
- var pid = model.getValue("/root/main/paminfo/pamlist/pid");//상단정보
- var setid = getUserId();
- var setCnt = getNodesetCount('/root/hidden/setting/settingrn');
-
- var setRow = 0;
- for(var i = 1; i < setCnt; i++){
- if(model.getValue('/root/hidden/setting/settingrn[" + i + "]/settingrnid') == setid){
- setRow = i-1;
- break;
- }
- }
- if(setRow > 0 && pid == ''){//상단정보 설정안되어 있을때
- model.setValue('/root/cond/settingrnid', setid);//세션의 간호사로 아이디세팅
- } else {
- model.setValue('/root/cond/settingrnid', '-');//없으면 default
- }
- */
- }
- return;
- }
- function cf_TRMNW04012(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- function addchk(){
-
- var wardcd = ds_cond.getColumn(0, "wardcd");
- var age = ds_cond.getColumn(0, "age");
- if( ds_cond.getColumn(0, "clsflag") == "8"){
-
- for( var i = 0; i < ds_init_icucdgrup.rowcount; i++ ){
- if(wardcd == ds_init_icucdgrup.getColumn(i, "wardcd")){ // 중환자실이면
- ds_cond.setColumn(0, "haddchk01", "Y");
- fChkTF("Y","N");
- }
- }
-
- if(age < 3){
- ds_cond.setColumn(0, "haddchk", "Y");
- fChkTF("Y","N");
- }
-
- //190523_AYS_응급실 환자일 경우 고위험 항목(응급실환자) 체크 활성화
- /*
- if(eERDEPTCD == wardcd){
- ds_cond.setColumn(0, "maddchk05", "Y");
- }
- */
-
- }else if(ds_cond.getColumn(0, "clsflag") == "9"){
-
- for( var j = 0; j < ds_init_icucdgrup.rowcount; j++) {
- if( wardcd == ds_init_icucdgrup.getColumn(j, "wardcd")){ // 중환자실이면
- ds_cond.setColumn(0, "maddchk01", "Y");
- fChkTF("Y","N");
- }
- }
- if(age >= 70){
- ds_cond.setColumn(0, "maddchk02", "Y");
- fChkTF("Y","N");
- }
-
- //190523_AYS_응급실 환자일 경우 고위험 항목(응급실환자) 체크 활성화
- /*
- if(eERDEPTCD == wardcd){
- ds_cond.setColumn(0, "maddchk05", "Y");
- }
- */
- }
- }
- /**
- * @ver : 2008.06.09
- * @author : dhkim
- * @------------------------------------------------------------------------------
- * @access : public
- * @type : function
- * @param :
- * @desc : 선택된 병동에 따라 중증도/낙상/욕창 구분을 default선택한다.
- * @--------------------------------------------------------------------------------
- */
- function fSelectDefaultRdoCond(clsseting){
- /*
- switch (clsseting){
- case "3050122000" : rdo_clsflaga.value = "5" ; break; //10층동병동(정신과병동)
- case "2110201000" : rdo_clsflaga.value = "2" ; break; //신생아중환자실(신생아ICU)
- case "3060000000" : rdo_clsflaga.value = "4" ; break; //중환자실
- case "3060600000" : rdo_clsflaga.value = "4" ; break; //2층중환자실
- case "3060400000" : rdo_clsflaga.value = "4" ; break; //순환기계중환자실
- case "3060300000" : rdo_clsflaga.value = "4" ; break; //신경외과중환자실
- case "3060200000" : rdo_clsflaga.value = "4" ; break; //외과중환자실
- case "3060100000" : rdo_clsflaga.value = "4" ; break; //내과중환자실
- default : rdo_clsflaga.value = "1" //default는 일반병동임.
- }
- */
- var setflag = "1";
- //중증도 기록에서 사용하는 부서코드 조회_20090414_SMY추가
- for( var i = 0; i < ds_init_icucdgrup.rowcount; i++ ){
- if( clsseting == ds_init_icucdgrup.getColumn(i, "wardcd") ){ // 중환자실이면
- if( clsseting == ds_code_codelist.lookup("cdgrupid", "052", "cdid")){ // 신생아중환자실이면
- setflag = '2';
- } else {
- setflag = ds_init_icucdgrup.getColumn(i, "clsflag");
- }
- }
- }
-
- if(setflag == '1'){
- if(clsseting == ds_code_codelist.lookup("cdgrupid", "W02", "cdid")){ // 302병동이면
- setflag = '5'
- } else if(clsseting == ds_code_codelist.lookup("cdgrupid", "055", "cdid")){ // 인공신장실이면
- setflag = '3'
- } else {
- setflag = '1';
- }
- }
-
- ds_cond.setColumn(0, "clsflag", setflag);
- }
- /**
- * @group :
- * @ver : 2007.12.06
- * @by : 신혁춘
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 중증도 상세내역 트리구조로 변환
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fShowTreeRecDetailGrup(){
- var iRow = grd_recdetail.rows;
- var timsval, flag;
-
- ds_main_recdetailgruplist.enableevent = false;
- for( var i = 0; i < ds_main_recdetailgruplist.rowcount; i++ ){
- timsval = ds_main_recdetailgruplist.getColumn(i, "timsval");
- flag = ds_main_recdetailgruplist.getColumn(i, "flag");
-
- //입력필드가 아닐때 점수를 회색으로 보여준다.
- if( utlf_isNull(ds_main_recdetailgruplist.getColumn(i, "timsval")) ) {
- ds_main_recdetailgruplist.setColumn(i, "color", "#C0C0C0");//회색
- }
- //20080827 구분에 체크되어있고 입력필드일 때 횟수값이 0이면 배경을 노랑색으로 보여준다.
- else if( flag == 'Y' && timsval != '' && (timsval == '0' || timsval == 0) ){
- ds_main_recdetailgruplist.setColumn(i, "color", "#FCFF00");//노랑
- }
- if( ds_main_recdetailgruplist.getColumn(i, "supcd") == "00000000" ){//level이 상위레벨일때
- //그리드 체크박스 readonly true로 변경
- ds_main_recdetailgruplist.setColumn(i, "chkTrue", "1");
- }else{
- //그리드 체크박스 readonly false로 변경
- if( ds_cond.getColumn(0, "agechk") =="Y" ){
- ds_main_recdetailgruplist.setColumn(i, "chkTrue", "1");
- } else {
- ds_main_recdetailgruplist.setColumn(i, "chkTrue", "0");
- }
- }
- var timsinptyn = ds_main_recdetailgruplist.getColumn(i, "timsinptyn");//횟수입력여부
- //그리드 Expr에 적용...추민수
- // if(timsinptyn == 'Y'){
- // //그리드 체크박스 readonly false로 변경
- // if( ds_cond.getColumn(0, "agechk") =="Y" ){
- // //ds_main_recdetailgruplist.setColumn(i, "chkTrue", "1");
- // } else {
- // //ds_main_recdetailgruplist.setColumn(i, "chkTrue", "0");//횟수입력필드 readonly true로 변경
- // }
- //
- // }else if(timsinptyn == 'N'){
- // //ds_main_recdetailgruplist.setColumn(i, "chkTrue", "1");//횟수입력필드 readonly false로 변경
- // }
- }
- ds_main_recdetailgruplist.enableevent = true;
- }
- /**
- * @group :
- * @ver : 2007.12.06
- * @by : 신혁춘
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 중증도 상세내역의 설명을 조회한다.
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fHistDescs(){
- ds_main_tar_desccnts.setColumn(0, "tar_desccnts", "");
- var iRow = ds_main_recdetailgruplist.rowposition;
- ds_main_tar_desccnts.setColumn(0, "tar_desccnts", ds_main_recdetailgruplist.getColumn(iRow, "desccnts"));
- }
- /**
- * @group :
- * @ver : 2007.12.06
- * 2008.06.23 dhkim 수정
- * @by : 신혁춘
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 상세점수그리드의 컬럼을 조회한 내역의 갯수만큼 화면에 보여준다.
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fColLqidtys() {
- //trace("그리드");
- var cnt = ds_main_recpntlist.getColumn(0, "cnt");
- if(Number(cnt) > 0 ){
- for( var j = 3; j < grd_recpnt.getCellCount("Body"); j++ ){
- grd_recpnt.setFormatColProperty(j, "size", 0);
- }
-
- var fdx = 0;
- var hngnm;
- var idx = 0;
- fdx = Number(grd_recpnt.getBindCellIndex("Body", "hngnm"));
-
- for( var i = 0; i < cnt; i++ ) {
- hngnm = ds_main_pnttitlgruplist.getColumn(i, "hngnm");
- idx = Number(fdx) + Number(i) + 1;
- grd_recpnt.setFormatColProperty(idx, "size", 50); // 컬럼사이즈 fix
- //그리드의 타이틀필드값에 상세내역의 타이틀을 세팅
- grd_recpnt.setCellProperty("Head", idx, "text", hngnm);
- }
-
- grd_recpnt.setFormatColProperty(grd_recpnt.getBindCellIndex("body", "totpnt"), "size", 50);
- grd_recpnt.setFormatColProperty(grd_recpnt.getBindCellIndex("body", "resultcd"), "size", 50);
-
- ds_main_recpntlist.updatecontrol = false;
- ds_main_recpntlist.addColumn("pid", "string", 256);
- ds_main_recpntlist.addColumn("hngnm", "string", 256);
-
- var cRow = ds_main_recgruplist.rowposition;
- ds_main_recpntlist.setColumn(0, "pid", ds_main_recgruplist.getColumn(cRow, "pid"));
- ds_main_recpntlist.setColumn(0, "hngnm", ds_main_recgruplist.getColumn(cRow, "hngnm"));
- ds_main_recpntlist.updatecontrol = true;
- }
- }
- /**
- * 중증도/낙상/욕창 (recflag) 선택여부에 따라 캡션을 변경
- */
- function fChangeCaption(clsflag){
- ds_cond.setColumn(0, "agechk", "N" );
-
- //중증도/낙상/욕창 선택여부에 따라 텍스트를 변경
- if(clsflag == "1" ){
- capt_pnt.text = "일반병동 중증도상세점수";
- capt_detail.text = "일반병동 중증도상세내역";
- capt_bedsore.visible=false;
- grp_agechk.visible = false;
- group2.visible = false;
- group4.visible = false;
- //grd_recdetail.setRealRowSize .setFormatColProperty(switch1.case1.grd_daylist.getBindCellIndex("body", "item29"), "size", 40);
- grd_recdetail.position.height = 525;
- }else if(clsflag == "2" ){
- capt_pnt.text = "신생아 ICU 중증도상세점수";
- capt_detail.text = "신생아 ICU 중증도상세내역";
- capt_bedsore.visible = false;
- grp_agechk.visible = false;
- group2.visible = false;
- group4.visible = false;
- grd_recdetail.position.height = 525;
- }else if(clsflag == "3" ){
- //capt_master.attribute("text") = "혈액투석 중증도내역";
- capt_pnt.text = "혈액투석 중증도상세점수";
- capt_detail.text = "혈액투석 중증도상세내역";
- capt_bedsore.visible=false;
- grp_agechk.visible = false;
- group2.visible = false;
- group4.visible = false;
- grd_recdetail.position.height = 525;
- }else if(clsflag == "4" || clsflag == "6" || clsflag == "7"){
- //capt_master.attribute("text") = "중환자실 중증도내역";
- capt_pnt.text = "중환자실 중증도상세점수";
- capt_detail.text = "중환자실 중증도상세내역";
- capt_bedsore.visible=false;
- grp_agechk.visible = false;
- group2.visible = false;
- group4.visible = false;
- grd_recdetail.position.height = 525;
- }else if(clsflag == "5"){
- //capt_master.attribute("text") = "정신과병동 중증도내역";
- capt_pnt.text = "정신과병동 중증도상세점수";
- capt_detail.text = "정신과병동 중증도상세내역";
- capt_bedsore.visible=false;
- grp_agechk.visible = false;
- group2.visible = false;
- group4.visible = false;
- grd_recdetail.position.height = 525;
- }else if(clsflag == "8"){
- //capt_master.attribute("text") = "낙상위험사정구분(아동)내역";
- //capt_pnt.text = "낙상위험사정구분(Humpty Dumpty Scale)상세점수";
- //capt_detail.text = "낙상위험사정구분(Humpty Dumpty Scale)상세내역";
- capt_pnt.text = "낙상위험평가(Humpty Dumpty Fall Scale)결과";
- capt_detail.text = "낙상위험평가(Humpty Dumpty Fall Scale)상세내역";
- capt_bedsore.visible=false;
- group2.visible = false;
- group4.visible = true;
- grd_recdetail.position.height = 409;
- /*
- if ( instUseYN == "Y" ){
- grp_agechk.visible = true;
- cap_agemsg.attribute("text") = "낙상사정 제외 고위험군입니다";
- }else {
- grp_agechk.visible = false;
- }
- */
- }else if(clsflag == "9"){
- //capt_master.attribute("text") = "낙상위험사정구분(Morse Scale)내역";
- //capt_pnt.text = "낙상위험사정구분(Morse Scale)상세점수";
- //capt_detail.text = "낙상위험사정구분(Morse Scale)상세내역";
- capt_pnt.text = "낙상위험평가(Morse Fall Scale)결과";
- capt_detail.text = "낙상위험평가(Morse Fall Scale) 상세내역";
- capt_bedsore.visible=false;
- group2.visible = true;
- group4.visible = false;
- grd_recdetail.position.height = 409;
- /*
- if ( instUseYN == "Y" ){
- grp_agechk.visible = true;
- cap_agemsg.attribute("text") = "낙상사정 제외 고위험군입니다";//20100514 khj 소경화itc 요청에의한 메시지 수정
- }else {
- grp_agechk.visible = false;
- }
- */
- }else if(clsflag == "10"){
- // capt_master.attribute("text") = "욕창위험사정구분(욕창)내역";
- capt_pnt.text = "욕창위험평가(Braden Scale)결과";
- capt_detail.text = "욕창위험평가(Braden Scale)상세내역";
- //capt_bedsore.visible=true;
- capt_bedsore.visible=false;
- grp_agechk.visible = false;
- group2.visible = false;
- group4.visible = false;
- grd_recdetail.position.height = 525;
- }
- }
- /**
- * @ver : 2008.06.09
- * @author : dhkim
- * @------------------------------------------------------------------------------
- * @access : public
- * @type : function
- * @param :
- * @desc : 혈액투석의 경우 환자정보 그리드의 구조를 변경
- * @--------------------------------------------------------------------------------
- */
- function fChangeGridColumn(clsflag){
- if(clsflag == '3'){
- grd_patinfo.setFormatColProperty(grd_patinfo.getBindCellIndex("body", "ioflagnm"), "size", 33); //구분
- grd_patinfo.setFormatColProperty(grd_patinfo.getBindCellIndex("body", "pid"), "size", 80); //등록번호
- grd_patinfo.setFormatColProperty(grd_patinfo.getBindCellIndex("body", "roomcd"), "size", 0); //병실
- grd_patinfo.setFormatColProperty(grd_patinfo.getBindCellIndex("body", "indd"), "size", 0); //입원일
- grd_patinfo.setFormatColProperty(grd_patinfo.getBindCellIndex("body", "maintepatrgstdd"), "size", 68); //유지환자등록일자
- //20080820 주석처리 rdo_bloodioflag.attribute("visibility") = "visible";//외래입원구분
- }else{
- grd_patinfo.setFormatColProperty(grd_patinfo.getBindCellIndex("body", "ioflagnm"), "size", 0); //구분
- grd_patinfo.setFormatColProperty(grd_patinfo.getBindCellIndex("body", "pid"), "size", 0); //등록번호
- grd_patinfo.setFormatColProperty(grd_patinfo.getBindCellIndex("body", "roomcd"), "size", 53); //병실
- grd_patinfo.setFormatColProperty(grd_patinfo.getBindCellIndex("body", "indd"), "size", 0); //입원일
- grd_patinfo.setFormatColProperty(grd_patinfo.getBindCellIndex("body", "maintepatrgstdd"), "size", 0); //유지환자등록일자
- //20080820 주석처리 rdo_bloodioflag.attribute("visibility") = "hidden";//외래입원구분
- //20080820 주석처리 rdo_bloodioflag.value = '';
- }
- }
- //input수행일자에 해당하는 기록일이 있는지 조회
- //신규데이터가 아닌것중..(stat != 'i')
- //@param : iptExecdd 입력하고자 하는 수행일자(input 컴포넌트)
- //@return : arr[0] - 기록여부 (true/false)
- // arr[1] - signno (기록여부가 true일때 해당기록의 signno를 할당)
- // 20080820 - array로 변경
- function fIsRecorded(iptExecdd){
- var retArr = new Array(1);
- var recorded = false;
- var signno = "";
- var execdd;
- var stat;
- for( var i = 0; i < ds_main_recgruplist.rowcount; i++ ){
- execdd = ds_main_recgruplist.getColumn(i, "execdd");
- stat = ds_main_recgruplist.getColumn(i, "stat");
- if( !utlf_isNull(execdd) && iptExecdd == execdd && stat != "i"){
- signno = ds_main_recgruplist.getColumn(i, "signno");
- recorded = true;
- retArr[0] = recorded;
- retArr[1] = signno;
- return retArr;
- }
- }
- retArr[0] = recorded;
- retArr[1] = signno;
- return retArr;
- }
- /**
- * @group :
- * @ver : 2008.06.25
- * @by : dhkim
- * @-------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @param :
- * @return :
- * @desc : 중증도 마스터와 상세내역을 저장하기 전 데이터의 유효성을 체크한다.
- * - 상세내역에 미체크 내역이 있는지 확인한다.
- * - 2008.08.06 dhkim 요구사항 추가
- * [모든항목 필수체크하는경우]
- * 1) 중증도 : 일반병동, 정신과병동(DT, ECT항목은 필수아님), 혈액투석
- * 2) 욕창
- * clsflag = 1, 3, 5, 10(화면내부)
- *
- * [모든항목 필수체크아닌경우]
- * 1) 중증도 : 중환자실, 신생아ICU
- * 2) 낙상 : 성인, 소아
- * clsflag = 2, 4, 8, 9(화면내부)
- * - 2008.08.20 dhkim 요구사항 추가
- * 낙상의 경우 나이를 체크할것.
- * 낙상 소아 : 만 12세 미만 clsflag = 8
- * 낙상 성인 : 만 13세 이상 clsflag = 9
- * - 2008.08.27 dhkim 요구사항 추가
- * 체크된 항목에 대해 횟수 입력필드가 0이면 횟수입력하라는 메세지 띄울것
- * @-------------------------------------------------------------------------------------------------------
- */
- function fIsValid(){
- var supcd;
- var _supcd, _flag, _hngnm, _timsval;
- var isChecked = false;
- var clsflag = ds_cond.getColumn(0, "clsflag");
- var curRow = ds_main_patinfo.rowposition;
- var age = ds_main_patinfo.getColumn(curRow, "sexage").split('/')[1];
- //환자가 선택되지 않은경우 기록을 입력할수 없다.
- var pid = ds_main_recpntlist.getColumn(0, "pid"); //20080917 수정
- if( utlf_isNull(pid) ){
- sysf_messageBox('기록하려는 환자정보가 존재하지 않습니다. 환자를 먼저 선택하신 후 기록을 작성하세요.', 'E');
- return false;
- }
- //20080827
- //체크된 항목에 대해 횟수 입력필드가 0이면 횟수입력하라는 메세지 띄울것
- for( var j = 0; j < ds_main_recdetailgruplist.rowcount; j++ ){
- _flag = ds_main_recdetailgruplist.getColumn(j, "flag");
- _timsval = ds_main_recdetailgruplist.getColumn(j, "timsval");
- _hngnm = ds_main_recdetailgruplist.getColumn(j, "hngnm");
- //20080827
- //체크된 항목에 대해 횟수 입력필드가 0이면 횟수입력하라는 메세지 띄울것
- if(_flag == 'Y' && !utlf_isNull(_timsval) && (_timsval == '0' || _timsval == 0)){
- sysf_messageBox('[' + _hngnm + ']의 횟수가 입력되지 않았습니다. 횟수를', 'C001');
- grd_recdetail.vscrollbar.pos = j;
- return false;
- }
- }
- //20080923 dhkim 2차리허설 요구사항 (소아청소년과의 경우 13세 이상이라도 입원할 경우가 있기때문에 나이제한을 두지 말아야 한다.)
- /*
- //낙상성인, 낙상소아의 경우 환자 나이를 체크함
- if(clsflag == '8'){//낙상소아
- if(age > 13){
- messageBox('해당 환자의 나이가 ' + age + '세이므로 아동 낙상위험사정 기록을', 'E001');
- return false;
- }
- }else if(clsflag == '9'){//낙상성인
- if(age < 13){
- messageBox('해당 환자의 나이가 ' + age + '세이므로 성인 낙상위험사정 기록을', 'E001');
- return false;
- }
- }
- */
- //낙상성인 (Morse Scale), 낙상소아, 중증도 중환자실, 신생아ICU 은 필수체크 안함
- if(clsflag == '2' || clsflag == '4' || clsflag == '6' || clsflag == '7' || clsflag == '8' || clsflag == '9'){
- return true;
- }
- var testhngnm = '';
- //상세내역의 미체크 내역이 있는지 확인한다.
- //정신과병동 선택했을때 항목중 DT(<clstlcd>00000440</clstlcd>), ECT(<clstlcd>00000447</clstlcd>)는 필수아님
- for(var i = 0; i < ds_main_recdetailgruplist.rowcount; i++ ){
- supcd = ds_main_recdetailgruplist.getColumn(i, "supcd");
- if( i == (ds_main_recdetailgruplist.rowcount-1) ){
- if(isChecked == false){//마지막 row의 그룹은 비교할 데이터가 없으므로 체크값이false이면 blocking건다.(20080825)
- //2008.08.07 dhkim 추가
- //정신과병동 선택했을때 항목중 DT, ECT는 필수아님
- if((clsflag == '5' && hngnm == 'DT')||(clsflag == '5' && hngnm == 'ECT')){
- //skip
- }else{
- sysf_messageBox(hngnm + '(이)가 선택되지 않았습니다.' + hngnm + '(를)을', 'C001');//선택하십시오.
- grd_recdetail.vscrollbar.pos = i;
- return false;
- }
- }
- }
- if(supcd == '00000000'){
- hngnm = ds_main_recdetailgruplist.getColumn(i, "hngnm");
- for( var j = i + 1; j < ds_main_recdetailgruplist.rowcount; j++ ){
- _supcd = ds_main_recdetailgruplist.getColumn(j, "supcd");
- //alert('상위 : ' + hngnm + ', 하위 : ' + model.getValue(xRecDetailPath + '[' + j + ']/hngnm') );
- if(supcd == _supcd){
- if(isChecked == false){//다른그룹으로 변경됐을때 isChecked가 false이면 리턴하면서 해당 row를 젤 위로 가도록 보여줌-_-;
- //2008.08.07 dhkim 추가
- //정신과병동 선택했을때 항목중 DT, ECT는 필수아님
- if((clsflag == '5' && hngnm == 'DT')||(clsflag == '5' && hngnm == 'ECT')){
- //skip
- }else{
- sysf_messageBox(hngnm + '(이)가 선택되지 않았습니다.' + hngnm + '(를)을', 'C001');//선택하십시오.
- grd_recdetail.vscrollbar.pos = i;
- return false;
- }
- }
- isChecked = false;
- j = ds_main_recdetailgruplist.rowcount-1;
- //break;
- }else{
- _flag = ds_main_recdetailgruplist.getColumn(j, "flag");
- if(_flag == 'Y'){
- isChecked = true;
- }
- }
- }
- }
- }
- return true;
- }
- /**
- * @group :
- * @ver : 2008.08.20
- * @by : dhkim
- * @-------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @param :
- * @return :
- * @desc : 상세내역 체크한 점수를 항목별로 합산하여 상세점수 노드에 set한다.
- * 0. 항목의 index값을 임시저장
- * 1. 항목에 해당하는 명칭 get (pnttitlgruplist)
- * 2. 1의 명칭에 해당하는 clstlcd get (recdetailgruplist)
- * 3. supcd가 2인 그룹의 첫번째 index를 찾는다.
- * 4. 3부터 detail값을 반복하여 supcd가 2인 그룹의 점수를 합산 (recdetailgruplist)
- * 5. 상세점수에 0번째 timsval+0 노드에 3값을 세팅 (recpntlist)
- */
- function fSetRecDetailPnt(){
- var recpntTitlCnt = ds_main_pnttitlgruplist.rowcount;
- var titlhngnm;
- var clstlcd;
- var detlFidx;
- var basepnt = 0;
- var totpnt = 0;
- var flag;
- if ( ds_cond.getColumn(0, "agechk") == "Y" ){
- return;
- }
- for( var i = 0; i < recpntTitlCnt; i++ ){
- //1. 항목에 해당하는 명칭 get (pnttitlgruplist)
- titlhngnm = ds_main_pnttitlgruplist.getColumn(i, "hngnm");
- //2. 1의 명칭에 해당하는 clstlcd get (recdetailgruplist)
- clstlcd = ds_main_recdetailgruplist.lookup("hngnm", titlhngnm, "clstlcd");
- //3. supcd가 2인 그룹의 첫번째 index를 찾는다.
- detlFidx = ds_main_recdetailgruplist.findRow("supcd", clstlcd);
-
- //4. 3부터 detail값을 반복하여 supcd가 2인 그룹의 점수를 합산 (recdetailgruplist)
- for( var j = detlFidx; j < ds_main_recdetailgruplist.rowcount; j++ ){
- var supcd = ds_main_recdetailgruplist.getColumn(j, "supcd");
- flag = ds_main_recdetailgruplist.getColumn(j, "flag");
- if(supcd == clstlcd){
- if(flag == 'Y'){//체크된 데이터만 합산한다.
- if( ds_main_recdetailgruplist.getColumn(j, "timsinptyn") == "Y" ){//횟수입력여부
- basepnt = Number(ds_main_recdetailgruplist.getColumn(j, "basepnt")) * Number(ds_main_recdetailgruplist.getColumn(j, "timsval"));
- } else {
- basepnt = Number(ds_main_recdetailgruplist.getColumn(j, "basepnt"));
- }
- ds_main_recdetailgruplist.addColumn("basepnt_multi", "string", 256);
- ds_main_recdetailgruplist.setColumn(j, "basepnt_multi",basepnt);
- totpnt += Number(basepnt);
- }
- }else{
- j = ds_main_recdetailgruplist.rowcount;//for루프를 멈춘다.
- }
- }
- //5. 상세점수에 i번째 timsval+i 노드에 3값을 세팅 (recpntlist)
- if(i < 9){
- colno = '0' + (i + 1);
- }else{
- colno = (i + 1);
- }
-
- if( utlf_isNull(ds_main_recpntlist.getColumnInfo("timsval" + colno)) ){
- ds_main_recpntlist.addColumn("timsval" + colno, "string");
- }
-
- ds_main_recpntlist.setColumn(0, "timsval" + colno, totpnt);
- totpnt = 0; //초기화
- basepnt=0;
- }
- }
- /**
- * @group :
- * @ver : 2008.06.25
- * @by : dhkim
- * @-------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @param :
- * @return : totpnt 총점
- * @desc : 상세내역 체크된 내역의 점수를 합산한다.
- * @-------------------------------------------------------------------------------------------------------
- */
- function fSumPnt(){
- var flag, timsval;
- var totPnt = 0;
-
- if( ds_cond.getColumn(0, "agechk") == "Y" ){
- return "";
- }
- for( var i = 0; i < ds_main_recdetailgruplist.rowcount; i++){
- flag = ds_main_recdetailgruplist.getColumn(i, "flag");
- if(flag == 'Y'){
- if( ds_main_recdetailgruplist.getColumn(i, "timsinptyn") == "Y" ){//횟수입력여부
- timsval = Number(ds_main_recdetailgruplist.getColumn(i, "basepnt")) * Number(ds_main_recdetailgruplist.getColumn(i, "timsval"));
- } else {
- timsval = Number(ds_main_recdetailgruplist.getColumn(i, "basepnt"));
- }
- totPnt += Number(timsval);
- }
- }
- return totPnt;
- }
- /**
- * @group :
- * @ver : 2008.06.25
- * @by : dhkim
- * @-------------------------------------------------------------------------------------------------------
- * @type : function
- * @access : public
- * @param :
- * @return :
- * @desc : [인증저장]
- * 중증도 마스터와 상세내역을 인증저장한다.
- * - 저장전 중증도 상세내역 점수의 유효성을 체크한다.
- * - 상세내역의 체크된 내역 점수를 합산하여 기록마스터의 totpnt에 set한다.
- * - 이미 기록이 입력되어 있는 경우에 -> grd_recmaster에 상태값이 'u'임.
- * 기록된 날짜가 조회조건의 수행일자와 같으면 db에 update처리하고
- * 기록된 날짜와 조회조건의 수행일자가 다르면 신규로 insert처리한다.(메세지로 알려줄것)
- * @-------------------------------------------------------------------------------------------------------
- */
- function fSignSave(){
- //과거기록에 대한 임시 추가 기능
- if(ds_cond.getColumn(0, "clsflag") == "8" || ds_cond.getColumn(0, "clsflag") =="9"){
- if( (ds_main_recgruplist.getColumn(ds_main_recgruplist.rowposition,"recflag") =="2" && ds_main_recgruplist.getColumn(ds_main_recgruplist.rowposition,"clsflag") =="1") ||
- (ds_main_recgruplist.getColumn(ds_main_recgruplist.rowposition,"recflag") =="2" && ds_main_recgruplist.getColumn(ds_main_recgruplist.rowposition,"clsflag") =="2")
- ){
- if(ds_main_recgruplist.getColumn(ds_main_recgruplist.rowposition, "execdd") < "20190402" ){ //
- trace("과거 기록 최신로직 적용");
- fPreChkTrue(); //과거기록에 대한 임시 추가 기능
- //fChkTF("N", "N");
- }
- }
- }
- //과거기록에 대한 임시 추가 기능
- //debugger;
- sAllSignSave = false;
- var dschdd = ds_main_paminfo.getColumn(0, "dschdd"); //퇴원일자
- var indd = ds_main_paminfo.getColumn(0, "indd"); //입원일자
- var execdd = ds_cond.getColumn(0, "execdd"); //수행일자
- if( !utlf_isValidDateTime((ds_cond.getColumn(0, "execdd")), "YYYYMMDD")){
- sysf_messageBox("입력한 수행일자는 유효하지 않습니다.","E");
- return;
- }
- if( !utlf_isValidDateTime((ds_cond.getColumn(0, "exectm")), "hhmm")){
- sysf_messageBox("입력한 수행시간은 유효하지 않습니다.","E");
- return;
- }
-
- if( indd == null ) {
- if((execdd < indd) || (execdd > dschdd)) { //입원,퇴원일자 사이의 수행일자만 입력하도록 블러킹
- sysf_messageBox("수행하려는 일자는 입원일자(" +indd.substring(0,4) + "-" + indd.substring(4, 6) + "-" + indd.substring(6) + ")이전 또는 퇴원일자("+dschdd.substring(0,4) + "-" + dschdd.substring(4, 6) + "-" + dschdd.substring(6)+")이후의 일자가 될 수","I004");
- return;
- }
- }
- var recmasterrow = 0;
-
- for( var idx = 0; idx < ds_main_recgruplist.rowcount; idx++ ){
- if( ds_main_recdetailgruplist.getColumn(0, "pid") == ds_main_recgruplist.getColumn(idx, "pid")
- && ds_main_recdetailgruplist.getColumn(0, "execdd") == ds_main_recgruplist.getColumn(idx, "execdd")
- && ds_main_recdetailgruplist.getColumn(0, "recseq") == ds_main_recgruplist.getColumn(idx, "recseq") ){
- recmasterrow = idx;
- ds_main_recgruplist.rowposition = recmasterrow;
- break;
- }
- }
-
- if( recmasterrow < 0 ){
- sysf_messageBox( capt_master.text + " 선택" ,"I008");
- return;
- }
-
- var currRow = ds_main_recgruplist.rowposition;
- var recMasterStat = ds_main_recgruplist.getColumn(currRow, "stat"); //기록마스터의 상태값
-
- /*
- //1. 신규등록
- // 1) 저장된 기록이 하나도 없을때 최초등록의 경우 insert
- // 2) input에 수행일자가 해당 기록에 없는 경우... 이미 기록된 내역을 해당 수행일자로 insert
- // 2008.08.27 수정요청사항
- // 3) input에 수행일자가 해당 기록에 있는 경우... 수정된 내역을 수행일시는 현재일자+현재시간 으로 insert
- //recMasterStat이 '-'이라도 저장할 수행일자가 기록내역에 없으면 신규 insert
- //--------------------------------------------------------------------------------------------
- //2008.08.27 수정요청사항 (기록수정은 진행하지 않는다.)
- //2. 수정등록 (사용안함)
- // 1) 해당기록의 항목을 선택하여 수정하는 경우 수정한 항목을 update
- // 2) input에 수행일자가 해당 기록에 있는 경우... 수정된 내역을 해당수행일자로 update
- // (저장할 수행일자가 기록내역에 있으면 이미 저장된 기록내역이 있습니다 메세지 뿌려줄것)
- */
- //2008.08.27 사용안함-->input수행일자에 해당되는 기록이 이미 입력되어 있는 경우에 db에 update처리
- //2008.08.27 변경됨-->input수행일자에 해당되는 기록이 이미 입력되어 있는 경우에 db에 insert처리, 단, 수행일시는 무조건 현재일시로 저장
- //input수행일자에 해당되는 기록이 저장되어있지 않은경우 db에 insert처리
- var execdd = ds_cond.getColumn(0, 'execdd');//조회조건의 수행일자
- var exectm = ds_cond.getColumn(0, 'exectm');//조회조건의 수행시간
- //수행일시 필수입력 체크_20090122_SMY추가
- if( utlf_isNull(execdd) ){
- sysf_messageBox("수행일자를 입력하세요","I");
- ipt_indate.setFocus();
- return;
- }
- if( utlf_isNull(exectm) ){
- sysf_messageBox("수행시간을 입력하세요","I");
- ipt_time.setFocus();
- return;
- }
- var recdd = ds_main_recgruplist.getColumn(currRow, "execdd");//기록된 일자
- var isRecordedArr = fIsRecorded(execdd);//input수행일자에 해당되는 기록이 있는지 여부
- //20080820 array로 변경
- //arr[0]은 기록여부 true/false
- //arr[1]은 기록여부 true일때의 signno
- var signno = '';//인증번호
- var siflag = 'N';//default 는 N. 기존의 데이터를 그대로 신규로 insert하는경우flag값
- // Y인경우 : 1.다른일자의 기록내역은 있으나 input의 수행일자에 해당되는 기록이 없을때..
- // 2. input의 수행일자에 해당되는 기록이 있을때..
- //저장전 유효성을 체크한다.
- if(fIsValid()){
- //상세내역의 체크점수를 합산하여 마스터와 상세점수의 totpnt에 set한다.
- var totPnt = fSumPnt();
- ds_main_recgruplist.setColumn(currRow, "totpnt", totPnt);//마스터의 총점
- ds_main_recpntlist.setColumn(0, "totpnt", totPnt);//상세점수의 총점
- //총점에 해당하는 분류군을 조회한후 마스터와 상세점수의 분류군에 set한다.
- var bspntnm = fLoadBsPnt(totPnt);
- ds_main_recgruplist.setColumn(currRow, "resultnm", bspntnm);//마스터의 분류군
- ds_main_recpntlist.setColumn(0, "resultcd", bspntnm);//상세점수의 총점
-
- var maddchk01 = ds_cond.getColumn(0, "maddchk01");
- var maddchk02 = ds_cond.getColumn(0, "maddchk02");
- var maddchk03 = ds_cond.getColumn(0, "maddchk03");
- var maddchk04 = ds_cond.getColumn(0, "maddchk04");
- var haddchk = ds_cond.getColumn(0, "haddchk");
- var maddchk99 = ds_cond.getColumn(0, "maddchk99");
- var haddchk01 = ds_cond.getColumn(0, "haddchk01");
-
- var haddchk02 = ds_cond.getColumn(0, "haddchk02");
- var haddchk03 = ds_cond.getColumn(0, "haddchk03");
- var maddchk05 = ds_cond.getColumn(0, "maddchk05");
- var maddchk06 = ds_cond.getColumn(0, "maddchk06");
-
- ds_main_recgruplist.setColumn(currRow, "maddchk01", maddchk01);
- ds_main_recgruplist.setColumn(currRow, "maddchk02", maddchk02);
- ds_main_recgruplist.setColumn(currRow, "maddchk03", maddchk03);
- ds_main_recgruplist.setColumn(currRow, "maddchk04", maddchk04);
- ds_main_recgruplist.setColumn(currRow, "haddchk", haddchk);
- ds_main_recgruplist.setColumn(currRow, "maddchk99", maddchk99);
- ds_main_recgruplist.setColumn(currRow, "haddchk01", haddchk01);
-
- ds_main_recgruplist.setColumn(currRow, "haddchk02", haddchk02);
- ds_main_recgruplist.setColumn(currRow, "haddchk03", haddchk03);
- ds_main_recgruplist.setColumn(currRow, "maddchk05", maddchk05);
- ds_main_recgruplist.setColumn(currRow, "maddchk06", maddchk06);
-
-
- //2019.03.15_낙상 고위험군 기준변경에 따른 수정(KDG)
- /*
- if( ds_cond.getColumn(0, "clsflag") == "9" ){
- if( utlf_isNull(maddchk01) && utlf_isNull(maddchk02) && utlf_isNull(maddchk03) && utlf_isNull(maddchk04) && utlf_isNull(maddchk99) ){
- sysf_messageBox("기타 항목은 반드시 하나 이상 체크 하셔야 합니다.","I");
- return;
- }
- }
- */
- //상세내역 체크한 점수를 항목별로 합산하여 상세점수 노드에 set한다.
- fSetRecDetailPnt();
- var msgStr;
- if(isRecordedArr[0]){
- var execStr = execdd.substring(0, 4) + '-' + execdd.substring(4, 6) + '-' + execdd.substring(6, 8);
- msgStr = '이미 저장된 기록 내역(' + execStr + ')이 있습니다. 다시'; //db insert (수행일시를 현재일시로)
- //20080827 주석처리 signno = isRecordedArr[1];//해당기록의 signno를 할당해 db에 update한다.(사용안함)
- signno = '';//신규이기때문에 signno를 새로딴다.
- }else{//신규등록및 이미기록되었으나 기록일자와 수행일자가 같을때..
- //msgStr = '중증도 및 위험사정의 기록내역을';
- msgStr = ""; // 메시지는 '저장하시겠습니까?' 로 통일 (2011.04.18 Ahn)
- }
- //recMasterStat이 '-'경우 'u'로 넘김.
- //중증도점수그리드
- grdf_setStatus(grd_recpnt, "U", grdf_getSelectedRows(grd_recpnt));
-
- //중증도 마스터그리드
- //20080827 상태가 신규가 아니면 u 상태로 db에 복사해 insert로 변경됨...
- var cRow = ds_main_recpntlist.rowposition;
- if( ds_main_recpntlist.getRowType(cRow) != 2 ){//상태가 신규상태가 아니면 u로 변경
- ds_main_recpntlist.setRowType(cRow, "U");
- ds_main_recgruplist.setColumn(ds_main_recgruplist.rowposition, "stat", 'u');
- siflag = 'Y';//기존데이터를 복사해 insert하는 경우 Y아니면 N
- }
- var msg = sysf_messageBox(msgStr, 'Q002');//저장하시겠습니까?
- if(Number(msg) == 6){//예
- ds_send.clear();
- ds_send.addColumn("sch_execdd", "string", 256);
- ds_send.addColumn("sch_exectm", "string", 256);
- ds_send.addColumn("siflag", "string", 256);
- ds_send.addColumn("ioflag", "string", 256);
- var addRow = ds_send.addRow();
- ds_send.setColumn(addRow, "sch_execdd", execdd);//조회조건에 있는 수행일자
- ds_send.setColumn(addRow, "sch_exectm", exectm);//조회조건에 있는 수행시간
- ds_send.setColumn(addRow, "siflag", siflag);//기존데이터를 복사해 insert하는 경우 Y아니면 N
- ds_send.setColumn(addRow, "ioflag", ds_cond.getColumn(0, 'ioflag'));//외래입원구분
-
- var patRow = ds_main_patinfo.rowposition;
- var pid = ds_main_recgruplist.getColumn(0, "pid");
- var orddd = ds_main_patinfo.getColumn(patRow, "indd");//입원일/진료일
- var cretno = ds_main_patinfo.getColumn(patRow, "cretno");//생성번호
- var orddeptcd = ds_main_patinfo.getColumn(patRow, "orddeptcd");//진료과
- var orddrid = ds_main_patinfo.getColumn(patRow, "medispclid");//진료의
- var ioflag = ds_main_patinfo.getColumn(patRow, "ioflag"); //외래/입원구분
- /* [각 구분별 기록서식코드]
- * 중증도_일반병동 : 0000002439
- * 중증도_신생아 ICU : 0000002440
- * 중증도_혈액투석 : 0000002441
- * 중증도_중환자실 : 0000002442
- * 중증도_정신과병동 : 0000002444
- * 낙상사정_아동 : 0000002447
- * 낙상사정_성인(Morse Scale) : 0000002449
- * 욕창사정(Braden Scale) : 0000002450
- */
- var recflag = ds_cond.getColumn(0, 'recflag');
- var clsflag = ds_cond.getColumn(0, 'clsflag');
- var formcd;//기록서식코드
- var formnm;//서식명
- if(clsflag == '1'){
- formcd = '0000002439'; //중증도_일반병동
- formnm = '중증도사정(일반병동)';
- recflag = '1';
- clsflag = '1';
- }else if(clsflag == '2'){
- formcd = '0000002440'; //중증도_신생아 ICU
- formnm = '중증도사정(신생아 ICU)';
- recflag = '1';
- clsflag = '2';
- }else if(clsflag == '5'){
- formcd = '0000002444'; //중증도_정신과병동
- formnm = '중증도사정(정신과병동)';
- recflag = '1';
- clsflag = '5';
- }else if(clsflag == '4' || clsflag == '6' || clsflag == '7'){
- formcd = '0000002442'; //중증도_중환자실
- formnm = '중증도사정(중환자실)';
- recflag = '1';
- clsflag = '4';
- }else if(clsflag == '3'){
- formcd = '0000002441'; //중증도_혈액투석
- formnm = '중증도사정(혈액투석)';
- recflag = '1';
- clsflag = '3';
- }else if(clsflag == '8'){
- formcd = '0000002447'; //낙상사정_아동
- formnm = '낙상위험사정(Humpty Dumpty Scale)';
- recflag = '2';
- clsflag = '1';
- }else if(clsflag == '9'){
- formcd = '0000002449'; //낙상사정_성인 (Morse Scale)
- formnm = '낙상위험사정(Morse Scale)'; // 성인 -> Morse Scale 변경 (2011.03.17 ahn)
- recflag = '2';
- clsflag = '2';
- }else if(clsflag == '10'){
- formcd = '0000002450'; //욕창
- formnm = '욕창위험사정(Braden Scale)'; // 욕창 -> Braden Scale 변경 (2011.04.13 ahn)
- recflag = '3';
- clsflag = '1';
- }
- //상세점수내역 노드를 만들어서 보낸다.
- ds_temp_signdata_detailinfo.clear();
- ds_temp_signdata_recpntlist.clear();
-
- //중증기록구분을 한글명으로 노드를 만들어서 내보낸다.
- ds_temp_signdata_detailinfo.addColumn("formnm", "string", 256);
- ds_temp_signdata_detailinfo.addColumn("recflag", "string", 256);
- ds_temp_signdata_detailinfo.addColumn("clsflag", "string", 256);
- var detail_addRow = ds_temp_signdata_detailinfo.addRow();
-
- ds_temp_signdata_detailinfo.setColumn(detail_addRow, 'formnm', formnm);
- ds_temp_signdata_detailinfo.setColumn(detail_addRow, 'recflag', recflag);
- ds_temp_signdata_detailinfo.setColumn(detail_addRow, 'clsflag', clsflag);
-
- ds_temp_signdata_recpntlist.addColumn("timsval", "string", 256);
- ds_temp_signdata_recpntlist.addColumn("hngnm", "string", 256);
- var recpntCnt = ds_main_pnttitlgruplist.rowcount;
- var timsval, hngnm;
- var colno = "";
- for( var i = 0; i < recpntCnt; i++ ){
- if(i < 10){
- colno = '0' + (i + 1);
- }else{
- colno = (i + 1);
- }
-
- if( utlf_isNull(ds_main_recpntlist.getColumnInfo('timsval' + colno)) ){
- timsval = "";
- }else{
- timsval = ds_main_recpntlist.getColumn(0, 'timsval' + colno);
- }
-
- hngnm = ds_main_pnttitlgruplist.getColumn(i, 'hngnm');
-
- var recpnt_addRow = ds_temp_signdata_recpntlist.addRow();
- ds_temp_signdata_recpntlist.setColumn(recpnt_addRow, 'timsval', timsval);
- ds_temp_signdata_recpntlist.setColumn(recpnt_addRow, 'hngnm', hngnm);
- }
- Sign.certreload = false ; // 전자서명 호출시 인증저장 버튼을 누늘때마다 인증서가 뜨도록 처리
- // 인증 로직 호출
- if(Sign.signprocess() == true){ // ▶ 전자인증 관련 환자 인적 정보를 보내줌.
- //alert(Sign.signedInfos[1]);
- ds_send_signinfo.setColumn(0, "pid" , pid); // 01 등록번호
- ds_send_signinfo.setColumn(0, "orddd" , orddd); // 02 입원일자(입원,응급)/진료일자(외래)
- ds_send_signinfo.setColumn(0, "cretno" , cretno); // 03 생성번호
- ds_send_signinfo.setColumn(0, "signno" , signno); // 04 서명번호(인증번호)
- ds_send_signinfo.setColumn(0, "recdd" , utlf_getCurrentDate()); // 05 실제 기록이 이루어진 기록일자
- ds_send_signinfo.setColumn(0, "rectm" , utlf_getCurrentTime()); // 06 실제 기록이 이루어진 기록시간
- ds_send_signinfo.setColumn(0, "recsaveflag" , "Y"); // 07 전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
- ds_send_signinfo.setColumn(0, "signflag" , "02"); // 08 서명자료구분(01 : 진료, 02 : 간호, 03 : LIS, 04 : 진료지원)
- ds_send_signinfo.setColumn(0, "signgenrflag", ioflag); // 09 외래/입원구분(코드정의서 M0010 참조)
- ds_send_signinfo.setColumn(0, "formcd" , formcd); // 10 각 기록지별 서식코드 (emr.mrfmform)
- ds_send_signinfo.setColumn(0, "orddeptcd" , orddeptcd); // 11 진료부서코드
- ds_send_signinfo.setColumn(0, "orddrid" , orddrid); // 12 진료의사ID
- ds_send_signinfo.setColumn(0, "signbfcnts" , Sign.signedInfos[1]); // 13 ▶ 인증할 데이터 정보(미기록 노드 제거된 정보)
- ds_send_signinfo.setColumn(0, "signaftcnts" , Sign.signedInfos[2]); // 14 ▶ 공인인증 처리후 데이터
- ds_send_signinfo.setColumn(0, "screenid" , frmf_getScreenID()); // 15 ▶ 화면아이디
- ds_send_signinfo.setColumn(0, "certflag" , "C"); // 16 ▶ 인증여부( T : 임시저장, C : 인증저장)
- } else {
- return ;
- }
- // ds_send_recmaster.clear();
- // var oDsUpdate = grdf_getGridUpdateData(grd_recmaster, "i");
- // grdf_setStatusColumn(oDsUpdate, "m");
- ds_send_recmaster.copyData(ds_main_recgruplist, true);
- for( var idx = 0; idx < ds_main_recdetailgruplist.rowcount; idx++ ){
- if( Number(ds_main_recdetailgruplist.getColumn(idx, "basepnt_multi")) > 0 ){
- ds_main_recdetailgruplist.setColumn(idx, "basepnt", ds_main_recdetailgruplist.getColumn(idx, "basepnt_multi"));
- }
-
- if( ds_main_recdetailgruplist.getColumn(idx, "flag") == "1" ){
- ds_main_recdetailgruplist.setColumn(idx, "flag", "Y");
- }else if( ds_main_recdetailgruplist.getColumn(idx, "flag") == "0" ){
- ds_main_recdetailgruplist.setColumn(idx, "flag", "N");
- }
- }
-
- ds_send_recdetail.clear();
-
- //grd_recdetail.updateToDataset();
- var detail_oDsUpdate = grdf_getGridUpdateData(grd_recdetail, "i");
- grdf_setStatusColumn(detail_oDsUpdate, "m");
-
- ds_send_recdetail.copyData(detail_oDsUpdate, true);
- //var test_2 = grd_recdetail.getUpdateDataAll('i'); // 150114 - AYS
- fLoadFallPnt(recflag, clsflag, bspntnm);
- var oParam = {};
- oParam.id = "TXMNW04001";
- oParam.service = "carerecapp.AsesRec";
- oParam.method = "reqExeSerDiagGrupInfo";
- oParam.inds = "cond=ds_send recMaster=ds_send_recmaster recDetail=ds_send_recdetail signinfo=ds_send_signinfo";
- oParam.outds = "ds_hidden_hiddeninfo=retdata";
- oParam.async = false;
- oParam.callback = "cf_TXMNW04001";
- tranf_submit(oParam);
- if( arErrorCode.pop("TXMNW04001") < 0 ){
- sysf_messageBox('저장을', 'E009');
- return;
- }else{
- ds_cond.setColumn(0, "copyexecdd", "");
- var condparam = '';
- var i = ds_main_patinfo.rowposition;
-
- if( ds_cond.getColumn(0, "nextyn")=='Y' ){
- if( ds_main_patinfo.rowcount-1 > i){
- i = i+1 ;
- }else if( ds_main_patinfo.rowcount-1 == i){
- sysf_messageBox('다음 환자가 없습니다.', 'E');
- }
- }
-
- if( ds_main_paminfo.getColumn(0, "dschdd") == "99991231"){ //퇴원환자가 아닌경우
- if( ds_main_patinfo.getColumn(i, 'ioflag') =="O" ) {
- //외래환자 상단정보 등록
- condparam = "O"+"▦" + ds_main_patinfo.getColumn(i, "pid")
- + "▦" + ds_main_patinfo.getColumn(i, "indd")
- + "▦" + ds_main_patinfo.getColumn(i, "cretno")
- + "▦" + sysf_getUserInfo("dutplceinstcd")
- + "▦" + utlf_getCurrentDate();
-
- }
- // 응급실 추가 2011.03.15 (Ahn)
- else if( ds_main_patinfo.getColumn(i, "ioflag") =="E" ) {
- //응급환자 상단정보 등록
- condparam = "E"+"▦" + ds_main_patinfo.getColumn(i, "pid")
- + "▦" + ds_main_patinfo.getColumn(i, "indd")
- + "▦" + ds_main_patinfo.getColumn(i, "cretno")
- + "▦" + sysf_getUserInfo("dutplceinstcd")
- + "▦" + utlf_getCurrentDate();
- }else{
- //재원환자 상단정보 등록
- condparam = "I"+"▦" + ds_main_patinfo.getColumn(i, "pid")
- + "▦" + ds_main_patinfo.getColumn(i, "indd")
- + "▦" + ds_main_patinfo.getColumn(i, "cretno")
- + "▦" + sysf_getUserInfo("dutplceinstcd")
- + "▦" + utlf_getCurrentDate();
- }
- }else { //퇴원환자인 경우
- if( ds_main_patinfo.getColumn(i, "ioflag") =="O" ) {
- //외래환자 상단정보 등록
- condparam = "O"+"▦" + ds_main_patinfo.getColumn(i, "pid")
- + "▦" + ds_main_patinfo.getColumn(i, "indd")
- + "▦" + ds_main_patinfo.getColumn(i, "cretno")
- + "▦" + sysf_getUserInfo("dutplceinstcd")
- + "▦" + ds_main_paminfo.getColumn(0, "dschdd");
-
- }// 응급실 추가 2011.03.15 (Ahn)
- else if( ds_main_patinfo.getColumn(i, "ioflag") =="E" ) {
- //응급환자 상단정보 등록
- condparam = "E"+"▦" + ds_main_patinfo.getColumn(i, "pid")
- + "▦" + ds_main_patinfo.getColumn(i, "indd")
- + "▦" + ds_main_patinfo.getColumn(i, "cretno")
- + "▦" + sysf_getUserInfo("dutplceinstcd")
- + "▦" + ds_main_paminfo.getColumn(0, "dschdd");
- }else{
- //재원환자 상단정보 등록
- condparam = "I"+"▦" + ds_main_patinfo.getColumn(i, "pid")
- + "▦" + ds_main_patinfo.getColumn(i, "indd")
- + "▦" + ds_main_patinfo.getColumn(i, "cretno")
- + "▦" + sysf_getUserInfo("dutplceinstcd")
- + "▦" + ds_main_paminfo.getColumn(0, "dschdd");
- }
- }
- // frmf_setParameter("condparam", condparam);
- // frmf_modal("SPMMO08900", "SPMMO08900", null, null, null, null, null, null, null, null, null, null, "M");
-
- appf_initPatientInfo(condparam); //상단정보 셋팅
-
- //조회조건 clear
- ds_cond.setColumn(0, 'pid', '');
- //환자정보 표시 clear (2011.03.29 Ahn)
- ds_cond.setColumn(0, 'patnm', '');
- ds_cond.setColumn(0, 'sexage', '');
- ds_cond.setColumn(0, 'age', '');
-
- // 해당 환자 pid 임시 저장
- var patPid = ds_main_patinfo.getColumn(i, "pid");
- var patIdx = "";
-
- //환자정보 조회
- fSearchPatList(); // 환자정보 재조회 (2011.03.30 Ahn)
-
- // 해당 환자정보 재 표시
- ds_cond.setColumn(0, "pid", ds_main_patinfo.lookup("pid", patPid , "pid"));
- ds_cond.setColumn(0, "patnm", ds_main_patinfo.lookup("pid", patPid, "hngnm"));
- ds_cond.setColumn(0, "sexage", ds_main_patinfo.lookup("pid", patPid, "sexage"));
- ds_cond.setColumn(0, "age", ds_main_patinfo.lookup("pid", patPid, "age"));
-
-
- // 해당 환자 인덱스 선택 재 지정
- for( i = 0; i < ds_main_patinfo.rowcount; i++ ){
- if(patPid == ds_main_patinfo.getColumn(i, "pid")){
- grd_patinfo.setFocus();
- patIdx = i;
- break;
- }
- }
- ds_main_patinfo.selectRow(patIdx);
- ds_main_patinfo.rowposition = patIdx;
-
- //중증도/낙상/욕창 내역 조회(grd_recmaster)
- fSearchRecMaster(patIdx, "save");
-
- //환자 넘기기시 성인 소아 처리 (테스트 더 필요)
- /*
- if( ds_cond.getColumn(0, "nextyn")=='Y' ){
- if(ds_cond.getColumn(0, "clsflag") == "8" || ds_cond.getColumn(0, "clsflag") =="9"){
-
- frmf_inputEnterKey("rdo_clsflagb", "onitemchanged", new ItemChangeEventInfo);
- }
- }
- */
-
-
- }
- }else if(Number(msg) == 7){//아니오
- return;
- }
- }
- }
- function cf_TXMNW04001(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /******************************************************************
- * Argument :
- * Description : 중증도 일괄저장
- ******************************************************************/
- function fAllSignSave(){
- var chk = "1";
- var totcnt = 0;
- var succnt = 0;
- var failcnt = 0;
- grp_allsign.cap_succnt.value = 0;
- grp_allsign.cap_failcnt.value = 0;
- grp_allsign.cap_totcnt.value = 0;
-
- ds_temp.clear();
- ds_temp.copyData(ds_main_patinfo);
- ds_temp.filter("chk == '"+ chk +"'");
- var cnt = ds_temp.rowcount;
-
- if(cnt < 1){
- sysf_messageBox('일괄저장 할 환자를', 'C002');
- return;
- }
-
- var msg = sysf_messageBox(cnt+'명의 중증도 항목을 일괄 인증저장 하시겠습니까?', 'Q');
- if(Number(msg) != 6){
- return;
- }
- sAllSignSave = true;
- var chkN = "N";
- var totcnt = ds_main_patinfo.rowcount;
-
- for( patRow = 0; patRow < totcnt; patRow++) {
- chk = ds_main_patinfo.getColumn(patRow, "chk");
- if(chk != "1"){
- continue;
- }
-
- grp_allsign.cap_totcnt.text = cnt;
- var dschdd = ds_main_patinfo.getColumn(patRow, "dschdd"); //퇴원일자
- var indd = ds_main_patinfo.getColumn(patRow, "indd"); //입원일자
- var hngnm = ds_main_patinfo.getColumn(patRow, "hngnm"); //환자이름
- var execdd = ds_cond.getColumn(0, "execdd"); //수행일자
-
- ds_cond.setColumn(0, "pid", ds_main_patinfo.getColumn(patRow, "pid"));
- ds_cond.setColumn(0, "patnm", ds_main_patinfo.getColumn(patRow, "hngnm"));
- ds_cond.setColumn(0, "sexage", ds_main_patinfo.getColumn(patRow, "sexage"));
- ds_cond.setColumn(0, "age", ds_main_patinfo.getColumn(patRow, "age"));
-
- if( indd != "" || utlf_isNull(indd) ) {
- if((execdd < indd) || (execdd > dschdd)) { //입원,퇴원일자 사이의 수행일자만 입력하도록 블러킹
- sysf_messageBox("수행하려는 일자는 입원일자(" +indd.substring(0,4) + "-" + indd.substring(4, 6) + "-" + indd.substring(6) + ")이전 또는 퇴원일자("+dschdd.substring(0,4) + "-" + dschdd.substring(4, 6) + "-" + dschdd.substring(6)+")이후의 일자가 될 수","I004");
- return;
- }
- }
-
- fSearchRecMasterAll(patRow);
-
- var recmasterrow = -1;
-
- for( var idx = 0; idx < ds_main_recgruplist.rowcount; idx++ ){
- if ( ds_main_recdetailgruplist.getColumn(0, "pid") == ds_main_recgruplist.getColumn(idx, "pid")
- && ds_main_recdetailgruplist.getColumn(0, "execdd") == ds_main_recgruplist.getColumn(idx, "execdd")
- && ds_main_recdetailgruplist.getColumn(0, "recseq") == ds_main_recgruplist.getColumn(idx, "recseq")
- ){
- recmasterrow = idx;
- recRow = idx;
- break;
- }
- }
- if ( recmasterrow == -1 ){
- //var hngnm = model.getValue("/root/main/patinfo/patlist[" + (patRow) + "]/hngnm");
- sysf_messageBox(hngnm + ' 환자는 저장 이력이 없습니다. 개별 인증저장 하십시오.', "I008");
- //messageBox( capt_master.attribute("text") + " 선택" ,"I008");
- failcnt++;
- grp_allsign.cap_failcnt.text = failcnt;
- continue;
- }
-
- if( !addallchk() ){
- //messageBox(hngnm + '낙상 구분을 재 선택하여 개별 인증저장 하십시오.', "I008");
- failcnt++;
- grp_allsign.cap_failcnt.text = failcnt;
- continue;
- }
-
- var recMasterStat = ds_main_recgruplist.getColumn(recmasterrow, "stat");//기록마스터의 상태값
- var execdd = ds_cond.getColumn(0, "execdd");//조회조건의 수행일자
- var exectm = ds_cond.getColumn(0, "exectm");//조회조건의 수행시간
- //수행일시 필수입력 체크_20090122_SMY추가
- if( utlf_isNull(execdd) ){
- sysf_messageBox("수행일자를 입력하세요","I");
- ipt_indate.setFocus();
- return;
- }
- if( utlf_isNull(exectm) ){
- sysf_messageBox("수행시간을 입력하세요","I");
- ipt_time.setFocus();
- return;
- }
- var recdd = ds_main_recgruplist.getColumn(recmasterrow, "execdd");//기록된 일자
- var isRecordedArr = fIsRecordedAll(execdd);//input수행일자에 해당되는 기록이 있는지 여부
- //20080820 array로 변경
- //arr[0]은 기록여부 true/false
- //arr[1]은 기록여부 true일때의 signno
- var signno = '';//인증번호
- var siflag = 'N';//default 는 N. 기존의 데이터를 그대로 신규로 insert하는경우flag값
- // Y인경우 : 1.다른일자의 기록내역은 있으나 input의 수행일자에 해당되는 기록이 없을때..
- // 2. input의 수행일자에 해당되는 기록이 있을때..
- var msgStr;
- if( isRecordedArr[0] ){
- var execStr = execdd.substring(0, 4) + '-' + execdd.substring(4, 6) + '-' + execdd.substring(6, 8);
- var hngnm = ds_main_patinfo.getColumn(patRow, "hngnm");
- msgStr = hngnm + '환자는 이미 저장된 기록 내역(' + execStr + ')이 있습니다. 다시'; //db insert (수행일시를 현재일시로)
- var msg = sysf_messageBox(msgStr, 'Q002');//저장하시겠습니까?
- if(Number(msg) != 6){//예
- failcnt++;
- grp_allsign.cap_failcnt.text = failcnt;
- continue;
- }
- //20080827 주석처리 signno = isRecordedArr[1];//해당기록의 signno를 할당해 db에 update한다.(사용안함)
- signno = '';//신규이기때문에 signno를 새로딴다.
- }else{//신규등록및 이미기록되었으나 기록일자와 수행일자가 같을때..
- //msgStr = '중증도 및 위험사정의 기록내역을';
- msgStr = ""; // 메시지는 '저장하시겠습니까?' 로 통일 (2011.04.18 Ahn)
- }
- var mstat = ds_main_recgruplist.getColumn(recRow, "stat");
- if(mstat != 'i' || mstat != 'I'){
- ds_main_recgruplist.setColumn(recRow, "stat", 'u');
- siflag = 'Y'; //기존데이터를 복사해 insert하는 경우 Y아니면 N
- }
-
- ds_send.clear();
- ds_send.addColumn("sch_execdd", "string", 256);
- ds_send.addColumn("sch_exectm", "string", 256);
- ds_send.addColumn("siflag", "string", 256);
- ds_send.addColumn("ioflag", "string", 256);
- var iRow = ds_send.addRow();
- ds_send.setColumn(iRow, 'sch_execdd', execdd);//조회조건에 있는 수행일자
- ds_send.setColumn(iRow, 'sch_exectm', exectm);//조회조건에 있는 수행시간
- ds_send.setColumn(iRow, 'siflag', siflag);//기존데이터를 복사해 insert하는 경우 Y아니면 N
- ds_send.setColumn(iRow, 'ioflag', ds_cond.getColumn(0, "ioflag"));//외래입원구분
-
- var pid = ds_main_recgruplist.getColumn(0, "pid");
- var orddd = ds_main_patinfo.getColumn(patRow, "indd");//입원일/진료일
- var cretno = ds_main_patinfo.getColumn(patRow, "cretno");//생성번호
- var orddeptcd = ds_main_patinfo.getColumn(patRow, "orddeptcd");//진료과
- var orddrid = ds_main_patinfo.getColumn(patRow, "medispclid");//진료의
- var ioflag = ds_main_patinfo.getColumn(patRow, "ioflag"); //외래/입원구분
- /* [각 구분별 기록서식코드]
- * 중증도_일반병동 : 0000002439
- * 중증도_신생아 ICU : 0000002440
- * 중증도_혈액투석 : 0000002441
- * 중증도_중환자실 : 0000002442
- * 중증도_정신과병동 : 0000002444
- * 낙상사정_아동 : 0000002447
- * 낙상사정_성인(Morse Scale) : 0000002449
- * 욕창사정(Braden Scale) : 0000002450
- */
- var recflag = ds_cond.getColumn(0, "recflag");
- var clsflag = ds_cond.getColumn(0, "clsflag");
- var formcd;//기록서식코드
- var formnm;//서식명
- if(clsflag == '1'){
- formcd = '0000002439'; //중증도_일반병동
- formnm = '중증도사정(일반병동)';
- recflag = '1';
- clsflag = '1';
- }else if(clsflag == '2'){
- formcd = '0000002440'; //중증도_신생아 ICU
- formnm = '중증도사정(신생아 ICU)';
- recflag = '1';
- clsflag = '2';
- }else if(clsflag == '5'){
- formcd = '0000002444'; //중증도_정신과병동
- formnm = '중증도사정(정신과병동)';
- recflag = '1';
- clsflag = '5';
- }else if(clsflag == '4' || clsflag == '6' || clsflag == '7'){
- formcd = '0000002442'; //중증도_중환자실
- formnm = '중증도사정(중환자실)';
- recflag = '1';
- clsflag = '4';
- }else if(clsflag == '3'){
- formcd = '0000002441'; //중증도_혈액투석
- formnm = '중증도사정(혈액투석)';
- recflag = '1';
- clsflag = '3';
- }else if(clsflag == '8'){
- formcd = '0000002447'; //낙상사정_아동
- formnm = '낙상위험사정(Humpty Dumpty Scale)';
- recflag = '2';
- clsflag = '1';
- }else if(clsflag == '9'){
- formcd = '0000002449'; //낙상사정_성인 (Morse Scale)
- formnm = '낙상위험사정(Morse Scale)'; // 성인 -> Morse Scale 변경 (2011.03.17 ahn)
- recflag = '2';
- clsflag = '2';
- }else if(clsflag == '10'){
- formcd = '0000002450'; //욕창
- formnm = '욕창위험사정(Braden Scale)'; // 욕창 -> Braden Scale 변경 (2011.04.13 ahn)
- recflag = '3';
- clsflag = '1';
- }
- //상세점수내역 노드를 만들어서 보낸다.
- ds_temp_signdata_recpntlist.clear();
- ds_temp_signdata_recpntlist.addColumn("timsval", "string", 256);
- ds_temp_signdata_recpntlist.addColumn("hngnm", "string", 256);
-
- //중증기록구분을 한글명으로 노드를 만들어서 내보낸다.
-
- ds_temp_signdata_detailinfo.clear();
- ds_temp_signdata_detailinfo.addColumn("formnm", "string", 256);
- ds_temp_signdata_detailinfo.addColumn("recflag", "string", 256);
- ds_temp_signdata_detailinfo.addColumn("clsflag", "string", 256);
- var addRow = ds_temp_signdata_detailinfo.addRow();
-
- ds_temp_signdata_detailinfo.setColumn(addRow, "formnm", formnm);
- ds_temp_signdata_detailinfo.setColumn(addRow, "recflag", recflag);
- ds_temp_signdata_detailinfo.setColumn(addRow, "clsflag", clsflag);
- var recpntCnt = ds_main_pnttitlgruplist.rowcount;
- var timsval = "";
- var hngnm;
- var colno;
- for(var i = 0; i < recpntCnt; i++){
- if(i < 10){
- colno = '0' + (i+1);
- }else{
- colno = (i+1);
- }
-
- if( !utlf_isNull(ds_main_recpntlist.getColumnInfo("timsval"+colno)) && !utlf_isNull(ds_main_recpntlist.getColumn(0, "timsval" + colno)) ){
- timsval = ds_main_recpntlist.getColumn(0, "timsval" + colno);
- }
- hngnm = ds_main_pnttitlgruplist.getColumn(i, "hngnm");
-
- var iRow = ds_temp_signdata_recpntlist.addRow()
- ds_temp_signdata_recpntlist.setColumn(iRow, "timsval", timsval);
- ds_temp_signdata_recpntlist.setColumn(iRow, "hngnm", hngnm);
- }
-
-
- if(ds_cond.getColumn(0, "clsflag") == "8" || ds_cond.getColumn(0, "clsflag") =="9"){
- //과거기록에 대한 임시 추가 기능
- if( (ds_main_recgruplist.getColumn(ds_main_recgruplist.rowposition,"recflag") =="2" && ds_main_recgruplist.getColumn(ds_main_recgruplist.rowposition,"clsflag") =="1") ||
- (ds_main_recgruplist.getColumn(ds_main_recgruplist.rowposition,"recflag") =="2" && ds_main_recgruplist.getColumn(ds_main_recgruplist.rowposition,"clsflag") =="2")
- ){
- if(ds_main_recgruplist.getColumn(ds_main_recgruplist.rowposition, "execdd") < "20190402" ){ //
- trace("과거 기록 최신로직 적용");
- fPreChkTrue(); //과거기록에 대한 임시 추가 기능
- //fChkTF("N", "N");
- }
- }
- //과거기록에 대한 임시 추가 기능
- }
-
-
- Sign.certreload = false ; // 전자서명 호출시 인증저장 버튼을 누늘때마다 인증서가 뜨도록 처리
- // 인증 로직 호출
- if(Sign.signprocess() == true){ // ▶ 전자인증 관련 환자 인적 정보를 보내줌.
- var wSigninfo = ""
- ds_send_signinfo.setColumn(0, "pid", pid); // 01 등록번호
- ds_send_signinfo.setColumn(0, "orddd", orddd); // 02 입원일자(입원,응급)/진료일자(외래)
- ds_send_signinfo.setColumn(0, "cretno", cretno); // 03 생성번호
- ds_send_signinfo.setColumn(0, "signno", signno); // 04 서명번호(인증번호)
- ds_send_signinfo.setColumn(0, "recdd", utlf_getCurrentDate()); // 05 실제 기록이 이루어진 기록일자
- ds_send_signinfo.setColumn(0, "rectm", utlf_getCurrentTime()); // 06 실제 기록이 이루어진 기록시간
- ds_send_signinfo.setColumn(0, "recsaveflag", "Y"); // 07 전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
- ds_send_signinfo.setColumn(0, "signflag", "02"); // 08 서명자료구분(01 : 진료, 02 : 간호, 03 : LIS, 04 : 진료지원)
- ds_send_signinfo.setColumn(0, "signgenrflag", ioflag); // 09 외래/입원구분(코드정의서 M0010 참조)
- ds_send_signinfo.setColumn(0, "formcd", formcd); // 10 각 기록지별 서식코드 0000002473 N57 간호 수술간호기록
- ds_send_signinfo.setColumn(0, "orddeptcd", orddeptcd); // 11 진료부서코드
- ds_send_signinfo.setColumn(0, "orddrid", orddrid); // 12 진료의사ID (집도의)
- ds_send_signinfo.setColumn(0, "signbfcnts", Sign.signedInfos[1]); // 13 ▶ 인증할 데이터 정보(미기록 노드 제거된 정보)
- ds_send_signinfo.setColumn(0, "signaftcnts", Sign.signedInfos[2]); // 14 ▶ 공인인증 처리후 데이터
- ds_send_signinfo.setColumn(0, "screenid", frmf_getScreenID()); // 15 ▶ 화면아이디
- ds_send_signinfo.setColumn(0, "certflag", "C"); // 16 ▶ 인증여부( T : 임시저장, C : 인증저장)
- } else {
- return ;
- }
-
- ds_send_recmaster.clearData();
-
- if( utlf_isNull(ds_send_recmaster.getColumnInfo("rownum")) ){
- ds_send_recmaster.addColumn("rownum", "string");
- }
- if( utlf_isNull(ds_send_recdetail.getColumnInfo("rownum")) ){
- ds_send_recdetail.addColumn("rownum", "string");
- }
-
- var sRecData = "";
- for( i = 0; i < ds_main_recgruplist.rowcount; i++ ){
- var nRow = ds_send_recmaster.addRow();
-
- ds_send_recmaster.setColumn(nRow, "m", "i");
- ds_send_recmaster.setColumn(nRow, "rownum", i+1);
- ds_send_recmaster.setColumn(nRow, "execdd", ds_main_recgruplist.getColumn(i, "execdd"));
- ds_send_recmaster.setColumn(nRow, "exectm", ds_main_recgruplist.getColumn(i, "exectm"));
- ds_send_recmaster.setColumn(nRow, "recflagnm", ds_main_recgruplist.getColumn(i, "recflagnm"));
- ds_send_recmaster.setColumn(nRow, "totpnt", ds_main_recgruplist.getColumn(i, "totpnt"));
- ds_send_recmaster.setColumn(nRow, "resultnm", ds_main_recgruplist.getColumn(i, "resultnm"));
- ds_send_recmaster.setColumn(nRow, "execnm", ds_main_recgruplist.getColumn(i, "execnm"));
- ds_send_recmaster.setColumn(nRow, "pid", ds_main_recgruplist.getColumn(i, "pid"));
- ds_send_recmaster.setColumn(nRow, "hngnm", ds_main_recgruplist.getColumn(i, "hngnm"));
- ds_send_recmaster.setColumn(nRow, "recseq", ds_main_recgruplist.getColumn(i, "recseq"));
- ds_send_recmaster.setColumn(nRow, "recflag", ds_main_recgruplist.getColumn(i, "recflag"));
- ds_send_recmaster.setColumn(nRow, "clsflag", ds_main_recgruplist.getColumn(i, "clsflag"));
- ds_send_recmaster.setColumn(nRow, "execkind", ds_main_recgruplist.getColumn(i, "execkind"));
- ds_send_recmaster.setColumn(nRow, "execid", ds_main_recgruplist.getColumn(i, "execid"));
- ds_send_recmaster.setColumn(nRow, "indd", ds_main_recgruplist.getColumn(i, "indd"));
- ds_send_recmaster.setColumn(nRow, "histstat", ds_main_recgruplist.getColumn(i, "histstat"));
- ds_send_recmaster.setColumn(nRow, "cretno", ds_main_recgruplist.getColumn(i, "cretno"));
- ds_send_recmaster.setColumn(nRow, "seqno", ds_main_recgruplist.getColumn(i, "seqno"));
- ds_send_recmaster.setColumn(nRow, "resultcd", ds_main_recgruplist.getColumn(i, "resultcd"));
- ds_send_recmaster.setColumn(nRow, "signno", ds_main_recgruplist.getColumn(i, "signno"));
- ds_send_recmaster.setColumn(nRow, "stat", ds_main_recgruplist.getColumn(i, "stat"));
- ds_send_recmaster.setColumn(nRow, "agechk", ds_main_recgruplist.getColumn(i, "agechk"));
- ds_send_recmaster.setColumn(nRow, "maddchk01", ds_main_recgruplist.getColumn(i, "maddchk01"));
- ds_send_recmaster.setColumn(nRow, "maddchk02", ds_main_recgruplist.getColumn(i, "maddchk02"));
- ds_send_recmaster.setColumn(nRow, "maddchk03", ds_main_recgruplist.getColumn(i, "maddchk03"));
- ds_send_recmaster.setColumn(nRow, "maddchk04", ds_main_recgruplist.getColumn(i, "maddchk04"));
- ds_send_recmaster.setColumn(nRow, "maddchk99", ds_main_recgruplist.getColumn(i, "maddchk99"));
- ds_send_recmaster.setColumn(nRow, "haddchk", ds_main_recgruplist.getColumn(i, "haddchk"));
-
- ds_send_recmaster.setColumn(nRow, "haddchk02", ds_main_recgruplist.getColumn(i, "haddchk02"));
- ds_send_recmaster.setColumn(nRow, "haddchk03", ds_main_recgruplist.getColumn(i, "haddchk03"));
- ds_send_recmaster.setColumn(nRow, "maddchk05", ds_main_recgruplist.getColumn(i, "maddchk05"));
- ds_send_recmaster.setColumn(nRow, "maddchk06", ds_main_recgruplist.getColumn(i, "maddchk06"));
- }
-
- for( var idx = 0 ; idx < ds_main_recdetailgruplist.rowcount; idx++ ){
- if( Number(ds_main_recdetailgruplist.getColumn(idx, "basepnt_multi")) > 0 ){
- ds_main_recdetailgruplist.setColumn(idx, "basepnt", ds_main_recdetailgruplist.getColumn(idx, "basepnt_multi"));
- }
- }
-
- ds_send_recdetail.clearData();
-
- var sDetailData = "";
- for( var i = 0; i < ds_main_recdetailgruplist.rowcount; i++ ){
- var nRow = ds_send_recdetail.addRow();
-
- ds_send_recdetail.setColumn(nRow, "m", "i");
- ds_send_recdetail.setColumn(nRow, "rownum", i+1);
- ds_send_recdetail.setColumn(nRow, "stat", ds_main_recdetailgruplist.getColumn(i, "stat"));
- ds_send_recdetail.setColumn(nRow, "flag", ds_main_recdetailgruplist.getColumn(i, "flag"));
- ds_send_recdetail.setColumn(nRow, "clstlcd", ds_main_recdetailgruplist.getColumn(i, "clstlcd"));
- ds_send_recdetail.setColumn(nRow, "hngnm", ds_main_recdetailgruplist.getColumn(i, "hngnm"));
- ds_send_recdetail.setColumn(nRow, "basepnt", ds_main_recdetailgruplist.getColumn(i, "basepnt"));
- ds_send_recdetail.setColumn(nRow, "timsval", ds_main_recdetailgruplist.getColumn(i, "timsval"));
- ds_send_recdetail.setColumn(nRow, "cnfmyn", ds_main_recdetailgruplist.getColumn(i, "cnfmyn"));
- ds_send_recdetail.setColumn(nRow, "cmtinptyn", ds_main_recdetailgruplist.getColumn(i, "cmtinptyn"));
- ds_send_recdetail.setColumn(nRow, "grupmulti", ds_main_recdetailgruplist.getColumn(i, "grupmulti"));
- ds_send_recdetail.setColumn(nRow, "engnm", ds_main_recdetailgruplist.getColumn(i, "engnm"));
- ds_send_recdetail.setColumn(nRow, "refseq", ds_main_recdetailgruplist.getColumn(i, "refseq"));
- ds_send_recdetail.setColumn(nRow, "deptcd", ds_main_recdetailgruplist.getColumn(i, "deptcd"));
- ds_send_recdetail.setColumn(nRow, "supcd", ds_main_recdetailgruplist.getColumn(i, "supcd"));
- ds_send_recdetail.setColumn(nRow, "todd", ds_main_recdetailgruplist.getColumn(i, "todd"));
- ds_send_recdetail.setColumn(nRow, "depth", ds_main_recdetailgruplist.getColumn(i, "depth"));
- ds_send_recdetail.setColumn(nRow, "grupflag", ds_main_recdetailgruplist.getColumn(i, "grupflag"));
- ds_send_recdetail.setColumn(nRow, "clsflag", ds_main_recdetailgruplist.getColumn(i, "clsflag"));
- ds_send_recdetail.setColumn(nRow, "recflag", ds_main_recdetailgruplist.getColumn(i, "recflag"));
- ds_send_recdetail.setColumn(nRow, "sortseq", ds_main_recdetailgruplist.getColumn(i, "sortseq"));
- ds_send_recdetail.setColumn(nRow, "bktimsval", ds_main_recdetailgruplist.getColumn(i, "bktimsval"));
- ds_send_recdetail.setColumn(nRow, "desccnts", ds_main_recdetailgruplist.getColumn(i, "desccnts"));
- ds_send_recdetail.setColumn(nRow, "pid", ds_main_recdetailgruplist.getColumn(i, "pid"));
- ds_send_recdetail.setColumn(nRow, "execdd", ds_main_recdetailgruplist.getColumn(i, "execdd"));
- ds_send_recdetail.setColumn(nRow, "recseq", ds_main_recdetailgruplist.getColumn(i, "recseq"));
- ds_send_recdetail.setColumn(nRow, "wardcd", ds_main_recdetailgruplist.getColumn(i, "wardcd"));
- ds_send_recdetail.setColumn(nRow, "roomcd", ds_main_recdetailgruplist.getColumn(i, "roomcd"));
- }
-
- var oParam = {};
- oParam.id = "TXMNW04001";
- oParam.service = "carerecapp.AsesRec";
- oParam.method = "reqExeSerDiagGrupInfo";
- oParam.inds = "cond=ds_send recMaster=ds_send_recmaster recDetail=ds_send_recdetail signinfo=ds_send_signinfo";
- oParam.outds = "ds_hidden_hiddeninfo=retdata";
- oParam.async = false;
- oParam.callback = "cf_TXMNW04001";
- tranf_submit(oParam);
- if( arErrorCode.pop("TXMNW04001") < 0 ){
- return;
- } else {
- ds_cond.setColumn(0, "copyexecdd", "");
-
-
- //조회조건 clear
- ds_cond.setColumn(0, "pid", '');
- //환자정보 표시 clear (2011.03.29 Ahn)
- ds_cond.setColumn(0, "patnm", '');
- ds_cond.setColumn(0, "sexage", '');
- ds_cond.setColumn(0, "age", '');
-
- ds_send.clear();
- ds_main_recgruplist.clearData();
- ds_main_recinfo.clearData();
- ds_main_recpntlist.clearData();
- ds_main_pnttitlgruplist.clearData();
- ds_main_recdetailgruplist.clearData();
- ds_main_tar_desccnts.setColumn(0, "tar_desccnts", "");
-
- succnt++;
- grp_allsign.cap_succnt.text = succnt;
- }
- }
-
- ds_cond.setColumn(0, "pid", '');
- ds_cond.setColumn(0, "patnm", '');
- ds_cond.setColumn(0, "sexage", '');
- ds_cond.setColumn(0, "age", '');
-
- ds_send.clear();
- ds_main_recgruplist.clearData();
- ds_main_recinfo.clearData();
- ds_main_recpntlist.clearData();
- ds_main_pnttitlgruplist.clearData();
- ds_main_recdetailgruplist.clearData();
- ds_main_tar_desccnts.setColumn(0, "tar_desccnts", "");
- fSearchPatList();
-
- sysf_messageBox( succnt + " 명의 환자 일괄저장이", "I001");
- }
- function cf_TXMNW04001(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /******************************************************************
- * Argument : fMake_SignData()
- * Description : 인증데이터 생성함수 만들기
- ******************************************************************/
- function fMake_SignData(){
-
- // ▶ 기록 관련 인스턴스 전체를 copy, 인증에 저장할 모든 Instance AddNode한다.
- if(sAllSignSave == true){
-
- ds_hidden_patinfo.clear();
- dsf_copyColInfo(ds_hidden_patinfo, ds_main_patinfo);
- var hAddRow = ds_hidden_patinfo.addRow();
- ds_hidden_patinfo.copyRow(hAddRow, ds_main_patinfo, patRow);
-
- ds_hidden_recgruplist.clear();
- dsf_copyColInfo(ds_hidden_recgruplist, ds_main_recgruplist);
- var addRow = ds_hidden_recgruplist.addRow();
- ds_hidden_recgruplist.copyRow(addRow, ds_main_recgruplist, recRow);
-
- if( ds_hidden_patinfo.rowcount == 0 || ds_hidden_recgruplist.rowcount == 0 ){
- trace(ds_hidden_patinfo.saveXML());
- trace(ds_hidden_recgruplist.saveXML());
- }
-
- var arrSignPath = new Array();
- arrSignPath[0] = "/cond";
- arrSignPath[1] = "/patlist";
- arrSignPath[2] = "/recgruplist";
- arrSignPath[3] = "/detailinfo";
- var arrSignDs = new Array();
- arrSignDs[0] = ds_cond.saveXML();
- arrSignDs[1] = ds_hidden_patinfo.saveXML();
- arrSignDs[2] = ds_hidden_recgruplist.saveXML();
- arrSignDs[3] = ds_temp_signdata_detailinfo.saveXML();
-
- Sign.addnodeset(arrSignPath, arrSignDs);
-
- arrSignPath = new Array();
- arrSignPath[0] = "/recdetailgrup/recdetailgruplist";
- arrSignDs = new Array();
- arrSignDs[0] = ds_main_recdetailgruplist.saveXML();
- Sign.addnodeset(arrSignPath, arrSignDs);
-
- arrSignPath = new Array();
- arrSignPath[0] = "/recpntgrup/recpntlist";
- arrSignDs = new Array();
- arrSignDs[0] = ds_temp_signdata_recpntlist.saveXML();
-
- Sign.addnodeset(arrSignPath, arrSignDs);
-
- } else{
-
- ds_hidden_patinfo.clear();
- dsf_copyColInfo(ds_hidden_patinfo, ds_main_patinfo);
- var hAddRow = ds_hidden_patinfo.addRow();
- var patCRow = ds_main_patinfo.rowposition;
- ds_hidden_patinfo.copyRow(hAddRow, ds_main_patinfo, patCRow);
-
- ds_hidden_recgruplist.clear();
- dsf_copyColInfo(ds_hidden_recgruplist, ds_main_recgruplist);
- var addRow = ds_hidden_recgruplist.addRow();
- var curRow = ds_main_recgruplist.rowposition;
- ds_hidden_recgruplist.copyRow(addRow, ds_main_recgruplist, curRow);
-
- if( ds_hidden_patinfo.rowcount == 0 || ds_hidden_recgruplist.rowcount == 0 ){
- trace(ds_hidden_patinfo.saveXML());
- trace(ds_hidden_recgruplist.saveXML());
- trace(ds_cond.saveXML());
- trace(ds_temp_signdata_detailinfo.saveXML());
- trace(ds_temp_signdata_recpntlist.saveXML());
- }
-
- var arrSignPath = new Array();
- arrSignPath[0] = "/cond";
- arrSignPath[1] = "/patlist";
- arrSignPath[2] = "/recgruplist";
- arrSignPath[3] = "/detailinfo";
- var arrSignDs = new Array();
- arrSignDs[0] = ds_cond.saveXML();
- arrSignDs[1] = ds_hidden_patinfo.saveXML();
- arrSignDs[2] = ds_hidden_recgruplist.saveXML();
- arrSignDs[3] = ds_temp_signdata_detailinfo.saveXML();
-
- Sign.addnodeset(arrSignPath, arrSignDs);
-
- arrSignPath = new Array();
- arrSignPath[0] = "/recdetailgrup/recdetailgruplist";
- arrSignDs = new Array();
- arrSignDs[0] = ds_main_recdetailgruplist.saveXML();
- Sign.addnodeset(arrSignPath, arrSignDs);
-
- arrSignPath = new Array();
- arrSignPath[0] = "/recpntgrup/recpntlist";
- arrSignDs = new Array();
- arrSignDs[0] = ds_temp_signdata_recpntlist.saveXML();
-
- Sign.addnodeset(arrSignPath, arrSignDs);
- }
- }
- /**
- * @group :
- * @ver : 2011.03.30
- * @by : 안도영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 그리드 조회 시 분류구분에 따른 재구성
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetPatGrid(dataSet, grid, flag){
- var grdID = this.components[grid];
- var dataSetDS = this.objects[dataSet];
- switch (flag){
-
- case "Pat" :
- var arrColIdx = new Array();
- arrColIdx[0] = grdID.getBindCellIndex("body", "resultnm1"); // 각 위험군 콜 인덱스
- arrColIdx[1] = grdID.getBindCellIndex("body", "resultnm2");
- arrColIdx[2] = grdID.getBindCellIndex("body", "resultnm3");
- arrColIdx[3] = grdID.getBindCellIndex("body", "resultnm4");
-
- var sExprColor = "EXPR(";
- var sExprbgColor = "EXPR(";
- var sExprbgColor2 = "EXPR(";
- var sExprColor3 = "EXPR(";
- var sExprbgColor3 = "EXPR(";
-
- var jvalue;
- var jvalue2;
- var jvalue3;
- // 값이 있는 위험군 셀 색 넣기( 그리드에 직접 설정)
- for( var i = 0; i < dataSetDS.rowcount; i++){ // 행
- for( var j = 0; j < arrColIdx.length; j++ ){
- if( !utlf_isNull(eval(grid).getCellValue(i, arrColIdx[j])) ){
- if(2 == (j+1)) { // 낙상
- if("Y" == eval(grid).getCellValue(i, grd_patinfo.getBindCellIndex("body","coloryn2")) ){
- //sysf_trace(dataSetDS.saveXML());
- // '고위험군' 만 색 표시 (2011.04.13 ahn)
- sExprColor += "currow == "+i+" ? '#ff0000' :";
- sExprbgColor += "currow == "+i+" ? '#ffff00' :";
- jvalue= arrColIdx[j];
- //dataSetDS.setColumn(i, "color", "1");
- }
- }else if(3 == (j+1)) { // 욕창
- if("Y" == eval(grid).getCellValue(i, grd_patinfo.getBindCellIndex("body","coloryn3")) ){ // '정상' 제외한 군 색 표시 (2011.04.19 ahn)
- sExprbgColor2 += "currow == "+i+" ? '#ff0000' :";
- jvalue2= arrColIdx[j];
- //dataSetDS.setColumn(i, "color", "2");
- }
- }else if(4 == (j+1)) { // 통증
- if(4 <= parseInt(eval(grid).getCellValue(i, arrColIdx[j]) ) ){ // 통증 점수가 4점 이상인 경우만 색 표시 (2011.04.13 ahn)
- sExprColor3 += "currow == "+i+" ? '#ffffff' :";
- sExprbgColor3 += "currow == "+i+" ? '#333399' :";
- jvalue3= arrColIdx[j];
- //dataSetDS.setColumn(i, "color", "3");
- }
- }
- }
- }
- }
- sExprColor += "'')";
- sExprbgColor += "'')";
- sExprbgColor2 += "'')";
- sExprColor3 += "'')";
- sExprbgColor3 += "'')";
- grd_patinfo.setCellProperty("Body", jvalue, "color", sExprColor);
- grd_patinfo.setCellProperty("Body", jvalue, "background", sExprbgColor);
- grd_patinfo.setCellProperty("Body", jvalue, "background2", sExprbgColor);
-
- grd_patinfo.setCellProperty("Body", jvalue2, "background", sExprbgColor2);
- grd_patinfo.setCellProperty("Body", jvalue2, "background2", sExprbgColor2);
-
- grd_patinfo.setCellProperty("Body", jvalue3, "color", sExprColor3);
- grd_patinfo.setCellProperty("Body", jvalue3, "background", sExprbgColor3);
- grd_patinfo.setCellProperty("Body", jvalue3, "background2", sExprbgColor3);
-
- // 조회 구분대로 환자정보 그리드 구성
- var grdID = this.components[grid];
- var tmp = ds_cond.getColumn(0, "recsrchflag");
- var recSrchFlag = tmp.replace("^","");
- var cnt = 0;
-
- if( grid == "grd_patinfo" ){
- cnt = 4;
- } else {
- cnt = 5;
- }
- for( var k = 1; k <= cnt; k++ ){ // 분류 수
- var resultnm = "resultnm" + k;
- var execnm = "execnm" + k;
- var execdd = "execdd" + k;
-
- grdID.setFormatColProperty(grdID.getBindCellIndex("body", resultnm), "size", 0);
- grdID.setFormatColProperty(grdID.getBindCellIndex("body", execnm), "size", 0);
- if( grdID.getBindCellIndex("body", execdd) != -1 )
- grdID.setFormatColProperty(grdID.getBindCellIndex("body", execdd), "size", 0);
- for( var j = 0; j < recSrchFlag.length; j++){
-
- if( k == recSrchFlag.charAt(j) ){
- var resultnm = "resultnm" + recSrchFlag.charAt(j);
- var execnm = "execnm" + recSrchFlag.charAt(j);
- var execdd = "execdd" + recSrchFlag.charAt(j);
-
- grdID.setFormatColProperty(grdID.getBindCellIndex("body", resultnm), "size", 60);
- grdID.setFormatColProperty(grdID.getBindCellIndex("body", execnm), "size", 68);
- if( grdID.getBindCellIndex("body", execdd) != -1 )
- grdID.setFormatColProperty(grdID.getBindCellIndex("body", execdd), "size", 68);
- break;
- }
- }
- }
- break;
- }
- }
- /**
- * @group :
- * @ver : 2011.03.31
- * @by : 안도영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 조회 분류별 정렬 (가장 작은 값 찾기)
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fGetMinSrchFlag(srchflag){
- var arrRecSrFlag = new Array();
- var recsrchflag = srchflag.setReplaceWord("^", "");
- for( var i = 0; i < recsrchflag.length; i++ ){
- arrRecSrFlag[i] = recsrchflag.charAt(i);
- }
- for(var j = 0; j < arrRecSrFlag.length; j++){
- for(i = j+ 1; i < arrRecSrFlag.length; i++){
-
- if(arrRecSrFlag[i] < arrRecSrFlag[j])
- {
- var tmp = arrRecSrFlag[j];
- arrRecSrFlag[j] = arrRecSrFlag[i];
- arrRecSrFlag[i] = tmp;
- }
- }
- }
-
- return arrRecSrFlag[0]; // 가장 작은 값 return
- }
- /**
- * @ver : 2008.06.09
- * @author : dhkim
- * @------------------------------------------------------------------------------
- * @access : public
- * @type : function
- * @param : clsflag 중증도/낙상/욕창 구분(라디오버튼)
- * ioflag 외래/입원구분
- * @desc : 환자정보 더블클릭할때
- * 혈액투석의 경우 외래환자는 조회조건을 clear하고 비활성화처리한다.
- * @--------------------------------------------------------------------------------
- */
- function fDisabledSearchArea(clsflag, ioflag){
- //구분이 혈액투석, 외래환자일때 조회조건 clear, 비활성화처리
- if(clsflag == '3' && ioflag == 'O'){
- group5.caption35.visible = true;
- group5.cmb_ward.value = true;
- // 응급실이 아닐 경우만 보임 (2011.03.15 Ahn)
- if(eERFLAG != "Y"){
- group5.cmb_room.visible = true;
- //cmb_pid.attribute('visibility') = 'visible'; // 환자리스트 콤보 숨기기 (2011.03.29 Ahn)
- }
- group5.cmb_ward.enable = false;
- group5.cmb_room.enable = false;
- group5.cmb_pid.enable = false;
- ds_cond.setColumn(0, "wardcd", "");
- ds_cond.setColumn(0, "roomcd", "");
- } else {
- group5.caption35.visible = true; // Room 캡션 활성화
- group5.cmb_ward.visible = true; // 병동선택 라디오 버튼 활성화
- if(eERFLAG != "Y"){
- group5.cmb_room.visible = true;// 병실선택 활성화
- //cmb_pid.attribute('visibility') = 'visible'; // 환자리스트 콤보 숨기기 (2011.03.29 Ahn)
- }
- if( ds_main_paminfo.getColumn(0, "dschdd") == "99991231"){
- group5.caption35.enable = true;
- group5.cmb_ward.enable = true;
- group5.cmb_room.enable = true;
- group5.cmb_pid.enable = true;
- }
- }
- }
- /**
- * @group :
- * @ver : 2010.05.03
- * @by : khj
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : JCI용 : 낙상은 7세 미만 혹은 65세 이상인 경우 고위험군체크되면 상세내역 선택할수 없고 디폴트로 고위험군임.
- * @param : pFlag = Y : check, N : uncheck
- * @return :
- * @---------------------------------------------------
- */
- function fJCISettingAgeChk(pFlag){
- var clsflag = ds_cond.getColumn(0, "clsflag");
- if ( clsflag != "8" && clsflag != "9" ) return;
-
- var clsflag_modify = (clsflag == "8" ? "1" : "2");
-
- instUseYNcdnm = ds_code_codelist.lookupExpr("cdgrupid=='199' && cdnm=='Y' && cdid=='"+ clsflag_modify +"'", "grupdetldesc");
-
- if ( pFlag =="Y" ){
-
- var cRow = ds_main_recpntlist.rowposition;
- grdf_setStatus(grd_recpnt, "U", grdf_getSelectedRows(grd_recpnt));
- ds_main_recpntlist.setColumn(cRow, "resultcd", instUseYNcdnm);
- //grd_recpnt.valueMatrix(grd_recpnt.fixedRows,grd_recpnt.colRef("resultcd") ) = instUseYNcdnm;
-
- for( var jdx = grd_recpnt.getBindCellIndex("Body", "timsval01"); jdx <= grd_recpnt.getBindCellIndex("Body", "totpnt"); jdx++ ){
- ds_main_recpntlist.setColumn(cRow, jdx, "");
- //grd_recpnt.valueMatrix(grd_recpnt.fixedRows, jdx ) = "";
- }
-
- var recGroupRow = ds_main_recgruplist.rowposition;
- if( ds_main_recgruplist.getRowType(recGroupRow) != 2 ){//상태가 신규상태가 아니면 u로 변경
- grdf_setStatus(grd_recmaster, "U", grdf_getSelectedRows(grd_recmaster));
- ds_main_recgruplist.setColumn(recGroupRow, "stat", "u");
- }
-
- ds_main_recgruplist.setColumn(recGroupRow, "resultnm", instUseYNcdnm);
- ds_main_recgruplist.setColumn(recGroupRow, "totpnt", "");
- ds_main_recgruplist.setColumn(recGroupRow, "agechk", "Y" );
-
- for( var idx = 0; idx < ds_main_recdetailgruplist.rowcount; idx++ ){
- ds_main_recdetailgruplist.setColumn(idx, "flag", "N");
- ds_main_recdetailgruplist.setColumn(idx, "timsval", "");
- grd_recdetail.isReadonly(idx, grd_recdetail.colRef("flag"), idx, grd_recdetail.colRef("timsval")) = true;
- }
- }else {
-
- //중증도 마스터그리드
- var recGroupRow = ds_main_recgruplist.rowposition;
- if( ds_main_recgruplist.getRowType(recGroupRow) != 2 ){//상태가 신규상태가 아니면 u로 변경
- grdf_setStatus(grd_recmaster, "U", grdf_getSelectedRows(grd_recmaster));
- ds_main_recgruplist.setColumn(recGroupRow, "stat", '-');
-
- }
- ds_main_recgruplist.setColumn(recGroupRow, "agechk", "N" );
- fSearchRecPnt();
- ds_main_recgruplist.setColumn(ds_main_recgruplist.rowposition, "resultnm", ds_main_recpntlist.getColumn(0, "resultcd"));
- ds_main_recgruplist.setColumn(ds_main_recgruplist.rowposition, "totpnt", ds_main_recpntlist.getColumn(0, "totpnt"));
- }
- }
- /**
- * @group :
- * @ver : 2011.04.19
- * @by : 안도영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 라디오 선택 시 재조회
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function patReSrch(flag){
-
- // 해당 환자 pid 임시 저장
- var patPid = ds_cond.getColumn(0, "pid");
- var patIdx = "";
- //조회조건 clear
- ds_cond.setColumn(0, "pid", '');
- //환자정보 표시 clear (2011.03.29 Ahn)
- ds_cond.setColumn(0, "patnm", '');
- ds_cond.setColumn(0, "sexage", '');
- ds_cond.setColumn(0, "age", '');
- //환자정보 조회
- fSearchPatList(flag);
- if( !utlf_isNull(patPid) ){
- // 해당 환자정보 재 표시
- ds_cond.setColumn(0, "pid", patPid);
- ds_cond.setColumn(0, "patnm", ds_main_patinfo.lookup("pid", patPid, "hngnm"));
- ds_cond.setColumn(0, "sexage", ds_main_patinfo.lookup("pid", patPid, "sexage"));
- ds_cond.setColumn(0, "age", ds_main_patinfo.lookup("pid", patPid, "age"));
- // 해당 환자 인덱스 선택 재 지정
- for( i = 0; i < ds_main_patinfo.rowcount; i++ ){
- if( patPid == ds_main_patinfo.getColumn(i, "pid") ){
- patIdx = i;
- break;
- }
- }
-
- ds_main_patinfo.rowposition = patIdx;
-
- //중증도/낙상/욕창 내역 조회(grd_recmaster)
- fSearchRecMaster(patIdx);
- }
- }
- function fSearchRecMasterAll(patRow,pFlag){
- //혈액투석의 경우 입원환자 더블클릭 할때에 조회조건에 기본 조회값을 세팅해야함.
- //혈액투석의 경우 외래환자 더블클릭은 조회조건 비활성화
- var clsflag = ds_cond.getColumn(0, "clsflag");//분류구분
- var recflag = ds_cond.getColumn(0, "recflag");//기록구분
- var ioflag = ds_main_patinfo.getColumn(patRow, "ioflag"); //외래/입원구분
- var pid = ds_main_patinfo.getColumn(patRow, "pid"); //등록번호
- var indd = ds_main_patinfo.getColumn(patRow, "indd"); //입원일자
- var histstat = ds_main_patinfo.getColumn(patRow, "histstat"); //이력상태
- var cretno = ds_main_patinfo.getColumn(patRow, "cretno"); //생성번호
- var seqno = ds_main_patinfo.getColumn(patRow, "seqno"); //이력번호
- var hngnm = ds_main_patinfo.getColumn(patRow, "hngnm"); //환자명
- var execdd = ds_cond.getColumn(0, "execdd"); //수행일자
- var exectm = ds_cond.getColumn(0, "exectm"); //수행시간
- if( utlf_isNull(execdd) ){
- execdd = utlf_getCurrentDate();
- }
- if( utlf_isNull(exectm) ){
- exectm = utlf_getCurrentTime().substring(0, 4);
- }
- //20081014 i/o조건값 cond 노드에 setting
- ds_cond.setColumn(0, "ioflag", "");
- ds_cond.setColumn(0, "ioflag", ioflag);
- //중증도 마스터내역을 조회한다.
- ds_send.clear();
- ds_send.addColumn("clsflag", "string", 256);
- ds_send.addColumn("recflag", "string", 256);
- ds_send.addColumn("execdd", "string", 256);
- ds_send.addColumn("exectm", "string", 256);
- ds_send.addColumn("pid", "string", 256);
- ds_send.addColumn("indd", "string", 256);
- ds_send.addColumn("histstat", "string", 256);
- ds_send.addColumn("cretno", "string", 256);
- ds_send.addColumn("seqno", "string", 256);
- ds_send.addColumn("hngnm", "string", 256);
- ds_send.addColumn("ioflag", "string", 256);
- var addRow = ds_send.addRow();
-
- ds_send.setColumn(addRow, "clsflag", clsflag);
- ds_send.setColumn(addRow, "recflag", recflag);
- ds_send.setColumn(addRow, "execdd", execdd);
- ds_send.setColumn(addRow, "exectm", exectm);
- ds_send.setColumn(addRow, "pid", pid);
- ds_send.setColumn(addRow, "indd", indd);
- ds_send.setColumn(addRow, "histstat", histstat);
- ds_send.setColumn(addRow, "cretno", cretno);
- ds_send.setColumn(addRow, "seqno", seqno);
- ds_send.setColumn(addRow, "hngnm", hngnm);
- ds_send.setColumn(addRow, "ioflag", ioflag);
-
- // 조회구분 추가 (2011.03.31 Ahn)
- var recsrchflag = ds_cond.getColumn(0, "recsrchflag");
- ds_send.addColumn("recsrchflag", "string", 256);
- ds_send.setColumn(addRow, "recsrchflag", recsrchflag);
-
- // 분류구분 중 우선순위 값 가져오기 (2011.03.31 ahn)
- var selRecFlag = fGetMinSrchFlag(recsrchflag);
- ds_cond.setColumn(0, "recflag", selRecFlag); // 상단 라디오체크 분류 set
-
- ds_main_recgruplist.clearData();
- ds_main_recinfo.clearData();
-
- //상세점수, 상세내역, 상세설명의 현재instance를 remove한다.
- ds_main_recpntlist.clearData();
- ds_main_pnttitlgruplist.clearData();
- ds_main_serdiaghislist.clearData();
- ds_main_recdetailgruplist.clearData();
- ds_main_tar_desccnts.setColumn(0, "tar_desccnts", "");
-
- //중증도내역 마스터 조회 후 기록정보 조회
- var oParam = {};
- oParam.id = "TRMNW04011";
- oParam.service = "carerecapp.AsesRec";
- oParam.method = "reqGetRecListFlagSelect";
- oParam.inds = "refCond=ds_send";
- oParam.outds = "ds_main_recinfo=recinfo ds_main_recgruplist=recgruplist";
- oParam.async = false;
- oParam.callback = "cf_TRMNW04011";
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TRMNW04011") < 0 ){
- sysf_messageBox('중증도내역의 조회를', 'E009');
- return;
- }else{
- //조회갯수 0일때 조회 후 수행일자, 수행시간, 최근 저장일을 세팅
- //var execdd = model.getValue('/root/cond/execdd');
- var execdd = ds_cond.getColumn(0, "copyexecdd");
- var exectm = ds_cond.getColumn(0, "exectm");
-
- if(pFlag != "4"){
- //중증도 마스터를 조회후 수행일자에 해당하는 내역이 없으면 행추가, 있으면 해당 row select
- if(!fSetRecMasterAll(exectm, execdd, pFlag)){
- return;
- } else{
- //환자정보에 선택한 로우정보 set
- //grd_patinfo.row = curRow;
- //grd_patinfo.topRow = curRow;
- //중증도 상세점수조회
- fSearchRecPntAll();
- }
- }
- }
- }
- function cf_TRMNW04011(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- function fSetRecMasterAll(exectm, execdd, pFlag){
- var indx = -1;
-
- for( var i = 0; i < ds_main_recgruplist.rowcount; i++ ){
- if( (ds_main_recinfo.getColumn(0, "recflag") == ds_main_recgruplist.getColumn(i, "recflag") ) &&
- (ds_main_recinfo.getColumn(0, "clsflag") == ds_main_recgruplist.getColumn(i, "clsflag")) ){
- indx = i;
- break;
- }
- }
-
- if (indx > -1){ // 기록 내역이 존재할 경우 (2011.03.31 Ahn)
- recRow = indx;
- } else{
- //기록된 내역이 한건도 없을때
- //var hngnm = model.getValue("/root/main/patinfo/patlist[" + (patRow) + "]/hngnm");
- //var msgStr = '(' + hngnm + ') 환자는 중증도 저장 이력이 없습니다. 개별 인증저장 하십시오.';
- //messageBox(msgStr,"I");
- return false;
- }
-
- if ( instUseYN == "Y" && grp_agechk.visible == true ){
- ds_cond.setColumn(0, "agechk", ds_main_recgruplist.getColumn(recRow, "agechk"));
- }else {
- ds_cond.setColumn(0, "agechk", "N");
- }
- return true;
- }
- function fSearchRecPntAll(selflag){
-
- ds_cond.setColumn(0, "maddchk01",''); // 집중치료실 환자 체크(Morse)
- ds_cond.setColumn(0, "maddchk02",''); // 만70세 이상 환자 체크(Morse)
- ds_cond.setColumn(0, "maddchk03",''); // 진정 및 이완 약물투여 환자 체크(Morse)
- ds_cond.setColumn(0, "maddchk04",''); // 음주 환자 체크(Morse)
- ds_cond.setColumn(0, "maddchk99",''); // 해당사항 없음 체크(Morse)
- ds_cond.setColumn(0, "haddchk",''); // 3세 미만 소아 체크(Humpty Dumpty)
- ds_cond.setColumn(0, "haddchk01",''); // 집충치료실 환자 체크(Humpty Dumpty)
-
-
- ds_cond.setColumn(0, "haddchk02",''); // 집충치료실 환자 체크(Humpty Dumpty)
- ds_cond.setColumn(0, "haddchk03",''); // 집충치료실 환자 체크(Humpty Dumpty)
- ds_cond.setColumn(0, "maddchk05",''); // 집충치료실 환자 체크(Humpty Dumpty)
- ds_cond.setColumn(0, "maddchk06",''); // 집충치료실 환자 체크(Humpty Dumpty)
-
- var clsflag = "";
- var recflag = "";
-
- if(selflag == "Sel"){
- clsflag = ds_main_recgruplist.getColumn(recRow, "clsflag");
- recflag = ds_main_recgruplist.getColumn(recRow, "recflag");
- if(recflag == '1'){
- ds_cond.setColumn(0, "clsflag", clsflag); // 중증도구분 중 선택
- }else if((recflag == '2') && (clsflag == '2')){
- ds_cond.setColumn(0, "clsflag", 9); // 낙상 - Morse Scale 선택
- }else if((recflag == '2') && (clsflag == '1')){
- ds_cond.setColumn(0, "clsflag", 8); // 낙상 - Humpty Dumpty 선택
- }else if((recflag == '3') && (clsflag == '1')){
- ds_cond.setColumn(0, "clsflag", 10); // 욕창 선택
- }else if(recflag == '4'){
- //model.setValue("/root/cond/clsflag", 11); // 통증 선택
- //alert("통증관련 개발중입니다.");
- //messageBox('관련 화면 준비중', 'I009');
- sysf_messageBox('통증관리기록 메뉴를 사용하십시오', 'I');
- //modal("SMMNW04800",1); //통증관리기록 화면 호출
- return;
- }
-
- fChangeCaption(ds_cond.getColumn(0, "clsflag")); // 선택된 구분으로 캡션 변경 (2011.04.19 ahn)
-
- }else{
- clsflag = ds_main_recinfo.getColumn(0, "clsflag");
- recflag = ds_main_recinfo.getColumn(0, "recflag");
- }
- var maddchk01 = ds_main_recgruplist.getColumn(recRow, "maddchk01");
- var maddchk02 = ds_main_recgruplist.getColumn(recRow, "maddchk02");
- var maddchk03 = ds_main_recgruplist.getColumn(recRow, "maddchk03");
- var maddchk04 = ds_main_recgruplist.getColumn(recRow, "maddchk04");
- var haddchk = ds_main_recgruplist.getColumn(recRow, "haddchk");
-
- var haddchk02 = ds_main_recgruplist.getColumn(recRow, "haddchk02");
- var haddchk03 = ds_main_recgruplist.getColumn(recRow, "haddchk03");
- var maddchk05 = ds_main_recgruplist.getColumn(recRow, "maddchk05");
- var maddchk06 = ds_main_recgruplist.getColumn(recRow, "maddchk06");
-
- var dinfo = maddchk01+maddchk02+maddchk03+maddchk04+haddchk+haddchk02+haddchk03+maddchk05+maddchk06;
-
- //중증도내역 선택했던 로우정보(수행일자)를 저장한다.
- ds_send.clear();
- ds_send.addColumn("pid", "string", 256);
- ds_send.addColumn("indd", "string", 256);
- ds_send.addColumn("cretno", "string", 256);
- ds_send.addColumn("execdd", "string", 256);
- ds_send.addColumn("recseq", "string", 256);
- ds_send.addColumn("clsflag", "string", 256);
- ds_send.addColumn("recflag", "string", 256);
- ds_send.addColumn("dinfo", "string", 256);
- var addRow = ds_send.addRow();
-
- ds_send.setColumn(addRow, "pid", ds_main_recgruplist.getColumn(recRow, "pid"));
- ds_send.setColumn(addRow, "indd", ds_main_recgruplist.getColumn(recRow, "indd"));
- ds_send.setColumn(addRow, "cretno", ds_main_recgruplist.getColumn(recRow, "cretno"));
- ds_send.setColumn(addRow, "execdd", ds_main_recgruplist.getColumn(recRow, "execdd"));
- ds_send.setColumn(addRow, "recseq", ds_main_recgruplist.getColumn(recRow, "recseq"));
- ds_send.setColumn(addRow, "clsflag",clsflag);
- ds_send.setColumn(addRow, "recflag",recflag);
- ds_send.setColumn(addRow, "dinfo", dinfo);
- //상세내역, 상세설명의 현재instance를 remove한다.
- ds_main_recdetailgruplist.clearData();
- ds_main_tar_desccnts.setColumn(0, "tar_desccnts", "");
-
- //상세점수그리드조회
- var oParam = {};
- oParam.id = "TRMNW04007";
- oParam.service = "carerecapp.AsesRec";
- oParam.method = "reqGetRecHistPntList";
- oParam.inds = "refCond=ds_send";
- oParam.outds = "ds_main_recpntlist=recpntlist ds_main_pnttitlgruplist=pnttitlgruplist ds_main_serdiaghislist=serdiagchklist";
- oParam.async = false;
- oParam.callback = "cf_TRMNW04007";
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TRMNW04007") < 0 ) {//상세점수조회
- sysf_messageBox('상세점수조회를', 'E009');
- return;
- }else{
- //상세점수그리드의 컬럼을 조회한 내역의 갯수만큼 화면에 보여준다.
- //fColLqidtys(); // 삭제해도 무방하지 않을까? 그리드 참조부분 - AYS
- }
- //중증기록 detail 상세내역 그리드리스트를 조회한다.
-
- fSearchRecDetailAll();
- //addchk();
- }
- function cf_TRMNW04007(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- function fSearchRecDetailAll(){
-
- ds_main_recdetailgruplist.clearData();
-
- ds_send.clear();
- ds_send.addColumn("pid", "string", 256);
- ds_send.addColumn("cretno", "string", 256);
- ds_send.addColumn("indd", "string", 256);
- ds_send.addColumn("seqno", "string", 256);
- ds_send.addColumn("recseq", "string", 256);
- ds_send.addColumn("clsflag", "string", 256);
- ds_send.addColumn("recflag", "string", 256);
- ds_send.addColumn("execdd", "string", 256);
- ds_send.addColumn("newexecdd", "string", 256);
- var addRow = ds_send.addRow();
-
- ds_send.setColumn(addRow, "pid", ds_main_recgruplist.getColumn(recRow, "pid"));
- ds_send.setColumn(addRow, "cretno", ds_main_recgruplist.getColumn(recRow, "cretno"));
- ds_send.setColumn(addRow, "indd", ds_main_recgruplist.getColumn(recRow, "indd"));
- ds_send.setColumn(addRow, "seqno", ds_main_recgruplist.getColumn(recRow, "seqno"));
- ds_send.setColumn(addRow, "recseq", ds_main_recgruplist.getColumn(recRow, "recseq"));
- ds_send.setColumn(addRow, "clsflag", ds_main_recgruplist.getColumn(recRow, "clsflag"));
- ds_send.setColumn(addRow, "recflag", ds_main_recgruplist.getColumn(recRow, "recflag"));
- ds_send.setColumn(addRow, "execdd", ds_main_recgruplist.getColumn(recRow, "execdd"));
- ds_send.setColumn(addRow, "newexecdd", ds_cond.getColumn(0, "execdd"));
- //상세설명의 현재instance를 remove한다.
- ds_main_tar_desccnts.setColumn(0, "tar_desccnts", "");
- //model.refresh();
- //중증도 상세내역 조회
- var oParam = {};
- oParam.id = "TRMNW04006";
- oParam.service = "carerecapp.AsesRec";
- oParam.method = "reqGetRecDetailList";
- oParam.inds = "refCond=ds_send";
- oParam.outds = "ds_main_recdetailgruplist=recdetailgruplist";
- oParam.async = false;
- oParam.callback = "cf_TRMNW04006";
- tranf_submit(oParam);
- }
- function fIsRecordedAll(iptExecdd){
- var retArr = new Array(1);
- var recorded = false;
- var signno = '';
- var execdd;
- var stat;
- for( var i = 0; i < ds_main_recgruplist.rowcount; i++ ){
- execdd = ds_main_recgruplist.getColumn(i, "execdd");
- stat = ds_main_recgruplist.getColumn(i, "stat");
- if( !utlf_isNull(execdd) && iptExecdd == execdd && stat != 'i'){
- signno = ds_main_recgruplist.getColumn(i, "signno");
- recorded = true;
- retArr[0] = recorded;
- retArr[1] = signno;
- return retArr;
- }
- }
- retArr[0] = recorded;
- retArr[1] = signno;
- return retArr;
- }
- function addallchk(){
-
- var wardcd = ds_cond.getColumn(0, "wardcd");
- var patnm = ds_main_patinfo.getColumn(patRow, "hngnm");
- var age = ds_main_patinfo.getColumn(patRow, "age");
- var maddchk01 = ds_main_recgruplist.getColumn(recRow, "maddchk01");
- var maddchk02 = ds_main_recgruplist.getColumn(recRow, "maddchk02");
- var maddchk03 = ds_main_recgruplist.getColumn(recRow, "maddchk03");
- var maddchk04 = ds_main_recgruplist.getColumn(recRow, "maddchk04");
- var maddchk99 = ds_main_recgruplist.getColumn(recRow, "maddchk99");
- var haddchk = ds_main_recgruplist.getColumn(recRow, "haddchk");
- var haddchk01 = ds_main_recgruplist.getColumn(recRow, "haddchk01");
-
- var haddchk02 = ds_main_recgruplist.getColumn(recRow, "haddchk02");
- var haddchk03 = ds_main_recgruplist.getColumn(recRow, "haddchk03");
- var maddchk05 = ds_main_recgruplist.getColumn(recRow, "maddchk05");
- var maddchk06 = ds_main_recgruplist.getColumn(recRow, "maddchk06");
- if( ds_cond.getColumn(0, "clsflag") == "8" ){
-
- if(parseInt(age) >= 15){
- sysf_messageBox(patnm + " 환자는 15세 이상입니다. Morse scale을 사용해야 합니다.","E");
- //messageBox("낙상 위험 사정은 15세 이상 - Morse scale을 사용해야 합니다.","E");
- return false;
- }else{
-
- for( var i = 0; i < ds_init_icucdgrup.rowcount; i++ ){
- if( wardcd == ds_init_icucdgrup.getColumn(i, "wardcd")){ // 중환자실이면
- haddchk01 = 'Y';
- ds_main_recgruplist.setColumn(recRow, "haddchk01", haddchk01);
- }
- }
-
- if( parseInt(age) < 3 ){
- //chk_haddchk.value = 'Y';
- haddchk = 'Y';
- ds_main_recgruplist.setColumn(recRow, "haddchk", haddchk);
- }
-
- //190523_AYS_응급실 환자일 경우 고위험 항목(응급실환자) 체크 활성화
- /*
- if( eERDEPTCD == wardcd ){
- maddchk05 = 'Y';
- ds_main_recgruplist.setColumn(recRow, "maddchk05", maddchk05);
- }
- */
- }
-
- }else if( ds_cond.getColumn(0, "clsflag") == "9" ){
-
- if( parseInt(age) < 15 ){
- sysf_messageBox(patnm + " 환자는 15세 미만입니다. Humpty Dumpty scale을 사용해야 합니다.","E");
- return false;
- }else{
-
- for( var i = 0; i < ds_init_icucdgrup.rowcount; i++ ){
- if( wardcd == ds_init_icucdgrup.getColumn(i, "wardcd")){ // 중환자실이면
- //chk_maddchk01.value = 'Y';
- maddchk01 = 'Y';
- ds_main_recgruplist.setColumn(recRow, "maddchk01", maddchk01);
- }
- }
- }
- if( parseInt(age) >= 70 ){
- //chk_maddchk02.value = 'Y';
- maddchk02 = 'Y';
- ds_main_recgruplist.setColumn(recRow, "maddchk02", maddchk02);
- }
-
- //190523_AYS_응급실 환자일 경우 고위험 항목(응급실환자) 체크 활성화
- /*
- if( eERDEPTCD == wardcd ){
- maddchk05 = 'Y';
- ds_main_recgruplist.setColumn(recRow, "maddchk05", maddchk05);
- }
- */
-
- if( utlf_isNull(maddchk01) && utlf_isNull(maddchk02) && utlf_isNull(maddchk03) && utlf_isNull(maddchk04) && utlf_isNull(maddchk99) ){
- maddchk99 = 'Y';
- ds_main_recgruplist.setColumn(recRow, "maddchk99", maddchk99);
- }
- }
-
- ds_cond.setColumn(0, "maddchk01" , maddchk01);
- ds_cond.setColumn(0, "maddchk02" , maddchk02);
- ds_cond.setColumn(0, "maddchk03" , maddchk03);
- ds_cond.setColumn(0, "maddchk04" , maddchk04);
- ds_cond.setColumn(0, "maddchk99" , maddchk99);
- ds_cond.setColumn(0, "haddchk" , haddchk);
- ds_cond.setColumn(0, "haddchk01" , haddchk01);
-
-
- ds_cond.setColumn(0, "haddchk02" , haddchk02);
- ds_cond.setColumn(0, "haddchk03" , haddchk03);
- ds_cond.setColumn(0, "maddchk05" , maddchk05);
- ds_cond.setColumn(0, "maddchk06" , maddchk06);
-
- return true;
- }
- function fLoadFallPnt(recflag, clsflag, bspntnm){
- //debugger;
- var spid = eval(xRecMasterPath).getColumn(0, "pid");
- var sorddd = ds_main_patinfo.getColumn(ds_main_patinfo.rowposition, "indd");
- var sioflag = ds_main_patinfo.getColumn(ds_main_patinfo.rowposition, "ioflag");
- var scretno = ds_main_patinfo.getColumn(ds_main_patinfo.rowposition, "cretno");
- var sexecdd = ds_cond.getColumn(0, "execdd");
- var sfromcd = "";
- var sprntyn = "";
- // var left = event.screenX;
- // var top = event.screenY;
- var snowdate = utlf_getCurrentDate();
- if(recflag == '2' && clsflag == '1'){ //Humpty Dumpty(소아)
- sfromcd = '1600017757';
- sprntyn = 'Y';
- } else if(recflag == '2' && clsflag == '2'){ // Morse Scale(성인)
- sfromcd = '1600017756';
- sprntyn = 'Y';
- } else{
- sfromcd = '';
- sprntyn = 'N';
- }
-
- ds_send2_req.setColumn(0, "pid", spid);
- ds_send2_req.setColumn(0, "indd", sorddd);
- ds_send2_req.setColumn(0, "cretno", scretno);
- ds_send2_req.setColumn(0, "formcd", sfromcd);
-
- if(sysf_getUserInfo("dutplceinstcd") == '032' && sprntyn == 'Y' && bspntnm == '고위험군' && snowdate == sexecdd && sysf_getUserInfo("dutplcecd") != '3062300000' && sysf_getUserInfo("dutplcecd") != '2110201000' && sysf_getUserInfo("dutplcecd") != '2364601000' && eERFLAG != 'Y') {
- var oParam = {};
- oParam.id = "TRMNW15101";
- oParam.service = "wardcareapp.WardDschCareRec";
- oParam.method = "reqGetDupPrntCheck";
- oParam.inds = "req=ds_send2_req";
- oParam.outds = "ds_duplocrprnt_msginfo_list=prntinfo";
- oParam.async = false;
- oParam.callback = "cf_TRMNW15101";
- tranf_submit(oParam);
-
- if (arErrorCode.pop("TRMNW15101") > -1){
- if(ds_duplocrprnt_msginfo_list.rowcount > 0 ) { // 출력했던 건인 경우
- if(ds_duplocrprnt_msginfo_list.getColumn(0, "scanyn") == "N"){ // 스캔된건이 없는경우
- if(ds_duplocrprnt_msginfo_list.getColumn(0, "statcd") == "D" || ds_duplocrprnt_msginfo_list.getColumn(0, "statcd") == "CP"){ // 삭제/출력취소 된 건인 경우
- //신규출력
- fOCRPrint(spid, sorddd, scretno, sioflag, sfromcd);
- //fOCRPrint(left, top, spid, sorddd, scretno, sioflag, sfromcd);
-
- }
- }
- }else{
- // 신규출력
- fOCRPrint(spid, sorddd, scretno, sioflag, sfromcd);
- //fOCRPrint(left, top, spid, sorddd, scretno, sioflag, sfromcd);
- }
- }
- }
- }
- function cf_TRMNW15101(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- function fOCRPrint(spid, sorddd, scretno, sioflag, sformcd){
- //ivwiewer 를 nonvisible 로 올려두고 진행
- var formcd = sformcd;
- var pid = spid;
- var orddd = sorddd;
- var cretno = scretno;
- var ordtype = sioflag;
- var formtypecls = "3";
- var ocrtagprntyn = "Y";
- ivw_ocrprnt.url = "emr_formmngtxp::SSMRF03800_OCR뷰어.xfdl";
- ivw_ocrprnt.fGetOCRInfo(formcd, pid, orddd, cretno, ordtype, formtypecls, ocrtagprntyn);
- ivw_ocrprnt.fPrint();
- }
- //
- function fChkTF(inChk, actChk){ //inChk : 조회된데이터 여부, actChk : 이벤트 수행여부(버튼눌렀때)
- //fChkTF("N", "Y"); : 이벤트처리 호출
- //fChkTF("Y", "N"); : 조회 호출
- //fChkTF("N", "N"); : 일괄저장(인증저장)
- //fChkTF("Y", "Y"); : 인증저장
- //ds_main_recdetailgruplist.updatecontrol = false;
- //ds_main_recdetailgruplist.enableevent = false;
- //return;
-
- //안쓰는 항목 초기화후 저장(진정 및 이완치료약물 치료/ 음주환자)
- ds_cond.setColumn(0,"maddchk03","");
- ds_cond.setColumn(0,"maddchk04","");
-
- if(ds_main_recgruplist.getColumn(ds_main_recgruplist.rowposition, "execdd") < "20190402" && inChk =="Y" && actChk =="N" ){
- return;
- }
- //trace("처리");
- if(ds_cond.getColumn(ds_cond.rowposition,"maddchk01") =="Y" ||
- ds_cond.getColumn(ds_cond.rowposition,"maddchk02") =="Y" ||
- //ds_cond.getColumn(ds_cond.rowposition,"maddchk03") =="Y" ||
- //ds_cond.getColumn(ds_cond.rowposition,"maddchk04") =="Y" ||
- ds_cond.getColumn(ds_cond.rowposition,"maddchk05") =="Y" ||
- ds_cond.getColumn(ds_cond.rowposition,"maddchk06") =="Y" ||
- ds_cond.getColumn(ds_cond.rowposition,"haddchk") =="Y" ||
- ds_cond.getColumn(ds_cond.rowposition,"haddchk01") =="Y" ||
- ds_cond.getColumn(ds_cond.rowposition,"haddchk02") =="Y" ||
- ds_cond.getColumn(ds_cond.rowposition,"haddchk03") =="Y"
- ){
- //ds_main_recdetailgruplist.updatecontrol = false;
- ds_main_recdetailgruplist.enableevent = false;
-
- if( ds_main_recdetailgruplist.rowcount > 0){
- for( var i = 0; i < ds_main_recdetailgruplist.rowcount; i++ ){
-
- //trace(ds_main_recdetailgruplist.getColumn(i,"basepnt"));
-
- //trace(ds_main_recdetailgruplist.getColumn(i,"basepnt"));
-
- if( !utlf_isNull(ds_main_recdetailgruplist.getColumn(i,"basepnt")) ){
- if(ds_main_recdetailgruplist.getColumn(i,"basepnt") == 0){
- ds_main_recdetailgruplist.setColumn(i,"flag","Y");
- ds_main_recdetailgruplist.setColumn(i,"grupmulti","0");
- }else{
-
- ds_main_recdetailgruplist.setColumn(i,"flag","N");
- if(actChk !="N"){ //일괄저장이 아닐때
- ds_main_recdetailgruplist.setColumn(i,"grupmulti","");
- }
-
- }
- }
-
- /*
- if( ds_main_recdetailgruplist.getColumn(i, "supcd") != "00000000" ){//level이 상위레벨일때
- ds_main_recdetailgruplist.setColumn(i,"flag","Y");
- }else{
- ds_main_recdetailgruplist.setColumn(i,"flag","N");
- }
- */
-
-
- //ds_main_recdetailgruplist.setColumn(i,"flag","N");
-
- //
- ds_main_recdetailgruplist.setColumn(i, "chkTrue", "1");
- }
- }
- //ds_main_recdetailgruplist.updatecontrol = true;
- ds_main_recdetailgruplist.enableevent = true;
-
- }else{
- if(inChk !="Y" && actChk !="N"){ // N Y 일때
- if( ds_main_recdetailgruplist.rowcount > 0){
- for( var i = 0; i < ds_main_recdetailgruplist.rowcount; i++ ){
- ds_main_recdetailgruplist.setColumn(i,"flag","N");
-
- if( ds_main_recdetailgruplist.getColumn(i, "supcd") == "00000000" ){//level이 상위레벨일때
- //그리드 체크박스 readonly true로 변경
- ds_main_recdetailgruplist.setColumn(i, "chkTrue", "1");
- }else{
- ds_main_recdetailgruplist.setColumn(i, "chkTrue", "0");
- }
- }
- }
-
- }
- }
- //ds_main_recdetailgruplist.updatecontrol = true;
- //ds_main_recdetailgruplist.enableevent = true;
- }
- //과거기록에 대한 최신적용 임시 개발
- function fPreChkTrue(){
- //ds_main_recdetailgruplist.enableevent = false;
- if(ds_cond.getColumn(ds_cond.rowposition,"maddchk01") =="Y" ||
- ds_cond.getColumn(ds_cond.rowposition,"maddchk02") =="Y" ||
- //ds_cond.getColumn(ds_cond.rowposition,"maddchk03") =="Y" ||
- //ds_cond.getColumn(ds_cond.rowposition,"maddchk04") =="Y" ||
- ds_cond.getColumn(ds_cond.rowposition,"maddchk05") =="Y" ||
- ds_cond.getColumn(ds_cond.rowposition,"maddchk06") =="Y" ||
- ds_cond.getColumn(ds_cond.rowposition,"haddchk") =="Y" ||
- ds_cond.getColumn(ds_cond.rowposition,"haddchk01") =="Y" ||
- ds_cond.getColumn(ds_cond.rowposition,"haddchk02") =="Y" ||
- ds_cond.getColumn(ds_cond.rowposition,"haddchk03") =="Y"
- ){
-
- if( ds_main_recdetailgruplist.rowcount > 0){
- for( var i = 0; i < ds_main_recdetailgruplist.rowcount; i++ ){
-
- //trace(ds_main_recdetailgruplist.getColumn(i,"basepnt"));
-
- //trace(ds_main_recdetailgruplist.getColumn(i,"basepnt"));
-
-
- if( !utlf_isNull(ds_main_recdetailgruplist.getColumn(i,"basepnt")) ){
- if(ds_main_recdetailgruplist.getColumn(i,"basepnt") == 0){
- ds_main_recdetailgruplist.setColumn(i,"flag","Y");
- ds_main_recdetailgruplist.setColumn(i,"grupmulti","0");
- }else{
-
- ds_main_recdetailgruplist.setColumn(i,"flag","N");
- ds_main_recdetailgruplist.setColumn(i,"grupmulti","");
-
- }
- }
- ds_main_recdetailgruplist.setColumn(i, "chkTrue", "1");
- }
- }
-
-
-
- }
-
- //ds_main_recdetailgruplist.enableevent = true;
- }
- function fChkTrue(){
- trace(ds_main_recgruplist.getColumn(ds_main_recgruplist.rowposition,"maddchk01"));
- if( ds_main_recdetailgruplist.rowcount > 0){
- for( var i = 0; i < ds_main_recdetailgruplist.rowcount; i++ ){
-
- //trace(ds_main_recdetailgruplist.getColumn(i,"basepnt"));
-
- if( !utlf_isNull(ds_main_recdetailgruplist.getColumn(i,"basepnt")) ){
- if(ds_main_recdetailgruplist.getColumn(i,"basepnt") == 0){
- ds_main_recdetailgruplist.setColumn(i,"flag","Y");
- }else{
- ds_main_recdetailgruplist.setColumn(i,"flag","N");
- }
- }
- ds_main_recdetailgruplist.setColumn(i, "chkTrue", "1");
- }
- }
- }
- function fChkFalse(){
- if( ds_main_recdetailgruplist.rowcount > 0){
- for( var i = 0; i < ds_main_recdetailgruplist.rowcount; i++ ){
- ds_main_recdetailgruplist.setColumn(i,"flag","N");
- ds_main_recdetailgruplist.setColumn(i, "chkTrue", "0");
- }
- }
- }
- ]]></Script>
|