123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424 |
- var gMediRecMain = false; //진료기록에서 호출 할때만 true로 세팅됨.
- var gSaveAfterClose = false;
- var gIsPouUp = false;
- var gPrestIvw;
- var gFstLevlItemCd = "";
- var gIsFirstOpen = false; //초진기록지 처음 오픈시에만 messageBox띄우기 위한 변수
- var gViewPrt;
- var beforeSaveExeFuncNm = "";
- var afterSaveExeFuncNm = "";
- var gOpenMode = "";
- var gSaveYN = false;
- //코사인 기록의 변경여부를 위해 대상서식 로딩 후 기록정보를 넣어두기 위한 변수
- var g_formrec_newimge_cosign = "";
- var g_recitem_newimge_cosign = "";
- var gRecdd = "";
- //var gFormLoadStatus = new FORM_LOAD_STATUS();
- var PATH_LOADER_INI = "/root/hidden/loader_ini";
- var gformrecdddisable = false ;
- /**
- * @desc :
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fLoaderEndForm()
- {
- if (gOpenMode == "newform")
- {
- fInitClearForm();
- SetUserTimeLog("fLoaderEndForm", "fInitClearForm END");
- try {
- gPrestIvw.window.javascript.fInitFormRec();
- }
- catch (e) {};
- fShowProgress(false);
- SetToLoadTime(1);
- SetUserTimeLog("fLoaderEndForm", "newform END");
- }
- else if (gOpenMode == "recform")
- {
- fInitFormRec();
- SetUserTimeLog("fLoaderEndForm", "fInitFormRec END");
- fShowProgress(false);
- SetToLoadTime(1);
- SetUserTimeLog("fLoaderEndForm", "recform END");
- }
- gOpenMode = "";
- if (gMediRecMain)
- {
- opener.window.javascript.fOpenPrcpMainWnd();
- }
- }
- /**
- * @desc : 기록 아이템 밸류 SET
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fSetRecItemValue_MMR01100(reciteminfo)
- {
- if (fGetFormMast("formprogflag") == "PROG" && fGetFormMast("formprognm") != "-")
- {
- return ivw_base.window.javascript.fSetRecItemValue(reciteminfo);
- }
- }
- /**
- * @desc : 기록 내용 SET
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fSetRecItemCnts_MMR01100_old(degnitemno, cnts)
- {
- if (fGetFormMast("formprogflag") == "-")
- {
- var path = gPageInfo.recItemRef + "[degnitemno='"+degnitemno+"' and (degnitemkind='MTX' or degnitemkind='STX')]";
- var cnt = getNodesetCnt(gPrestIvw.model, path);
- if (cnt == 1)
- {
- gPrestIvw.model.setValue(gPageInfo.recItemRef + "[degnitemno='"+degnitemno+"']/reccnts", cnts);
- gPrestIvw.model.refresh();
- }
- }
- }
- /**
- * @desc : 기록 내용 GET
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fGetRecItemCnts_MMR01100_old(degnitemno)
- {
- if (fGetFormMast("formprogflag") == "-")
- {
- return getItemDataByDegnItemNo(degnitemno, gPrestIvw.model);
- }
- return null;
- }
- /**
- * @desc : 삭제버튼 클릭
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fClickDelete()
- {
- //2010.03.18 안치원 - 상단환자정보와 기록환자정보가 같은지 검사한다.
- if (validPamInfo_MMR01100("btn_delete") == false) {
- return false;
- }
-
- //ktas 전송완료된 건(20151224 이윤주)
- if (fGetFormRec("fstktas") == "Y")
- {
- messageBox("NEDIS 전송 완료되어 삭제 불가합니다","E");
- return;
- }
-
- if (fGetFormRec("formrecseq") == "")
- {
- messageBox("삭제 ", "E001");
- return;
- }
-
- //2010.05.03 김달현 updtfreeyn이 Y일경우 모든 권한체크 제외.
- var updtfreeyn = model.getValue(gPageInfo.formmastRef + "/updtfreeyn");
-
- if(!fCheckSaveDept() && updtfreeyn != "Y") //기록부서와 수정부서 동일여부 체크
- {
- messageBox("타부서 또는 타사용자의 작성 기록은 삭제", "E001");
- return;
- }
-
- if (fGetFormMast("srcformcd") == "0000000677")
- {
- messageBox("컨설트 기록은 삭제 할 수 없습니다. 의뢰취소는 컨설트 관리화면을 이용", "I008");
- return;
- }
-
- //2014.01.28 사용자가 의사이고 서식로더가 진료기록조회(SMMMR00100) 속해 있으면 검사기록지는 삭제 못하도록 블로킹 처리
- if(fCheckedTestRecYN()){
- return;
- }
- //2014.01.28 end
-
- fBeforeSaveExtnDoing();
- if (gMediRecMain)
- {
- opener.window.javascript.fDelete();
- }
- else
- {
- fDelFormRec();
- if (opener.window.javascript.getParameter("openmode") == "openform")
- {
- opener.window.javascript.setParameter("openmadalformsave", "Y");
- }
- }
- fAfterSaveExtnDoing();
- }
- /**
- * @desc : 저장버튼 클릭
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fClickSave(signedYn)
- {
-
- var oprnerId = opener.window.javascript.getScreenID();
- var rscdeptcd = ivw_base.model.getValue("/root/init/cond/rscdeptcd");
- /* 2012/02/15 영상구분을 안보이게 설정하면서 추가로 주석처리
- //2012/02/10 START 영상의학과로 컨설트시 영상구분 유무 체크
- var recvdeptcd=ivw_base.model.getValue("/root/init/cond/rscdeptcd");
- var check=ivw_base.model.getValue("/root/main/recinfo/recitem[degnitemno=22]/rectermcd");
-
- if(recvdeptcd=="2160000000" && fGetFormRec("formcd")=="0000000677" && check==""){
- messageBox("영상구분을", "C002");
- return;
- }
- //2012/02/10 END
- */
-
- //2010.03.18 안치원 - 상단환자정보와 기록환자정보가 같은지 검사한다.
- if (validPamInfo_MMR01100("btn_save") == false) {
- return false;
- }
-
- if(fGetFormRec("status") == "U")
- {
- var userid = getUserInfo("userid"); //userid, usernm, dutplceinstcd, dutplcecd
-
- //2010.05.03 dhkim updtfreeyn이 Y일경우 모든 권한체크 제외.
- var updtfreeyn = model.getValue(gPageInfo.formmastRef + "/updtfreeyn");
-
- //이윤주 추가(20150209)
- mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/savecross", 5987);
- var srcformCnt = getNodesetCnt(model, "/root/init/savecross/hardcd[hardcd = '" + fGetFormMast("srcformcd") + "']"); //서식존재여부
-
- if(srcformCnt == 0 && !fCheckSaveDept() && updtfreeyn != "Y") //기록부서와 수정부서 동일여부 체크
- {
- messageBox("타부서 또는 타사용자의 작성 기록은 수정", "E001");
- return false;
- }
-
- //20151224 이윤주 수정
- if (fGetFormRec("fstktas") == "Y") {
- messageBox("NEDIS 전송완료되어 기록을 수정할 수 없습니다!", "E");
- return false;
- }
-
- }
-
- //저장 전 실행할 함수 여부 검사 후 있을경우 실행
- fBeforeSaveExtnDoing();
-
- //수술부위 확인 점검표 저장확인 이윤주 with 손성훈 20120425
- if (signedYn == "Y"){
- var oprsrvno = model.getValue("/root/main/recinfo/formrec/oprsrvno");
- var formcd = fGetFormRec("srcformcd");
- if( fOppartchk(oprsrvno, formcd) == false ){
- return;
- }
- }
-
- //2010.02.23 안치원 - 인증저장후에 임시저장 차단 TASK(39128)요청번호(9402)
- //2010.05.26 김달현 - call visit되지 않은 환자의 인증저장 제한(서소영선생님요청)
- if (fChkPreSave_MMR01100(signedYn) == false)
- return false;
-
- //2010.02.16 dhkim (JCI xsltflag세팅)
- try
- {
- if (ivw_base.window.javascript.fSetXsltFlag() == false)
- {
- return false;
- }
- }
- catch (e)
- {
- }
-
-
- //KNUH, 가정간호 의뢰 인증저장 후 가정간호 처방 발행 메세지 보여주도록 (2011.03.21 JJE)
- var bfCnstStat = 0; //저장 전 의뢰상태
- if( oprnerId == "SMMMR05000" ) bfCnstStat = fGetFormRec("cnststat");
-
- // <--- 인증 저장 전
- // 인증저장
- var savedInfo = fSaveFormRec(signedYn);
- // ---> 인증 저장 후
- //if (savedInfo.formrecseq != 0)
-
- //var ctrlID = event.target;
- //2007.12.13 박종훈 수정
- if (savedInfo.formrecseq != null && savedInfo.formrecseq != 0)
- {
- if (opener.window.javascript.getParameter("openmode") == "openform")
- {
- opener.window.javascript.setParameter("openmadalformsave", "Y");
- }
- if (fGetFormRec("calledflag").indexOf("cpgmain") == 0)
- {
- try
- {
- var ordpatlistObj = getOpenWindow("SMMMP00800");
- if(ordpatlistObj != null)
- {
- addEmrLog("calledflag : " + fGetFormRec("calledflag"));
- ordpatlistObj.javascript.fSnedValToCpWnd(fGetFormRec("formcd"), savedInfo.formrecseq, fGetFormRec("calledflag"));
- }
- }
- catch(e)
- {
- return false
- }
- }
-
- setParameter("espisavesuccess", signedYn);;
-
- //messageBox("기록 저장이", "I002");
-
- fAfterSaveExtnDoing();
-
- //20081209 오지훈SW 요청
- var wndobj = getOpenWindow("SMMRI01800");
- if(wndobj != null){
- var status = fGetFormRec("status");
- var pid = fGetFormRec("pid");
- var orddd = fGetFormRec("orddd");
- var cretno = fGetFormRec("cretno");
- var formcd = fGetFormRec("srcformcd");
- var formrecdd = fGetFormRec("formrecdd");
- var formrecseq = fGetFormRec("formrecseq");
- //2010.02.27 안치원 - 미비항목화면연계 수정 formrecdeptcd추가(이은영 요청)
- var formrecdeptcd = fGetFormRec("formrecdeptcd");
- //2010.02.09 안치원 - 미비항목화면연계 수정(이은영 요청)
- //var unprepFlag = signedYn == "Y" ? "usg" : "";
-
- //2010.04.19 dhkim (미비확인 오류)
- //cosign이 Y일때는 uss, 인증저장일?는 usg넘김.
- var cosignYn = fGetFormRec("cosignyn");
- var unprepFlag = (cosignYn == "Y")? "uss" : (signedYn == "Y") ? "usg" : "";
-
- var param = status + "^" + pid + "^" + orddd + "^" + cretno + "^" + formcd + "^" + formrecdd + "^" + formrecseq + "^" + unprepFlag + "^" + formrecdeptcd;
- opener.window.javascript.setParameter("SMMRI01800_medirecinfo", param);
-
- wndobj.javascript.fDispUnPrepDrCnfm();
- wndobj.model.setFocus("grd_unpreplist");
- }
-
- //KNUH, 가정간호 의뢰 인증저장 후 가정간호 처방 발행 메세지 보여주도록 (2011.03.21 JJE)
- if( oprnerId == "SMMMR05000" && signedYn == "Y" && (fGetFormMast("formcd") == "0000000692"||fGetFormMast("formcd") == "1600017738") && bfCnstStat < 12 && savedInfo.formrecseq != getParameter("savedReqHomeCareSeq") ){
- messageBox("가정간호 의뢰를 인증저장하였습니다.\n\n가정간호 PRN처방을 발행", "I008"); //하십시오
- setParameter("savedReqHomeCareSeq", savedInfo.formrecseq);
-
- // 가정간호 안내문 출력 _ 2011.06.01 _ 손성훈 ------------------------
- model.makevalue("/root/main/homecarerep/patinfo/pid", model.getvalue("main/vpaminfo/pid"));
- model.makevalue("/root/main/homecarerep/patinfo/sex", model.getvalue("main/vpaminfo/sex"));
- model.makevalue("/root/main/homecarerep/patinfo/hngnm", model.getvalue("main/vpaminfo/hngnm"));
- model.makevalue("/root/main/homecarerep/patinfo/age", model.getvalue("main/vpaminfo/age"));
- model.makevalue("/root/main/homecarerep/patinfo/rgstno1", model.getvalue("main/vpaminfo/rrgstno1"));
- model.makevalue("/root/main/homecarerep/patinfo/rgstno2", model.getvalue("main/vpaminfo/rrgstno2"));
- model.makevalue("/root/main/homecarerep/patinfo/deptnm", model.getvalue("main/vpaminfo/orddeptnm"));
-
- if (fGetFormMast("formcd") == "1600017738") {
- exeReportPreview("RPMMR05001", "XMLSTR", "/root/main/homecarerep/patinfo", "", "true", "", "", "", "", "true");
- }
- else {
- exeReportPreview("RPMMR05000", "XMLSTR", "/root/main/homecarerep/patinfo", "", "true", "", "", "", "", "true");
- }
- ivw_base.window.javascript.fDoHomeNurOrd();
- }
- }
- else
- {
- var oprnerId = opener.window.javascript.getScreenID();
-
- if(oprnerId == "SMMMR00100" || oprnerId == "SPMMR05400" || oprnerId == "SMMMR05000")
- {
- return false;
- }
- else
- {
- if (getParameter("mediRecCnclYn") == "Y")
- {
- opener.window.javascript.setParameter("SMMMR02900_saveerr", "Y");
- clearParameter("mediRecCnclYn");
- return false;
- }
- else
- {
- clearParameter("mediRecCnclYn");
- return true;
- }
- }
-
- }
- if (!gSubmitSaveFlag)
- {
- if (savedInfo.rechistseq == -100)
- return true;
- else
- return false;
- }
-
- gSaveYN = true;
- return true;
-
- }
- /**
- * @desc : 기존 작성된기록을 새 기록으로 저장(수정모드에서 신규기록으로 저장)
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fClickSaveAsNew()
- {
-
- //이윤주 수정(20140221) - 공통서식 서식폼 변경에 따른 새이름 저장 제어
- mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/srcformcd", 5629);
-
- var srcformcd = fGetFormRec("srcformcd");
- var formprognm = ivw_base.src;
- var nodeCnt = getNodesetCnt(model, "/root/init/srcformcd/hardcd[hardcd = '" + srcformcd + "']");
-
- if (nodeCnt > 0) {
- var formableprognm = model.getValue("/root/init/srcformcd/hardcd[hardcd = '" + srcformcd + "']/hardcdnm");
- if ( formableprognm != formprognm ) {
- messageBox("새이름으로 저장할 수 없습니다"+"\n"+"관련근거 칠곡:전자결재(진료행정팀(의무기록)-104(2014.02.25.) 진료기록 서식 개정에 대한 공지 및 업무 협조)"+"\n"+"문의사항 의무기록파트:김창수(2402)","I999");
- return;
- }
- }
-
- if (fIsValidForm_MMR01100(true) == false)
- return;
-
- //2010-03-26 오전 9:27:48 강지훈 수정 : [요청번호 10010] 입원수진에 외래[formchosflag = 'O']기록 작성을 막는다.
- if (validFormchos_MMR01100(true) == false) {
- return false;
- }
-
- //20160824021 이윤주수정(20170808) :외래수진에 입원서식 사용불가토록 제어
- if (validFormchos_MMR01100_OUT(true) == false) {
- return false;
- }
-
- var formrechm = getCurrentTime().substring(0, 4);
- var tmpstat = fGetFormRec("status");
- var tmprecdd = fGetFormRec("formrecdd");
- var tmprechm = fGetFormRec("formrechm");
- var tmpespiseq = fGetFormRec("espiseq");
-
- var tmporddd = fGetFormRec("orddd");
- var tmporddrid = fGetFormRec("orddrid");
- var tmpcretno = fGetFormRec("cretno");
- var tmpchosflag = fGetFormRec("chosflag");
- var tmpformrecdeptcd = fGetFormRec("formrecdeptcd");
- var tmpformrecdeptnm = fGetFormRec("formrecdeptnm");
- var tmpformrecuserid = fGetFormRec("formrecuserid");
- var tmpformrecusernm = fGetFormRec("formrecusernm");
-
- fSetFormRec("status", "C");
- fSetFormRec("espiseq", 0);
-
- if (fGetPamInfo("ioflag") == "O" || fGetPamInfo("ioflag") == "S")
- {
- fSetFormRec("orddd" , fGetPamInfo("orddd"));
- fSetFormRec("orddrid" , fGetPamInfo("orddrid"));
- }
- else
- {
- fSetFormRec("orddd" , fGetPamInfo("indd"));
- fSetFormRec("orddrid" , fGetPamInfo("medispclid"));
- }
-
-
- fSetFormRec("cretno", fGetPamInfo("cretno"));
- fSetFormRec("chosflag", fGetPamInfo("ioflag"));
- fSetFormRec("formrecdeptcd", getUserInfo("dutplcecd"));
- fSetFormRec("formrecdeptnm", getUserInfo("dutplcenm"));
- fSetFormRec("formrecuserid", getUserInfo("userid"));
- fSetFormRec("formrecusernm", getUserInfo("usernm"));
-
- // fSetFormRec("formrecdd", getCurrentDate());
- // fSetFormRec("formrechm", formrechm);
- // ipt_formrecdd.refresh();
- // ipt_formrectm.refresh();
-
- opener.window.javascript.setParameter("chkdeptpresave", "N");
-
- fClickSave("Y");
-
- if (getParameter("espisavesuccess") != "Y")
- {
- fSetFormRec("status", tmpstat);
- fSetFormRec("formrecdd", tmprecdd);
- fSetFormRec("formrechm", tmprechm);
- fSetFormRec("espiseq", tmpespiseq);
-
- fSetFormRec("orddd", tmporddd);
- fSetFormRec("orddrid", tmporddrid);
- fSetFormRec("cretno", tmpcretno);
- fSetFormRec("chosflag", tmpchosflag);
- fSetFormRec("formrecdeptcd", tmpformrecdeptcd);
- fSetFormRec("formrecdeptnm", tmpformrecdeptnm);
- fSetFormRec("formrecuserid", tmpformrecuserid);
- fSetFormRec("formrecusernm", tmpformrecusernm);
- ipt_formrecdd.refresh();
- ipt_formrectm.refresh();
-
- clearParameter("espisavesuccess");
- }
- }
- /**
- * @desc : 저장 전 실행할 함수 여부 검사 후 있을경우 실행
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fBeforeSaveExtnDoing()
- {
- if (beforeSaveExeFuncNm != "")
- {
- var funcnm = "opener.window.javascript." + beforeSaveExeFuncNm + "()";
- eval(funcnm);
- }
- }
- /**
- * @desc : 저장 후 실행할 함수 여부 검사 후 있을경우 실행
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fAfterSaveExtnDoing()
- {
- try
- {
- //인증저장 후 진료대상자 리스트 활성화(2008-11-28일 김영학SW 요청 - 박종훈)
- var oprnerId = opener.window.javascript.getScreenID();
-
- if (fGetFormRec("espiyn") == "Y" && fGetFormMast("mainyn") == "Y" && oprnerId == "SMMMR00100")
- {
- var curPatListObj= getOpenWindow("SMMMO04100"); //활성화된 진료대상자 화면 object loading
- var pid = getPatientInfo("pid");
- setPatientInfoDetailByKey("emrsaveyn", pid+ "|Y");
- if (curPatListObj != null) {
- var prcpsaveyn = getPatientInfoDetail("prcpsaveyn");
- var emrsaveyn = getPatientInfoDetail("emrsaveyn");
-
- if (prcpsaveyn == "Y" && emrsaveyn == "Y") {
- curPatListObj.restore(); //2009-10-26 오후 6:58:17 강지훈추가 : 요청번호 8585
- curPatListObj.activate();
- }
- }
- }
-
- if (afterSaveExeFuncNm != "")
- {
- var funcnm = "opener.window.javascript." + afterSaveExeFuncNm + "()";
- eval(funcnm);
- }
- ivw_base.window.javascript.fSaveAfter();
- }
- catch (e)
- {
- }
- if (gSaveAfterClose)
- {
- //부모창에 서식기록순번을 파라미터로 넘긴다.
- //2010-02-20 박종훈 추가(삭제의 경우 0으로 넘겨준다)
- if (fGetFormRec("status") == "D")
- {
- opener.window.javascript.setParameter("SSMMR01100_formrecseq", "0");
- }
- else
- {
- opener.window.javascript.setParameter("SSMMR01100_formrecseq", model.getValue(gPageInfo.recRef+"/formrec/formrecseq"));
- }
-
- if (opener.window.javascript.getScreenID() == "SSMMR01100")
- {
- opener.window.javascript.fGetRecMainlist();
- }
- window.close();
- }
- }
- /**
- * @desc : 출력버튼 클릭
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fClickPrint()
- {
- if (fGetFormMast("formprogflag") == "OCR")
- {
- gPrestIvw.window.javascript.fPrint();
- }
- else
- {
- var signno = fGetFormRec("espiseq");
- var formcd = fGetFormRec("formcd");
-
- if (formcd != "")
- {
- var parmkey = "E▦" + signno + "▦" + formcd + "▩";
- setParameter("SPMRI02400_autoprtYn", "Y");
- setParameter("SPMRI02400_prtrecinfo", parmkey); //E/I▦signno▦formcd▩
- modal("SPMRI02400", 1, "", "", "", "", "", "left:-800; right:0; width:0; height:0;");
- }
- }
- }
- /**
- * @desc : 출력버튼 클릭
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fSaveFormRec(signedYn, mode)
- {
- if (fGetFormMast("formcd") == "") return;
-
- if (isProgForm())
- {
- var tmpsavedInfo = new SAVED_INFO();
-
- tmpsavedInfo = ivw_base.window.javascript.getSaveComnFormData(mode);
-
- if (tmpsavedInfo != null && tmpsavedInfo != "")
- {
- return tmpsavedInfo
- }
- }
- else
- {
- //필수 입력항목 체크(특수서식)
- if(ivw_base.window.javascript.chkEssentialitem() == false)
- {
- var oprnerId = opener.window.javascript.getScreenID();
-
- if(oprnerId == "SMMMR02900")
- {
- opener.window.javascript.setParameter("SMMMR02900_saveerr", "Y");
- }
-
- var savedInfo = new SAVED_INFO();
- return savedInfo;
- }
- ivw_base.window.javascript.getSaveData(gPageInfo.sortItemRef, "replace", model, null, mode);
- SortRecItem();
- }
- //window.clipBoardData = model.instances(0).selectSingleNode("/root/hidden/recinfo").xml;
- if (signedYn != null)
- {
- return fSaveComnFormRecInfo(signedYn);
- }
- }
- /**
- * @desc : 미리보기 데이터 조회해오기
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- var gPath_preview = "/root/hidden/medirec/medireccnts";
- function fGetPreviewData(flag, targetPath, targetModel, mode)
- {
- model.removeNodeset(gPath_preview);
- if (flag != "sign")
- {
- fSaveFormRec(null, mode);
- var cnt = getNodesetCnt(model, gPageInfo.recItemRef2);
- if (cnt == 0) return;
- }
- var formdegnseq;
- var degnitemno;
- var formcd;
- var node;
- var j = 1;
- var std_nodepath = gPath_preview + "[#jIdx#]";
- var std_nodepath2 = std_nodepath + "#colnm#";
- var nodepath;
- var nodepath2;
- var path_recItemRef2 = gPageInfo.recItemRef2 + "[#iIdx#]";
- var path_recItemRef2_row;
- var path_recItemRef2_formcd = path_recItemRef2 + "/formcd";
- var path_recItemRef2_formdegnseq = path_recItemRef2 + "/formdegnseq";
- var path_recItemRef2_degnitemno = path_recItemRef2 + "/degnitemno";
- var path_recItemRef2_degnitemlevlno = path_recItemRef2 + "/degnitemlevlno";
- var addCnts = "";
- var extnflag = true;
- for (var i = 1; i <= cnt; i++)
- {
- try
- {
- extnflag = true;
- nodepath2 = std_nodepath2.replace("#jIdx#", j);
- path_recItemRef2_row = path_recItemRef2.replace("#iIdx#", i);
-
- if (model.getValue(path_recItemRef2_row+"/orgdegnitemkind") == "")
- {
- copyNodeset(gPath_preview, path_recItemRef2_row, "append", model, model);
- }
- else
- {
- continue;
- }
- formcd = model.getValue(path_recItemRef2_formcd.replace("#iIdx#", i));
- formdegnseq = model.getValue(path_recItemRef2_formdegnseq.replace("#iIdx#", i));
- degnitemno = model.getValue(path_recItemRef2_degnitemno.replace("#iIdx#", i));
- model.makeNode(nodepath2.replace("#colnm#", "/imgehei"));
- model.makeNode(nodepath2.replace("#colnm#", "/imgewid"));
- model.makeValue(nodepath2.replace("#colnm#", "/viewflag"), "data");
- model.makeNode(nodepath2.replace("#colnm#", "/compflag"));
- model.makeNode(nodepath2.replace("#colnm#", "/viewcnts"));
- model.makeNode(nodepath2.replace("#colnm#", "/viewimge"));
- model.makeValue( nodepath2.replace("#colnm#", "/degnitemlevlno"), model.getValue(path_recItemRef2_degnitemlevlno.replace("#iIdx#", i)) );
- if (false && (formcd == "0000000899" || formcd == "0000000900" || formcd == "0000000901" ))
- {
- if (model.getValue(path_recItemRef2_row + "/degnitemkind") == "GRD" || model.getValue(path_recItemRef2_row + "/degnitemkind") == "CCN" ||
- model.getValue(path_recItemRef2_row + "/degnitemkind") == "OPN")
- {
- extnflag = false;
- }
- else if ( formcd == "0000000899" &&
- (model.getValue(path_recItemRef2_row + "/recrefcd") == "C" || model.getValue(path_recItemRef2_row + "/recrefcd") == "M") )
- {
- addCnts += model.getValue(path_recItemRef2_row + "/recitemnm");
- extnflag = false;
- }
- else
- {
- nodepath = std_nodepath.replace("#jIdx#", j++);
- fMakeRowRecCnts(nodepath, true);
- var viewcnts = model.getValue(nodepath + "/viewcnts");
- var tempcnts = parseInt(model.getValue(path_recItemRef2_row + "/rowno")) + 1 + ". ";
- if (addCnts != "")
- {
- tempcnts = tempcnts + "[" +addCnts+ "] ";
- addCnts = "";
- }
- viewcnts = tempcnts + viewcnts;
- model.setValue(nodepath + "/viewcnts", viewcnts);
- }
- }
- else
- {
- nodepath = std_nodepath.replace("#jIdx#", j++);
- fMakeRowRecCnts(nodepath, true);
- }
- if (extnflag && model.getValue(nodepath+"/compflag") == "6")
- {
- copyNodeset(gPath_preview, nodepath, "append", model, model);
- nodepath = std_nodepath.replace("#jIdx#", j++);
- model.setValue(nodepath + "/viewflag", "data");
- fMakeRowRecCnts(nodepath, false);
- }
- }
- catch (e)
- {
- model.setValue(nodepath+"/viewcnts", model.getValue(nodepath+"/viewcnts") + " [ERROR!]");
- }
- }
- if (flag == "view")
- {
- node = model.instances(0).selectSingleNode("/root/hidden/medirec");
- opener.window.javascript.fPreview(node);
- }
- else if(flag == "copy")
- {
- if(targetPath == null || targetPath == "")
- {
- alert("미리보기 데이터를 copy할 대상노드가 지정되지 않았습니다");
- return;
- }
- if(targetModel == null)
- targetModel = model;
- copyNodeset(targetPath, "/root/hidden/medirec", "replace", targetModel, model);
- }
- }
- /**
- * @desc : 미리보기(임시저장 후 기록내용보기)
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fPreviewRec()
- {
- fClickSave("N");
- var formrecseq = fGetFormRec("formrecseq");
- opener.window.javascript.fShowMediRecCnt(formrecseq);
- }
- /**
- * @desc : 미리보기 팝업
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fShowPreview()
- {
- fGetPreviewData("get");
- setParameter("formnm", fGetFormMast("formnm"));
- modal("SSMMR01200", 1, 0, 0, "", "/root/hidden/medirec", "/root/main/medirec");
- }
- /**
- * @desc : 기록내역 라인별 설정
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- var LINE_STR = "‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥";
- function fMakeRowRecCnts(path, flag)
- {
- try
- {
- var path_viewflag = path+"/viewflag";
- var path_compflag = path+"/compflag";
- var path_rectermnm = path+"/rectermnm";
- var path_rectermcd = path+"/rectermcd";
- var path_reccnts = path+"/reccnts";
- var path_degnitemkind = path+"/degnitemkind";
- var path_degnitemnm = path+"/degnitemnm";
- var path_viewimge = path+"/viewimge";
- var path_recimge = path+"/recimge";
- var path_rowno = path+"/rowno";
- var path_degnitemlevlno = path+"/degnitemlevlno";
- var path_recitemnm = path+"/recitemnm";
- var sb = new StringBuffer();
- var isAdd = false;
- var existValu = model.getValue(path_rectermnm) != "" || model.getValue(path_recitemnm) != "" || model.getValue(path_reccnts) != "" ? true : false;
-
- if (model.getValue(path_degnitemkind) == "IMG")
- {
- model.setValue(path_compflag, "7");
- model.setValue(path_viewimge, model.getValue(path_recimge), true);
- setImageRefInstance(path_viewimge);
- }
- else if ((model.getValue(path_degnitemkind) == "GRD" /*|| model.getValue(path_degnitemkind) == "CCN" ||
- model.getValue(path_degnitemkind) == "OPN" || model.getValue(path_degnitemkind) == "DGN"*/) &&
- model.getValue(path_rowno) != "0")
- {
- model.setValue(path_compflag, "8");
- var degnitemlevlno = parseInt(model.getValue(path_degnitemlevlno))+1;
- model.setValue(path_degnitemlevlno, degnitemlevlno);
- }
- else if ((flag && model.getValue(path+"/fstlevlitemcd") == model.getValue(path+"/degnitemcd"))
- && model.getValue(path_degnitemkind) != "GRD")
- //else if (flag && model.getValue(path+"/degnitemlevlno") == "1")
- {
- model.setValue(path_viewflag, "fstlevl");
- model.setValue(path_compflag, "1");
- sb.append(model.getValue(path_degnitemnm));
-
- if (model.getValue(path_degnitemlevlno) == "1")
- {
- sb.append("> ");
- }
- else if (model.getValue(path_rectermnm) != "")
- {
- sb.append(": ");
- model.setValue(path_viewflag, "data");
- }
- if (existValu)
- {
- if (model.getValue(path_degnitemkind) == "MTX")
- {
- model.setValue(path_compflag, "6");
- }
- else
- {
- isAdd = true;
- flag = false;
- }
- }
- }
- else if (model.getValue(path_degnitemkind) == "MTX" &&
- model.getValue(path+"/formcd") == "0000000005")
- {
- model.setValue(path_compflag, "2");
- sb.append(model.getValue(path_reccnts));
- }
- else
- {
- isAdd = true;
- }
- if (isAdd)
- {
- model.setValue(path_compflag, "3");
- if (flag)
- sb.append(model.getValue(path_degnitemnm));
- if (existValu)
- {
- if (flag)
- sb.append(" : ");
- if (model.getValue(path_recitemnm) != "")
- {
- model.setValue(path_compflag, "4");
- sb.append(model.getValue(path_recitemnm));
- }
- else if (model.getValue(path_rectermnm) != "")
- {
- model.setValue(path_compflag, "4");
- sb.append(model.getValue(path_rectermnm));
- }
- if (model.getValue(path_reccnts) != "")
- {
- model.setValue(path_compflag, "5");
- if (model.getValue(path_rectermnm) != "" || model.getValue(path_recitemnm) != "")
- {
- sb.append(" ※");
- }
- sb.append(model.getValue(path_reccnts));
- }
- if (model.getValue(path+"/unitnm") != "")
- {
- sb.append(" ");
- sb.append(model.getValue(path+"/unitnm"));
- }
- }
- }
- model.setValue(path+"/viewcnts", sb.toString());
- }
- catch (e)
- {
- model.setValue(path+"/viewcnts", model.getValue(path+"/viewcnts") + "[SYSTEM ERROR]");
- }
- }
- /**
- * @desc : 기록데이터 가져오기
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fGetFormRecData()
- {
- gPrestIvw.window.javascript.InitSaveComnFormRecItemData();
- fSetSaveComnFormRecInfo();
- return model.instances(0).selectNodes("/root/send/saverecinfo");
- }
- /**
- * @desc : 서식 디자인 정보 가져오기
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fGetFormDegnData()
- {
- return model.instances(0).selectNodes(gPageInfo.forminfoRef);
- }
- /**
- * @desc : 기록 삭제
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fDelFormRec()
- {
- if (fGetFormRec("formrecseq") == "")
- {
- messageBox("삭제 ", "E001");
- return;
- }
- fSetFormRec("status", "D");
- return fSaveComnFormRecInfo();
- }
- /**
- * @desc : 화면 로딩시 초기화
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fFormReady_old()
- {
- ivw_base.visible = true;
- ivw_fst.visible = false;
- gPrestIvw = ivw_base;
- if (isPopup())
- {
- var openmode = opener.window.javascript.getParameter("openmode");
- if (openmode == "extnunitform")
- {
- grup_titl.attribute("visibility") = "hidden";
- }
- else
- {
- grup_titl.attribute("visibility") = "visible";
- if (fGetFormMast("formprogflag") == "OCR")
- {
- btn_print.visible = true;
- btn_print.attribute("left") = btn_del.attribute("left");
- btn_preview.visible = false;
- btn_tmpsave.visible = false;
- btn_signsave.visible = false;
- btn_signsaveasnew.visible = false;
- btn_del.visible = false;
- }
- else
- {
- btn_print.visible = false;
- btn_preview.visible = false;
- }
- }
- var ivwTop = 1;
- var ivwHei = 685;
- if (grup_titl.visible)
- {
- ivwTop = parseInt(grup_titl.attribute("top")) + parseInt(grup_titl.attribute("height"));
- }
- else
- {
- ivwHei = ivwHei + parseInt(grup_titl.attribute("height"));
- }
- ivw_base.attribute("top") = ivwTop;
- ivw_base.attribute("height") = ivwHei;
- ivw_fst.attribute("height") = ivw_base.attribute("height");
- ivw_fst.attribute("top") = ivw_base.attribute("top");
- ivw_base.attribute("border-style") = "none";
- ivw_fst.attribute("border-style") = "none";
- if (fGetFormMast("formcd") != "")
- {
- window.document.title = fGetFormMast("formnminfo");
- }
- cap_formnm.refresh();
- gSaveAfterClose = true;
- var widFlag = fGetFormMast("formprogflag");
- if (openmode == "extnunitform")
- widFlag = opener.window.javascript.getParameter("widflag");
- if (fGetFormMast("formcd") == "0000000005")
- {
- window.Height = 370;
- ivw_fst.attribute("height") = 10;
- gPrestIvw.attribute("height") = 291;
- grup_btn.attribute("top") = 292;
- gPrestIvw.attribute("unitformcd") = fGetFormMast("formcd");
- SetMultiTextFull(gPrestIvw, 1);
- var mtxNm = "MTX_1";
- var mtx = gPrestIvw.window.document.controls(mtxNm);
- gPrestIvw.model.setFocus(mtxNm);
- mtx.dispatch("onkeyup");
- }
- else if (widFlag == "-" || widFlag == "PROF" || widFlag == "OCR")
- {
- var STD_WIN_WID = 815;
- var STD_WIN_HEI = 950;
- var maxWid = STD_WIN_WID;
- window.width = maxWid + 12;
- gPrestIvw.attribute("width") = maxWid + 1;
- grup_btn.attribute("width") = gPrestIvw.attribute("width");
- line2.attribute("width") = gPrestIvw.attribute("width");
- var maxHei = parseInt(gPrestIvw.window.document.body.vscroll.attribute("max"));
- if (maxHei > parseInt(gPrestIvw.attribute("height")))
- {
- var diffHei = 0;
- if (maxHei > STD_WIN_HEI)
- diffHei = STD_WIN_HEI - parseInt(gPrestIvw.attribute("height"));
- else
- diffHei = maxHei - parseInt(gPrestIvw.attribute("height"));
- window.height = window.height + diffHei;
- gPrestIvw.attribute("height") = parseInt(gPrestIvw.attribute("height")) + diffHei;
- grup_btn.attribute("top") = parseInt(grup_btn.attribute("top")) + diffHei;
- }
- }
- }
- fGetFormSubTitle(); // 서식부제목리스트
- try {
- opener.window.javascript.fEndFormReady_MMR01100();
- }
- catch (e) {};
- }
- /**
- * @desc : 화면 로딩 후 실행되는 로직
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fEndFormReady(xrwid)
- {
- if (isPopup())
- {
- if (xrwid == "SMMMR04900")
- {
- if (opener.window.javascript.getParameter("openmode") == "newcnstform")
- {
- var formcd = opener.window.javascript.getParameter("formcd");
- var userdeptcd = opener.window.javascript.getParameter("userdeptcd");
- var flag = gPrestIvw.window.javascript.fNewCnstForm(formcd, userdeptcd);
- if (! flag)
- {
- window.close();
- }
- }
- }
- }
- else
- {
- if (xrwid == "SMMMR04900_newcnstform")
- {
- var formcd = getParameter("SMMMR04900_reqformcd");
- var userdeptcd = getParameter("userdeptcd");
- gPrestIvw.window.javascript.fNewCnstForm(formcd, userdeptcd);
- }
- }
- }
- /**
- * @desc : 화면 사이즈 조절 및 속성 설정
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fInitPage(isViewTitl, isViewSaveBtn, height, wid, isViewPrtBtn)
- {
- if (isViewPrtBtn != null)
- {
- gViewPrt = isViewPrtBtn;
- }
-
- var hei_titl = parseInt(grup_titl.attribute("height"));
- var hei_btn = parseInt(grup_btn.attribute("height"));
- var top_titl = parseInt(grup_titl.attribute("top"));
- var top_btn = parseInt(grup_btn.attribute("top"));
- body.attribute("height") = height;
- if (wid != null)
- body.attribute("width") = wid;
- if (isViewTitl)
- {
- grup_titl.attribute("visibility") = "visible";
- }
- else
- {
- grup_titl.attribute("visibility") = "hidden";
- hei_titl = 0;
- top_titl = 0;
- }
- if (! isViewSaveBtn)
- {
- hei_btn = 0;
- }
- ivw_base.attribute("height") = height - hei_titl - hei_btn - 2;
- if (wid != null)
- ivw_base.attribute("width") = wid - 2;
- ivw_base.attribute("top") = top_titl + hei_titl;
- ivw_base.attribute("left") = 0;
- ivw_base.attribute("border-style") = "none";
- if (isViewSaveBtn)
- {
- grup_btn.attribute("width") = parseInt(ivw_base.attribute("width"));
- grup_btn.attribute("top") = parseInt(ivw_base.attribute("top")) + parseInt(ivw_base.attribute("height"));
- grup_btn.attribute("left") = 0;
- grup_btn.attribute("visibility") = "visible";
- }
- else
- {
- grup_btn.attribute("top") = 0;
- grup_btn.attribute("visibility") = "hidden";
- }
- ivw_fst.attribute("height") = ivw_base.attribute("height");
- ivw_fst.attribute("width") = ivw_base.attribute("width");
- ivw_fst.attribute("top") = ivw_base.attribute("top");
- ivw_fst.attribute("left") = ivw_base.attribute("left");
- ivw_fst.attribute("border-style") = ivw_base.attribute("border-style");
- //ivw_base.visible = true;
- //ivw_fst.visible = false;
- //gPrestIvw = ivw_base;
- if (! gMediRecMain)
- {
- btn_preview.visible = false;
- btn_del.visible = false;
- }
- //body.refresh();
- }
- var gPrePID = "";
- var gSpecFormFlag = false;
- var gFormLoad = false;
- /**
- * @desc : formxrwyn을 반환
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fInitForm()
- {
- //alert("fInitForm");
- SetUserTimeLog("fInitForm", "START");
- gSubmitID = TX_SUBMIT_COMN_FORM;
- var pageInfo = new PAGEINFO();
- var formprogflag = fGetFormMast("formprogflag");
- var formprognm = fGetFormMast("formprognm");
- gFormLoad = false;
- var ivwsrc = "../../../emr/formmngtweb/xrw/SSMRF01200.xrw";
- //var ivwsrc = "../../../emr/medirecweb/xrw/SMMMR00000_Empty.xrw";
- if (formprogflag == "OCR")
- {
- ivw_base.src = "../../../emr/formmngtweb/xrw/SSMRF03800_OCR뷰어.xrw";
- gPrestIvw = ivw_base;
- var sIoflag = fGetPamInfo("ioflag");
- var sOrddd = "";
- if(sIoflag == "I"){
- sOrddd = fGetPamInfo("indd");
- }else if(sIoflag == "O"){
- sOrddd = fGetPamInfo("orddd");
- }
- gPrestIvw.window.javascript.fGetOCRInfo(fGetFormMast("formcd"), fGetPamInfo("pid"), sOrddd, fGetPamInfo("cretno"), sIoflag);
- }
- else
- {
- if (gMediRecMain)
- {
- if (fGetFormMast("srcformcd") == "0000000002" && fGetPamInfo("ioflag") == "O")
- {
- opener.window.javascript.fSetPatSmm(true);
- }
- else
- {
- opener.window.javascript.fSetPatSmm(false);
- }
- }
- if (isProgForm())
- {
- ivwsrc = "../../../emr/medirecweb/xrw/" + formprognm + ".xrw";
- }
- if (fGetFormMast("srcformcd") == "0000000001" || fGetFormMast("srcformcd") == "0000000003")
- gPrestIvw = ivw_fst;
- else
- gPrestIvw = ivw_base;
- //if (fGetFormMast("formprogflag") == "SMMMR04900_CONSULT")
- if (fGetFormMast("formprognm") == "SMMMR04900_CONSULT")
- {
- gPrestIvw.src = ivwsrc;
- gFormLoad = true;
- }
- else if (gPrestIvw.src != ivwsrc)
- {
- gPrestIvw.src = ivwsrc;
- gFormLoad = true;
- }
- else if (gPrestIvw.attribute("formdegnseq") != fGetFormMast("formdegnseq"))
- {
- gFormLoad = true;
- }
- SetUserTimeLog("fInitForm", "gFormLoad END");
- if (gFormLoad)
- {
- if (isProgForm())// && fGetFormMast("formprogflag") != "PROF")
- {
- SetUserTimeLog("fInitForm", "copyNodeset START");
- copyNodeset(gPageInfo.forminfoRef, gPageInfo.forminfoRef, null, gPrestIvw.model, model);
- SetUserTimeLog("fInitForm", "copyNodeset END");
- gPrestIvw.window.javascript.fLoadForm();
- SetUserTimeLog("fInitForm", "fLoadForm END");
- gPrestIvw.attribute("formdegnseq") = fGetFormMast("formdegnseq");
- }
- else
- {
- //if ((isPopup() && opener.model.getValue("/root/emrtemp/sysformxrwyn") == "Y") &&
- // fGetFormMast("formxrwyn") == "Y")
- if(fGetFormMast("formxrwyn") == "Y")
- {
- /*********************/
- /* XRW Loading Logic */
- /*********************/
- //gPrestIvw.src = GetFormXrwSubmitStr(fGetFormMast("formdegnseq"), "", "");
- gPrestIvw.window.javascript.fDrawFormByFormDegnSeq(fGetFormMast("formdegnseq"), gPrestIvw.attribute("id"));
- SetUserTimeLog("fInitForm", "GetFormXrwSubmitStr END");
- //copyNodeset(gPageInfo.imgelistRef, gPageInfo.imgelistRef, "replace", gPrestIvw.model, model);
- //SetUserTimeLog("fInitForm", "imgelistRef copyNodeset END");
- /*copyNodeset(gPageInfo.forminfoRef, gPageInfo.forminfoRef, "replace", gPrestIvw.model, model);
- SetUserTimeLog("fInitForm", "copyNodeset END");
- gPrestIvw.window.javascript.makeInstance();
- SetUserTimeLog("fInitForm", "makeInstance END");
- gPrestIvw.model.refresh();*/
- }
- else
- {
- gPrestIvw.src = "../../../emr/formmngtweb/xrw/SSMRF01200.xrw";
- SetUserTimeLog("fInitForm", "gPrestIvw.src END");
- // 1. 이미지의 개수를 확인
- // 2. 이미지 이름과 디자인아이템이름이 같은지 확인
- // 3. Shape정보가 있는지 확인 한 후, Shape정보를 입력
- var imagecnt = getNodesetCnt(model, pageInfo.imgelistRef);
- var imagecd;
- var imagenm;
- var degnitemnm;
- var degnitemkind;
- var shapeInfo;
- for(var i = 1; i <= imagecnt; i++)
- {
- imagecd = model.getValue(pageInfo.imgelistRef + "[" + i + "]/imgecd");
- imagenm = model.getValue(pageInfo.imgelistRef + "[" + i + "]/imgenm");
- //alert("imagecd: " + imagecd);
- //alert("imagenm: " + imagenm);
- if(imagecd != "" && imagenm != "")
- {
- degnitemnm = model.getValue(pageInfo.formdegnRef + "[" + i + "][degnitemcd=" + imagecd + "]/degnitemnm");
- degnitemkind = model.getValue(pageInfo.formdegnRef + "[" + i + "][degnitemcd=" + imagecd + "]/degnitemkind");
- //alert("degnitemnm: " + degnitemnm);
- //alert("degnitemkind: " + degnitemkind);
- if( degnitemkind == "IMG" )
- {
- shapeInfo = model.getValue(pageInfo.recItemRef + "[" + i + "][degnitemcd='" + imagecd + "' and degnitemkind='" + degnitemkind + "']/reccnts");
- //alert(shapeInfo);
- if(shapeInfo != "")
- {
- model.makeValue( gPageInfo.imgelistRef +"[" + i + "]/reccnts", shapeInfo);
- }
- }
- }
- }
- gPrestIvw.window.javascript.fPreviewByDegnItems(gPageInfo.formmastRef,
- gPageInfo.formdegnRef,
- gPageInfo.vallistRef,
- gPageInfo.imgelistRef,
- "record",
- gFstLevlItemCd,
- gPrestIvw);
- SetUserTimeLog("fInitForm", "fPreviewByDegnItems END");
- }
- }
- if (formprogflag == "PROF")
- {
- gSubmitID = TX_SUBMIT_EXTN_FORM;
- }
- }
- }
- SetUserTimeLog("fInitForm", "END");
- return fGetFormMast("formxrwyn");
- }
- /**
- * @desc : 데이터 Setting
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fSetLoadData()
- {
- if(gOpenMode == "recform")
- {
- //이미지 데이터 Setting
- copyNodeset(gPageInfo.imgelistRef, gPageInfo.imgelistRef, "replace", gPrestIvw.model, model);
- //기록 데이터 Setting
- fInitFormRec();
- SetUserTimeLog("fLoaderEndForm", "fInitFormRec END");
- SetToLoadTime(1);
- SetUserTimeLog("fLoadRecForm", "END");
- fCheckWriteUser();
- fShowProgress(false);
- }
- //else
- //{
- /*alert("test");
- fInitClearForm();
- try {
- gPrestIvw.window.javascript.fExtnInitFormRec();
- }
- catch (e) {};
- fCheckWriteUser();*/
- copyNodeset(gPageInfo.imgelistRef, gPageInfo.imgelistRef, "replace", gPrestIvw.model, model);
- var imgeCnt = getNodesetCnt(gPrestIvw.model, gPageInfo.imgelistRef);
- for(var i = 1; i <= imgeCnt; i++)
- {
- var degnitemcd = gPrestIvw.model.getValue(gPageInfo.imgelistRef + "[" + i + "]/imgecd");
- var degnitemno = gPrestIvw.model.getValue(gPageInfo.formdegnRef + "[degnitemcd = '" + degnitemcd + "']/degnitemno");
- //if(gPrestIvw.window.javascript.eval("IMG_" + degnitemno).attribute("ref") == "")
- try
- {
- gPrestIvw.window.javascript.eval("IMG_" + degnitemno).LoadImageBase64(
- gPrestIvw.model.getValue(gPageInfo.imgelistRef + "[imgecd='" + degnitemcd + "']/imgedata"));
- }
- catch(e)
- {
- gPrestIvw.window.javascript.setImageRefInstance(gPageInfo.imgelistRef + "[" + i + "]/imgedata");
- }
- }
- /*var len = gPrestIvw.window.document.body.children.length;
- alert("len : " + len);
- for(var i = len - 1; i >= 0; i--)
- {
- var ctrl = gPrestIvw.window.document.body.children.item(i);
- alert(ctrl.elementName + ", " + ctrl.attribute("clsid"));
- if(ctrl.elementName != "xforms:object" || ctrl.attribute("clsid") != "{7b1f53ab-6137-4773-88cc-53a46af2d289}")//{72e5d9ed-0d6a-46e8-aead-23144bfef878}
- continue;
- var degnitemno = ctrl.attribute("id").split("_")[1];
- var degnitemcd = gPrestIvw.model.getValue(pageInfo.formdegnRef + "[degnitemno = '" + degnitemno +"']/degnitemcd");
- alert("degnitemcd : " + degnitemcd);
- gPrestIvw.window.javascript.eval(ctrl.attribute("id")).LoadImageBase64(model.getValue(pageInfo.imgelistRef + "[imgecd='" + degnitemcd + "']/imgedata"));
- }*/
- gPrestIvw.model.refresh();
- //}
- }
- /**
- * @desc : XRW 로딩
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fLoadNewXRW(xrwid)
- {
- if (gMediRecMain)
- opener.window.javascript.fSetPatSmm(false);
- if (ivw_base.src == "")
- {
- ivw_base.src = "../../../emr/medirecweb/xrw/SMMMR00000_Empty.xrw";
- }
- gPrestIvw = ivw_base;
- gPrestIvw.window.javascript.navigate(xrwid, "", "", "", "");
- // if (window.document.location == "C:/CMCProject/application/webapps/emr/medirecweb/xrw/")
- // {
- // if (xrwid == "SMMMR04900")
- // gPrestIvw.window.javascript.navigateUrl("../../../emr/medirecweb/xrw/SMMMR04900_CONSULT.xrw", "", "", "", "");
- // else
- // gPrestIvw.window.javascript.navigate(xrwid, "", "", "", "");
- // }
- // else
- // {
- // gPrestIvw.window.javascript.navigate(xrwid, "", "", "", "");
- // }
- }
- /**
- * @desc : 기록을 위한 환자 원무정보 셋팅
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fSetPamInfo(pid, orddd, cretno, ioflag, orddeptcd, orddrid,wardcd)
- {
- if (pid == "")
- {
- messageBox("등록번호가 ", "I004");
- return false;
- } else if (orddd == ""){
- messageBox("진료일자가 ", "I004");
- return false;
- } else if (cretno == ""){
- messageBox("생성번호가 ", "I004");
- return false;
- } else if (ioflag == ""){
- messageBox("내원구분이 ", "I004");
- return false;
- } else if (orddeptcd == ""){
- messageBox("진료과 정보가 ", "I004");
- return false;
- } else if (orddrid == ""){
- messageBox("진료의사 정보가 ", "I004");
- return false;
- }
-
- model.removeNodeset("/root/main/paminfo");
- model.makeValue("/root/main/paminfo/pid", pid);
- if (ioflag == "O" || ioflag == "S")
- {
- model.makeValue("/root/main/paminfo/orddd" , orddd);
- model.makeValue("/root/main/paminfo/orddrid", orddrid);
- }
- else
- {
- model.makeValue("/root/main/paminfo/indd" , orddd);
- model.makeValue("/root/main/paminfo/medispclid", orddrid);
- }
- model.makeValue("/root/main/paminfo/cretno", cretno);
- if (orddeptcd == "2280000000")
- model.makeValue("/root/main/paminfo/ioflag", "E");
- else
- model.makeValue("/root/main/paminfo/ioflag", ioflag);
- model.makeValue("/root/main/paminfo/orddeptcd", orddeptcd);
- model.makeValue("/root/main/paminfo/wardcd", wardcd);
-
- return true;
- }
- /**
- * @desc : key값에 해당되는 원무정보 가져오기
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fGetPamInfo_old(key)
- {
- if (gMediRecMain)
- {
- return window.opener.model.getValue("/root/main/paminfo/" + key);
- }
- else
- {
- return model.getValue("/root/main/paminfo/" + key);
- }
- }
- /**
- * @desc : 서식 Clear
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fInitClearForm()
- {
- if (fIsValidForm_MMR01100(true) == false)
- return;
-
- var formprogflag = fGetFormMast("formprogflag");
- btn_print.visible = false;
- fSetNewFormRec();
-
- if (formprogflag == "OCR")
- {
- btn_print.visible = true;
- }
- else if (isProgForm())
- {
- //var rtn = gPrestIvw.window.javascript.fClearComnFormData();
- var rtn = ivw_base.window.javascript.fClearComnFormData();
- if(rtn == "oprfalse") //수술기록지 버튼 disable
- {
- fDisalbeSave(true);
- return;
- }
- /**
- * @desc : 공통서식내의 확장버튼(이미지,가계도,추가기록)을 기록여부에 따라 표시한다.
- * @history : 2009.09.09 신규 안치원 ACW_090909A
- */
- try {
- //alert("fInitClearForm");
- setButtonToggleAllByRecYn(ivw_base, ivw_base.window.javascript.gExtnBtnIds);
- }
- catch (e) {
- }
- }
- else
- {
- ivw_base.window.javascript.clearData();
- }
- }
- /**
- * @desc : 서식로드시 LoadingBar표시, 닫기
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fShowProgress(flag, msg) {
- if (gPrestIvw != null) {
- gPrestIvw.visible = !flag;
- }
- if (flag) {
- openLoadingBar(msg);
- } else {
- closeLoadingBar();
- }
- }
- /**
- * @desc : 팝업서식 오픈
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fOpenModalForm(status)
- {
- fShowProgress(false);
- setParameter("frtime", GetFrLoadTime());
- setParameter("openmode", "openform");
- setParameter("status", status);
- setParameter("pid", fGetPamInfo("pid"));
- if (fGetPamInfo("ioflag") == "O")
- {
- setParameter("orddd", fGetPamInfo("orddd"));
- setParameter("orddrid", fGetPamInfo("orddrid"));
- }
- else
- {
- setParameter("orddd", fGetPamInfo("indd"));
- setParameter("orddrid", fGetPamInfo("medispclid"));
- }
- setParameter("cretno", fGetPamInfo("cretno"));
- if (fGetPamInfo("orddeptcd") == "2280000000")
- setParameter("ioflag", "E");
- else
- setParameter("ioflag", fGetPamInfo("ioflag"));
- setParameter("orddeptcd", fGetPamInfo("orddeptcd"));
- // setParameter("forminfo", fGetCSVByFormInfo());
- //
- // if (status == "C")
- // setParameter("recinfo", "");
- // else
- // setParameter("recinfo", fGetCSVByRecInfo());
- setParameter("openmadalformsave", "");
- modalUrl("../../../emr/medirecweb/xrw/SSMMR01100_서식로더.xrw", 1, 0, 0, "", "", "");
- if (getParameter("openmadalformsave") == "Y")
- {
- if (gMediRecMain)
- {
- opener.window.javascript.fRefMediRecList();
- }
- }
- }
- /**
- * @desc : 서식명칭 화면 표시
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fSetFormNm(formnm)
- {
- // fSetFormMast("formnm", formnm);
- cap_formnm.text = formnm;
- cap_formnm.refresh();
- }
- /**
- * @desc : 부분서식 갯수 카운트
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fGetUnitFormCnt()
- {
- var cnt = getNodesetCnt(model, gPageInfo.formdegnRef+"[degnitemkind='FRM' and itemuseflag='F0']");
- return cnt;
- }
- /**
- * @desc : 컨설트 서식 로드
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fLoadNewCnstForm(formcd)
- {
- setParameter("SMMMR04900_reqformcd", formcd);
- setParameter("SMMMR04900_newcnstform", "Y");
- fLoadNewXRW("SMMMR04900");
- }
- /**
- * @desc : 새서식 로드
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fLoadNewForm_old(formcd, calledflag)
- {
- try
- {
- if (formcd == "")
- {
- messageBox("서식코드가", "I004");
- return;
- }
- if (false && fGetPamInfo("pid") == "")
- {
- messageBox("환자정보가 존재하지 않아 진행", "E001");
- fDisalbeSave(true);
- return;
- }
- if (formcd == "0000000001" || formcd == "0000000003")
- {
- messageBox("사용 할 수 없는 서식", "E008");
- fDisalbeSave(true);
- return;
- }
- fDisalbeSave(false);
- fShowProgress(true, "서식정보");
- if (formcd.indexOf("MMR") > -1)
- {
- fLoadNewXRW(formcd);
- }
- else
- {
- var isModal = fRefFormInfoByFormCd(formcd, "Y");
- SetUserTimeLog("fLoadNewForm", "fRefFormInfoByFormCd END");
- cap_formnm.refresh();
- if (isModal && !isPopup())
- {
- SetToLoadTime(1);
- SetUserTimeLog("fLoadNewForm", "END");
- fOpenModalForm("C");
- }
- else
- {
- fInitForm();
- //SetUserTimeLog("fLoadNewForm", "fInitForm END");
- //if(fGetFormMast("formxrwyn") != "Y")
- {
- fInitClearForm();
- //SetUserTimeLog("fLoadNewForm", "fInitClearForm END");
- try {
- gPrestIvw.window.javascript.fExtnInitFormRec();
- }
- catch (e) {};
- fCheckWriteUser();
- //SetUserTimeLog("fLoadNewForm", "fInitFormRec END");
- //SetToLoadTime(1);
- }
- }
- }
- try {
- opener.window.javascript.fEndLoadNewForm_MMR01100();
- }
- catch (e) {};
- if (calledflag != null)
- {
- fSetFormRec("calledflag", calledflag);
- }
- fShowProgress(false);
- }
- catch (e)
- {
- fShowProgress(false);
- throw e;
- }
- // 외래 초진 막는 부분
- // if (fGetFormMast("srcformcd") == "0000000001")
- // {
- // if (!gIsFirstOpen) //초진기록지 처음 오픈시에만 messageBox
- // {
- // messageBox("기존의 초진기록지에 수기작성해 주십시오.", "E", "");
- // gIsFirstOpen = true;
- // }
- // fDisalbeSave(true);
- // }
- }
- /**
- * @desc : 사용자 권한 체크
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fCheckWriteUser()
- {
- var pageInfo = new PAGEINFO();
- var formprogflag = model.getValue(pageInfo.formmastRef + "/formprogflag");
- var formprognm = model.getValue(pageInfo.formmastRef + "/formprognm");
- //alert("formprogflag="+formprogflag);
- //if (fGetFormRec("formrecuserid") == getUserId())
- if (((fGetFormRec("formrecuserid") == getUserId()) || fGetFormMast("foctsnwyn") == "Y") && formprognm != "SMMMR04900_CONSULT") //예진기록여부 검사 추가
- //if (fGetFormRec("formrecuserid") == getUserId() && formprognm != "SMMMR04900_CONSULT") //예진기록여부 검사 추가
- {
- grup_btn.disabled = false;
- }
- else
- {
- if (formprognm == "SMMMR04900_CONSULT")
- {
- if (fGetFormRec("status") == "C")
- {
- grup_btn.disabled = false;
- }
- else
- {
- var reqedityn = ivw_base.model.getValue("/root/main/cnstinfo/reqedityn");
- var recvedityn = ivw_base.model.getValue("/root/main/cnstinfo/recvedityn");
- if (reqedityn == "Y" || recvedityn == "Y")
- {
- grup_btn.disabled = false;
- }
- else
- {
- grup_btn.disabled = true;
- }
- }
- }
- else
- {
- grup_btn.disabled = true;
- }
- }
- if (formprognm != "SMMMR04900_CONSULT")
- {
- addEmrLog("fCheckWriteUser : " + !grup_btn.disabled);
- //EditableCtrl(gPrestIvw.window.body , !grup_btn.disabled);
- }
- try {
- ivw_base.window.javascript.fCheckWriteUserSubForm();
- }
- catch (e) {};
- //alert(fGetFormRec("formcd"));
- //alert(fGetFormRec("formprogflag"));
- }
- /**
- * @desc : 저장버튼 막기
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fDisalbeSave(flag)
- {
- if (flag)
- {
- //grup_btn.disabled = true;
- btn_del.disabled = true;
- btn_signsave.disabled = true;
- btn_tmpsave.disabled = true;
- btn_signsaveasnew.disabled = true;
- btn_preview.disabled = true;
- btn_init.disabled = true;
- }
- else
- {
- grup_btn.disabled = false;
- btn_del.disabled = false;
- btn_signsave.disabled = false;
- btn_tmpsave.disabled = false;
- btn_signsaveasnew.disabled = false;
- btn_preview.disabled = false;
- btn_init.disabled = false;
- }
- }
- /**
- * @desc : 기록된 서식 로드
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fLoadRecForm_old(formrecseq, calledflag)
- {
- //try
- {
- SetFrLoadTime();
- SetUserTimeLog("fLoadRecForm", "START");
- if (formrecseq == "")
- {
- messageBox("기록코드가", "I004");
- return;
- }
- fShowProgress(true, "기록정보");
- //var isModal = fRefComnFormRecInfo(formrecseq);
- var isModal = fGetComnFormRecInfo(formrecseq);
- SetUserTimeLog("fLoadRecForm", "fRefComnFormRecInfo END");
- var recPath;
- if (isModal)
- recPath = "/root/main3/recinfo/formrec";
- else
- recPath = "/root/main/recinfo/formrec";
- if (model.getValue(recPath + "/formrecseq") == "")
- {
- fShowProgress(false);
- messageBox("조회된 기록내역이", "I004");
- return;
- }
- fDisalbeSave(false);
- if (gMediRecMain && fGetPamInfo("pid") != model.getValue(recPath + "/pid"))
- {
- messageBox("환자정보와 기록정보가 일치하지 않아 진행", "E001");
- fDisalbeSave(true);
- SetUserTimeLog("fLoadRecForm", "PamPID:" + fGetPamInfo("pid") +" / RecPID:"+ model.getValue(recPath + "/pid"));
- return;
- }
- if (calledflag != null)
- {
- fSetFormRec("calledflag", calledflag);
- }
- if (isModal)
- {
- fRefFormInfoByFormDegnSeq(model.getValue("/root/main3/recinfo/formrec/formdegnseq"),
- "Y",
- model.getValue("/root/main3/recinfo/formrec/sysformrecdt"));
- SetToLoadTime(1);
- SetUserTimeLog("fLoadRecForm", "fRefFormInfoByFormDegnSeq END");
- fOpenModalForm("U");
- }
- else
- {
- if (fGetFormRec("formrecseq") == "")
- {
- fShowProgress(false);
- messageBox("조회된 기록내역이", "I004");
- return;
- }
- if (gMediRecMain && fGetPamInfo("pid") != fGetFormRec("pid"))
- {
- messageBox("환자정보와 기록정보가 일치하지 않아 진행", "E001");
- fDisalbeSave(true);
- }
- fDisalbeSave(false);
- fRefFormInfoByFormDegnSeq(fGetFormRec("formdegnseq"), "Y", fGetFormRec("sysformrecdt"), fGetFormRec("formfromdt"));
- SetUserTimeLog("fLoadRecForm", "fRefFormInfoByFormDegnSeq END");
- cap_formnm.refresh();
- gOpenMode = "recform";
- fInitForm();
- SetUserTimeLog("fLoadRecForm", "fInitForm END");
- //formxrw가 저장되지 않은 경우는 순차적 setting, formxrw가 저장된 경우는 event based setting
- if(fGetFormMast("formxrwyn") != "Y")
- {
- fInitFormRec();
- SetUserTimeLog("fLoaderEndForm", "fInitFormRec END");
- SetToLoadTime(1);
- SetUserTimeLog("fLoadRecForm", "END");
- fCheckWriteUser();
- fShowProgress(false);
- }
- }
- }
- /*catch (e)
- {
- fShowProgress(false);
- }*/
- }
- /**
- * @desc : 기록을 위한 초기화
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fInitFormRec()
- {
- fSetFormRec("status", "U");
- fSetOldFormRecInfo();
- copyNodeset(gPageInfo.recItemRef2, gPageInfo.recItemRef, "replace", gPrestIvw.model, model);
- if (isProgForm())
- {
- gPrestIvw.window.javascript.fLoadData();
- }
- else
- {
- setSrchData(gPageInfo.recItemRef, gPrestIvw);
- }
- }
- /**
- * @desc : 창닫기
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fClose()
- {
- window.close();
- }
- /**
- * @desc : 확인버튼 클릭
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fConfirm_old()
- {
- gPrestIvw.window.javascript.getSaveData(gPageInfo.recItemRef2, "replace", model, NewPageInfo(gPrestIvw, gFstLevlItemCd));
- var path = gPageInfo.extnrecItemRef + "[fstlevlitemcd='" +gFstLevlItemCd+ "' and formcd='" + model.getValue(gPageInfo.formmastRef + "/formcd") + "']";
- if (opener.window.javascript.fGetRecNodeCount(path) != "0")
- {
- opener.window.javascript.fRemoveRecNodeset(path);
- }
- copyNodeset(gPageInfo.extnrecRef, gPageInfo.recRef2, "append" ,opener.model, model);
- window.close();
- }
- /**
- * @desc : 서식 부제목 가져오기
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fGetFormSubTitle()
- {
- var list = getGlobalVariable("emr_gsv_formsubtitlelist");
- if(list != "" && list != "-"){
- setCSVToNode("/root/init/formsubtitle",list,"formsubtitlelist");
- }else{
- //submit("TRMMR04401");
- ////////////////////
- //20101124, 주희경, 진료 속도 개선을 위해 로그인 시 조회해 놓은 데이터를 복사
- var rsltref = "/root/init/formsubtitle";
- model.removeNodeset(rsltref);
- model.makeNode(rsltref);
-
- var viewerObj = getViewer("sysMessage");
- var srcNode = viewerObj.window.instance1.selectNodes( gvOrderBasicInfoPath + "/formsubtitlelist" );
- var trgtNode = instance1.selectSingleNode(rsltref);
- for ( i=0; i<srcNode.length; i++)
- {
- trgtNode.appendChild(srcNode.item(i));
- }
- //////////////////
- fFormSubTitlesetglobal(); //Global 변수에 저장
- }
- model.refresh();
- }
- /**
- * @desc : 서식부제목 리스트 전역변수로 셋팅
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fFormSubTitlesetglobal()
- {
- var reqnode = model.instances(0).selectNodes("/root/init/formsubtitle/formsubtitlelist");
- var csv = getNodeListCSV(reqnode);
- if (csv == "") csv = "-";
- setGlobalVariable("emr_gsv_formsubtitlelist",csv);
- }
- /*******************************************************************************************************
- 튜닝 작업
- *******************************************************************************************************/
- /**
- * @group :
- * @ver : 2008.06.23
- * @by : snoweye
- * @modify : jonghun(2008.07.07 서식부제목조회 추가)
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 초기화 작업 수행
- * @param : formcd - load할 서식코드
- * @return : formmast, formdegn, vallist, unitformmast, extnformlist (unitformdegn, imgelist 제외)
- * @---------------------------------------------------
- */
- function fFormReady()
- {
- ivw_base.visible = true;
- ivw_fst.visible = false;
-
- var formcd = opener.javascript.getParameter("formcd");
- var sGetTopYn = opener.window.javascript.getParameter("SSMMR01100_getTopYn"); //SSMMR01100_getTopYn => top정보 조회여부 정보(N일경우 넘어온 파라미터기준, 아닐결루 TOP정보 기준)
- var node = getGlobalVariable("paminfo");
-
- if(node != "" && sGetTopYn != "N") {
- model.removeNodeset("/root/main/paminfo");
- setCSVToNode("/root/main", node, "paminfo");
- }
-
- if(window.type != 'main' && model.getValue("/root/loadcomplete") != "true") {
- parent.body.dispatch("SSMMR01100_onloadcomplete");
- model.makeValue("/root/loadcomplete", "true")
- }
- if (isPopup()) {
- fModalProcess();
- if (validPamInfo_MMR01100("open_popup") == false) { //2010.03.18 안치원 - 상단환자정보와 기록환자정보가 같은지 검사한다.
- return false;
- }
- } else {
- fLoadNewForm(formcd);
- if (grup_titl.attribute("visibility") != "hidden") {
- fGetFormSubTitle(); // 서식부제목리스트조회
- }
- }
- }
- /**
- * @group :
- * @ver : 2008.06.23
- * @by : snoweye
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 로드할 새로운 서식의 기본정보 조회
- * @param : formcd - load할 서식코드
- * @return : formmast, formdegn, vallist, unitformmast, extnformlist (unitformdegn, imgelist 제외)
- * @---------------------------------------------------
- */
- function fGetNewFormMast(formcd)
- {
- model.makeValue("/root/send/req/formcd", formcd); // newform: formcd, recform: "", extnform: ""
- model.makeValue("/root/send/req/formdegnseq", 0); // newform: 0, recform: formdegnseq, extnform: formdegnseq
- model.makeValue("/root/send/req/extnunitformlistyn", "Y"); // newform: extnunitformlistyn, recform: extnunitformlistyn, extnform: "N"
- model.makeValue("/root/send/req/cashedformdegnseq", gCashedFormDegnSeq); // newform: gCashedFormDegnSeq, recform: gCashedFormDegnSeq, extnform: gCashedFormDegnSeq
- model.makeValue("/root/send/req/sysformrecdt", ""); // newform: "", recform: sysformrecdt, extnform: fGetFormRec("sysformrecdt"))
- model.makeValue("/root/send/req/formfromdt", ""); // newform: x, recform: formfromdt, extnform: x
-
- submit("TRMRF02001", false);
-
- return true;
- }
- /**
- * @group :
- * @ver : 2008.06.23
- * @by : snoweye
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 로드할 기록 서식의 기본정보 조회
- * @param : formcd - load할 서식코드
- * @return : formmast, formdegn, vallist, unitformmast, extnformlist (unitformdegn, imgelist 제외)
- * @---------------------------------------------------
- */
- function fGetRecFormMast(formrecseq)
- {
- model.makeValue("/root/send/req/formrecseq", formrecseq); // newform: formcd, recform: "", extnform: ""
- model.makeValue("/root/send/req/formdegnseq", 0); // newform: 0, recform: formdegnseq, extnform: formdegnseq
- model.makeValue("/root/send/req/extnunitformlistyn", "Y"); // newform: extnunitformlistyn, recform: extnunitformlistyn, extnform: "N"
- model.makeValue("/root/send/req/cashedformdegnseq", gCashedFormDegnSeq); // newform: gCashedFormDegnSeq, recform: gCashedFormDegnSeq, extnform: gCashedFormDegnSeq
- model.makeValue("/root/send/req/sysformrecdt", ""); // newform: "", recform: sysformrecdt, extnform: fGetFormRec("sysformrecdt"))
- model.makeValue("/root/send/req/formfromdt", ""); // newform: x, recform: formfromdt, extnform: x
-
-
- submit("TRMRF02004");
- return true;
- }
- function fCheckForm(ref) {
- //로드불가 : 0, 공통서식(PGM) : 1, 공통서식(서식) : 2, 특수서식 : 3, CNST : 4, PROF : 5, OCR : 6
- var formprogflag = model.getValue(ref + "/formprogflag");
- var formprognm = model.getValue(ref + "/formprognm");
-
- if(formprogflag == "PROG" && formprognm == "") {
- return "";
- }
-
- if(isPopup() && formprogflag == "-") {
- return "MAIN";
- }
- return formprogflag;
- }
- function fGetFormPath()
- {
- var formdegnseq = model.getValue(gPageInfo.formmastRef + "/formdegnseq");
- return getActionURL("TRMRF01201") + getUserSessionString() + "&formcd=&formdegnseq=" + formdegnseq + "&ivwid=" + ivw_base.attribute("id")
- }
- /**
- * @group :
- * @ver : 2008.06.13
- * @by : snoweye
- * @---------------------------------------------------
- * @type : event
- * @access : public
- * @desc : 새로운 서식을 Load <-- fLoadNewForm_old
- * @param : formcd - 서식 코드
- * @param : bPopup - 특수서식로드 유형 (true/false)
- * @return :
- * @---------------------------------------------------
- */
- function fLoadNewForm_20080818(formcd, bPopup)
- {
- if (formcd == "")
- return;
-
- if(bPopup == null)
- bPopup = true;
- //1. 서식정보 조회
- if(!fGetNewFormMast(formcd))
- {
- alert("서식정보를 조회하는데 실패하였습니다.");
- return;
- }
- //서식 오픈전 환자정보 셋팅
- //copyNodeset("/root/main/paminfo", "/root/main/paminfo", "replace", model, opener.model);
-
- var sGetTopYn = opener.window.javascript.getParameter("SSMMR01100_getTopYn"); //SSMMR01100_getTopYn => top정보 조회여부 정보(N일경우 넘어온 파라미터기준, 아닐결루 TOP정보 기준)
- var node = getGlobalVariable("paminfo");
-
- if(node != "" && sGetTopYn != "N")
- {
- model.removeNodeset("/root/main/paminfo");
- setCSVToNode("/root/main", node, "paminfo");
- }
-
- //1-1. 기록정보 초기화
- fSetNewFormRec();
-
- //2. 서식 체크
- var formprogflag = fCheckForm(gPageInfo.formmastRef);
-
- //3. 서식 로드
- fLoadForm(gPageInfo.formmastRef, formprogflag, bPopup);
-
- }
- /**
- * @group :
- * @ver : 2008.06.13
- * @by : snoweye
- * @---------------------------------------------------
- * @type : event
- * @access : public
- * @desc : 새로운 서식을 Load <-- fLoadNewForm_old
- * @param : formcd - 서식 코드
- * @param : bPopup - 특수서식로드 유형 (true/false)
- * @param : calledflag - 기록후 넘겨줘야하는 값
- * @return :
- * @---------------------------------------------------
- */
- var gSrcFormcd = "";
- var gFormProgFlag = "";
- var gFormProgNm = "";//2010.03.29 dhkim 추가
- function fLoadNewForm(formcd, bPopup, calledflag, bValid)
- {
- //2010.03.09 안치원 - 신규팝업서식 오류 수정
- //진료기록메인에서 최초, 수정모드로 열린 기록이후에 팝업으로 열리는 신규서식이
- //본래의 서식이 열리지 않고, 바탕의 수정모드로 열린 기록이 팝업으로 열리는 문제 해결.
- clearParameter("openmode");
-
- //2010.06.17, 주희경, 신규 작성시에만 디폴트값 셋팅 하도록 세션 값 설정, 이은영 과장 요청
- setParameter("fLoadNewForm", "Y");
-
- //2009.10.13 안치원 TASK-32640, 32794
- //중복기록 검사
- if (bValid == null) {
- bValid = true;
- }
- if (bValid && validateRec(formcd) == false)
- return;
-
- model.addLog("fLoadNewForm start시간: " + getCurrentTime() + ", formcd:" + formcd);
- var rtn = "N";
- var rtnmsg = 0;
-
- //현재 로딩된 서식의 formcd를 가져온다.
- gSrcFormcd = fGetFormMast("formcd");
- gFormProgFlag = fGetFormMast("formprogflag");
- gFormProgNm = fGetFormMast("formprognm");//2010.03.29 dhkim 추가
-
- //alert(gSrcFormcd +"@"+ gFormProgFlag + "@"+ gFormProgNm);
-
- var gOldUnitNodelist = model.instances(0).selectNodes(gPageInfo.forminfoRef + "/unitformmast");
- gOldUnitFormDgnSeq = "";
-
- for (var i = 0; i < gOldUnitNodelist.length; i++)
- {
- var subNode = gOldUnitNodelist.item(i);
- gOldUnitFormDgnSeq += subNode.selectSingleNode("formdegnseq").text + "▦";
- }
-
- var openmode = opener.window.javascript.getParameter("openmode");
-
- if ( openmode != "extnunitform" && formcd == "")
- return;
-
- if (getParameter("loadstatus"))
- {
- if (getParameter("afterRecDelete") == "Y")
- {
- rtn = "N";
- clearParameter("afterRecDelete");
- }
- else
- {
- rtn = fCheckChangeDataForCosign();
- }
- }
- if(bPopup == null)
- bPopup = true;
-
- //1. 서식정보 조회
- if(!fGetNewFormMast(formcd))
- {
- alert("서식정보를 조회하는데 실패하였습니다.");
- return;
- }
-
- var recsavechk = opener.window.javascript.getParameter("SSMMR01100_recsavechk");
- opener.window.javascript.clearParameter("SSMMR01100_recsavechk");
-
- if (rtn != "N" && model.getValue(gPageInfo.initformmastRef + "/mainyn") == "Y" && recsavechk != "Y") //수정데이터가 있는 경우
- {
- var srcformcd = model.getValue(gPageInfo.initformmastRef + "/srcformcd");
-
- if (srcformcd =! '0800003416')
- {
- var rtnmsg = messageBox("기록내용 중 저장되지 않은 내용이 있습니다.", "Q002");
- }
-
- //alert("rtnmsg:"+rtnmsg);
- if (rtnmsg == 6)
- {
- var clkSvRtn = fClickSave("Y") ;
- //alert(clkSvRtn);
- if (clkSvRtn == false)
- {
- return;
- }
- }
- }
-
- fShowProgress(true, "서식정보");
-
- //서식 오픈전 환자정보 셋팅
- //copyNodeset("/root/main/paminfo", "/root/main/paminfo", "replace", model, opener.model);
-
- var sGetTopYn = opener.window.javascript.getParameter("SSMMR01100_getTopYn"); //SSMMR01100_getTopYn => top정보 조회여부 정보(N일경우 넘어온 파라미터기준, 아닐결루 TOP정보 기준)
- var node = getGlobalVariable("paminfo");
-
- if(node != "" && sGetTopYn != "N")
- {
- model.removeNodeset("/root/main/paminfo");
- setCSVToNode("/root/main", node, "paminfo");
- }
-
- if (openmode == "newform")
- {
- if (!fSetPamInfo(opener.window.javascript.getParameter("pid"),
- opener.window.javascript.getParameter("orddd"),
- opener.window.javascript.getParameter("cretno"),
- opener.window.javascript.getParameter("ioflag"),
- opener.window.javascript.getParameter("orddeptcd"),
- opener.window.javascript.getParameter("orddrid") ))
- {
- grup_btn.disabled = true;
- return;
- }
- }
-
- //동일 서식 로딩시 인스턴스만 바꿔주는 기능 관련 추가(2008-11-28 박종훈)
- var sSrchsrcformcd = model.getValue(gPageInfo.initformmastRef + "/formcd");
- var sSrchformprogflag = model.getValue(gPageInfo.initformmastRef + "/formprogflag");
-
- var sFormProgNm = model.getValue(gPageInfo.initformmastRef + "/formprognm");
- if ( openmode != "extnunitform" && formcd!= "" && gSrcFormcd == sSrchsrcformcd && gFormProgFlag == sSrchformprogflag && sFormProgNm != "-"
- && gFormProgNm == sFormProgNm //2010.03.29 dhkim 추가(formprognm이 다를 경우 서식 새로 로딩)
- )
- {
- //2. 서식 체크
- var formprogflag = fCheckForm(gPageInfo.initformmastRef);
-
- if (fCheckformKind(formprogflag, bPopup))
- {
- copyNodeset(gPageInfo.forminfoRef, gPageInfo.initforminfoRef, "replace", model, model);
- model.removeNodeset(gPageInfo.initforminfoRef);
- }
-
- //열려있는 기록지 부분서식의 formdegnseq가 일치하는지 여부를 검사하여 다를 경우 부분서식을 새로 로딩(2009-01-15 박종훈)
- var gNewUnitNodelist = model.instances(0).selectNodes(gPageInfo.forminfoRef + "/unitformmast");
- var arrOldUnitFormDgnSeq = gOldUnitFormDgnSeq.split("▦");
-
- for (var i = 0; i < gNewUnitNodelist.length; i++)
- {
- var subNode = gNewUnitNodelist.item(i);
- var newUnitFormDgnSeq = subNode.selectSingleNode("formdegnseq").text;
- var unitItemCd = subNode.selectSingleNode("orgsupdegnitemcd").text;
-
- var ivwObj = ivw_base.document.controls("ivw_" + unitItemCd);
-
- if(ivwObj.src == "")
- {
- //2010.03.09 안치원 - 기록내용에서 부분서식의 Copy가 안되는 오류 수정
- ivwObj.attribute("supdegnitemcd") = "";
- ivwObj.attribute("unitformcd") = "";
-
- var unitformcd = model.getValue(gPageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+unitItemCd+"']/formcd");
-
- if (unitformcd != "")
- {
- ivwObj.attribute("supdegnitemcd") = unitItemCd;
- ivwObj.attribute("unitformcd") = unitformcd;
-
- model.addLog(unitformcd + " Loading 시작 : " + getCurrentTime());
- loadUnitForm(ivwObj, unitItemCd);
- if (arrOldUnitFormDgnSeq[i] != newUnitFormDgnSeq)
- {
- setFstLevlItemCd(ivwObj, unitformcd);
- model.setValue(gPageInfo.forminfoRef + "/unitformmast[formcd='" + unitformcd + "' and loaded != 'true']/loaded", "true");
- }
- model.addLog(unitformcd + " Loading 끝 : " + getCurrentTime());
-
- //2008-12-18박종훈(기록데이터 가져오기-보완필요)
- //parent.window.javascript.InitUnitFormDataBySupdegnitemcd(unitItemCds);
- }
- }
- else if (arrOldUnitFormDgnSeq[i] != newUnitFormDgnSeq)
- {
- //2010.03.09 안치원 - 기록내용에서 부분서식의 Copy가 안되는 오류 수정
- ivwObj.attribute("supdegnitemcd") = "";
- ivwObj.attribute("unitformcd") = "";
-
- var unitformcd = model.getValue(gPageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+unitItemCd+"']/formcd");
-
- if (unitformcd != "")
- {
- ivwObj.attribute("supdegnitemcd") = unitItemCd;
- ivwObj.attribute("unitformcd") = unitformcd;
-
- loadUnitForm(ivwObj, unitItemCd);
- setFstLevlItemCd(ivwObj, unitformcd);
- model.setValue(gPageInfo.forminfoRef + "/unitformmast[formcd='" + unitformcd + "' and loaded != 'true']/loaded", "true");
-
- }
- }
- }
-
- fInitClearForm();
-
- if (isProgForm())
- {
- ivw_base.window.javascript.fGetDefData();
- }
- else
- {
- ivw_base.window.javascript.dispOnLoadComplete(UNIT_FORM);
- }
-
- fShowProgress(false);
- }
- else
- {
- //2. 서식 체크
- var formprogflag = fCheckForm(gPageInfo.initformmastRef);
-
- if (fCheckformKind(formprogflag, bPopup) && openmode != "extnunitform") //hkjoo, 2010.02.02
- {
- copyNodeset(gPageInfo.forminfoRef, gPageInfo.initforminfoRef, "replace", model, model);
- model.removeNodeset(gPageInfo.initforminfoRef);
- cap_formnm.refresh();
-
- //3. 기록정보 초기화
- fSetNewFormRec();
- }
-
- if ( openmode == "extnunitform" ) //hkjoo, 2010.02.02
- formprogflag = "EXTN";
-
- //4. 서식 로드
- fLoadForm(gPageInfo.formmastRef, formprogflag, bPopup, calledflag);
-
- fShowProgress(false);
- }
-
- /*
- //서식 로드 후 서식 수정여부 파악을 위한 데이터 셋팅(2008-12-02 박종훈)
- if (isProgForm())
- {
- ivw_base.window.javascript.getSaveComnFormData(null);
- }
- else
- {
- ivw_base.window.javascript.getSaveData(gPageInfo.sortItemRef, "replace", model, null, null);
- SortRecItem();
- }
-
- g_formrec_newimge_cosign = fGetCSV("formrec");
- */
- }
- /**
- * @group :
- * @ver : 2008.08.18
- * @by : jonghun
- * @---------------------------------------------------
- * @type : event
- * @access : public
- * @desc : 인스턴스 카피 여부 반환
- * @param : formprogflag - 서식 유형
- * @param : bPopup - 특수서식로드 유형 (true/false)
- * @return : (true/false)
- * @---------------------------------------------------
- */
- function fCheckformKind(formprogflag, bPopup)
- {
- switch(formprogflag)
- {
- case "" :
- return false;
- case "PROG" : //공통서식(PGM) 로드
- return true;
- case "MAIN" : //공통서식(서식) 로드.
- return true;
- case "PROF" : //제증명서식 로드
- case "-" : //특수서식 로드
- if(bPopup)
- return false;
- else
- {
- return true;
- }
- break;
- case "CNST" : //컨설트서식 로드
- break;
- case "OCR" : //OCR서식 로드
- break;
- }
- }
- /**
- * @group :
- * @ver : 2008.06.13
- * @by : snoweye
- * @modify : snoweye (2008.07.03)
- * @---------------------------------------------------
- * @type : event
- * @access : public
- * @desc : 기록된 서식을 Load <-- fLoadRecForm_old
- * @param : formrecseq - 서식 기록 순번
- * @param : bPopup - 특수서식로드 유형 (true/false)
- * @return :
- * @---------------------------------------------------
- */
- function fLoadRecForm_20080818(formrecseq, bPopup)
- {
- setParameter("openmode", "recform");
- setParameter("formrecseq", formrecseq);
-
- if (formrecseq == "")
- return;
-
- if(bPopup == null)
- bPopup = true;
-
- //1. 서식정보 조회
- if(!fGetRecFormMast(formrecseq))
- {
- alert("서식정보를 조회하는데 실패하였습니다.");
- return;
- }
-
- //1-1. 기록정보 조회
- if(!fGetRecFormInfo(formrecseq))
- {
- messageBox("조회된 기록내역이", "I004");
- //return;
- }
-
- //1-2. 기록상태 변경
- fSetFormRec("status", "U");
-
- //2. 서식 체크
- var formprogflag = fCheckForm(gPageInfo.formmastRef);
-
- //3. 서식 로드
- fLoadForm(gPageInfo.recMastRef, formprogflag, bPopup);
-
- setParameter("openmode", "");
- setParameter("formrecseq", "");
- }
- /**
- * @group :
- * @ver : 2008.06.13
- * @by : snoweye
- * @modify : snoweye (2008.07.03)
- * @---------------------------------------------------
- * @type : event
- * @access : public
- * @desc : 기록된 서식을 Load <-- fLoadRecForm_old
- * @param : formrecseq - 서식 기록 순번
- * @param : bPopup - 특수서식로드 유형 (true/false)
- * @param : calledflag - 기록후 넘겨줘야하는 값
- * @return :
- * @---------------------------------------------------
- */
- var gOldUnitFormDgnSeq = "";
- function fLoadRecForm(formrecseq, bPopup, calledflag)
- {
- setParameter("openmode", "recform");
- setParameter("formrecseq", formrecseq);
- setParameter("calledflag", calledflag); //20130523 정창혁 테스트
-
- gSrcFormcd = fGetFormMast("formcd");
- gFormProgFlag = fGetFormMast("formprogflag");
- gFormProgNm = fGetFormMast("formprognm");//2010.03.29 dhkim 추가
-
- var gOldUnitNodelist = model.instances(0).selectNodes(gPageInfo.forminfoRef + "/unitformmast");
- gOldUnitFormDgnSeq = "";
- for (var i = 0; i < gOldUnitNodelist.length; i++) {
- var subNode = gOldUnitNodelist.item(i);
- gOldUnitFormDgnSeq += subNode.selectSingleNode("formdegnseq").text + "▦";
- }
-
- if (formrecseq == "") {
- return;
- }
-
- if(bPopup == null) {
- bPopup = true;
- }
-
- //1. 서식정보 조회
- if(!fGetRecFormMast(formrecseq)) {
- alert("서식정보를 조회하는데 실패하였습니다.");
- return;
- }
-
- //2. 서식 체크
- var formprogflag = fCheckForm(gPageInfo.initformmastRef);
- if(formprogflag != "-") { // 팝업으로 기록창 로딩 할때 화면 포커스가 팝업 된 창으로 가도록 프로그래스바 표시 안함. 2014.08.18 엄영만
- fShowProgress(true, "기록정보");
- }
-
- if (fCheckformKind(formprogflag, bPopup)) {
- //1-1. 기록정보 조회
- if(!fGetRecFormInfo(formrecseq)) {
- messageBox("조회된 기록내역이", "I004");
- }
- //1-2. 기록상태 변경
- fSetFormRec("status", "U");
-
- if (isProgForm() && ivw_base.src != "") {
- var rtn = ivw_base.window.javascript.fClearComnFormData();
- if(rtn == "oprfalse") { //수술기록지 버튼 disable
- fDisalbeSave(true);
- }
- } else if (!isProgForm()) {
- ivw_base.window.javascript.clearData();
- }
- copyNodeset(gPageInfo.forminfoRef, gPageInfo.initforminfoRef, "replace", model, model);
- cap_formnm.refresh();
- }
-
- //동일 서식 로딩시 인스턴스만 바꿔주는 기능 관련 추가(2008-11-28 박종훈)
- var sSrchsrcformcd = model.getValue(gPageInfo.initformmastRef + "/formcd");
- var sSrchformprogflag = model.getValue(gPageInfo.initformmastRef + "/formprogflag");
- var sFormProgNm = model.getValue(gPageInfo.initformmastRef + "/formprognm");
- if (gSrcFormcd == sSrchsrcformcd && gFormProgFlag == sSrchformprogflag && sFormProgNm != "-" && gFormProgNm == sFormProgNm) { //2010.03.29 dhkim 추가(formprognm이 다를 경우 서식 새로 로딩)
- if (getParameter("loadstatus") == "LOAD_COMPLETE") { //열려있는 기록지 부분서식의 formdegnseq가 일치하는지 여부를 검사하여 다를 경우 부분서식을 새로 로딩(2009-01-15 박종훈)
- var gNewUnitNodelist = model.instances(0).selectNodes(gPageInfo.forminfoRef + "/unitformmast");
- var arrOldUnitFormDgnSeq = gOldUnitFormDgnSeq.split("▦");
-
- for (var i = 0; i < gNewUnitNodelist.length; i++) {
- var subNode = gNewUnitNodelist.item(i);
- var newUnitFormDgnSeq = subNode.selectSingleNode("formdegnseq").text;
- var newUnitItemCd = subNode.selectSingleNode("orgsupdegnitemcd").text;
-
- if (arrOldUnitFormDgnSeq[i] != newUnitFormDgnSeq) {
- var ivwObj = ivw_base.document.controls("ivw_" + newUnitItemCd);
- if(ivwObj != null) {
- //2010.03.09 안치원 - 기록내용에서 부분서식의 Copy가 안되는 오류 수정
- ivwObj.attribute("supdegnitemcd") = "";
- ivwObj.attribute("unitformcd") = "";
-
- var newunitformcd = model.getValue(gPageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+newUnitItemCd+"']/formcd");
- if (newunitformcd != "") {
- ivwObj.attribute("supdegnitemcd") = newUnitItemCd;
- ivwObj.attribute("unitformcd") = newunitformcd;
-
- loadUnitForm(ivwObj, newUnitItemCd);
- setFstLevlItemCd(ivwObj, newunitformcd);
- model.setValue(gPageInfo.forminfoRef + "/unitformmast[formcd='" + newunitformcd + "' and loaded != 'true']/loaded", "true");
- }
- }
- }
- }
- } else {
- var nodelist = model.instances(0).selectNodes(gPageInfo.forminfoRef + "/unitformmast");
- var arrOldUnitFormDgnSeq = gOldUnitFormDgnSeq.split("▦");
-
- for (var i = 0; i < nodelist.length; i++)
- {
- var subNode = nodelist.item(i);
- var newUnitFormDgnSeq = subNode.selectSingleNode("formdegnseq").text;
- var unitItemCd = subNode.selectSingleNode("orgsupdegnitemcd").text;
-
- var ivwObj = ivw_base.document.controls("ivw_" + unitItemCd);
-
- //2010.01.06 안치원 - jci환자교육 미구현으로 한시적으로 막음.
- if (ivwObj == null && unitItemCd == "0006747001") {
- continue;
- }
-
- if(ivwObj.src == "") {
- //2010.03.09 안치원 - 기록내용에서 부분서식의 Copy가 안되는 오류 수정
- ivwObj.attribute("supdegnitemcd") = "";
- ivwObj.attribute("unitformcd") = "";
-
- var unitformcd = model.getValue(gPageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+unitItemCd+"']/formcd");
-
- if (unitformcd != "")
- {
- ivwObj.attribute("supdegnitemcd") = unitItemCd;
- ivwObj.attribute("unitformcd") = unitformcd;
-
- model.addLog(unitformcd + " Loading 시작 : " + getCurrentTime());
- loadUnitForm(ivwObj, unitItemCd);
- if (arrOldUnitFormDgnSeq[i] != newUnitFormDgnSeq)
- {
- setFstLevlItemCd(ivwObj, unitformcd);
- model.setValue(gPageInfo.forminfoRef + "/unitformmast[formcd='" + unitformcd + "' and loaded != 'true']/loaded", "true");
- }
- model.addLog(unitformcd + " Loading 끝 : " + getCurrentTime());
-
- //2008-12-18박종훈(기록데이터 가져오기-보완필요)
- //parent.window.javascript.InitUnitFormDataBySupdegnitemcd(unitItemCds);
- }
- } else if (arrOldUnitFormDgnSeq[i] != newUnitFormDgnSeq) {
- //2010.03.09 안치원 - 기록내용에서 부분서식의 Copy가 안되는 오류 수정
- ivwObj.attribute("supdegnitemcd") = "";
- ivwObj.attribute("unitformcd") = "";
-
- var unitformcd = model.getValue(gPageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+unitItemCd+"']/formcd");
- if (unitformcd != "") {
- ivwObj.attribute("supdegnitemcd") = unitItemCd;
- ivwObj.attribute("unitformcd") = unitformcd;
-
- loadUnitForm(ivwObj, unitItemCd);
- setFstLevlItemCd(ivwObj, unitformcd);
- model.setValue(gPageInfo.forminfoRef + "/unitformmast[formcd='" + unitformcd + "' and loaded != 'true']/loaded", "true");
-
- }
- }
- }
- }
-
- if (isProgForm()) {
- ivw_base.window.javascript.fGetDefData();
- } else {
- ivw_base.window.javascript.dispOnLoadComplete(UNIT_FORM);
- }
- } else { //3. 서식 로드
- fLoadForm(gPageInfo.recMastRef, formprogflag, bPopup, calledflag);
- }
-
- if(formprogflag != "-") { // 팝업으로 기록창 로딩 할때 화면 포커스가 팝업 된 창으로 가도록 프로그래스바 표시 안함. 2014.08.18 엄영만
- fShowProgress(false);
- }
-
- /**
- * @desc : 공통서식내의 확장버튼(이미지,가계도,추가기록)을 기록여부에 따라 표시한다.
- * @history : 2009.09.09 신규 안치원 ACW_090909A
- */
- if (isProgForm()) {
- try {
- setButtonToggleAllByRecYn(ivw_base, ivw_base.window.javascript.gExtnBtnIds);
- }
- catch (e) {
- }
- }
-
- //setParameter("openmode", "");
- //setParameter("formrecseq", "");
- }
- function fLoadRecForm_20090102(formrecseq, bPopup, calledflag)
- {
- setParameter("openmode", "recform");
- setParameter("formrecseq", formrecseq);
- if (formrecseq == "")
- return;
-
- if(bPopup == null)
- bPopup = true;
-
- fShowProgress(true, "기록정보");
-
- //1. 서식정보 조회
- if(!fGetRecFormMast(formrecseq))
- {
- alert("서식정보를 조회하는데 실패하였습니다.");
- return;
- }
-
- // //1-1. 기록정보 조회
- // if(!fGetRecFormInfo(formrecseq))
- // {
- // messageBox("조회된 기록내역이", "I004");
- // //return;
- // }
- //
- // //1-2. 기록상태 변경
- // fSetFormRec("status", "U");
-
- //2. 서식 체크
- var formprogflag = fCheckForm(gPageInfo.initformmastRef);
- if (fCheckformKind(formprogflag, bPopup))
- {
- //1-1. 기록정보 조회
- if(!fGetRecFormInfo(formrecseq))
- {
- messageBox("조회된 기록내역이", "I004");
- //return;
- }
-
- //1-2. 기록상태 변경
- fSetFormRec("status", "U");
-
- copyNodeset(gPageInfo.forminfoRef, gPageInfo.initforminfoRef, "replace", model, model);
- //model.removeNodeset(gPageInfo.initforminfoRef);
- cap_formnm.refresh();
- }
-
- //3. 서식 로드
- fLoadForm(gPageInfo.recMastRef, formprogflag, bPopup, calledflag);
-
- setParameter("openmode", "");
- setParameter("formrecseq", "");
-
- fShowProgress(false);
-
- //fCheckWriteUser();
- }
- /**
- * @group :
- * @ver : 2008.06.13
- * @by : snoweye
- * @---------------------------------------------------
- * @type : event
- * @access : private
- * @desc : 서식 Load
- * @param : forminfoRef - 서식마스터정보가 있는 인스턴스의 reference
- * @param : formprogflag - 로드할 서식의 종류
- * @return :
- * @---------------------------------------------------
- */
- function fLoadForm(forminfoRef, formprogflag, bPopup, calledflag)
- {
- //2009.10.26 안치원 TASK-3088
- //진료기록메인에서 팝업으로 뜨는 서식에 대해서 기록일자에 대한 검사를 한다.
- clearParameter("MMR01100_chkRecDdYn");
-
- switch(formprogflag)
- {
- case "" :
- messageBox("사용 할 수 없는 서식", "E008");
- fDisalbeSave(true);
- return;
-
- case "PROG" : //공통서식(PGM) 로드
- ivw_base.src = model.getValue(forminfoRef + "/formprognm") + ".xrw";
- if (calledflag != null)
- {
- fSetFormRec("calledflag", calledflag);
- }
-
- break;
-
- case "MAIN" : //공통서식(서식) 로드.
- //이윤주 추가 Post Op Note 를 수술탭에서만 작성토록(20110525)
- fDisalbeSave(false);
- var srcformcd = model.getValue(forminfoRef + "/srcformcd");
- var formdegnseq = model.getValue(forminfoRef + "/formdegnseq");
- //ivw_base.src = fGetFormPath(formdegnseq, ivw_base.attribute("id"));
- ivw_base.src = getFormUrl(formdegnseq, ivw_base.attribute("id"));
-
-
-
- if (calledflag != null)
- {
- fSetFormRec("calledflag", calledflag);
- }
- if (srcformcd == '0800003416')
- {
- var operation = getGlobalVariable("operation").split("▩")[1];
- if(operation == null || operation == "")
- {
- alert("수술탭에서 작성하세요");
- fDisalbeSave(true);
- return;
- }
- }
-
- break;
-
- case "PROF" : //제증명서식 로드
- case "-" : //특수서식 로드
- if(bPopup)
- {
- fPopupForm(calledflag);
- }
- else
- {
- var formdegnseq = model.getValue(forminfoRef + "/formdegnseq");
- ivw_base.src = getFormUrl(formdegnseq, ivw_base.attribute("id"));
- if (calledflag != null)
- {
- fSetFormRec("calledflag", calledflag);
- }
- }
- break;
-
- case "CNST" : //컨설트서식 로드
- break;
- case "OCR" : //OCR서식 로드
- break;
- case "EXTN" :
- ivw_base.src = "../../../emr/formmngtweb/xrw/SSMRF01200.xrw";
- ivw_base.window.javaScript.fInitForm_MRF1200();
- break;
- }
- }
- /**
- * @group :
- * @ver : 2008.06.13
- * @by : snoweye
- * @---------------------------------------------------
- * @type : event
- * @access : private
- * @desc : 특수서식을 Popup
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fPopupForm_20080818()
- {
- //setParameter("formcd", model.getValue(gPageInfo.formmastRef + "/formcd"));
- setParameter("openmadalformsave", "");
- setParameter("formcd", model.getValue(gPageInfo.formmastRef + "/formcd"));
- modalUrl("../../../emr/medirecweb/xrw/SSMMR01100_서식로더.xrw", 1, 0, 0, "", "", "");
- if (gMediRecMain)
- {
- opener.window.javascript.fRefMediRecList();
- }
- }
- /**
- * @group :
- * @ver : 2008.06.13
- * @by : snoweye
- * @---------------------------------------------------
- * @type : event
- * @access : private
- * @desc : 특수서식을 Popup
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fPopupForm(calledflag) {
- setParameter("openmadalformsave", "");
- setParameter("formcd", model.getValue(gPageInfo.initformmastRef + "/formcd"));
-
- //2009.10.26 안치원 TASK-3088
- //진료기록메인에서 팝업으로 뜨는 서식에 대해서 기록일자에 대한 검사를 한다.
- if (opener.window.javascript.getScreenID() == "SMMMR00100") {
- setParameter("MMR01100_chkRecDdYn", "Y");
- }
-
- if(calledflag != null && calledflag != "") {
- setParameter("calledflag", calledflag);
- }
- var wndobj = getOpenWindow("SSMMR01100");
- if(wndobj != null) {
- wndobj.javascript.fFormReady();
- activateChild("SSMMR01100");
- } else {
- openUrl("../../../emr/medirecweb/xrw/SSMMR01100_서식로더.xrw", 1, 0, 0, "SSMMR01100", "", ""); //20130131 정창혁
- //activateChild("SSMMR01100");
- }
- }
- /**
- * @group :
- * @ver : 2008.06.13
- * @by : snoweye
- * @modify : 2008.07.30 (데이터 로딩 완료후 자식창에 데이터 로딩 완료 메시지 전달)
- * @---------------------------------------------------
- * @type : event
- * @access : private
- * @desc : 기록 데이터를 서식에 Set
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetRecData()
- {
- //fSetFormRec("status", "U");
- //fSetOldFormRecInfo();
- //loader에서 조회한 데이터를 서식으로 Copy
- copyNodeset(gPageInfo.recItemRef2, gPageInfo.recItemRef, "replace", ivw_base.model, model);
-
- if (isProgForm())
- {
- ivw_base.window.javascript.fLoadData();
- }
- else
- {
- setSrchData(gPageInfo.recItemRef, ivw_base);
- //중요!!!, 기록 로딩 후 bind의 readonly 기능이 정상 동작 하기 위해서는 반드시 이 위치에 recalculate가 있어야함.
- // 2010.04.16, 주희경
- ivw_base.window.model.recalculate();
- ivw_base.window.javascript.fFormReload();
- }
- ivw_base.body.dispatch("onloaddatacomplete");
- }
- /**
- * @group :
- * @ver : 2008.09.30
- * @by : jonghun
- * @modify :
- * @---------------------------------------------------
- * @type : event
- * @access : private
- * @desc : 누적기록 데이터를 서식에 Set
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetAcmlRecData()
- {
- //fSetFormRec("status", "U");
- //fSetOldFormRecInfo();
- //loader에서 조회한 데이터를 서식으로 Copy
- copyNodeset(gPageInfo.recItemRef2, gPageInfo.acmlrecItemRef, "replace", ivw_base.model, model);
- // if (isProgForm())
- // {
- // ivw_base.window.javascript.fLoadData();
- // }
- // else
- // {
- setSrchData(gPageInfo.acmlrecItemRef, ivw_base);
- // }
- // ivw_base.body.dispatch("onloaddatacomplete");
- }
- /**
- * @group :
- * @ver : 2008.06.13
- * @by : snoweye
- * @---------------------------------------------------
- * @type : event
- * @access : private
- * @desc : 자식화면의 load가 완료되었을때 발생
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fOnLoadComplete()
- {
-
- /*if(window.type != 'main')
- {
- //fSetLoadData();
- parent.body.dispatch("onloadcomplete");
- }*/
-
- gSubmitID = TX_SUBMIT_COMN_FORM;
- //서식Load후 후처리
- if(getParameter("loadstatus") == COMN_FORM)
- {
- fDisalbeSave(false);
-
- var formprognm = model.getValue(gPageInfo.formmastRef + "/formprognm");
- var formprogflag = model.getValue(gPageInfo.formmastRef + "/formprogflag");
-
- if(formprognm == "SMMMR04900_CONSULT" || formprognm == "SMMMR00600_수술기록" || formprognm == "SMMMR00900_DSC기록" || formprogflag == "PROF")
- {
- gSubmitID = TX_SUBMIT_EXTN_FORM; //확장서식 관련 서브밋 정의
- }
-
- if(fGetFormMast("srcformcd") == "0000000677")
- {
- btn_signsaveasnew.visible = false;
- }
- else
- {
- btn_signsaveasnew.visible = true;
- }
-
- var replcnts = opener.window.javascript.getParameter("replcnts"); //약제팀
- var overwrite = opener.window.javascript.getParameter("overwrite"); //약제팀
- var reqcnts = opener.window.javascript.getParameter("reqcnts"); //약제팀
- var reqoverwrite = opener.window.javascript.getParameter("reqoverwrite"); //약제팀
- if (reqcnts != "" && reqoverwrite != "")
- {
- //ivw_base.window.javascript.fSetReplCnts(replcnts, eval(overwrite));
- ivw_base.window.javascript.setParameter("MMR04900_reqcnts", reqcnts);
- ivw_base.window.javascript.setParameter("MMR04900_reqoverwrite", reqoverwrite);
- }
-
- if (replcnts != "" && overwrite != "")
- {
- //ivw_base.window.javascript.fSetReplCnts(replcnts, eval(overwrite));
- ivw_base.window.javascript.setParameter("MMR04900_replcnts", replcnts);
- ivw_base.window.javascript.setParameter("MMR04900_overwrite", overwrite);
- }
-
- //20140812 이윤주 수정
- var paramreqcnt = getParameter("SMMMR04900_reqcnt");
- if (paramreqcnt != "" )
- {
- ivw_base.window.javascript.setParameter("SMMMR04900_reqcnt", paramreqcnt);
- }
-
- //0. 부분서식 로드
- ivw_base.window.javascript.fLoadUnitForm();
-
- //2010.03.18 안치원 - 상단환자정보와 기록환자정보가 같은지 검사한다.
- if (validPamInfo_MMR01100("open_base") == false) {
- return false;
- }
-
- }
-
-
- if(getParameter("loadstatus") == UNIT_FORM)
- {
- if(fGetFormRec("status") == "U")
- {
- //1. 기록 Data Set
-
-
- fSetRecData();
-
- if (fGetFormRec("espiyn") == "Y" && gViewPrt)
- {
- btn_print.attribute("visibility") = "visible";
- }
- else
- {
- btn_print.attribute("visibility") = "hidden";
- }
-
-
-
- fSetFormRec("formrecdeptnm" , getUserInfo("dutplcenm"));
- fSetFormRec("formrecusernm" , getUserInfo("usernm"));
-
- //코사인, 기록반려버튼 처리(2008-11-27 박종훈)
- if(fGetFormMast("srcformcd") != "0000000676" && fGetFormMast("srcformcd") != "0000000680")
- {
- //인증저장버튼과 코사인버튼처리
- btn_signsave.visible = true;
- btn_cosign.visible = false;
- //임시저장버튼과 기록반려버튼처리
- btn_tmpsave.visible = true;
- btn_resend.visible = false;
- btn_signsaveasnew.disabled = false;
- //2010-03-26 오전 9:27:48 강지훈 수정 : [요청번호 10010] 입원수진에 외래[formchosflag = 'O'] 기록 작성을 막는다.
- if(!validFormchos_MMR01100(false)){
- btn_signsaveasnew.disabled = true;
- }
- }
- else
- {
- btn_signsaveasnew.disabled = true;
- // ivw_base.window.javascript.getSaveComnFormData(null);
- //
- // g_formrec_newimge_cosign = fGetCSV("formrec");
- // g_recitem_newimge_cosign = fGetCSV(gPageInfo.recItemRef2);
- }
- }
- else
- {
- //기본 자료 당겨오기(20121025 이윤주)
- if (getScreenID(ivw_base.src) == "") {
- ivw_base.window.javascript.fSetInitData();
- }
- //프로그램 서식내의 부분서식인경우(20130725 이윤주)
- else {
- var ItemCds = new Array(
- "0008224001"//S&O
- , "0001129001"//A
- , "0001019001"//추정진단
-
- );
- var loopcnt = ItemCds.length;
-
- for (var i=0; i< loopcnt; i++) {
- var ivw1 = ivw_base.document.all("ivw_"+ItemCds[i]);
- if (ivw1 != null) {
- if (ivw1.src !="") {
- ivw1.window.javascript.fSetInitData();
- }
- }
- }
- }
-
- //인증저장버튼과 코사인버튼처리
- btn_signsave.visible = true;
- btn_cosign.visible = false;
- //임시저장버튼과 기록반려버튼처리
- btn_tmpsave.visible = true;
- btn_resend.visible = false;
-
- model.makeValue("/root/acmlsend/pid", fGetFormRec("pid"));
- model.makeValue("/root/acmlsend/formcd", fGetFormRec("formcd"));
- if(submit("TRMMR01102", false))
- {
- var accRecList = instance1.selectNodes("/root/acmltmp/recinfo/recitem");
-
- if (accRecList.length > 0)
- {
- fSetAcmlRecData();
- }
- }
-
- btn_signsaveasnew.disabled = true;
-
- var sFormchosflag = model.getValue(gPageInfo.formmastRef + "/formchosflag");
- var sPatchosflag = model.getValue(gPageInfo.recMastRef + "/chosflag");
-
- if (sPatchosflag == "I" && sFormchosflag == "O" && getUserInfo("jobkindcd").substring(0, 2) == "03")
- {
- btn_signsave.disabled = true;
- }
- else
- {
- btn_signsave.disabled = false;
- }
-
- //2010.03.08 안치원 - 디자인서식의 추가로직 구현
- //MMRDegnForm.js 로 로직 이동
- // if(fGetFormMast("srcformcd") == "0000000737") //술전평가서
- }
-
- //2010-02-21 오후 7:17:23 강지훈 추가 - 최종진단명 요약지 버튼설정
- if(fGetFormMast("srcformcd") == "0000000680"){
-
- mmbfGetHardCodeInfo("/root/send/formhrdcd", "/root/profdgn/formhardcd", 9926);
- if(model.getValue("/root/profdgn/formhardcd/hardcd/hardcd") == "Y"){
- ivw_base.btn_lastdiag_0001013001.visible = true;
- }
- else{
- ivw_base.btn_lastdiag_0001013001.visible = false;
- }
- }
-
- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- //수술관련기록의 경우 기록일시 수정 불가(2009-01-12 박종훈 추가)
- if (fGetFormMast("srcformcd") == "0000000676" || fGetFormMast("srcformcd") == "0000003325" || fGetFormMast("srcformcd") == "0000003169" )
- {
- ipt_formrecdd.disabled = true;
- ipt_formrectm.disabled = true;
-
- // if(fGetFormRec("status") == "U")
- // {
- // try {
- // ivw_base.window.grup_base.disabled = false;
- // }
- // catch (e) {};
- // }
- }
- else
- {
- ipt_formrecdd.disabled = false;
- ipt_formrectm.disabled = false;
- }
- //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- //2. 이미지 Display
- //3. 권한체크(읽기/쓰기)
-
- setParameter("loadstatus", LOAD_COMPLETE);
-
- //부모창에 onloadcomplete dispatch
- dispOnLoadComplete(LOAD_COMPLETE, model.getValue(gPageInfo.formmastRef + "/formcd"));
-
- var formprognm = model.getValue(gPageInfo.formmastRef + "/formprognm");
- var formprogflag = model.getValue(gPageInfo.formmastRef + "/formprogflag");
-
- if(formprognm == "SMMMR04900_CONSULT" || formprognm == "SMMMR00600_수술기록" || formprognm == "SMMMR00900_DSC기록" || formprogflag == "PROF")
- {
- gSubmitID = TX_SUBMIT_EXTN_FORM; //확장서식 관련 서브밋 정의
- }
- //서식 로드 후 서식 수정여부 파악을 위한 데이터 셋팅(2008-12-02 박종훈)
- if (isProgForm())
- {
- ivw_base.window.javascript.getSaveComnFormData(null, "1");
- }
- else
- {
- ivw_base.window.javascript.getSaveData(gPageInfo.sortItemRef, "replace", model, null, null);
- SortRecItem();
- }
-
- g_formrec_newimge_cosign = fGetCSV("formrec");
- g_recitem_newimge_cosign = fGetCSV(gPageInfo.recItemRef2);
- model.removeNodeset(gPageInfo.recItemRef2);
-
- model.addLog("fLoadNewForm End시간: " + getCurrentTime() );
-
- var btndisableyn = opener.window.javascript.getParameter("btndisableyn");
-
- if (btndisableyn == "Y")
- {
- grup_btn.disabled = true;
- opener.window.javascript.clearParameter("btndisableyn");
- }
-
- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- //병원별 제증명 진단명 프리텍스트 기능(2009-05-20추가)
-
- if(fGetFormMast("formprogflag") == "PROF")
- {
- //model.makeValue("/root/send/req/formcd")
- mmbfGetHardCodeInfo("/root/send/formhrdcd", "/root/profdgn/formhardcd", 1008);
-
- var dgnfree = model.getValue("/root/profdgn/formhardcd/hardcd/hardcd");
-
- ivw_base.window.javascript.fSetGridFreetext(dgnfree);
-
- //2009-06-20 오전 10:58:20 강지훈 추가 : 기관별로 진단찾기 팝업여부를 설정한다.
- mmbfGetHardCodeInfo("/root/send/formhrdcd", "/root/profdgn/formhardcd", 9903);
- var diagfree = model.getValue("/root/profdgn/formhardcd/hardcd/hardcd");
- if(diagfree == "Y"){
- ivw_base.window.javascript.fSetGridAddRow(diagfree);
- }
-
- }
- //2009.12.18 안치원 - 서식Loading완료후에 child의 추가작업을 수행한다.
- if (isProgForm()) {
- try {
- ivw_base.window.javascript.initFormAtLast_MMR01100I();
- } catch (e) {
- }
- }
- else {
- //2010.03.08 안치원 - 디자인서식의 추가로직 구현
- //-Post OP Note 연동(from Brief OP Note)
- initFormAtLast_MMRDegnForm();
- }
- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- }
- clearParameter("SSMMR01100_formrecdd");
- clearParameter("espisavesuccess");
-
- /**
- * @desc : 공통서식내의 확장버튼(이미지,가계도,추가기록)을 기록여부에 따라 표시한다.
- * @history : 2009.09.09 신규 안치원 ACW_090909A
- */
- if (isProgForm()) {
- try {
- setButtonToggleAllByRecYn(ivw_base, ivw_base.window.javascript.gExtnBtnIds);
- }
- catch (e) {
- }
- }
-
- if (gformrecdddisable) {
- ipt_formrecdd.disabled = true;
- }
- }
- /**
- * @group :
- * @ver : 2008.06.13
- * @by : snoweye
- * @---------------------------------------------------
- * @type : event
- * @access : public
- * @desc : 서식 아이템에 값세팅 <-- fSetRecItemCnts_MMR01100_old
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetRecItemCnts_MMR01100(degnitemno, cnts)
- {
- if (fGetFormMast("formprogflag") == "-")
- {
- var path = gPageInfo.recItemRef + "[degnitemno='"+degnitemno+"' and (degnitemkind='MTX' or degnitemkind='STX')]";
- var cnt = getNodesetCnt(ivw_base.model, path);
- if (cnt == 1)
- {
- ivw_base.model.setValue(gPageInfo.recItemRef + "[degnitemno='"+degnitemno+"']/reccnts", cnts);
- ivw_base.model.refresh();
- }
- }
- }
- /**
- * @group :
- * @ver : 2008.06.13
- * @by : snoweye
- * @---------------------------------------------------
- * @type : event
- * @access : public
- * @desc : 서식 아이템의 값 반환 <-- fGetRecItemCnts_MMR01100_old
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fGetRecItemCnts_MMR01100(degnitemno)
- {
- if (fGetFormMast("formprogflag") == "-")
- {
- return getItemDataByDegnItemNo(degnitemno, ivw_base.model);
- }
- return null;
- }
- /**
- * @group :
- * @ver : 2008.06.13
- * @by : jonghun
- * @---------------------------------------------------
- * @type : event
- * @access : public
- * @desc : 팝업으로 호출되었을때 처리
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fModalProcess()
- {
- var formcd = opener.window.javascript.getParameter("formcd");
- var openmode = opener.window.javascript.getParameter("openmode");
- var calledflag = opener.window.javascript.getParameter("calledflag");
- var formrecdd = opener.window.javascript.getParameter("SSMMR01100_formrecdd");
- var oprsrvno = opener.window.javascript.getParameter("oprsrvno"); // 수술예약번호(수술전 평가서)
-
- //2010.02.25 안치원 - 입퇴원요약기록 - 퇴원처방 입력방법 변경(팝업)
- // doDschOrdCntsOfDCSN_MMRCom("GET_PARAM");
- var formrechm = "0000";
- var recddyn = false;
-
- fGetFormSubTitle(); // 서식부제목리스트
-
- if (formrecdd != "")
- {
- recddyn = true;
- }
-
- if (openmode == "recform")
- {
- var formrecseq = opener.window.javascript.getParameter("formrecseq");
- fLoadRecForm(formrecseq);
-
- if (calledflag != null && calledflag != "")
- {
- fSetFormRec("calledflag", calledflag);
- opener.window.javascript.clearParameter("calledflag");
- }
- }
- else if (openmode == "reccnstform") // 기록된 컨설트 서식 열기
- {
- btn_del.visible = false;
- var formrecseq = opener.window.javascript.getParameter("formrecseq");
- var userdeptcd = opener.window.javascript.getParameter("userdeptcd");
- var replcnts = opener.window.javascript.getParameter("replcnts"); //약제팀
- var overwrite = opener.window.javascript.getParameter("overwrite"); //약제팀
- if (userdeptcd == "")
- {
- messageBox("컨설트 수신부서 코드가", "I004");
- return;
- }
- setParameter("userdeptcd", userdeptcd);
- fLoadRecForm(formrecseq);
- if (replcnts != "" && overwrite != "")
- {
- //ivw_base.window.javascript.fSetReplCnts(replcnts, eval(overwrite));
- ivw_base.window.javascript.setParameter("MMR04900_replcnts", replcnts);
- ivw_base.window.javascript.setParameter("MMR04900_overwrite", overwrite);
- }
- fCheckWriteUser();
- }
- else if (openmode == "newcnstform") // 컨설트 새서식 열기
- {
- btn_del.visible = false;
-
- var node = getGlobalVariable("paminfo");
-
- if(node == "" || node == null)
- {
- fSetPamInfo(opener.window.javascript.getParameter("pid"),
- opener.window.javascript.getParameter("orddd"),
- opener.window.javascript.getParameter("cretno"),
- opener.window.javascript.getParameter("ioflag"),
- opener.window.javascript.getParameter("orddeptcd"),
- opener.window.javascript.getParameter("orddrid") );
- }
- setParameter("SMMMR04900_cnstflag", opener.window.javascript.getParameter("SMMMR04900_cnstflag"));
- setParameter("SMMMR04900_replflag", opener.window.javascript.getParameter("SMMMR04900_replflag"));
- setParameter("SMMMR04900_cnstdeptcd", opener.window.javascript.getParameter("SMMMR04900_cnstdeptcd"));
- setParameter("SMMMR04900_cnstdeptnm", opener.window.javascript.getParameter("SMMMR04900_cnstdeptnm"));
- setParameter("SMMMR04900_drid", opener.window.javascript.getParameter("SMMMR04900_drid"));
- setParameter("SMMMR04900_drnm", opener.window.javascript.getParameter("SMMMR04900_drnm"));
- setParameter("SMMMR04900_reqdpcd", opener.window.javascript.getParameter("SMMMR04900_reqdpcd"));
- setParameter("SMMMR04900_reqdpnm", opener.window.javascript.getParameter("SMMMR04900_reqdpnm"));
- setParameter("SMMMR04900_reqdrid", opener.window.javascript.getParameter("SMMMR04900_reqdrid"));
- setParameter("SMMMR04900_reqdrnm", opener.window.javascript.getParameter("SMMMR04900_reqdrnm"));
- setParameter("SMMMR04900_formnm", opener.window.javascript.getParameter("SMMMR04900_formnm"));
- setParameter("SMMMR04900_formcd", formcd);
- var formcd = opener.window.javascript.getParameter("formcd");
- fLoadNewForm(formcd);
-
- fCheckWriteUser();
- }
- else
- {
- fLoadNewForm(formcd);
- if (calledflag != null && calledflag != "")
- {
- fSetFormRec("calledflag", calledflag);
- opener.window.javascript.clearParameter("calledflag");
- }
-
- if(recddyn)
- {
- fSetFormRec("formrecdd" , formrecdd);
- fSetFormRec("formrechm" , formrechm);
- model.refresh();
- }
-
- //2010.04.05 박종훈 수정(수술예약번호가 파리미터로 넘어올 경우 기록마스터테이블에 넣어준다)
- //요청번호 : 13250, TaskNo : 49479, 우선순위 : SY
- if(oprsrvno != "")
- {
- fSetFormRec("oprsrvno", oprsrvno);
- }
- }
-
- if (fGetFormMast("formcd") != "")
- {
- var disppatinfo = opener.window.javascript.getParameter("disppatinfo");
-
- //2010.06.01 김달현 - disppatinfo가 없을경우 상단정보가져옴
- if(disppatinfo == null || disppatinfo == ""){
- var pid = fGetPamInfo("pid");
- var hngnm = fGetPamInfo("hngnm");
- var sexage = fGetPamInfo("sex") + "/" + fGetPamInfo("age");
- var orddeptnm = fGetPamInfo("orddeptnm");
- var roomcd = fGetPamInfo("roomcd");
-
- disppatinfo = pid + "▦" + hngnm + "▦" + sexage + "▦" + orddeptnm + "▦" + roomcd;
- }
-
- disppatinfo = disppatinfo.split("▦"); //[0]등록번호, [1]환자명, [2]성별/나이, [3]진료과, [4]병실
-
- window.document.title = fGetFormMast("formnminfo") + " 환자정보 : " + disppatinfo[0] + " " + disppatinfo[1] + "(" + disppatinfo[2] + ") 진료과 : " + disppatinfo[3] + ", 병실 : "+ disppatinfo[4];
- }
- var openmode = opener.window.javascript.getParameter("openmode");
- if (openmode == "extnunitform")
- {
- grup_titl.attribute("visibility") = "hidden";
- }
- else
- {
- grup_titl.attribute("visibility") = "visible";
- if (fGetFormMast("formprogflag") == "OCR")
- {
- btn_print.visible = true;
- btn_print.attribute("left") = btn_del.attribute("left");
- btn_preview.visible = false;
- btn_tmpsave.visible = false;
- btn_signsave.visible = false;
- btn_signsaveasnew.visible = false;
- btn_del.visible = false;
- }
- else
- {
- btn_print.visible = false;
- btn_preview.visible = false;
- }
- }
- /*
- var ivwTop = 1;
- var ivwHei = 685;
- if (grup_titl.visible)
- {
- ivwTop = parseInt(grup_titl.attribute("top")) + parseInt(grup_titl.attribute("height"));
- }
- else
- {
- ivwHei = ivwHei + parseInt(grup_titl.attribute("height"));
- }
- ivw_base.attribute("top") = ivwTop;
- ivw_base.attribute("height") = ivwHei;
- ivw_fst.attribute("height") = ivw_base.attribute("height");
- ivw_fst.attribute("top") = ivw_base.attribute("top");
- ivw_base.attribute("border-style") = "none";
- ivw_fst.attribute("border-style") = "none";
- */
- //확장 서식 팝업의 경우
- if (openmode == "extnunitform")
- {
- gFstLevlItemCd = opener.window.javascript.getParameter("fstlevlitemcd");
- btn_preview.visible = false;
- btn_tmpsave.visible = false;
- btn_signsave.visible = false;
- btn_signsaveasnew.visible = false;
- btn_del.visible = false;
- btn_cnfm.attribute("left") = btn_signsave.attribute("left");
- btn_cncl.attribute("left") = btn_del.attribute("left");
- btn_cnfm.visible = true;
- btn_cncl.visible = true;
- fSetFormInfoByCSV(opener.window.javascript.getParameter("forminfo"));
- //fInitForm();
- //fSetNewFormRec();
-
- ///////////////////
- //2010.01.26, hkjoo
- ivw_base.model.removeNodeSet("/root/main");
- copyNodeset("/root/main", "/root/main", "replace" ,ivw_base.model, model); //아이템별 서식보기 뷰어에 data copy
-
- document.title = model.getValue("/root/main/forminfo/formmast/formnminfo"); //해당 확장서식 명 타이틀에 셋팅
- ivw_base.window.javaScript.fCreateDegnBySelfInfo(gPageInfo, null, "record");//확장서식 화면 셋팅, hkjoo
- //////////////////////
-
- setCtrlDisabled(gFstLevlItemCd); //확장서식 팝업에서 기본서식과 겹치는 아이템은 disable 처리
- ivw_base.window.javascript.setParameter("openmode", "extnunitform");
-
- ivw_base.model.refresh();
- fSetUniqData( gPageInfo.recItemRef, ivw_base.model ); //기본 서식의 키값으로 값셋팅, fstlevlitemcd, degnitemlevlcd, degnitemlevlno
-
- var recinfo = opener.window.javascript.getParameter("recinfo");
- if (recinfo != "")
- {
- var path = "/root/hidden/recinfo";
- model.makeNode(path);
- setCSVToNode(path, recinfo, "recitem");
-
- setSrchData(path+"/recitem", ivw_base);
- ivw_base.window.javaScript.fLoadOcxImage(); //이미지 로드
- ivw_base.model.refresh();
- }
- }
-
- var ivwTop = 1;
- var ivwHei = 685;
- if (grup_titl.visible)
- {
- ivwTop = parseInt(grup_titl.attribute("top")) + parseInt(grup_titl.attribute("height"));
- }
- else
- {
- ivwHei = ivwHei + parseInt(grup_titl.attribute("height"));
- }
- ivw_base.attribute("top") = ivwTop;
- ivw_base.attribute("height") = ivwHei;
- ivw_fst.attribute("height") = ivw_base.attribute("height");
- ivw_fst.attribute("top") = ivw_base.attribute("top");
- ivw_base.attribute("border-style") = "none";
- ivw_fst.attribute("border-style") = "none";
- cap_formnm.refresh();
- gSaveAfterClose = true;
- var widFlag = fGetFormMast("formprogflag");
- if (openmode == "extnunitform")
- widFlag = opener.window.javascript.getParameter("widflag");
- if (fGetFormMast("formcd") == "0000000005")
- {
- window.Height = 370;
- ivw_fst.attribute("height") = 10;
- ivw_base.attribute("height") = 291;
- grup_btn.attribute("top") = 292;
- ivw_base.attribute("unitformcd") = fGetFormMast("formcd");
- SetMultiTextFull(ivw_base, 1);
- var mtxNm = "MTX_1";
- var mtx = ivw_base.window.document.controls(mtxNm);
- ivw_base.model.setFocus(mtxNm);
- mtx.dispatch("onkeyup");
- }
- else if (widFlag == "-" || widFlag == "PROF" || widFlag == "OCR")
- {
- var STD_WIN_WID = 815;
- var STD_WIN_HEI = 950;
- var maxWid = STD_WIN_WID;
- window.width = maxWid + 12;
- ivw_base.attribute("width") = maxWid + 1;
- grup_btn.attribute("width") = ivw_base.attribute("width");
- line2.attribute("width") = ivw_base.attribute("width");
- var maxHei = parseInt(window.document.body.vscroll.attribute("max"));
- if (maxHei > parseInt(ivw_base.attribute("height")))
- {
- var diffHei = 0;
- if (maxHei > STD_WIN_HEI)
- diffHei = STD_WIN_HEI - parseInt(ivw_base.attribute("height"));
- else
- diffHei = maxHei - parseInt(ivw_base.attribute("height"));
- window.height = window.height + diffHei;
- ivw_base.attribute("height") = parseInt(ivw_base.attribute("height")) + diffHei;
- grup_btn.attribute("top") = parseInt(grup_btn.attribute("top")) + diffHei;
- }
- }
- try {
- opener.window.javascript.fEndFormReady_MMR01100();
- }
- catch (e) {};
-
- opener.window.javascript.setParameter("openmode", "");
- opener.window.javascript.setParameter("formrecseq", "");
- }
- /**
- * @group :
- * @ver : 2008.06.13 -> old 처리
- * @by : hkjoo 2010/01/20 수정
- * @---------------------------------------------------
- * @type : event
- * @access : public
- * @desc : 팝업으로 호출되었을때 처리
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fModalProcess_old()
- {
- var formcd = opener.window.javascript.getParameter("formcd");
- var openmode = opener.window.javascript.getParameter("openmode");
- var calledflag = opener.window.javascript.getParameter("calledflag");
- var formrecdd = opener.window.javascript.getParameter("SSMMR01100_formrecdd");
- var oprsrvno = opener.window.javascript.getParameter("oprsrvno"); // 수술예약번호(수술전 평가서)
- fSetFormRec("oprsrvno", oprsrvno);
- var formrechm = "0000";
- var recddyn = false;
-
- fGetFormSubTitle(); // 서식부제목리스트
- if (formrecdd != "")
- {
- recddyn = true;
- }
- if (openmode == "recform")
- {
- var formrecseq = opener.window.javascript.getParameter("formrecseq");
- fLoadRecForm(formrecseq);
-
- if (calledflag != null && calledflag != "")
- {
- fSetFormRec("calledflag", calledflag);
- opener.window.javascript.clearParameter("calledflag");
- }
- }
- else if (openmode == "reccnstform") // 기록된 컨설트 서식 열기
- {
- btn_del.visible = false;
- var formrecseq = opener.window.javascript.getParameter("formrecseq");
- var userdeptcd = opener.window.javascript.getParameter("userdeptcd");
- var replcnts = opener.window.javascript.getParameter("replcnts"); //약제팀
- var overwrite = opener.window.javascript.getParameter("overwrite"); //약제팀
- if (userdeptcd == "")
- {
- messageBox("컨설트 수신부서 코드가", "I004");
- return;
- }
- setParameter("userdeptcd", userdeptcd);
- fLoadRecForm(formrecseq);
- if (replcnts != "" && overwrite != "")
- {
- //ivw_base.window.javascript.fSetReplCnts(replcnts, eval(overwrite));
- ivw_base.window.javascript.setParameter("MMR04900_replcnts", replcnts);
- ivw_base.window.javascript.setParameter("MMR04900_overwrite", overwrite);
- }
- fCheckWriteUser();
- }
- else if (openmode == "newcnstform") // 컨설트 새서식 열기
- {
- btn_del.visible = false;
-
- var node = getGlobalVariable("paminfo");
-
- if(node == "" || node == null)
- {
- fSetPamInfo(opener.window.javascript.getParameter("pid"),
- opener.window.javascript.getParameter("orddd"),
- opener.window.javascript.getParameter("cretno"),
- opener.window.javascript.getParameter("ioflag"),
- opener.window.javascript.getParameter("orddeptcd"),
- opener.window.javascript.getParameter("orddrid") );
- }
- setParameter("SMMMR04900_cnstflag", opener.window.javascript.getParameter("SMMMR04900_cnstflag"));
- setParameter("SMMMR04900_replflag", opener.window.javascript.getParameter("SMMMR04900_replflag"));
- setParameter("SMMMR04900_cnstdeptcd", opener.window.javascript.getParameter("SMMMR04900_cnstdeptcd"));
- setParameter("SMMMR04900_cnstdeptnm", opener.window.javascript.getParameter("SMMMR04900_cnstdeptnm"));
- setParameter("SMMMR04900_drid", opener.window.javascript.getParameter("SMMMR04900_drid"));
- setParameter("SMMMR04900_drnm", opener.window.javascript.getParameter("SMMMR04900_drnm"));
- setParameter("SMMMR04900_reqdpcd", opener.window.javascript.getParameter("SMMMR04900_reqdpcd"));
- setParameter("SMMMR04900_reqdpnm", opener.window.javascript.getParameter("SMMMR04900_reqdpnm"));
- setParameter("SMMMR04900_reqdrid", opener.window.javascript.getParameter("SMMMR04900_reqdrid"));
- setParameter("SMMMR04900_reqdrnm", opener.window.javascript.getParameter("SMMMR04900_reqdrnm"));
- setParameter("SMMMR04900_formnm", opener.window.javascript.getParameter("SMMMR04900_formnm"));
- setParameter("SMMMR04900_formcd", formcd);
- var formcd = opener.window.javascript.getParameter("formcd");
- fLoadNewForm(formcd);
-
- fCheckWriteUser();
- }
- else if (openmode == "extnunitform")
- {
- ////////////////////
- //확장서식 로딩 시작
- //canvas_main 초기화 및 화면 셋팅
- fInitForm_MRF1200();
- fExtnUnitForm();
- fCreateDegnBySelfInfo();
- ////////////////////
-
- grup_titl.attribute("visibility") = "hidden";
- btn_preview.visible = false;
- btn_tmpsave.visible = false;
- btn_signsave.visible = false;
- btn_signsaveasnew.visible = false;
- btn_del.visible = false;
- btn_cnfm.attribute("left") = btn_signsave.attribute("left");
- btn_cncl.attribute("left") = btn_del.attribute("left");
- btn_cnfm.visible = true;
- btn_cncl.visible = true;
- ivw_base.attribute("width") = 0;
- ivw_base.attribute("height") = 0;
-
- ivw_fst.attribute("width") = 0;
- ivw_fst.attribute("height") = 0;
-
- ivw_base.attribute("border-style") = "none";
- ivw_fst.attribute("border-style") = "none";
-
- //확장서식 영역 보이기
- // canvas_main.attribute("width")= 595;
- // canvas_main.attribute("height")= 700;
- fCheckWriteUser();
- }
- else
- {
- fLoadNewForm(formcd);
- if (calledflag != null && calledflag != "")
- {
- fSetFormRec("calledflag", calledflag);
- opener.window.javascript.clearParameter("calledflag");
- }
-
- if(recddyn)
- {
- fSetFormRec("formrecdd" , formrecdd);
- fSetFormRec("formrechm" , formrechm);
- model.refresh();
- }
- }
-
- if (fGetFormMast("formcd") != "")
- {
- var disppatinfo = opener.window.javascript.getParameter("disppatinfo");
- disppatinfo = disppatinfo.split("▦"); //[0]등록번호, [1]환자명, [2]성별/나이, [3]진료과, [4]병실
-
- window.document.title = fGetFormMast("formnminfo") + " 환자정보 : " + disppatinfo[0] + " " + disppatinfo[1] + "(" + disppatinfo[2] + ") 진료과 : " + disppatinfo[3] + ", 병실 : "+ disppatinfo[4];
- }
- if (openmode != "extnunitform")
- {
- grup_titl.attribute("visibility") = "visible";
- if (fGetFormMast("formprogflag") == "OCR")
- {
- btn_print.visible = true;
- btn_print.attribute("left") = btn_del.attribute("left");
- btn_preview.visible = false;
- btn_tmpsave.visible = false;
- btn_signsave.visible = false;
- btn_signsaveasnew.visible = false;
- btn_del.visible = false;
- }
- else
- {
- btn_print.visible = false;
- btn_preview.visible = false;
- }
- var ivwTop = 1;
- var ivwHei = 685;
- if (grup_titl.visible)
- {
- ivwTop = parseInt(grup_titl.attribute("top")) + parseInt(grup_titl.attribute("height"));
- }
- else
- {
- ivwHei = ivwHei + parseInt(grup_titl.attribute("height"));
- }
-
- ivw_base.attribute("top") = ivwTop;
- ivw_base.attribute("height") = ivwHei;
-
- ivw_fst.attribute("height") = ivw_base.attribute("height");
- ivw_fst.attribute("top") = ivw_base.attribute("top");
-
- ivw_base.attribute("border-style") = "none";
- ivw_fst.attribute("border-style") = "none";
-
- cap_formnm.refresh();
- gSaveAfterClose = true;
- }
- var widFlag = fGetFormMast("formprogflag");
- if (openmode == "extnunitform")
- widFlag = opener.window.javascript.getParameter("widflag");
- if (fGetFormMast("formcd") == "0000000005")
- {
- window.Height = 370;
- ivw_fst.attribute("height") = 10;
- ivw_base.attribute("height") = 291;
- grup_btn.attribute("top") = 292;
- ivw_base.attribute("unitformcd") = fGetFormMast("formcd");
- SetMultiTextFull(ivw_base, 1);
- var mtxNm = "MTX_1";
- var mtx = ivw_base.window.document.controls(mtxNm);
- ivw_base.model.setFocus(mtxNm);
- mtx.dispatch("onkeyup");
- }
- else if (widFlag == "-" || widFlag == "PROF" || widFlag == "OCR")
- {
- var STD_WIN_WID = 815;
- var STD_WIN_HEI = 950;
- var maxWid = STD_WIN_WID;
- window.width = maxWid + 12;
- ivw_base.attribute("width") = maxWid + 1;
- grup_btn.attribute("width") = ivw_base.attribute("width");
- line2.attribute("width") = ivw_base.attribute("width");
- var maxHei = parseInt(window.document.body.vscroll.attribute("max"));
- if (maxHei > parseInt(ivw_base.attribute("height")))
- {
- var diffHei = 0;
- if (maxHei > STD_WIN_HEI)
- diffHei = STD_WIN_HEI - parseInt(ivw_base.attribute("height"));
- else
- diffHei = maxHei - parseInt(ivw_base.attribute("height"));
- window.height = window.height + diffHei;
- ivw_base.attribute("height") = parseInt(ivw_base.attribute("height")) + diffHei;
- grup_btn.attribute("top") = parseInt(grup_btn.attribute("top")) + diffHei;
- }
- }
- try {
- opener.window.javascript.fEndFormReady_MMR01100();
- }
- catch (e) {};
-
- opener.window.javascript.setParameter("openmode", "");
- opener.window.javascript.setParameter("formrecseq", "");
- }
- /**
- * @desc : key값에 해당되는 원무정보 가져오기
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fGetPamInfo(key)
- {
- return model.getValue("/root/main/paminfo/" + key);
- }
- /**
- * @desc : 확인버튼 클릭
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈, 2010.01.26 hkjoo 수정
- */
- function fConfirm()
- {
- ivw_base.window.javascript.getSaveData(gPageInfo.recItemRef2, "replace", model, NewPageInfo(gPrestIvw, gFstLevlItemCd));
-
- var path = gPageInfo.extnrecItemRef + "[fstlevlitemcd='" +gFstLevlItemCd+ "' and formcd='" + model.getValue(gPageInfo.formmastRef + "/formcd") + "']";
- if (opener.window.javascript.fGetRecNodeCount(path) != "0")
- {
- opener.window.javascript.fRemoveRecNodeset(path);
- }
-
- copyNodeset( gPageInfo.extnrecRef, gPageInfo.recRef2, "append" ,opener.model, model );
- window.close();
- }
- /**
- * @desc : 기본 서식의 키값으로 값셋팅, fstlevlitemcd, degnitemlevlcd, degnitemlevlno
- * @id :
- * @event :
- * @return :
- * @authur : 주희경, 2010.01.29
- */
- function fSetUniqData( recItemRef, tModel )
- {
- var fstlevlitemcdNodes = tModel.instance1.selectNodes(recItemRef+"[formcd='" + model.getValue(gPageInfo.formmastRef + "/formcd") + "']/fstlevlitemcd");
- var degnitemlevlcdNodes = tModel.instance1.selectNodes(recItemRef+"[formcd='" + model.getValue(gPageInfo.formmastRef + "/formcd") + "']/degnitemlevlcd");
- var degnitemlevlnoNodes = tModel.instance1.selectNodes(recItemRef+"[formcd='" + model.getValue(gPageInfo.formmastRef + "/formcd") + "']/degnitemlevlno");
-
- for( i=0; i<fstlevlitemcdNodes.length; i++ )
- {
- fstlevlitemcdNodes.item(i).value = gFstLevlItemCd; //fstlevlitemcd 일괄변경
- degnitemlevlcdNodes.item(i).value = gFstLevlItemCd.substr(0,7) + "." + degnitemlevlcdNodes.item(i).value; //degnitemlevlcd에 fstlevlitemcd의 앞 7자리 숫자 add(통합기록조회에서 조회되려고 xslt의 규칙대로 맞춰줌)
- degnitemlevlnoNodes.item(i).value = parseInt(degnitemlevlnoNodes.item(i).value)+1; //부분서식일 때 레벨 수정
- }
-
- //기존에 N-S(BOL) 아이템이 기록조회에서 (N-S : N-S)로 표시되는것을 막기위해 정보관리팀에서 N-S아이템 모두 rectermcd에 블랭크 두개(" ")를 설정 하였다고 함. -> 빈데이터로 일괄변경
- var rectermcdNodes = tModel.instance1.selectNodes(recItemRef+"[degnitemnm='N-S' and rectermcd=' ' ]/rectermcd");
- for( i=0; i<rectermcdNodes.length; i++ )
- {
- rectermcdNodes.item(i).value = "";
- }
- }
- /**
- * @desc : 기록작성부서와 수정사용자의 부서를 비교
- * @id :
- * @event :
- * @return : true : 기록부서와 수정부서가 동일, false : 기록부서와 수정부서가 다름
- * @authur : 박종훈
- */
- function fCheckSaveDept()
- {
- var sChkDept = opener.window.javascript.getParameter("chkdeptpresave");
- opener.window.javascript.clearParameter("chkdeptpresave");
-
- //20121217 정창혁 같은 부서내 임시저장 활성화 //진정회복기록 (내시경, 건진) :1000007334 포함. 모든 기록지
- if (fGetEditableDept()) {
- sChkDept = "N";
- }
-
- //20130524 정창혁 cpg관련 저장일때 최초 빈서식일때 pid를 emr로 설정해주므로 부서체크나 동일 사용자 체크를 피하기 위해 추가 fGetFormRec... 추가
- if (sChkDept == "N" || fGetFormRec("srcformcd") == "0000000677" || fGetFormRec("calledflag").indexOf("cpg") != -1)
- {
- return true;
- }
- else
- {
- var sessUdeptcd = getUserInfo("dutplcecd");
- var sessUserid = getUserId();
- var recUdeptcd = fGetFormRec("formrecdeptcd");
- var recUserid = fGetFormRec("formrecuserid");
- var recLastUpUserid = fGetFormRec("lastupdtrid");
-
- if (sessUserid == recUserid || sessUserid == recLastUpUserid)
- {
- return true;
- }
- else
- {
- // [요청번호:20161121013] 기록수정 제한
- fGetHardCDList("N", 9972, 0, "/root/init/recsaveyn") ;
- if(!isNull(recUserid)
- && model.getValue("/root/init/recsaveyn/hardcd[hardcd='" + recUserid + "']/hardcd") != ""
- && sessUserid != recUserid){
- return false;
- }
-
-
- if (sessUdeptcd == recUdeptcd)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- }
- }
- /**
- * @desc : 기록일 변경시 유효 기록일자 체크
- * @id :
- * @event :
- * @return : true : 기록부서와 수정부서가 동일, false : 기록부서와 수정부서가 다름
- * @authur : 박종훈
- */
- function fChkRecdd()
- {
- //2009.10.26 안치원 TASK-3088
- //진료기록메인에서 팝업으로 뜨는 서식에 대해서 기록일자에 대한 검사를 한다.
- /*if (fGetFormMast("mainyn") != "Y")
- return;
- */
- if (opener.window.javascript.getParameter("MMR01100_chkRecDdYn") == "Y") {
- //
- } else if (fGetFormMast("mainyn") != "Y") {
- return;
- }
- //end of TASK-3088
-
- var sIoflag = fGetPamInfo("ioflag");
- var sOrddd = "";
- var sDschdd = "";
- var sIndschacptstat = ""; //D일경우 퇴원
- var sChDD = model.getValue("/root/main/recinfo/formrec/formrecdd");
-
- if(sIoflag == "I" || sIoflag == "E" || sIoflag == "D")
- {
- sIndschacptstat = fGetPamInfo("indschacptstat");
- sOrddd = fGetPamInfo("indd");
- sDschdd = fGetPamInfo("dschdd");
-
- if (sIndschacptstat == "D" || sIndschacptstat == "T")//2010.02.17 dhkim - 가퇴원상태일 경우도 blocking 포함
- {
- if (sChDD >= sOrddd && sChDD <= sDschdd)
- {
- }
- else
- {
- messageBox("기록일이 재원기간내에 있지 않습니다. 기록일을 확인", "I008");
-
- if (gRecdd >= sDschdd)
- {
- gRecdd = sDschdd;
- }
-
- model.setValue("/root/main/recinfo/formrec/formrecdd", gRecdd);
- ipt_formrecdd.refresh();
- }
- }
- else
- {
- if (sChDD < sOrddd)
- {
- messageBox("선택하신 일자는 입원일 이전입니다. 기록일을 확인", "I008");
- model.setValue("/root/main/recinfo/formrec/formrecdd", sOrddd);
- ipt_formrecdd.refresh();
- }
- }
-
- }
- else if(sIoflag == "O" || sIoflag == "S")
- {
- sOrddd = fGetPamInfo("orddd");
-
- /* 이윤주 막음:여수진 요청(20150225)
- if (sChDD != sOrddd)
- {
- messageBox("기록일과 진료일이 일치하지 않습니다. 기록일을 확인", "I008");
- model.setValue("/root/main/recinfo/formrec/formrecdd", sOrddd);
- ipt_formrecdd.refresh();
- }
- */
- }
- }
- /**
- * @desc : 코사인 버튼 클릭시 이벤트
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fClickSaveCosign()
- {
- //2010.03.18 안치원 - 상단환자정보와 기록환자정보가 같은지 검사한다.
- if (validPamInfo_MMR01100("btn_sign") == false) {
- return false;
- }
-
- setParameter("cosignrec", "-");
- var rtn = fCheckChangeDataForCosign();
-
- if (rtn == "N") //수정데이터가 없는 경우
- {
- fSetFormRec("cosignyn", "Y");
- var savedInfo = fSaveFormRecCosign("Y");
-
- //2007.12.13 박종훈 수정
- if (savedInfo.formrecseq != null && savedInfo.formrecseq != 0)
- {
- if (opener.window.javascript.getParameter("openmode") == "openform")
- {
- opener.window.javascript.setParameter("openmadalformsave", "Y");
- }
-
- if (fGetFormRec("calledflag").indexOf("cpgmain") == 0)
- {
- try
- {
- var ordpatlistObj = getOpenWindow("SMMMP00800");
- if(ordpatlistObj != null)
- {
- addEmrLog("calledflag : " + fGetFormRec("calledflag"));
- ordpatlistObj.javascript.fSnedValToCpWnd(fGetFormRec("formcd"), savedInfo.formrecseq, fGetFormRec("calledflag"));
- }
- }
- catch(e)
- {
- }
- }
-
- setParameter("espisavesuccess", "Y");
-
- //messageBox("기록 저장이", "I002");
-
- fAfterSaveExtnDoing();
-
- //20081209 오지훈SW 요청
- var wndobj = getOpenWindow("SMMRI01800");
- if(wndobj != null){
- var status = fGetFormRec("status");
- var pid = fGetFormRec("pid");
- var orddd = fGetFormRec("orddd");
- var cretno = fGetFormRec("cretno");
- var formcd = fGetFormRec("srcformcd");
- var formrecdd = fGetFormRec("formrecdd");
- var formrecseq = fGetFormRec("formrecseq");
- //2010.02.27 안치원 - 미비항목화면연계 수정 formrecdeptcd추가(이은영 요청)
- var formrecdeptcd = fGetFormRec("formrecdeptcd");
- //2010.02.09 안치원 - 미비항목화면연계 수정(이은영 요청)
- var unprepFlag = "uss";
-
-
- var param = status + "^" + pid + "^" + orddd + "^" + cretno + "^" + formcd + "^" + formrecdd + "^" + formrecseq + "^" + unprepFlag + "^" + formrecdeptcd;
- opener.window.javascript.setParameter("SMMRI01800_medirecinfo", param);
-
- wndobj.javascript.fDispUnPrepDrCnfm();
- wndobj.model.setFocus("grd_unpreplist");
- }
- }
- }
- else
- {
- fSetFormRec("cosignyn", "Y");
- fClickSave("Y");
- }
- }
- /**
- * @desc : 기록반려버튼 클릭 이벤트
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fClickReSend()
- {
- modal("SPMMR06300", "1", "100", "100" ,"SPMMR06300", "/root/main/recinfo/formrec", "/root/temp/recinfo/formrec");
-
- var cnclyn = getParameter("cosignclclyn");
- clearParameter("cosignclclyn");
-
- if ( cnclyn == "Y")
- {
- btn_cosign.disabled = false;
- ivw_base.window.grup_base.disabled = false;
- fAfterSaveExtnDoing();
- //2010-02-22 오후 1:34:16 강지훈 추가
- fSetFormRec("cosign", "N");
- }
- }
- /**
- * @desc : 수정되지 않은 기록지 코사인 저장(미비 업데이트, 인증데이터 처리)
- * @id :
- * @event :
- * @return :
- * @authur : 박종훈
- */
- function fSaveFormRecCosign(signedYn, mode)
- {
- if (fGetFormMast("formcd") == "") return;
-
- if (isProgForm())
- {
- //ivw_base.window.javascript.InitSaveComnFormRecItemData(mode);
- ivw_base.window.javascript.getSaveComnFormData(mode, "1");
- }
- else
- {
- ivw_base.window.javascript.getSaveData(gPageInfo.sortItemRef, "replace", model, null, mode);
- SortRecItem();
- }
-
- //window.clipBoardData = model.instances(0).selectSingleNode("/root/hidden/recinfo").xml;
- if (signedYn != null)
- {
- return fSaveComnFormRecInfoForCosign(signedYn);
- }
- }
- function fGetRecMainlist()
- {
- if ( opener.window.javascript.getScreenID() == "SMMMR00100")
- {
- opener.window.javascript.fRefMediRecList();
- }
- }
- /**
- * @desc : 서식이 활성화 될때 서식에 기본 설정되는 Data를 가져온다.
- * @id :
- * @event :
- * @return :
- * @authur : 안치원
- */
- function getRecIntefaceData(recIfID)
- {
- if (fGetFormRec("status") != "C") return;
-
- setReqOfGetRecIntefaceData("pid", fGetPamInfo("pid"));
- setReqOfGetRecIntefaceData("cretno", fGetPamInfo("cretno"));
- setReqOfGetRecIntefaceData("recIfID", recIfID);
- setReqOfGetRecIntefaceData("dest_formcd", fGetFormMast("formcd"));
- setReqOfGetRecIntefaceData("dest_formdegnseq", fGetFormMast("formdegnseq"));
-
- var compioflag = fGetPamInfo("ioflag");
- if (compioflag == "O" || compioflag == "S")
- setReqOfGetRecIntefaceData("orddd", fGetPamInfo("orddd"));
- else
- setReqOfGetRecIntefaceData("orddd", fGetPamInfo("indd"));
-
- if (submit("TRMMR01104")) {
-
- ivw_base.window.javascript.setInterfaceData();
- }
- }
- function setReqOfGetRecIntefaceData(key, value)
- {
- model.makeValue("/root/send/reqif/"+key, value);
- }
- /**
- * @desc : 기록권한 검사
- * @id : 2009.10.19 안치원 TASK-32640, 32794
- * @event :
- * @return :
- * @authur : 안치원
- */
- function validateRec(formcd)
- {
- if (formcd == "")
- return;
-
- var sGetTopYn = opener.window.javascript.getParameter("SSMMR01100_getTopYn");
- var node = getGlobalVariable("paminfo");
-
- var pid = "";
- var orddd = "";
- var cretno = "";
- var ioflag = "";
- var orddeptcd = "";
-
- if(node != "" && sGetTopYn != "N")
- {
- model.removeNodeset("/root/main/vpaminfo");
- setCSVToNode("/root/main", node, "vpaminfo");
-
- pid = model.getValue("/root/main/vpaminfo/pid");
- cretno = model.getValue("/root/main/vpaminfo/cretno");
- ioflag = model.getValue("/root/main/vpaminfo/ioflag");
- orddeptcd = model.getValue("/root/main/vpaminfo/orddeptcd");
-
- if (ioflag == "O" || ioflag == "S") {
- orddd = model.getValue("/root/main/vpaminfo/orddd");
- } else {
- orddd = model.getValue("/root/main/vpaminfo/indd");
- }
- } else {
- pid = model.getValue("/root/main/paminfo/pid");
- cretno = model.getValue("/root/main/paminfo/cretno");
- ioflag = model.getValue("/root/main/paminfo/ioflag");
- orddeptcd = model.getValue("/root/main/paminfo/orddeptcd");
-
- if (ioflag == "O" || ioflag == "S") {
- orddd = model.getValue("/root/main/paminfo/orddd");
- } else {
- orddd = model.getValue("/root/main/paminfo/indd");
- }
- }
-
- var openmode = opener.window.javascript.getParameter("openmode");
-
- if (openmode == "newform")
- {
- pid = opener.window.javascript.getParameter("pid");
- orddd = opener.window.javascript.getParameter("orddd");
- cretno = opener.window.javascript.getParameter("cretno");
- }
-
- model.makeValue("/root/send/reqvalid/valiflag", "new");
- model.makeValue("/root/send/reqvalid/pid", pid);
- model.makeValue("/root/send/reqvalid/orddd", orddd);
- model.makeValue("/root/send/reqvalid/cretno", cretno);
- model.makeValue("/root/send/reqvalid/chosflag", ioflag);
- model.makeValue("/root/send/reqvalid/formcd", formcd);
-
- model.makeValue("/root/send/reqvalid/formcd", formcd);
- model.makeValue("/root/send/reqvalid/orddeptcd", orddeptcd);
-
- if (submit("TRMMR01105", false)) {
- //alert(model.getValue("/root/main/validinfo/resultCode"));
- if (model.getValue("/root/main/validinfo/resultCode") != "0") {
-
- if (model.getValue("/root/main/validinfo/resultMsg") != "") {
- alert(model.getValue("/root/main/validinfo/resultMsg"));
- }
-
- if (model.getValue("/root/main/validinfo/formrecseq") != "") {
- fLoadRecForm(model.getValue("/root/main/validinfo/formrecseq"), null);
- }
- else if (model.getValue("/root/main/validinfo/formcd") != "") {
- fLoadNewForm(model.getValue("/root/main/validinfo/formcd"), null, null, false);
- }
-
- return false;
- }
- return true;
- } else {
- return false;
- }
- }
- /**
- * @group :
- * @ver : 2009.10.23
- * @by : 이경희
- * @---------------------------------------------------
- * @type : event
- * @access : public
- * @desc : 서식SET화면에서 서식미리보기 시에 사용함.
- * @param : formcd - 서식 코드
- * @param : bPopup - 특수서식로드 유형 (true/false)
- * @return :
- * @---------------------------------------------------
- */
- function fPreviewForm(formcd, bPopup, calledflag)
- {
- model.addLog("fPreviewForm start시간: " + getCurrentTime() + ", formcd:" + formcd);
- var rtn = "N";
- var rtnmsg = 0;
-
- //현재 로딩된 서식의 formcd를 가져온다.
- gSrcFormcd = fGetFormMast("formcd");
- gFormProgFlag = fGetFormMast("formprogflag");
- gFormProgNm = fGetFormMast("formprognm");//2010.03.29 dhkim 추가
-
- var gOldUnitNodelist = model.instances(0).selectNodes(gPageInfo.forminfoRef + "/unitformmast");
- gOldUnitFormDgnSeq = "";
-
- for (var i = 0; i < gOldUnitNodelist.length; i++)
- {
- var subNode = gOldUnitNodelist.item(i);
- gOldUnitFormDgnSeq += subNode.selectSingleNode("formdegnseq").text + "▦";
- }
-
- if (formcd == "")
- return;
-
- if (getParameter("loadstatus"))
- {
- if (getParameter("afterRecDelete") == "Y")
- {
- rtn = "N";
- clearParameter("afterRecDelete");
- }
- else
- {
- rtn = fCheckChangeDataForCosign();
- }
- }
-
- if(bPopup == null)
- bPopup = true;
- //1. 서식정보 조회
- if(!fGetNewFormMast(formcd))
- {
- alert("서식정보를 조회하는데 실패하였습니다.");
- return;
- }
-
- /*
- var recsavechk = opener.window.javascript.getParameter("SSMMR01100_recsavechk");
- opener.window.javascript.clearParameter("SSMMR01100_recsavechk");
-
- if (rtn != "N" && model.getValue(gPageInfo.initformmastRef + "/mainyn") == "Y" && recsavechk != "Y") //수정데이터가 있는 경우
- {
- var rtnmsg = messageBox("기록내용 중 저장되지 않은 내용이 있습니다.", "Q002");
- if (rtnmsg == 6)
- {
- if (fClickSave("Y") == "N")
- {
- return;
- }
- }
- }
- */
-
- fShowProgress(true, "서식정보");
-
- //서식 오픈전 환자정보 셋팅
- //copyNodeset("/root/main/paminfo", "/root/main/paminfo", "replace", model, opener.model);
- /*
- var sGetTopYn = opener.window.javascript.getParameter("SSMMR01100_getTopYn"); //SSMMR01100_getTopYn => top정보 조회여부 정보(N일경우 넘어온 파라미터기준, 아닐결루 TOP정보 기준)
- var node = getGlobalVariable("paminfo");
-
- if(node != "" && sGetTopYn != "N")
- {
- model.removeNodeset("/root/main/paminfo");
- setCSVToNode("/root/main", node, "paminfo");
- }
- */
- var openmode = opener.window.javascript.getParameter("openmode");
- if (openmode == "newform")
- {
- if (!fSetPamInfo(opener.window.javascript.getParameter("pid"),
- opener.window.javascript.getParameter("orddd"),
- opener.window.javascript.getParameter("cretno"),
- opener.window.javascript.getParameter("ioflag"),
- opener.window.javascript.getParameter("orddeptcd"),
- opener.window.javascript.getParameter("orddrid") ))
- {
- grup_btn.disabled = true;
- return;
- }
- }
-
- //동일 서식 로딩시 인스턴스만 바꿔주는 기능 관련 추가(2008-11-28 박종훈)
- var sSrchsrcformcd = model.getValue(gPageInfo.initformmastRef + "/formcd");
- var sSrchformprogflag = model.getValue(gPageInfo.initformmastRef + "/formprogflag");
-
- var sFormProgNm = model.getValue(gPageInfo.initformmastRef + "/formprognm");
- if (gSrcFormcd == sSrchsrcformcd && gFormProgFlag == sSrchformprogflag && sFormProgNm != "-"
- && gFormProgNm == sFormProgNm//2010.03.29 dhkim 추가(formprognm이 다를 경우 서식 새로 로딩)
- )
- {
- //2. 서식 체크
- var formprogflag = fCheckForm(gPageInfo.initformmastRef);
-
- if (fCheckformKind(formprogflag, bPopup))
- {
- copyNodeset(gPageInfo.forminfoRef, gPageInfo.initforminfoRef, "replace", model, model);
- model.removeNodeset(gPageInfo.initforminfoRef);
- }
-
- //열려있는 기록지 부분서식의 formdegnseq가 일치하는지 여부를 검사하여 다를 경우 부분서식을 새로 로딩(2009-01-15 박종훈)
- var gNewUnitNodelist = model.instances(0).selectNodes(gPageInfo.forminfoRef + "/unitformmast");
- var arrOldUnitFormDgnSeq = gOldUnitFormDgnSeq.split("▦");
- for (var i = 0; i < gNewUnitNodelist.length; i++)
- {
- var subNode = gNewUnitNodelist.item(i);
- var newUnitFormDgnSeq = subNode.selectSingleNode("formdegnseq").text;
- var unitItemCd = subNode.selectSingleNode("orgsupdegnitemcd").text;
-
- var ivwObj = ivw_base.document.controls("ivw_" + unitItemCd);
-
- //2010.03.09 안치원 - 기록내용에서 부분서식의 Copy가 안되는 오류 수정
- ivwObj.attribute("supdegnitemcd") = "";
- ivwObj.attribute("unitformcd") = "";
-
- if(ivwObj.src == "")
- {
- var unitformcd = model.getValue(gPageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+unitItemCd+"']/formcd");
-
- if (unitformcd != "")
- {
- ivwObj.attribute("supdegnitemcd") = unitItemCd;
- ivwObj.attribute("unitformcd") = unitformcd;
-
- model.addLog(unitformcd + " Loading 시작 : " + getCurrentTime());
- loadUnitForm(ivwObj, unitItemCd);
- if (arrOldUnitFormDgnSeq[i] != newUnitFormDgnSeq)
- {
- setFstLevlItemCd(ivwObj, unitformcd);
- model.setValue(gPageInfo.forminfoRef + "/unitformmast[formcd='" + unitformcd + "' and loaded != 'true']/loaded", "true");
- }
- model.addLog(unitformcd + " Loading 끝 : " + getCurrentTime());
-
- //2008-12-18박종훈(기록데이터 가져오기-보완필요)
- //parent.window.javascript.InitUnitFormDataBySupdegnitemcd(unitItemCds);
- }
- }
- else if (arrOldUnitFormDgnSeq[i] != newUnitFormDgnSeq)
- {
- var unitformcd = model.getValue(gPageInfo.forminfoRef + "/unitformmast[orgsupdegnitemcd='"+unitItemCd+"']/formcd");
-
- if (unitformcd != "")
- {
- ivwObj.attribute("supdegnitemcd") = unitItemCd;
- ivwObj.attribute("unitformcd") = unitformcd;
-
- loadUnitForm(ivwObj, unitItemCd);
- setFstLevlItemCd(ivwObj, unitformcd);
- model.setValue(gPageInfo.forminfoRef + "/unitformmast[formcd='" + unitformcd + "' and loaded != 'true']/loaded", "true");
-
- }
- }
- }
-
- fInitClearForm();
-
- if (isProgForm())
- {
- ivw_base.window.javascript.fGetDefData();
- }
- else
- {
- ivw_base.window.javascript.dispOnLoadComplete(UNIT_FORM);
- }
-
- fShowProgress(false);
- }
- else
- {
- //2. 서식 체크
- var formprogflag = fCheckForm(gPageInfo.initformmastRef);
-
- if (fCheckformKind(formprogflag, bPopup))
- {
- copyNodeset(gPageInfo.forminfoRef, gPageInfo.initforminfoRef, "replace", model, model);
- model.removeNodeset(gPageInfo.initforminfoRef);
- cap_formnm.refresh();
-
- //3. 기록정보 초기화
- //fSetNewFormRec();
- }
-
- //4. 서식 로드
- fLoadForm(gPageInfo.formmastRef, formprogflag, bPopup, calledflag);
-
- fShowProgress(false);
- }
- }
- function initButtonLayer_MMR01100(mode) {
- // alert("initButtonLayer_MMR01100::"+mode);
- if (mode == "default") {
- grup_btn.disabled = false;
-
- //인증저장버튼과 코사인버튼처리
- btn_signsave.visible = true;
- btn_cosign.visible = false;
- //임시저장버튼과 기록반려버튼처리
- btn_tmpsave.visible = true;
- btn_resend.visible = false;
-
- //기타버튼 disable처리
- btn_init.visible = true;
- btn_init.disabled = false;
- btn_signsaveasnew.visible = true;
- btn_signsaveasnew.disabled = false;
- btn_del.visible = true;
- btn_del.disabled = false;
-
- } else if (mode == "staff_auth_y") {
- grup_btn.disabled = false;
-
- //인증저장버튼과 코사인버튼처리
- btn_cosign.attribute("left") = btn_signsave.attribute("left");
- btn_signsave.visible = false;
- btn_cosign.visible = true;
-
- //2010.02.26 dhkim - cosign여부에 관계 없이 기록반려는 활성화상태로 변경
- btn_resend.disabled = false;
- //staff-sign이후는 기록반려를 disabled한다.
- if (fGetFormRec("cosign") == "Y") {
- //btn_resend.disabled = false;
- btn_cosign.disabled = true;
- } else {
- //btn_resend.disabled = true;
- btn_cosign.disabled = false;
- }
-
- //임시저장버튼과 기록반려버튼처리
- btn_resend.attribute("left") = btn_tmpsave.attribute("left");
- btn_tmpsave.visible = false;
- btn_resend.visible = true;
-
- //기타버튼 disable처리
- btn_init.disabled = true;
- btn_signsaveasnew.disabled = true;
- btn_del.disabled = true;
-
- } else if (mode == "staff_auth_n") {
- grup_btn.disabled = false;
-
- //인증저장버튼과 코사인버튼처리
- btn_signsave.visible = true;
- btn_cosign.visible = false;
- //임시저장버튼과 기록반려버튼처리
- btn_tmpsave.visible = true;
- btn_resend.visible = false;
-
- //기타버튼 disable처리
- btn_init.disabled = false;
- btn_signsaveasnew.disabled = false;
- btn_del.disabled = false;
-
- } else if (mode == "no_auth") {
-
- grup_btn.disabled = true;
- } else if (mode == "only_signsave") {
- // alert("grup_btn.children.length::"+grup_btn.children.length);
- var children = grup_btn.children;
- for (var i=0; i<children.length; i++) {
- if (children.item(i).elementName == "xforms:button") {
- children.item(i).visible = false;
- }
- }
- btn_tmpsave.visible = true;
- btn_signsave.visible = true;
- btn_signsave.disabled = false;
- }
-
- //2010.01.20 dhkim - 서식유효기한이 지나면 초기화버튼과 새이름으로저장 버튼을 비활성화처리한다.
- // if(fIsValidForm_MMR01100()){
- // //유효기간에 해당할때만 버튼활성화
- // btn_init.disabled = false;
- // btn_signsaveasnew.disabled = false;
- // }else{
- // btn_init.disabled = true;
- // btn_signsaveasnew.disabled = true;
- // }
-
- grup_btn.refresh();
- }
- function fIsValidForm_MMR01100(showMsg) {
- //2010.01.20 dhkim - 서식유효기한이 지나면 초기화버튼과 새이름으로저장 버튼을 비활성화처리한다.
- // var formfromdt = model.getValue(gPageInfo.formmastRef + "/formfromdt");
- // var formtodt = model.getValue(gPageInfo.formmastRef + "/formtodt");
- var formfromdt = fGetFormMast("formfromdt");
- var formtodt = fGetFormMast("formtodt");
- var curntdt = getCurrentDate() + getCurrentTime();
-
- var valid = false;
- if (formfromdt <= curntdt && formtodt >= curntdt)
- valid = true;
-
- if (valid == false && showMsg != null && showMsg == true) {
- alert("사용이 종료된 서식입니다.\n신규작성 할 수 없으니, 서식목록에서 유효서식을 조회하여 작성해주시기 바랍니다.");
- }
-
- return valid;
- }
- /**
- * Button List
- * btn_signsave 인증[확정]저장
- * btn_tmpsave 임시저장
- * btn_cosign STAFF SIGN
- * btn_signsaveasnew 새이름으로저장
- * btn_del 삭제
- * btn_resend 기록반려
- * btn_init 초기화
- * btn_preview 미리보기
- * btn_print 출력
- * btn_cnfm 확인
- * btn_cncl 취소
- * @param mode
- * @return
- */
- //function initButtonLayer_MMR01100(mode) {
- //
- // if (grup_btn.attribute("buttonLayer") == mode)
- // return;
- //
- // var btns = grup_btn.children;
- // var names = "";
- // for (var i=0; i<btns.length; i++) {
- // if (btns.item(i).attribute("id").indexOf("btn") == 0) {
- // btns.item(i).visible = false;
- // }
- // }
- //
- // var setBtns = null;
- // if (mode == "staff") {
- // //staff이 staff-sign하기 위한 버튼배열
- // //[미리보기][기록반려][STAFF SIGN]
- // setBtns = new Array(btn_cosign, btn_resend, btn_preview);
- // } else if (mode == "afterstaffsign") {
- //
- // } else {
- // setBtns = new Array();
- // }
- //
- // fSetButton_MMR01100(setBtns);
- // grup_btn.attribute("buttonLayer") = mode;
- //}
- /**
- * 버튼배열을 오른쪽부터 위치시킨다.
- * @param btns
- * @return
- */
- //function fSetButton_MMR01100(btns) {
- // if (btns == null)
- // return;
- //
- // var spacing = 5;
- // var xpos = parseInt(grup_btn.attribute("width"));
- // for (var i=0; i<btns.length; i++) {
- // xpos -= (parseInt(btns[i].attribute("width")) + spacing);
- // btns[i].attribute("left") = xpos;
- // btns[i].visible = true;
- // }
- //}
- function fChkPreSave_MMR01100(signedYn)
- {
- //이윤주 수정(20150312)
- fSetFormRec("signsaveyn", signedYn);
-
- //2010.02.23 안치원 - 인증저장후에 임시저장 차단 TASK(39128)요청번호(9402) - Consult는 기존로직이 우선한다.
- if (fGetFormRec("srcformcd") != "0000000677") {
- if (fGetFormRec("status") == "U" && signedYn == "N" && fGetFormRec("espiyn") == "Y") {
- messageBox("인증저장후에 임시저장을", "E001");
- return false;
- }
- }
-
- try
- {
- //2010-02-18 오전 9:19:50 강지훈 수정 : fClickSave를 최종진단명요약에서도 호출하기때문에 조건에따라 분기하도록 변경.
- //opner의 'SSMMR01100_fChkPreSaveUseFlag' parameter로 fChkPreSave 호출여부를 판단할수 있도록 수정.
- if(opener.window.javascript.getParameter("SSMMR01100_fChkPreSaveUseFlag") != "N"){
- if (ivw_base.window.javascript.fChkPreSave() == false){
- opener.window.javascript.clearParameter("SSMMR01100_fChkPreSaveUseFlag");
- return false;
- }
-
- opener.window.javascript.clearParameter("SSMMR01100_fChkPreSaveUseFlag");
- }
- else{
- opener.window.javascript.clearParameter("SSMMR01100_fChkPreSaveUseFlag");
- }
- }
- catch (e)
- {
- }
-
- //2010.05.26 김달현 - call visit되지 않은 응급실 환자의 인증저장 제한(서소영선생님요청)
- var callvisityn = fGetPamInfo("callvisityn");
- var ioflag = fGetPamInfo("ioflag");
- if(signedYn == "Y" && callvisityn == "N" && ioflag == "E"){
- messageBox("응급실 Visit Time을 등록 하지 않으면 기록과 처방은 임시저장만 가능 합니다.", "E");
- return false;
- }
-
-
- //2010.06.24 김달현 - (서울성모만적용) 입원초진JCI에 대해서 입원환자의 경우 간호입실저장되어있지 않으면 인증저장 제한
- //2010.07.19 김달현 - (전병원적용으로 변경) 입원초진에 대해 입원환자의 경우 간호입실저장되어있지 않으면 인증저장 제한
- var srcformcd = fGetFormRec("srcformcd");
- var careinrmdd = fGetPamInfo("careinrmdd");
- //alert("srcformcd:"+srcformcd + ",careinrmdd:" + careinrmdd + ",dutplceinstcd:" + getUserInfo("dutplceinstcd") + ",ioflag:" + ioflag);
- //if(signedYn == "Y" && getUserInfo("dutplceinstcd") == "012" && srcformcd == "0000000003" && ioflag == "I" && careinrmdd == "-"){
- if(signedYn == "Y" && srcformcd == "0000000003" && ioflag == "I" && careinrmdd == "-"){
- messageBox("해당환자는 간호입실확인되지 않았으므로 입원초진기록 임시저장만 가능 합니다.", "E");
- return false;
- }
-
- var cnstformcd = fGetFormRec("formcd");
- var cnstdoctid = ivw_base.model.getValue("/root/init/cond/rscdoctid");
- var cnstdeptcd = fGetFormRec("formrecdeptcd");;
- //20121220 정창혁 영상의학과 판독협진의뢰서 수신의 필수체크
- if (cnstformcd == "1000009108"){// && cnstdeptcd == "2160000000") { //20121221 판독협진의뢰서인 경우 수신의 필수체크
- if (cnstdoctid == "") {
- messageBox("[영상의학과 판독 협진의뢰서]인 경우 수신의는 필수입력사항입니다.", "E");
- return false;
- }
- }
-
- //2014/01/24 마취통증의학과로 컨설트시 마취 또는 통증 중에 선택하도록 블럭킹
- var anstflag = ivw_base.model.getValue("/root/init/cond/anstflag");
- var rscdeptcd = ivw_base.model.getValue("/root/init/cond/rscdeptcd");
- var oprnerId = opener.window.javascript.getScreenID();
- if(oprnerId=="SMMMR05000" && rscdeptcd=="2090000000" && anstflag=="" && getUserInfo("dutplcecd")!="2090000000"){
- messageBox("[마취통증의학과]로 컨설트 의뢰시 의뢰 구분은 필수 입력입니다.\nPCA 추가/수정 의뢰는 [마취] 선택 후 의뢰부탁드립니다.", "E");
- ivw_base.model.setFocus("rdo_anstflag");
- return false;
- }
- //2014/01/24
- return true;
- }
- /**
- * 2010.02.25 안치원 - 입퇴원요약기록 - 퇴원처방 입력방법 변경(팝업)
- * @param openFlag
- * @return
- */
- function setInitInfo_MMR01100(key, value)
- {
- model.makeValue(PATH_LOADER_INI+"/"+key, value);
- }
- function getInitInfo_MMR01100(key)
- {
- return model.getValue(PATH_LOADER_INI+"/"+key);
- }
- /**
- * 2010.03.18 안치원 - 상단환자정보와 기록환자정보가 같은지 검사한다.
- * @return 유효여부
- */
- function validPamInfo_MMR01100(fromFlag)
- {
- model.addLog("validPamInfo_MMR01100::"+fromFlag);
- // alert("validPamInfo_MMR01100::"+fromFlag);
-
- var oprnerId = opener.window.javascript.getScreenID();
- if(oprnerId == "SMMMR00100")
- {
- var node = getGlobalVariable("paminfo");
- var sGetTopYn = opener.window.javascript.getParameter("SSMMR01100_getTopYn"); //SSMMR01100_getTopYn => top정보 조회여부 정보(N일경우 넘어온 파라미터기준, 아닐결루 TOP정보 기준)
- opener.window.javascript.clearParameter("chkdeptpresave");
-
- if(node != "" && sGetTopYn != "N")
- {
- model.removeNodeset("/root/pamtmp/paminfo");
- setCSVToNode("/root/pamtmp", node, "paminfo");
-
- var top_ioflag = model.getValue("/root/pamtmp/paminfo/iofalg");
- var top_pid = model.getValue("/root/pamtmp/paminfo/pid");
- var top_orddd = "";
- var top_cretno = model.getValue("/root/pamtmp/paminfo/cretno");
- var rec_pid = fGetFormRec("pid");
- var rec_orddd = fGetFormRec("orddd");
- var rec_cretno = fGetFormRec("cretno");
-
- if (top_ioflag == "O" || top_ioflag == "S") {
- top_orddd = model.getValue("/root/pamtmp/paminfo/orddd");
- }
- else {
- top_orddd = model.getValue("/root/pamtmp/paminfo/indd");
- }
-
- if (top_pid != rec_pid && getParameter("calledflag").indexOf("cpg") == -1) //20130524 정창혁 cpg인 경우 최초 저장시 EMR로 설정함. CPG인 경우 최초사용자 안타게 추가
- {
- messageBox("상단의 환자정보("+top_pid+")와 기록지의 환자정보("+rec_pid+")가 다르므로, \n다음 진행을 할 수 없습니다.", "E");
- return false;
- }
- }
- }
- return true;
- }
- /**
- * 2010-03-26 오전 9:27:48 강지훈 수정 : [요청번호 10010] 입원수진에 외래[formchosflag = 'O'] 기록 작성을 막는다.
- * @return 유효여부
- */
- function validFormchos_MMR01100(msgFlag){
- //model.addLog("validPamInfo_MMR01100::"+fromFlag);
-
- var formchosflag = model.getValue(gPageInfo.formmastRef + "/formchosflag");
- var patchosflag = model.getValue(gPageInfo.recMastRef + "/chosflag");
- var ioflag = fGetPamInfo("ioflag");
-
- //alert("formchosflag : "+ formchosflag + ", patchosflag : " + patchosflag + ", ioflag : " + ioflag );
-
- if(ioflag != "O" && formchosflag == "O"){
- if(msgFlag == true){
- messageBox("입원환자이므로 외래서식을 작성하실 수", "I004");
- }
- return false;
- }
- return true;
- }
- function validFormchos_MMR01100_OUT(msgFlag){
- //model.addLog("validPamInfo_MMR01100::"+fromFlag);
-
- var formchosflag = model.getValue(gPageInfo.formmastRef + "/formchosflag");
- var patchosflag = model.getValue(gPageInfo.recMastRef + "/chosflag");
- var ioflag = fGetPamInfo("ioflag");
-
- //alert("formchosflag : "+ formchosflag + ", patchosflag : " + patchosflag + ", ioflag : " + ioflag );
-
- if(ioflag == "O" && formchosflag == "I"){
- if(msgFlag == true){
- messageBox("외래 수진이므로 입원서식을 작성하실 수", "I004");
- }
- return false;
- }
- return true;
- }
-
- /**
- 최초작성자와 동일한 부서 사용자인지 체크
- 20121217 정창혁
- */
- function fGetEditableDept() {
- model.makeValue("/root/send/editable/formcd", fGetFormRec("srcformcd"));//"1000007334");
- model.makeValue("/root/send/editable/formrecseq", fGetFormRec("formrecseq"));
- model.makeValue("/root/send/editable/pid", fGetFormRec("pid"));
- model.makeValue("/root/send/editable/dutplcecd", getUserInfo("dutplcecd"));
-
- if (submit("TRMMR01304", false)) {
- if (model.getValue("/root/rtneditable/editableInfo/editableyn") == "Y") {
- return true;
- }
- }
- return false;
- }
- /**
- * 서식로더가 Consult관리(SMMMR05000)에서 임포트시 MMR05000.js의 fSendRecInfoToSMMMO00100()를 사용하기 위한 함수
- */
- function fSendRecInfoSMMMR05000ToSMMMO00100(scrnid){
- if(scrnid == "SMMMR05000"){
- opener.javascript.fSendRecInfoToSMMMO00100();
- }
- }
- /**
- * 현재 서식이 검사 기록지 일경우 블로킹 처리
- */
- function fCheckedTestRecYN(){
-
- var flag = false;
-
- if(isPopup()){
- var openerScreenID = opener.opener.window.javascript.getScreenID();
- if(!isNull(openerScreenID) && openerScreenID == "SMMMR00100"){
- if(opener.window.javascript.getScreenID() == "SSMMR01100"){
- if(submit("TRMMR01106")){
- if(model.getValue("/root/temp/existentformcd/formrecseqyn") == "Y"){
- messageBox("검사결과 관리화면에서 삭제하시기 바랍니다!", "E999");
- flag = true;
- }
- }
-
- }
- }
- }
-
- return flag;
- }
- function fSendSMS(){
- var cnststat = fGetFormRec("cnststat");
- var formrecseq = fGetFormRec("formrecseq");
- var msg = "";
- var flag = "";
-
- model.makeValue("/root/send/reqdata/formrecseq",formrecseq);
- //model.makeValue("/root/send/reqdata/cnststat",cnststat);
-
- if (submit("TRMMR01305")) {
- }
-
- var smsmsg = model.getValue("/root/hidden/msglist/smsmsg");
- var mpphonno = model.getValue("/root/hidden/msglist/mpphonno");
- var usernm = model.getValue("/root/hidden/msglist/usernm");
- var cnststat = model.getValue("/root/hidden/msglist/cnststat");
- var sendhp = model.getValue("/root/hidden/msglist/sendhp");
-
- var curtime = getCurrentTime().substr(0,4);
- var CommTimefst = fGetHardCDList("Y", "9962", 3);
- var CommTimelst = CommTimefst-1000; //하드코드 시간 1730임
-
- var cInstcd = getUserInfo("dutplceinstcd")
-
- if(cInstcd =='032'){
- if (curtime > CommTimefst && curtime < CommTimelst) {
- return;
- }
-
- }
-
- //전화번호가 없거나 이미 보낸 이력이 있으면 보내지 않는다!
- if (mpphonno=="" || isNull(mpphonno)) {
- return;
- }
-
-
- if(cInstcd != '032'){
- if (cnststat > 12 ) {
- flag = "B";
- model.removeNodeset("/root/send/reqdata");
- model.makeValue("/root/send/reqdata/formrecseq",formrecseq);
- model.makeValue("/root/send/reqdata/cnststat",cnststat);
- model.makeValue("/root/send/reqdata/mpphonno",mpphonno);
- model.makeValue("/root/send/reqdata/smsmsg",smsmsg);
- model.makeValue("/root/send/reqdata/sendhp",sendhp);
- model.makeValue("/root/send/reqdata/usernm",usernm);
- model.makeValue("/root/send/reqdata/flag",flag);
-
- if (submit("TXMMR01306")) {
- }
- }
- }else if (cInstcd == '032'){
- if (cnststat >= 12 ) {
- flag = "A";
- if (cnststat = 30 ) {
- flag = "B";
- }
- model.removeNodeset("/root/send/reqdata");
- model.makeValue("/root/send/reqdata/formrecseq",formrecseq);
- model.makeValue("/root/send/reqdata/cnststat",cnststat);
- model.makeValue("/root/send/reqdata/mpphonno",mpphonno);
- model.makeValue("/root/send/reqdata/smsmsg",smsmsg);
- model.makeValue("/root/send/reqdata/sendhp",sendhp);
- model.makeValue("/root/send/reqdata/usernm",usernm);
- model.makeValue("/root/send/reqdata/flag",flag);
-
- if (submit("TXMMR01306")) {
- }
- }
-
-
- }
- /*
- if (cnststat <= 12 ) {
- msg = "수신자("+usernm+")에게 의뢰 문자메시지를 보내시겠습니까?";
- flag = "A";
- }
- else if (cnststat > 12 ) {
- msg = "입력자("+usernm+")에게 회신 문자메시지를 보내시겠습니까?";
- flag = "B";
- }
-
- if ( 6 == messageBox(msg,"Q") ) {
- model.removeNodeset("/root/send/reqdata");
- model.makeValue("/root/send/reqdata/formrecseq",formrecseq);
- model.makeValue("/root/send/reqdata/cnststat",cnststat);
- model.makeValue("/root/send/reqdata/mpphonno",mpphonno);
- model.makeValue("/root/send/reqdata/smsmsg",smsmsg);
- model.makeValue("/root/send/reqdata/sendhp",sendhp);
- model.makeValue("/root/send/reqdata/usernm",usernm);
- model.makeValue("/root/send/reqdata/flag",flag);
-
- if (submit("TXMMR01306")) {
- }
- }
- */
- }
- function fDisableformrecdd() {
- gformrecdddisable = true;
- }
- function fSetformrecdd(setdd) {
- model.setValue("/root/main/recinfo/formrec/formrecdd", setdd);
- ipt_formrecdd.refresh();
- }
|