SMMRI03000.js 255 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624
  1. /*
  2. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  3. 통합기록조회 ( SMMRI03000_통합기록조회2.xrw - JScript )
  4. - Version :
  5. 1) : Ver.1.00.01
  6. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  7. */
  8. var arrbtn = new Array("btn_all", "btn_prog", "btn_op", "btn_test", "btn_prcp", "btn_nurc", "btn_etc", "btn_img");
  9. var grdObj = "";
  10. var ref = "/root/main/recsrch/reclist";
  11. var stRef = "/root/tmp/reclist";
  12. var paramdefault = "";
  13. var isFirst = "Y";
  14. var gImgFile = "";
  15. var oprnerId = "";
  16. var srchorgcnt = 0;
  17. var srchcnt = 0;
  18. var srchendyn = "N";
  19. var privatetxt = "";
  20. var gtmptreatno = "";
  21. var gtmpiformcd = "";
  22. var gemrpath = "";
  23. var gemrorddate = "";
  24. var gemrformnm = "";
  25. var gemrformcd = "";
  26. var gemrdeptnm = "";
  27. var gemrdeptcd = "";
  28. var gemrpage = "";
  29. var gemrhiddenmsg = "";
  30. var multirecyn = "N"; //다수의 기록 여부(ex.기록+이미지)
  31. var nodeposcnt = 1;
  32. var prevflag = "N";
  33. var gv_ImgeSavePath = "C:\\BCP_OCR_Image\\";
  34. /**
  35. * @desc : 화면초기화
  36. * @id :
  37. * @event : xforms-ready
  38. * @return : void
  39. * @authur : 박종훈(튜닝)
  40. */
  41. function fInitalize()
  42. {
  43. var chkPidRtn = "";
  44. var userid = getUserInfo("userid");
  45. var openerid = opener.window.javascript.getParameter("SMMRI00400_param_openerid");
  46. iviewerIemr.window.javascript.setChartViewerSize(parseInt(iviewerIemr.attribute("width")), parseInt(iviewerIemr.attribute("height")));
  47. grd_reclist.fixedcellcheckbox(0,1)=true;
  48. //2012/12/04 Start 비뇨기과, 정신과, 산부인과, 알레르기 감염내과 사유입력 skip여부 체크
  49. mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/resnchk", 5585);
  50. mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/recformuseyn", 5628); // 통합기록 기록지별 조회 사용여부
  51. // 2014.04.21 통합기록 COPY 버튼 사용여부--------------------------------------------------------------
  52. mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/copybtnchk", 5635);
  53. //20140820 이윤주수정
  54. mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/fstsrcformcd", 5976); //최초작성일자 보이는 기록지
  55. mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/icdrsrcformcd", 5977); //헤더정보를 기록시점의 icdr를 읽어서 표시
  56. var jobkind = getUserInfo("jobkindcd").substring(0, 2);
  57. if( jobkind == "03" && model.getValue("/root/init/copybtnchk/hardcd/hardcd") == "Y" && openerid == "SMARC02500" ){
  58. btn_txtcopy.visible = true;
  59. } else if (fContainsHardCD("6152", getUserInfo("userid"))) {
  60. btn_txtcopy.visible = true;
  61. }
  62. else{
  63. btn_txtcopy.visible = false;
  64. }
  65. //---------------------------------------------------------------------------------------------------------------
  66. var recdate = getCurrentDate().toDate("YYYYMMDD");
  67. var dutplcecd = getUserInfo("dutplcecd");
  68. model.makeValue( "/root/init/recformdata/fromdd" , recdate.getAddDate(-6, "M").getDateFormat("YYYYMMDD"));
  69. model.makeValue( "/root/init/recformdata/todd" , getCurrentDate());
  70. model.makeNode("/root/init/recformdata/formcd");
  71. // 심사, 의무기록만 일단 OPEN 2014.02.19
  72. if( model.getValue("/root/init/recformuseyn/hardcd/hardcd") == "Y" && ( dutplcecd == "4070700000" || dutplcecd == "4072000000" || dutplcecd == "3230000000" || dutplcecd == "2240400000") ){
  73. rdo_option.visible = false;
  74. rdo_option1.visible = true;
  75. }else{
  76. rdo_option1.visible = false;
  77. rdo_option.visible = true;
  78. }
  79. //2012/12/04 End
  80. //20100406-kys-careplan, 환자교육 화면연동버튼추가
  81. if(getUserInfo("dutplceinstcd") == "012"){
  82. btn_careplan.visible = true;
  83. btn_patedu.visible = true;
  84. }else{
  85. btn_careplan.visible = false;
  86. btn_patedu.visible = false;
  87. }
  88. //2009-10-27 오후 4:37:13 강지훈 추가 : 북마크 사용여부를 기관별로 관리한다.
  89. mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/bmkuseyn", 9909);
  90. var bmkuseyn = model.getValue("/root/init/bmkuseyn/hardcd/hardcd");
  91. if (bmkuseyn == "Y")
  92. {
  93. btn_setbmk.visible = true;
  94. btn_mark.visible = true;
  95. }
  96. else{
  97. btn_setbmk.visible = false;
  98. btn_mark.visible = false;
  99. }
  100. var sUserDeptcd = getUserInfo("dutplcecd");
  101. var sJobkind = getUserInfo("jobkindcd").substring(0, 2);
  102. //2010-02-05 오전 9:17:04 강지훈 추가 : 요청번호 10612, Task 40877 병원,과별로 출력부서를 제한한다.
  103. mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/prntuseyn", 9920);
  104. mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/prntdept", 9921);
  105. mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/prntuserid", 9929);
  106. // KNUH_20101207_박성호_start_의무기록 부서코드 가져오기
  107. mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/dutplcecd", 5501);
  108. // KNUH_20101207_박성호_end
  109. var prntuseyn = model.getValue("/root/init/prntuseyn/hardcd/hardcd");
  110. if (prntuseyn == "Y")
  111. {
  112. if(model.getValue("/root/init/prntdept/hardcd[hardcd='" + sUserDeptcd + "']/hardcd") != ""){
  113. btn_prnt.visible = true;
  114. txt_private.visible = true;
  115. }
  116. else{
  117. btn_prnt.visible = false;
  118. txt_private.visible = false;
  119. }
  120. if(model.getValue("/root/init/prntuserid/hardcd[hardcd='" + getUserInfo("userid") + "']/hardcd") != ""){
  121. btn_prnt.visible = true;
  122. txt_private.visible = true;
  123. }
  124. }
  125. else{
  126. btn_prnt.visible = true;
  127. txt_private.visible = true;
  128. }
  129. // KNUH_20101207_박성호_start_의무기록 부서코드 가져오기
  130. //if(sJobkind == "03" || sUserDeptcd == "3230000000")
  131. if(sJobkind == "03" || model.getValue("/root/init/dutplcecd/hardcd[hardcd='" + sUserDeptcd + "']/hardcd") != "")
  132. // KNUH_20101207_박성호_end
  133. {
  134. btn_copyprt.visible = true;
  135. }
  136. model.setValue("/root/init/env/instcd",getUserInfo("dutplceinstcd"));
  137. //20130107 이윤주추가(병원크로스 라디오버튼)
  138. rdo_instcd.attribute("visibility") = "hidden";
  139. var jobkindcd = getUserInfo("jobkindcd");
  140. var dutplcecd = getUserInfo("dutplcecd");
  141. //열람신청화면에서 분기하지 않을때(20130107)
  142. if (openerid != "SMMRI08000") {
  143. if (jobkindcd.substr(0,2) == "03") {
  144. if (jobkindcd != "1800" && jobkindcd != "1799"){
  145. rdo_instcd.attribute("visibility") = "visible";
  146. }
  147. }
  148. else{
  149. if (dutplcecd == "4072000000" || dutplcecd == "4070700000") {
  150. rdo_instcd.attribute("visibility") = "visible";
  151. }
  152. }
  153. // 특정사용자(EMR001)도 가능토록
  154. mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/crossusr", 5611);
  155. var userid = getUserInfo("userid");
  156. var crossusrCnt = getNodesetCnt(model, "/root/init/crossusr/hardcd[hardcd = '" + userid + "']"); //Cross 조회 가능자
  157. if (crossusrCnt > 0) {
  158. rdo_instcd.attribute("visibility") = "visible";
  159. }
  160. }
  161. //이윤주 수정(20151221)
  162. if (getUserInfo("dutplceinstcd") == "033") {
  163. rdo_instcd.attribute("visibility") = "hidden";
  164. }
  165. //개인정보 보호 체크박스 disable
  166. if (openerid == "SMMRI08000") {
  167. // 개인정보보호 check를 위한 정보 2013.07.09 CYW
  168. mmbfGetHardCodeInfo("/root/send/reqdata", "/root/temp/prntuser", 5565 );
  169. mmbfGetHardCodeInfo("/root/send/reqdata", "/root/temp/indx", 5591 );
  170. var cnt = getNodesetCount("/root/temp/prntuser/hardcd");
  171. for( var i = 1 ; i <= cnt ; i++){
  172. if( userid == model.getValue("/root/temp/prntuser/hardcd[" +i + "]/hardcd") ){
  173. model.setValue("/root/init/privatetxt", model.getValue("/root/temp/prntuser/hardcd[" + i + "]/hardcdnm")) ;
  174. }
  175. }
  176. setParameter("SMMRI03000_privateflag", model.getValue("/root/init/privatetxt") );
  177. privatetxt = model.getValue("/root/init/privatetxt");
  178. if( "1" == model.getValue("/root/init/privatetxt") ){
  179. txt_private.visible = false;
  180. }
  181. if( "2" == model.getValue("/root/init/privatetxt") || "3" == model.getValue("/root/init/privatetxt") ){
  182. txt_private.value = "【 개인정보보호출력 】";
  183. }
  184. }
  185. if (isPopup())
  186. {
  187. //alert(opener.javascript.getScreenID());
  188. var parampid = opener.window.javascript.getParameter("SMMRI00400_param_pid");
  189. var paramchosflag = opener.window.javascript.getParameter("SMMRI00400_param_chosflag");
  190. var authflag = opener.window.javascript.getParameter("SMMRI00400_param_authflag");
  191. if (authflag == "N")
  192. {
  193. ipt_pid.disabled = true;
  194. ipt_hngnm.disabled = true;
  195. btn_search.disabled = true;
  196. ipt_rrgstno1.disabled = true;
  197. ipt_rrgstno2.disabled = true;
  198. button14.disabled = true;
  199. btn_prnt.disabled = true;
  200. }
  201. else
  202. {
  203. ipt_pid.disabled = false;
  204. ipt_hngnm.disabled = false;
  205. btn_search.disabled = false;
  206. ipt_rrgstno1.disabled = false;
  207. ipt_rrgstno2.disabled = false;
  208. button14.disabled = false;
  209. btn_prnt.disabled = false;
  210. }
  211. }
  212. //2010-02-17 오전 10:08:30 이환석 추가 : 통합기록조회가 열릴 때 제외 부서 이외 Keyin 제한.
  213. mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/keyuseyn", 9923);
  214. mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/keydept", 9924);
  215. //2010-02-22 성규훈 추가 : 통합기록조회시 제외 직종 이외 keyin 제한
  216. mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/keyjob", 9927);
  217. //2010-03-06 성규훈 추가 : 통합기록조회시 제외 직책 이외 keyin 제한
  218. mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/keypos", 9929);
  219. var keyuseyn = model.getValue("/root/init/keyuseyn/hardcd/hardcd");
  220. var sJobkindkey = getUserInfo("jobkindcd").substring(1, 4);
  221. var sJobposkey = getUserInfo("jobposcd");
  222. if(keyuseyn == "Y") {
  223. if(model.getValue("/root/init/keydept/hardcd[hardcd='" + sUserDeptcd + "']/hardcd") != "" || (model.getValue("/root/init/keyjob/hardcd[hardcd='" + sJobkindkey + "']/hardcd") != "" && model.getValue("/root/init/keypos/hardcd[hardcd='" + sJobposkey + "']/hardcd") != "")) {
  224. ipt_pid.disabled = false;
  225. ipt_hngnm.disabled = false;
  226. btn_search.disabled = false;
  227. ipt_rrgstno1.disabled = false;
  228. ipt_rrgstno2.disabled = false;
  229. cmb_dept.disabled = false;
  230. } else {
  231. ipt_pid.disabled = true;
  232. ipt_hngnm.disabled = true;
  233. btn_search.disabled = true;
  234. ipt_rrgstno1.disabled = true;
  235. ipt_rrgstno2.disabled = true;
  236. cmb_dept.disabled = true;
  237. }
  238. } else {
  239. ipt_pid.disabled = false;
  240. ipt_hngnm.disabled = false;
  241. btn_search.disabled = false;
  242. ipt_rrgstno1.disabled = false;
  243. ipt_rrgstno2.disabled = false;
  244. cmb_dept.disabled = false;
  245. }
  246. if(parampid == "")
  247. {
  248. var pamInfoCvs = getGlobalVariable("paminfo"); //상단정보가 있을 경우는 검색
  249. var pid = "";
  250. if(pamInfoCvs != null)
  251. { //cvs가 null이 아닌 경우에만 처리함.
  252. model.removeNodeSet ("/root/main/result/paminfo/list");
  253. setCSVToNode ("/root/main/result/paminfo", pamInfoCvs);
  254. pid = model.getValue ("/root/main/result/paminfo/list/pid");
  255. ordtype = model.getValue ("/root/main/result/paminfo/list/ioflag");
  256. if ( !isNull ( pid ) )
  257. {
  258. if(oprnerId == "SPMRC03200")
  259. {
  260. opener.window.javascript.fGetCopyCmpPid(pid);
  261. }
  262. //pid가 넘어올경우 emrbrowser가 떠 있으면 emrbrowser로 pid를 넘기고 (구)통합기록조회는 새로 조회 안함
  263. var emrobj = getOpenWindow("SMMRB00101");
  264. if(emrobj == null){
  265. ipt_pid.value = pid;
  266. chkPidRtn = fPidKeyPress(); //등록번호로 환자 정보조회
  267. }
  268. else{
  269. try{
  270. setParameter("SMMRB00101_param_pid" , pid);
  271. emrobj.javascript.fChangeOpenerPid();
  272. activateChild("SMMRB00101");
  273. //통합기록조회 초기화
  274. iviewerIemr.window.javascript.cleanViewer();
  275. model.resetInstanceNode("/root/main/patinfo/patinfolist");
  276. model.removeNodeSet("/root/main/pathist/patordhist");
  277. model.removeNodeSet("/root/main/midindx/midindxlist");
  278. model.removeNodeSet("/root/main/treeview/item");
  279. model.resetInstanceNode("/root/source");
  280. model.removeNode("/root/send");
  281. model.makeNode("/root/send");
  282. model.refresh();
  283. }catch(e){}
  284. }
  285. }
  286. }
  287. }
  288. else
  289. {
  290. //pid가 넘어올경우 emrbrowser가 떠 있으면 emrbrowser로 pid를 넘기고 (구)통합기록조회는 새로 조회 안함
  291. var emrobj = getOpenWindow("SMMRB00101");
  292. if(emrobj == null){
  293. ipt_pid.value = parampid;
  294. chkPidRtn = fPidKeyPress(); //등록번호로 환자 정보조회
  295. }
  296. else{
  297. try{
  298. setParameter("SMMRB00101_param_pid" , parampid);
  299. emrobj.javascript.fChangeOpenerPid();
  300. activateChild("SMMRB00101");
  301. //통합기록조회 초기화
  302. iviewerIemr.window.javascript.cleanViewer();
  303. model.resetInstanceNode("/root/main/patinfo/patinfolist");
  304. model.removeNodeSet("/root/main/pathist/patordhist");
  305. model.removeNodeSet("/root/main/midindx/midindxlist");
  306. model.removeNodeSet("/root/main/treeview/item");
  307. model.resetInstanceNode("/root/source");
  308. model.removeNode("/root/send");
  309. model.makeNode("/root/send");
  310. model.refresh();
  311. }catch(e){}
  312. }
  313. }
  314. model.setValue("/root/init/ioflag", "ALL");
  315. model.removeNodeset("/root/send");
  316. model.makeValue("/root/send/trgtno", 1100);
  317. model.makeValue("/root/send/exno", 1110);
  318. model.makeValue("/root/send/instcd", model.getValue("/root/init/env/instcd"));
  319. submit("TRMRI03006");
  320. //2009-11-17 오후 5:48:29 강지훈 수정 : 휠스크롤 메세지박스 사용여부 개인별 환경설정으로 관리
  321. fGetUserEnvOcsOrdAnsw("/root/send/reqdata", "/root/envinit/wheel", "017");
  322. model.makeValue("/root/tmp/wheelmsg", model.getValue("/root/envinit/wheel/answvalnm"));
  323. //2009-10-20 오후 2:01:30 강지훈 수정
  324. model.toggle("grd");
  325. //2010-02-17 오후 4:37:13 박종훈 추가 : 사용자 환경설정을 사용하여 조회조건 셋팅.
  326. fGetUserEnvOcsOrdAnsw("/root/send/reqdata", "/root/envinit/option", "020");
  327. fGetUserEnvOcsOrdAnsw("/root/send/reqdata", "/root/envinit/defdept", "021");
  328. fGetUserEnvOcsOrdAnsw("/root/send/reqdata", "/root/envinit/tab", "022");
  329. fGetUserEnvOcsOrdAnsw("/root/send/reqdata", "/root/envinit/viewmode", "023");
  330. //기간검색 유무
  331. fGetUserEnvOcsOrdAnsw("/root/send/reqdata", "/root/envinit/paging", "036");
  332. // 통합기록조회 조회조건(타이틀제거 컨트롤 사용여부) 2013.09.06 CYW
  333. fGetUserEnvOcsOrdAnsw("/root/send/reqdata", "/root/envinit/titledeluseyn", "044");
  334. if(model.getValue("/root/envinit/titledeluseyn/answcnt") == "002"){ // 컨트롤사용
  335. bool_viewflag.visible = true;
  336. // 통합기록조회 조회조건(타이틀제거 여부) 2013.08.23 CYW
  337. fGetUserEnvOcsOrdAnsw("/root/send/reqdata", "/root/envinit/titledelyn", "040");
  338. if(model.getValue("/root/envinit/titledelyn/answcnt") == "001"){ // 타이틀보기
  339. bool_viewflag.selected = false;
  340. }else{
  341. bool_viewflag.selected = true;
  342. }
  343. }else{
  344. bool_viewflag.visible = false;
  345. bool_viewflag.selected = false;
  346. }
  347. /*
  348. * 2010.08.24, 주희경 의무기록열람 승인 관련 링크로 기록조회 시 진료과로 조회되고
  349. * 조회 조건을 변경하여 재조회 할 수 없도록 disable 처리
  350. */
  351. var openerid = opener.window.javascript.getParameter("SMMRI00400_param_openerid");
  352. if ( openerid == "SMMRI08000")
  353. {
  354. setParameter("SMMRI08000_breakyn", "true");
  355. var pid = opener.window.javascript.getParameter("SMMRI00400_param_pid");
  356. //열람신청번호 연결 이윤주 수정(20120127)
  357. var appno = opener.window.javascript.getParameter("SMMRI00400_param_appno");
  358. var histno = opener.window.javascript.getParameter("SMMRI00400_param_histno");
  359. model.makeValue("/root/init/view/appno", appno);
  360. model.makeValue("/root/init/view/histno", histno);
  361. //진료과별로 조회되도록 셋팅
  362. model.setValue("/root/envinit/option/answcnt", "002");
  363. //조회조건을 변경하여 재조회 하지 못하도록 disable
  364. ipt_pid.disabled = true; //등록번호
  365. ipt_hngnm.disabled = true; //성명
  366. btn_search.disabled = true; //성명 조회버튼
  367. ipt_rrgstno1.disabled = true; //주민번호1
  368. ipt_rrgstno2.disabled = true; //주민번호2
  369. button5.disabled = true; //주민번호 옆 검색 버튼
  370. button3.disabled = true; //조회버튼
  371. rdo_option.disabled = true; //수진이력별, 진료과별 라디오 버튼
  372. rdo_option1.disabled = true; //수진이력별, 진료과별 라디오 버튼
  373. btn_prnt.attribute("visibility") = "hidden"; //출력버튼 숨김
  374. btn_copyprt.attribute("visibility") = "hidden"; //사본신청버튼 숨김
  375. button14.attribute("visibility") = "hidden"; //조회이력버튼 숨김
  376. btn_unprep.attribute("visibility") = "hidden"; //미비확인버튼 숨김
  377. txt_private.visible = true;
  378. btn_setbmk.attribute("left") = 1175; //북마크등록 버튼 위치 옮김
  379. }
  380. //////////////////////
  381. var option = model.getValue("/root/envinit/option/answcnt");
  382. if (option == "") {
  383. option = "001";
  384. }
  385. var viewmode = model.getValue("/root/envinit/viewmode/answcnt");
  386. if (viewmode == "") {
  387. viewmode = "002";
  388. }
  389. switch(viewmode)
  390. {
  391. case "001" :
  392. iviewerIemr.window.javascript.setupChart("TV");
  393. break;
  394. case "002" :
  395. iviewerIemr.window.javascript.setupChart("CV");
  396. break;
  397. case "003" :
  398. iviewerIemr.window.javascript.setupChart("PV");
  399. break;
  400. }
  401. var tab = model.getValue("/root/envinit/tab/answcnt");
  402. if (tab == "") {
  403. tab = "001";
  404. }
  405. //2014/04/18 환경변수에서 페이징 여부 주석처리 이정택
  406. model.setValue("/root/init/pagingyn","");
  407. model.setValue("/root/init/sortkind","A");
  408. /*
  409. var paging = model.getValue("/root/envinit/paging/answcnt");
  410. if (paging == "001") {
  411. cbx_paging.attribute("visibility") = "visible";
  412. model.setValue("/root/init/pagingyn","Y");
  413. cbx_paging.refresh();
  414. cbx_paging.dispatch("xforms-value-changed");
  415. }
  416. else {
  417. cbx_paging.attribute("visibility") = "hidden";
  418. }
  419. */
  420. //2014/04/18 환경변수에서 페이징 여부 주석처리 이정택
  421. //수진이력, 진료과별, 서식지별(미개발)에 따른 조건 설정
  422. switch(option)
  423. {
  424. case "001" :
  425. model.setValue("/root/init/env/option", "H");
  426. cmb_dept.disabled = false;
  427. fSetGridSize("one");
  428. break;
  429. case "002" :
  430. model.setValue("/root/init/env/option", "D");
  431. cmb_dept.disabled = true;
  432. fSetGridSize("two");
  433. break;
  434. case "003" :
  435. model.setValue("/root/init/env/option", "F");
  436. cmb_dept.disabled = false;
  437. break;
  438. }
  439. rdo_option.refresh();
  440. rdo_option1.refresh();
  441. //fSelectOption();
  442. if (chkPidRtn)
  443. {
  444. if (option == "001")
  445. {
  446. fGetPatOrddept();
  447. }
  448. switch(tab)
  449. {
  450. case "001" :
  451. btn_all.selected = true;
  452. if (option == "001")
  453. {
  454. caption2.value = "수진이력";
  455. cmb_dept.disabled = false;
  456. fSetGridSize("one");
  457. btn_all.dispatch("DOMActivate");
  458. }
  459. else
  460. {
  461. caption2.value = "진료과";
  462. cmb_dept.disabled = true;
  463. fSetGridSize("two");
  464. model.setValue("/root/init/ioflag", "ALL");
  465. }
  466. break;
  467. case "002" :
  468. btn_out.selected = true;
  469. if (option == "001")
  470. {
  471. caption2.value = "수진이력";
  472. cmb_dept.disabled = false;
  473. fSetGridSize("one");
  474. btn_out.dispatch("DOMActivate");
  475. }
  476. else
  477. {
  478. caption2.value = "진료과";
  479. cmb_dept.disabled = true;
  480. fSetGridSize("two");
  481. model.setValue("/root/init/ioflag", "O");
  482. }
  483. break;
  484. case "003" :
  485. btn_in.selected = true;
  486. if (option == "001")
  487. {
  488. caption2.value = "수진이력";
  489. cmb_dept.disabled = false;
  490. fSetGridSize("one");
  491. btn_in.dispatch("DOMActivate");
  492. }
  493. else
  494. {
  495. caption2.value = "진료과";
  496. cmb_dept.disabled = true;
  497. fSetGridSize("two");
  498. model.setValue("/root/init/ioflag", "I");
  499. }
  500. break;
  501. case "004" :
  502. btn_er.selected = true;
  503. if (option == "001")
  504. {
  505. caption2.value = "수진이력";
  506. cmb_dept.disabled = false;
  507. fSetGridSize("one");
  508. btn_er.dispatch("DOMActivate");
  509. }
  510. else
  511. {
  512. caption2.value = "진료과";
  513. cmb_dept.disabled = true;
  514. fSetGridSize("two");
  515. model.setValue("/root/init/ioflag", "E");
  516. }
  517. break;
  518. case "005" :
  519. btn_mark.selected = true;
  520. btn_mark.dispatch("DOMActivate");
  521. break;
  522. default:
  523. btn_all.selected = true;
  524. if (option == "001")
  525. {
  526. caption2.value = "수진이력";
  527. cmb_dept.disabled = false;
  528. fSetGridSize("one");
  529. btn_all.dispatch("DOMActivate");
  530. }
  531. else
  532. {
  533. caption2.value = "진료과";
  534. cmb_dept.disabled = true;
  535. fSetGridSize("two");
  536. model.setValue("/root/init/ioflag", "ALL");
  537. }
  538. break;
  539. }
  540. if (option == "002")
  541. {
  542. fGetPatOrddept();
  543. }
  544. }
  545. /*
  546. * 2010.08.26, 주희경 의무기록열람 승인 관련 링크로 기록조회 시 승인된 진료과만 열람 하도록 hidden 처리
  547. */
  548. if ( openerid == "SMMRI08000")
  549. {
  550. setParameter("SMMRI08000_breakyn", "false");
  551. var orddeptengabbr = opener.window.javascript.getParameter("SMMRI00400_param_orddeptengabbr");
  552. var firstrow = -1;
  553. for(i=1; i<datagrid3.rows; i++)
  554. {
  555. var deptengabbr = datagrid3.valueMatrix( i, datagrid3.colRef("deptengabbr") );
  556. var idx = orddeptengabbr.indexOf(deptengabbr);
  557. if ( idx == -1 )
  558. {
  559. datagrid3.rowHidden(i) = true;
  560. }
  561. else
  562. {
  563. if ( firstrow == -1 )
  564. firstrow = i;
  565. }
  566. }
  567. datagrid3.row = firstrow;
  568. datagrid3.col = datagrid3.colRef("deptengabbr");
  569. fDbclickDept();
  570. }
  571. ///////////////
  572. }
  573. /**
  574. * @desc : 옵션에 따른 그리드 사이즈 조절
  575. * @id :
  576. * @event : DOMActivate
  577. * @return : void
  578. * @authur : 박종훈
  579. */
  580. function fSetGridSize(parm)
  581. {
  582. if (parm == "one")
  583. {
  584. datagrid3.attribute("width") = 0;
  585. grd_pathist.attribute("left") = 0;
  586. grd_pathist.attribute("width") = 336;
  587. }
  588. else
  589. {
  590. datagrid3.attribute("width") = 94;
  591. grd_pathist.attribute("width") = 243;
  592. grd_pathist.attribute("left") = 93;
  593. }
  594. }
  595. /**
  596. * @desc : 환자 수진부서 조회
  597. * @id :
  598. * @event : DOMActivate
  599. * @return : void
  600. * @authur : 박종훈
  601. */
  602. function fGetPatOrddept()
  603. {
  604. // PID 변경후 조회 클릭시 환자명 안바뀌는 오류 수정. 환자조회 해주기. 2013.06.26
  605. if( model.getValue("/root/send/chkflag") == "true" ){
  606. fPidKeyPress();
  607. model.setValue( "/root/send/chkflag", "false" );
  608. }
  609. //2010.03.25 박종훈 추가
  610. if (model.getValue("/root/main/patinfo/patinfolist/pid") == "" && model.getValue("/root/main/patinfo/patinfolist/hngnm") == "")
  611. {
  612. messageBox("선택된 환자가","I004");
  613. //model.resetInstanceNode("/root/main/patinfo/patinfolist");
  614. return;
  615. }
  616. model.removeNodeset("/root/send");
  617. model.removeNodeset("/root/initinfo/lrgIndx");
  618. model.removeNodeset("/root/initinfo/dplist");
  619. model.makeValue("/root/send/pid", model.getValue("/root/main/patinfo/patinfolist/pid"));
  620. model.makeValue("/root/send/instcd", model.getValue("/root/init/env/instcd")); //20120628 이윤주수정
  621. if (submit("TRMRI03001"))
  622. {
  623. //2010-03-20 오전 10:35:43 강지훈 수정 : 환경설정에 따라 조회가 되지않는 오류수정 : 긴급배포로인해 주석처리
  624. //var dplistNode = instance1.selectSingleNode("/root/initinfo/dplist");
  625. //if(dplistNode == null || dplistNode == ""){
  626. //var dpCnt = getNodesetCount(model, "/root/initinfo/dplist");
  627. //if (dpCnt == 0) {
  628. // model.makeValue("/root/initinfo/dplist[1]/deptcd", "ALL");
  629. // model.makeValue("/root/initinfo/dplist[1]/deptlist", "전체");
  630. //}
  631. //else{
  632. // addComboInstance("/root/initinfo", "deptcd^deptnm", "ALL^전체", "dplist");
  633. //}
  634. addComboInstance("/root/initinfo", "itemindxseq^indxnm", "ALL^전체", "lrgIndx");
  635. addComboInstance("/root/initinfo", "deptcd^deptnm", "ALL^전체", "dplist");
  636. model.makeValue("/root/initinfo/dplist[1]/deptengabbr", "전체");
  637. model.setValue("/root/init/tabflag", "ALL");
  638. cmb_dept.refresh();
  639. datagrid3.rebuild();
  640. rdo_lindx.refresh();
  641. var sUserDeptcd = getUserInfo("dutplcecd");
  642. var defdept = model.getValue("/root/envinit/defdept/answcnt");
  643. if (defdept == "")
  644. defdept = "002";
  645. //해당과, 전체과 환경설정
  646. if (defdept == "002")
  647. {
  648. model.setValue("/root/init/orddept", "ALL");
  649. datagrid3.row = 1;
  650. datagrid3.rowstyle(1, "data", "background-color") = "#ffcc99";
  651. }
  652. else if (defdept == "001")
  653. {
  654. var itrgtNodeCnt = getNodesetCnt(model, "/root/initinfo/dplist[deptcd = '" + sUserDeptcd + "']");
  655. if (itrgtNodeCnt > 0)
  656. {
  657. model.setValue("/root/init/orddept", sUserDeptcd);
  658. var row = datagrid3.findRow(sUserDeptcd, 1, 1, false, false);
  659. datagrid3.row = row;
  660. datagrid3.rowstyle(row, "data", "background-color") = "#ffcc99";
  661. }
  662. else
  663. {
  664. model.setValue("/root/init/orddept", "ALL");
  665. datagrid3.row = 1;
  666. datagrid3.rowstyle(1, "data", "background-color") = "#ffcc99";
  667. }
  668. }
  669. else
  670. {
  671. model.setValue("/root/init/orddept", "ALL");
  672. datagrid3.row = 1;
  673. datagrid3.rowstyle(1, "data", "background-color") = "#ffcc99";
  674. }
  675. var option = model.getValue("/root/envinit/option/answcnt");
  676. if (option == "")
  677. option = "001";
  678. var tab = model.getValue("/root/envinit/tab/answcnt");
  679. if (tab == "")
  680. tab = "001";
  681. //수진이력, 진료과별, 서식지별(미개발)에 따른 조건 설정
  682. if(option == "002" && tab != "005") //북마크가 아닌경우에 자동 조회
  683. {
  684. fDbclickDept();
  685. // if (grd_pathist.rows > 1)
  686. // {
  687. // grd_pathist.row = 1;
  688. // fGetRecMidIndx();
  689. // }
  690. }
  691. cmb_dept.refresh();
  692. }
  693. }
  694. /**
  695. * @desc : 환자 수진이력 조회
  696. * @id :
  697. * @event : DOMActivate
  698. * @return : void
  699. * @authur : 박종훈(튜닝)
  700. */
  701. function fGetPatOrdHist(ioflag)
  702. {
  703. model.toggle("grd");
  704. datagrid3.allstyle("data", "background-color") = "#ffffff";
  705. iviewerIemr.window.javascript.cleanViewer();
  706. //if (model.getValue("/root/init/env/option") != "H")
  707. // return;
  708. var orddept = model.getValue("/root/init/orddept");
  709. var tmpioflag = "" ;
  710. if (ioflag == null || ioflag == "")
  711. {
  712. tmpioflag = model.getValue("/root/init/ioflag");
  713. }
  714. else
  715. {
  716. model.setValue("/root/init/ioflag", ioflag);
  717. tmpioflag = ioflag;
  718. }
  719. model.setValue("/root/init/totcnt", "");
  720. lbl_totcnt.refresh();
  721. model.removeNodeset("/root/send");
  722. model.removeNodeset("/root/main/pathist/patordhist");
  723. model.removeNodeset("/root/main/midindx/midindxlist");
  724. model.resetInstanceNode("/root/init/accresn");
  725. model.resetInstanceNode("/root/init/prtresn");
  726. model.resetInstanceNode("/root/init/itemindxseq");
  727. model.resetInstanceNode("/root/init/midreccnt");
  728. model.resetInstanceNode("/root/init/reccurpos");
  729. model.makeValue("/root/send/pid", model.getValue("/root/main/patinfo/patinfolist/pid"));
  730. model.makeValue("/root/send/ioflag", tmpioflag);
  731. model.makeValue("/root/send/orddeptcd", model.getValue("/root/init/orddept"));
  732. model.makeValue("/root/send/instcd", model.getValue("/root/init/env/instcd")); //20120628 이윤주수정
  733. submit("TRMRI03002");
  734. if (ioflag == "I" || ioflag == "E")
  735. {
  736. grd_pathist.colhidden(grd_pathist.colref("centcd")) = true; //센터 컬럼 안보이게
  737. grd_pathist.attribute("scroll") = "autovscroll";
  738. }
  739. else
  740. {
  741. grd_pathist.colhidden(grd_pathist.colref("centcd")) = false; //센터 컬럼 보이게
  742. grd_pathist.attribute("scroll") = "auto";
  743. }
  744. grd_pathist.rebuild();
  745. }
  746. /**
  747. * @desc : 환자 기록 중분류 조회
  748. * @id :
  749. * @event : ondblclick
  750. * @return : void
  751. * @authur : 박종훈
  752. */
  753. //2012/11/28 Start
  754. var dutplcecd_chk=false;
  755. //2012/11/28 End
  756. function fGetRecMidIndx( grow )
  757. {
  758. var openerid = opener.window.javascript.getParameter("SMMRI00400_param_openerid");
  759. if (openerid != "SMMRI08000")
  760. {
  761. model.makeValue("/root/send/pid", model.getValue("/root/main/patinfo/patinfolist/pid"));
  762. model.makeValue("/root/send/instcd", model.getValue("/root/init/env/instcd"));
  763. submit("TRMRI03007");
  764. var active = model.getValue("root/activeyn/activeyn");
  765. var activeyn = active.substr(0,1);
  766. var activespec = active.substr(1,1000);
  767. var len = active.length;
  768. if (activeyn == "N")
  769. {
  770. var msg;
  771. if (len == 1) {
  772. msg = "Active 환자가 아닙니다 ";
  773. }
  774. else {
  775. msg = activespec;
  776. }
  777. messageBox(msg+"『 의무기록 열람 및 조회 신청 화면』에서 신청 후 열람하여 주시기 바랍니다. 문의:의무기록실(삼덕동:5322,칠곡:2402,치과:7112)","I999");
  778. return;
  779. }
  780. }
  781. //2012/12/04 Start
  782. if(model.getValue("/root/init/resnchk/hardcd/hardcd")=="Y"){
  783. var chk_node = model.instance1.selectNodes("/root/main/pathist/patordhist[dschdd ='재원중' and wardcd = '" + getUserInfo("dutplcecd") + "']");
  784. if(chk_node.length>0){
  785. dutplcecd_chk=true;
  786. }
  787. }
  788. //2012/12/04 End
  789. var row = grow;
  790. if ( grow == null )
  791. row = grd_pathist.row;
  792. multirecyn = "N"; //다수의 기록 여부(ex.기록+이미지)
  793. nodeposcnt = 1;
  794. prevflag = "N";
  795. var pid = "";
  796. var orddd = "";
  797. var cretno = "";
  798. var orddeptcd = "";
  799. var tabflag = "";
  800. var bfopentest = ""; //2009-10-31 오후 2:39:16 강지훈 추가 : nU 오픈전 검사처방이 있는 수진여부
  801. var emrflag = grd_pathist.valueMatrix(row, grd_pathist.colref("emrflag"));
  802. model.resetInstanceNode("/root/init/itemindxseq");
  803. model.resetInstanceNode("/root/init/midreccnt");
  804. model.resetInstanceNode("/root/init/reccurpos");
  805. model.setValue("/root/init/emrflag", emrflag);
  806. if((grd_pathist.isCell(event.target) && grd_pathist.mouserow >= grd_pathist.fixedrows))
  807. {
  808. orddd = grd_pathist.valueMatrix(row, grd_pathist.colref("orddd"));
  809. cretno = grd_pathist.valueMatrix(row, grd_pathist.colref("cretno"));
  810. orddeptcd = grd_pathist.valueMatrix(row, grd_pathist.colref("orddeptcd"));
  811. bfopentest = grd_pathist.valueMatrix(row, grd_pathist.colref("bfopentest"));
  812. tabflag = model.getValue("/root/init/tabflag");
  813. //기간검색-20130527 이윤주
  814. //2014/04/18 이정택 수정
  815. var dschdd = grd_pathist.valueMatrix(row, grd_pathist.colref("dschdd"));
  816. var ordtype = grd_pathist.valueMatrix(row, grd_pathist.colref("ordtype"));
  817. if (ordtype == "S" || ordtype == "O") {
  818. dschdd = orddd;
  819. }else{
  820. if (dschdd == "재원중") {
  821. dschdd = getCurrentDate();
  822. }else{
  823. dschdd = dschdd;
  824. }
  825. }
  826. //2014/04/22 이정택 수정
  827. model.setValue("/root/init/paging/fromdd",orddd);
  828. model.setValue("/root/init/paging/todd",dschdd);
  829. /* dschdd = grd_pathist.valueMatrix(row, grd_pathist.colref("dschdd"));
  830. ordtype = grd_pathist.valueMatrix(row, grd_pathist.colref("ordtype"));
  831. if (ordtype == "S" || ordtype == "O") {
  832. dschdd = orddd;
  833. }
  834. if (dschdd == "재원중") {
  835. dschdd = getCurrentDate();
  836. }
  837. model.setValue("/root/init/paging/fromdd",orddd);
  838. model.setValue("/root/init/paging/todd","99991231");
  839. */
  840. }
  841. else
  842. {
  843. if (row > 0)
  844. {
  845. pid = grd_pathist.valueMatrix(row, grd_pathist.colref("formrecseq"));
  846. orddd = grd_pathist.valueMatrix(row, grd_pathist.colref("orddd"));
  847. cretno = grd_pathist.valueMatrix(row, grd_pathist.colref("cretno"));
  848. orddeptcd = grd_pathist.valueMatrix(row, grd_pathist.colref("orddeptcd"));
  849. bfopentest = grd_pathist.valueMatrix(row, grd_pathist.colref("bfopentest"));
  850. tabflag = model.getValue("/root/init/tabflag");
  851. //기간검색-20130527 이윤주
  852. dschdd = grd_pathist.valueMatrix(row, grd_pathist.colref("dschdd"));
  853. ordtype = grd_pathist.valueMatrix(row, grd_pathist.colref("ordtype"));
  854. if (ordtype == "S" || ordtype == "O") {
  855. dschdd = orddd;
  856. }
  857. if (dschdd == "재원중") {
  858. dschdd = getCurrentDate();
  859. }
  860. model.setValue("/root/init/paging/fromdd", orddd );
  861. model.setValue("/root/init/paging/todd", "99991231");
  862. }else{
  863. messageBox("환자의 수진이력을 ", "C002");
  864. return;
  865. }
  866. }
  867. var comporddd = model.getValue("/root/init/accresn/orddd");
  868. var compcretno = model.getValue("/root/init/accresn/cretno");
  869. if (compcretno == "")
  870. {
  871. compcretno = "-";
  872. }
  873. var itrgtNodeCnt = getNodesetCnt(model, "/root/hardcd/trgtdept[trgtcd = '" + orddeptcd + "']"); //사유대상부서
  874. if (itrgtNodeCnt > 0){ //감염내과, 정신과, 산부인과, 비뇨기과
  875. var sUserDeptcd = getUserInfo("dutplcecd");
  876. var iexNodeCnt = getNodesetCnt(model, "/root/hardcd/exdept[trgtcd = '" + sUserDeptcd + "']"); //사유제외부서
  877. // 2013.10.11 start cyw 센터일경우 해당 하위부서의 기록을 볼때 사유입력하지 않도록--------------
  878. var cntrcnt = 0;
  879. var samechk = 0;
  880. model.makeNode("/root/send/cntrsrch");
  881. model.makeValue("/root/send/cntrsrch/instcd", getUserInfo("dutplceinstcd") );
  882. model.makeValue("/root/send/cntrsrch/userdeptcd", sUserDeptcd );
  883. if( submit("TRMRI08114") ){
  884. cntrcnt = getNodesetCount("/root/temp1/cntrdept/cntrdeptlist");
  885. for( var i = 1; i <= cntrcnt ; i ++ ){
  886. if( orddeptcd == model.getValue("/root/temp1/cntrdept/cntrdeptlist[" + i + "]/deptcd") ){
  887. samechk++;
  888. }
  889. }
  890. }
  891. // 2013.10.11 end-------------------------------------------------------------------------------------------
  892. // 기록조회시, 사유입력하는 경우?
  893. // 1. 사유제외부서가 아닐경우
  894. // 2. 선택한기록부서와 사용자 부서가 같을 경우
  895. // 3, 각각의 진료일자와 원무키가 다를 경우
  896. // 4. 센터부서일 경우 하위부서가 아닐경우
  897. if ( (samechk <=0) && (iexNodeCnt <= 0) && (sUserDeptcd != orddeptcd) && (comporddd != orddd && compcretno != cretno)){ //사용자 근무부서와 환자 수진부서가 틀린경우 사유창 팝업, 근무부서가 의료정보팀일경우 제외
  898. if ( fSetResnSMMRI08000() == true ){//열람승인화면에서 사유입력이 된 제한차트는 fSetResnSMMRI08000()함수에서 사유 자동 셋팅, 2010.09.02 주희경
  899. }else{ //통합기록조회에서 직접 기록을 오픈할때에는 사유 입력
  900. //2012/11/28 Start
  901. if(dutplcecd_chk==false){ //감염내과, 정신과, 산부인과, 비뇨기과 병동 근무자의 경우 사유입력 제외
  902. //2012/11/28 End
  903. model.resetInstanceNode("/root/init/accresn");
  904. setParameter("SPMRI03100_param_nodepath", "/root/init/accresn");
  905. setParameter("SPMRI03100_param_rsnflag", 'R');
  906. setParameter("SPMRI03100_param_instcd", model.getValue("/root/init/env/instcd"));
  907. modal("SPMRI03100");
  908. var valiyn = model.getValue("/root/init/accresn/valiyn");
  909. if (valiyn != "Y"){
  910. return;
  911. }else{
  912. }
  913. }
  914. }
  915. }
  916. model.makeValue("/root/init/accresn/orddd", orddd);
  917. model.makeValue("/root/init/accresn/cretno", cretno);
  918. }else{
  919. model.resetInstanceNode("/root/init/accresn/resncd");
  920. model.resetInstanceNode("/root/init/accresn/resnnm");
  921. model.resetInstanceNode("/root/init/accresn/etc");
  922. model.resetInstanceNode("/root/init/accresn/valiyn");
  923. model.resetInstanceNode("/root/init/accresn/orddd");
  924. model.resetInstanceNode("/root/init/accresn/cretno");
  925. }
  926. //2012/11/28 Start 상태값 초기화
  927. dutplcecd_chk=false;
  928. //2012/11/28 End
  929. //lyj
  930. // var ViewMode = iviewerIemr.model.getValue("/root/hidden/currentViewMode");
  931. //
  932. // iviewerIemr.model.makeValue("/root/hidden/currentViewMode", "ThumbView");
  933. // if (ViewMode == null || ViewMode == "" || ViewMode != "ChartView")
  934. // {
  935. // //2010.03.31 안치원 - 대량Data의 수동출력을 위한 Paging기능 추가
  936. // if (grup_paging.visible) {
  937. // iviewerIemr.window.javascript.setupChart("ThumbView");
  938. // } else {
  939. // iviewerIemr.window.javascript.setupChart("ChartView");
  940. // }
  941. // }
  942. iviewerIemr.window.javascript.cleanViewer();
  943. var ioflag = model.getValue("/root/send/ioflag");
  944. var refdata = "";
  945. var sizedata = "";
  946. if (emrflag == "I")
  947. {
  948. grd_midindx.caption = "lisflag^reckind^emrflag^정렬순번^상위아이템코드^아이템코드^중분류명^페이지수";
  949. }
  950. else if (emrflag == "E")
  951. {
  952. grd_midindx.caption = "lisflag^reckind^emrflag^정렬순번^상위아이템코드^아이템코드^중분류명^기록수";
  953. }
  954. model.setValue("/root/init/totcnt", "");
  955. lbl_totcnt.refresh();
  956. model.removeNodeset("/root/send");
  957. model.removeNodeset("/root/main/midindx/midindxlist");
  958. model.makeValue("/root/send/pid", model.getValue("/root/main/patinfo/patinfolist/pid"));
  959. model.makeValue("/root/send/orddd", orddd);
  960. model.makeValue("/root/send/cretno", cretno);
  961. model.makeValue("/root/send/orddeptcd", orddeptcd);
  962. model.makeValue("/root/send/tabflag", tabflag);
  963. model.makeValue("/root/send/emrflag", emrflag);
  964. model.makeValue("/root/send/chosflag", grd_pathist.valueMatrix(row, grd_pathist.colref("ordtype")));
  965. model.makeValue("/root/send/refusge", model.getValue("/root/init/accresn/resncd"));
  966. model.makeValue("/root/send/refremark", model.getValue("/root/init/accresn/etc"));
  967. model.makeValue("/root/send/readprtflag", 'R');
  968. model.makeValue("/root/send/instcd", model.getValue("/root/init/env/instcd"));
  969. //열람신청과 연결-20120130 이윤주 수정
  970. model.makeValue("/root/send/appno", model.getValue("/root/init/view/appno"));
  971. model.makeValue("/root/send/histno", model.getValue("/root/init/view/histno"));
  972. //2010.02.04 안치원 - 통합기록조회 검사파트 처방일자로 조회조건 추가
  973. model.makeValue("/root/send/fromprcpdd", grd_pathist.valueMatrix(row, grd_pathist.colref("orddd")));
  974. model.makeValue("/root/send/toprcpdd", grd_pathist.valueMatrix(row, grd_pathist.colref("dschdd")));
  975. //2009-10-31 오후 2:36:09 강지훈 수정 :
  976. model.makeValue("/root/send/bfopentest", bfopentest);
  977. if(submit("TRMRI03003"))
  978. {
  979. var midindxNodelist = model.instances(0).selectNodes("/root/main/midindx/midindxlist");
  980. var itemindxseq = 0;
  981. var midreccnt = 0;
  982. if (midindxNodelist.length > 0)
  983. {
  984. grd_midindx.resizeCells();
  985. var subNode = midindxNodelist.item(0);
  986. itemindxseq = parseInt(subNode.selectSingleNode("itemindxseq").text);
  987. midreccnt = parseInt(subNode.selectSingleNode("cnt").text);
  988. model.setValue("/root/init/itemindxseq", itemindxseq);
  989. model.setValue("/root/init/midreccnt", midreccnt);
  990. model.setValue("/root/init/reccurpos", 1);
  991. model.setValue("/root/init/bfopentest", bfopentest);
  992. model.setValue("/root/init/recall", "Y"); //김동준(20130404)
  993. // 2013.07.10 CYW 개인정보보호 관련 중분류 체크
  994. var cnt = getNodesetCount("/root/temp/indx/hardcd");
  995. var indxcnt = getNodesetCount("/root/main/midindx/midindxlist");
  996. var privateflag = getParameter("SMMRI03000_privateflag");
  997. var instcd = getUserInfo("dutplceinstcd");
  998. var openerid = opener.window.javascript.getParameter("SMMRI00400_param_openerid");
  999. if( openerid == "SMMRI08000" ){
  1000. var row3 = datagrid3.row;
  1001. var deptengabbr = datagrid3.valueMatrix(row3, datagrid3.colref("deptengabbr"));
  1002. var prntdeptengabbr = opener.window.javascript.getParameter("SMMRI00400_param_prntdeptengabbr");
  1003. var prntidx = prntdeptengabbr.indexOf(deptengabbr);
  1004. if( prntidx > -1 && privateflag == "2" || prntidx > -1 && privateflag == "3" ){
  1005. for( var j = 1 ; j <= indxcnt ; j++){
  1006. model.makeValue( "/root/main/midindx/midindxlist[" + j + "]/chkflag", "N" );
  1007. }
  1008. for( var i = 1 ; i <= cnt ; i++){
  1009. for( var j = 1 ; j <= indxcnt ; j++){
  1010. if( model.getValue("/root/temp/indx/hardcd[" + i + "]/hardcd") == model.getValue("/root/main/midindx/midindxlist[" + j + "]/itemindxseq") ){
  1011. model.setValue( "/root/main/midindx/midindxlist[" + j + "]/chkflag", "Y" );
  1012. }
  1013. }
  1014. }
  1015. if( privateflag == "2" ){
  1016. for( var j = 1 ; j <= indxcnt ; j++){
  1017. if( model.getValue( "/root/main/midindx/midindxlist[" + j + "]/chkflag") == "N" ){
  1018. grd_midindx.rowstyle( j , "data", "color") = "gray";
  1019. }else{
  1020. grd_midindx.rowstyle( j , "data", "font-weight") = "normal";
  1021. grd_midindx.rowstyle( j , "data", "color") = "black";
  1022. }
  1023. }
  1024. }
  1025. if( ( prntidx > -1 && model.getValue( "/root/main/midindx/midindxlist[1]/chkflag") == "Y" && privatetxt == "2" ) || ( prntidx > -1 && privatetxt == "3") ){
  1026. btn_prnt.visible = true;
  1027. txt_private.visible = true;
  1028. }else{
  1029. btn_prnt.visible = false;
  1030. txt_private.visible = false;
  1031. }
  1032. }
  1033. }
  1034. if( privatetxt == "1" ){
  1035. txt_private.visible = false;
  1036. }
  1037. grd_midindx.refresh();
  1038. grd_midindx.row = 1;
  1039. //2014/04/09 이정택 수정(수진이력 클릭시 소스제어)
  1040. model.makeValue("/root/send/reqdata/hardcdno", "6000");
  1041. submit("TRMMR01204");
  1042. if(model.getValue("/root/temp/hardcodeinfo/trgtcd")=="Y"){
  1043. cmb_sort.disabled=false;
  1044. cmb_sort.refresh();
  1045. fPaging();
  1046. }else{
  1047. model.setValue("/root/init/sortkind","A");
  1048. cmb_sort.disabled=true;
  1049. cmb_sort.refresh();
  1050. fGetDetlRec(1, row);
  1051. }
  1052. //2014/04/09
  1053. }
  1054. }
  1055. }
  1056. function fSetResnSMMRI08000()
  1057. {
  1058. var openerid = opener.window.javascript.getParameter("SMMRI00400_param_openerid");
  1059. if ( openerid == "SMMRI08000")
  1060. {
  1061. var resncd = opener.window.javascript.getParameter("SMMRI00400_param_resncd"); //열람목적 코드
  1062. var etc = opener.window.javascript.getParameter("SMMRI00400_param_etc"); //열람목적 사유 상세
  1063. model.makeValue("/root/init/accresn/valiyn", "Y");
  1064. model.makeValue("/root/init/accresn/resncd", resncd);
  1065. model.makeValue("/root/init/accresn/etc", etc);
  1066. return true;
  1067. }
  1068. return false;
  1069. }
  1070. /**
  1071. * @desc : 키 이벤트
  1072. * @id :
  1073. * @event : DOMActivate
  1074. * @return : void
  1075. * @authur : 박종훈
  1076. */
  1077. function fGetRec(val)
  1078. {
  1079. var selIndx = switch1.selectedIndex;
  1080. //북마크모드가 아닐때
  1081. if(selIndx == 0){
  1082. var midnodeList = instance1.selectNodes("/root/main/midindx/midindxlist");
  1083. if (midnodeList.length < 1)
  1084. {
  1085. messageBox("서식분류를", "C002");
  1086. //2010.03.31 안치원 - 대량Data의 수동출력을 위한 Paging기능 추가
  1087. //lyj
  1088. // if (grup_paging.visible) {
  1089. // iviewerIemr.window.javascript.setupChart("ThumbView");
  1090. // } else {
  1091. // iviewerIemr.window.javascript.setupChart("ChartView");
  1092. //
  1093. // }
  1094. return;
  1095. }
  1096. // var ViewMode = "-";
  1097. // ViewMode = iviewerIemr.model.getValue("/root/hidden/currentViewMode");
  1098. //
  1099. // if (ViewMode == "ThumbView")
  1100. // {
  1101. // //2010.03.31 안치원 - 대량Data의 수동출력을 위한 Paging기능 추가
  1102. // if (grup_paging.visible) {
  1103. // iviewerIemr.window.javascript.setupChart("ThumbView");
  1104. // } else {
  1105. // iviewerIemr.window.javascript.setupChart("ChartView");
  1106. // }
  1107. // }
  1108. var emrflag = model.getValue("/root/init/emrflag");
  1109. //2009-11-02 오후 7:16:41 강지훈 수정
  1110. var reckind = grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("reckind"))
  1111. var wheelMsgFlag = model.getValue("/root/tmp/wheelmsg");
  1112. if (emrflag == "I" && reckind != "EMR")
  1113. {
  1114. multirecyn = "N"; //다수의 기록 여부(ex.기록+이미지)
  1115. nodeposcnt = 1;
  1116. prevflag = "N";
  1117. switch(val)
  1118. {
  1119. case "first" :
  1120. if (grd_midindx.row == 1)
  1121. {
  1122. fShowMessage("첫 페이지 입니다.")
  1123. return;
  1124. }
  1125. else
  1126. {
  1127. grd_midindx.row = 1;
  1128. break;
  1129. }
  1130. case "prev" :
  1131. if (grd_midindx.row == 1)
  1132. {
  1133. //messageBox("처음", "I009");
  1134. //return;
  1135. if(wheelMsgFlag == "Y"){
  1136. var histrow = grd_pathist.row - 1;
  1137. if (histrow <= 0)
  1138. {
  1139. fShowMessage("처음 수진 이력입니다.")
  1140. return;
  1141. }
  1142. else
  1143. {
  1144. var rtnmsg = messageBox("처음 기록입니다. 이전 수진이력으로", "Q003");
  1145. if (rtnmsg == 6)
  1146. {
  1147. fPrevRecHist();
  1148. return;
  1149. }
  1150. else
  1151. {
  1152. return;
  1153. }
  1154. }
  1155. }
  1156. else{
  1157. fPrevRecHist();
  1158. return;
  1159. }
  1160. }
  1161. else
  1162. {
  1163. grd_midindx.row = grd_midindx.row - 1;
  1164. break;
  1165. }
  1166. case "next" :
  1167. if (grd_midindx.row + 1 == grd_midindx.rows)
  1168. {
  1169. if(wheelMsgFlag == "Y"){
  1170. var histrow = grd_pathist.row + 1;
  1171. if ( histrow == grd_pathist.rows )
  1172. {
  1173. fShowMessage("마지막 수진 이력입니다.")
  1174. return;
  1175. }
  1176. else
  1177. {
  1178. var rtnmsg = messageBox("마지막 기록입니다. 다음 수진이력으로", "Q003");
  1179. if (rtnmsg == 6)
  1180. {
  1181. fNextRecHist();
  1182. return;
  1183. }
  1184. else
  1185. {
  1186. return;
  1187. }
  1188. }
  1189. }
  1190. else{
  1191. fNextRecHist();
  1192. return;
  1193. }
  1194. }
  1195. else
  1196. {
  1197. grd_midindx.row = grd_midindx.row + 1;
  1198. break;
  1199. }
  1200. case "end" :
  1201. if (grd_midindx.row + 1 == grd_midindx.rows)
  1202. {
  1203. fShowMessage("마지막 페이지 입니다.");
  1204. return;
  1205. }
  1206. else
  1207. {
  1208. grd_midindx.row = grd_midindx.rows - 1;
  1209. break;
  1210. }
  1211. case "all" :
  1212. model.setValue("/root/init/recall", "Y");
  1213. }
  1214. }
  1215. else
  1216. {
  1217. var reccurpos = parseInt(model.getValue("/root/init/reccurpos"));
  1218. var midreccnt = parseInt(model.getValue("/root/init/midreccnt"));
  1219. var certnodeList = instance1.selectNodes("/root/tmpinicert/iniinfo");
  1220. switch(val)
  1221. {
  1222. case "first" :
  1223. multirecyn = "N"; //다수의 기록 여부(ex.기록+이미지)
  1224. nodeposcnt = 1;
  1225. prevflag = "N";
  1226. if (grd_midindx.row == 1 && reccurpos == 1)
  1227. {
  1228. fShowMessage("첫 페이지 입니다.")
  1229. return;
  1230. }
  1231. else
  1232. {
  1233. model.setValue("/root/init/recall", "N");
  1234. grd_midindx.row = 1;
  1235. var curmidcnt = parseInt(grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("cnt")));
  1236. model.setValue("/root/init/midreccnt", curmidcnt);
  1237. model.setValue("/root/init/reccurpos", 1);
  1238. model.setValue("/root/init/itemindxseq", parseInt(grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("itemindxseq"))));
  1239. break;
  1240. }
  1241. case "prev" :
  1242. prevflag = "Y";
  1243. if (certnodeList.length > 1 && nodeposcnt > 1)
  1244. {
  1245. multirecyn = "Y";
  1246. }
  1247. else
  1248. {
  1249. multirecyn = "N";
  1250. nodeposcnt = 1;
  1251. }
  1252. if (multirecyn == "N")
  1253. {
  1254. if (grd_midindx.row == 1 && reccurpos == 1)
  1255. {
  1256. if(wheelMsgFlag == "Y"){
  1257. var histrow = grd_pathist.row - 1;
  1258. if (histrow <= 0)
  1259. {
  1260. fShowMessage("처음 수진 이력입니다.")
  1261. return;
  1262. }
  1263. else
  1264. {
  1265. var rtnmsg = messageBox("처음 기록입니다. 이전 수진이력으로", "Q003");
  1266. if (rtnmsg == 6)
  1267. {
  1268. fPrevRecHist();
  1269. return;
  1270. }
  1271. else
  1272. {
  1273. return;
  1274. }
  1275. }
  1276. }
  1277. else{
  1278. fPrevRecHist();
  1279. return;
  1280. }
  1281. }
  1282. else
  1283. {
  1284. model.setValue("/root/init/recall", "N");
  1285. if (reccurpos == 1) //해당중분류의 첫기록일 경우 전 중분류로 이동 후 해당 중분류의 정보를 셋팅한다.
  1286. {
  1287. grd_midindx.row = grd_midindx.row - 1;
  1288. var curmidcnt = parseInt(grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("cnt")));
  1289. model.setValue("/root/init/midreccnt", curmidcnt);
  1290. model.setValue("/root/init/reccurpos", curmidcnt);
  1291. model.setValue("/root/init/itemindxseq", parseInt(grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("itemindxseq"))));
  1292. break;
  1293. }
  1294. else
  1295. {
  1296. model.setValue("/root/init/reccurpos", reccurpos - 1);
  1297. break;
  1298. }
  1299. }
  1300. }
  1301. else //하나의 기록이나 이미지가 포함된경우
  1302. {
  1303. if (nodeposcnt <= 1)
  1304. {
  1305. if (grd_midindx.row == 1 && reccurpos == 1)
  1306. {
  1307. if(wheelMsgFlag == "Y"){
  1308. var histrow = grd_pathist.row - 1;
  1309. if (histrow <= 0)
  1310. {
  1311. fShowMessage("처음 수진 이력입니다.")
  1312. return;
  1313. }
  1314. else
  1315. {
  1316. var rtnmsg = messageBox("처음 기록입니다. 이전 수진이력으로", "Q003");
  1317. if (rtnmsg == 6)
  1318. {
  1319. fPrevRecHist();
  1320. return;
  1321. }
  1322. else
  1323. {
  1324. return;
  1325. }
  1326. }
  1327. }
  1328. else{
  1329. fPrevRecHist();
  1330. return;
  1331. }
  1332. }
  1333. else
  1334. {
  1335. model.setValue("/root/init/reccurpos", reccurpos - 1);
  1336. break;
  1337. }
  1338. }
  1339. else
  1340. {
  1341. nodeposcnt--;
  1342. break;
  1343. }
  1344. }
  1345. case "next" :
  1346. prevflag = "N";
  1347. if (certnodeList.length > 1 && certnodeList.length > nodeposcnt)
  1348. {
  1349. multirecyn = "Y";
  1350. }
  1351. else
  1352. {
  1353. multirecyn = "N";
  1354. nodeposcnt = 1;
  1355. }
  1356. if (multirecyn == "N")
  1357. {
  1358. if (reccurpos == midreccnt && grd_midindx.row + 1 == grd_midindx.rows)
  1359. {
  1360. if(wheelMsgFlag == "Y")
  1361. {
  1362. var histrow = grd_pathist.row + 1;
  1363. if ( histrow == grd_pathist.rows )
  1364. {
  1365. fShowMessage("마지막 수진 이력입니다.")
  1366. return;
  1367. }
  1368. else
  1369. {
  1370. var rtnmsg = messageBox("마지막 기록입니다. 다음 수진이력으로", "Q003");
  1371. if (rtnmsg == 6)
  1372. {
  1373. fNextRecHist();
  1374. return;
  1375. }
  1376. else
  1377. {
  1378. return;
  1379. }
  1380. }
  1381. }
  1382. else{
  1383. fNextRecHist();
  1384. return;
  1385. }
  1386. }
  1387. else
  1388. {
  1389. model.setValue("/root/init/recall", "N");
  1390. if (reccurpos == midreccnt)
  1391. {
  1392. grd_midindx.row = grd_midindx.row + 1;
  1393. var curmidcnt = parseInt(grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("cnt")));
  1394. model.setValue("/root/init/midreccnt", curmidcnt);
  1395. model.setValue("/root/init/reccurpos", 1);
  1396. model.setValue("/root/init/itemindxseq", parseInt(grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("itemindxseq"))));
  1397. break;
  1398. }
  1399. else
  1400. {
  1401. model.setValue("/root/init/reccurpos", reccurpos + 1);
  1402. break;
  1403. }
  1404. }
  1405. }
  1406. else //하나의 기록이나 이미지가 포함된경우
  1407. {
  1408. if (nodeposcnt >= certnodeList.length)
  1409. {
  1410. if (reccurpos == midreccnt && grd_midindx.row + 1 == grd_midindx.rows)
  1411. {
  1412. if(wheelMsgFlag == "Y"){
  1413. var histrow = grd_pathist.row + 1;
  1414. if ( histrow == grd_pathist.rows )
  1415. {
  1416. fShowMessage("마지막 수진 이력입니다.")
  1417. return;
  1418. }
  1419. else
  1420. {
  1421. var rtnmsg = messageBox("마지막 기록입니다. 다음 수진이력으로", "Q003");
  1422. if (rtnmsg == 6)
  1423. {
  1424. fNextRecHist();
  1425. return;
  1426. }
  1427. else
  1428. {
  1429. model.setValue("/root/init/reccurpos", reccurpos + 1);
  1430. break;
  1431. }
  1432. }
  1433. }
  1434. else{
  1435. fNextRecHist();
  1436. return;
  1437. }
  1438. }
  1439. }
  1440. else
  1441. {
  1442. nodeposcnt++;
  1443. break;
  1444. }
  1445. }
  1446. case "end" :
  1447. multirecyn = "N"; //다수의 기록 여부(ex.기록+이미지)
  1448. nodeposcnt = 1;
  1449. prevflag = "N";
  1450. if (reccurpos == midreccnt && grd_midindx.row + 1 == grd_midindx.rows)
  1451. {
  1452. fShowMessage("마지막 페이지 입니다.")
  1453. return;
  1454. }
  1455. else
  1456. {
  1457. model.setValue("/root/init/recall", "N");
  1458. grd_midindx.row = grd_midindx.rows - 1;
  1459. var curmidcnt = parseInt(grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("cnt")));
  1460. model.setValue("/root/init/midreccnt", curmidcnt);
  1461. model.setValue("/root/init/reccurpos", curmidcnt);
  1462. model.setValue("/root/init/itemindxseq", parseInt(grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("itemindxseq"))));
  1463. break;
  1464. }
  1465. case "midfirst" :
  1466. multirecyn = "N"; //다수의 기록 여부(ex.기록+이미지)
  1467. nodeposcnt = 1;
  1468. prevflag = "N";
  1469. if (grd_midindx.row == 1 && reccurpos == 1)
  1470. {
  1471. fShowMessage("첫 페이지 입니다.")
  1472. return;
  1473. }
  1474. else
  1475. {
  1476. model.setValue("/root/init/recall", "N");
  1477. model.setValue("/root/init/reccurpos", 1);
  1478. break;
  1479. }
  1480. case "midend" :
  1481. multirecyn = "N"; //다수의 기록 여부(ex.기록+이미지)
  1482. nodeposcnt = 1;
  1483. prevflag = "N";
  1484. if (reccurpos == midreccnt && grd_midindx.row + 1 == grd_midindx.rows)
  1485. {
  1486. fShowMessage("마지막 페이지 입니다.")
  1487. return;
  1488. }
  1489. else
  1490. {
  1491. model.setValue("/root/init/recall", "N");
  1492. model.setValue("/root/init/reccurpos", midreccnt);
  1493. break;
  1494. }
  1495. case "all" :
  1496. multirecyn = "N"; //다수의 기록 여부(ex.기록+이미지)
  1497. nodeposcnt = 1;
  1498. prevflag = "N";
  1499. model.setValue("/root/init/recall", "Y");
  1500. }
  1501. model.refresh(); //pjh
  1502. }
  1503. }
  1504. fGetDetlRec(); //pjh
  1505. }
  1506. /**
  1507. * @desc : 다음 수진이력으로 자동 이동
  1508. * @id :
  1509. * @event : DOMActivate
  1510. * @return : void
  1511. * @authur : 박종훈
  1512. */
  1513. function fNextRecHist()
  1514. {
  1515. var histrow = grd_pathist.row + 1;
  1516. if ( histrow == grd_pathist.rows )
  1517. {
  1518. fShowMessage("마지막 수진 이력입니다.")
  1519. return;
  1520. }
  1521. else
  1522. {
  1523. grd_pathist.row = histrow;
  1524. fGetRecMidIndx();
  1525. }
  1526. var ctrl = document.controls("grd_midindx");
  1527. if (ctrl != null)
  1528. {
  1529. model.setFocus(ctrl.attribute("id"));
  1530. ctrl.dispatch("onkeyup");
  1531. }
  1532. }
  1533. /**
  1534. * @desc : 이전 수진이력으로 자동 이동
  1535. * @id :
  1536. * @event :
  1537. * @return : void
  1538. * @authur : 주희경
  1539. */
  1540. function fPrevRecHist()
  1541. {
  1542. var histrow = grd_pathist.row - 1;
  1543. if (histrow <= 0)
  1544. {
  1545. fShowMessage("처음 수진 이력입니다.")
  1546. return;
  1547. }
  1548. else
  1549. {
  1550. grd_pathist.row = histrow;
  1551. fGetRecMidIndx();
  1552. }
  1553. var ctrl = document.controls("grd_midindx");
  1554. if (ctrl != null)
  1555. {
  1556. model.setFocus(ctrl.attribute("id"));
  1557. ctrl.dispatch("onkeyup");
  1558. }
  1559. }
  1560. /**
  1561. * @desc : 중분류 더블클릭
  1562. * @id :
  1563. * @event : DOMActivate
  1564. * @return : void
  1565. * @authur : 박종훈
  1566. */
  1567. function fDbClickMidIndx()
  1568. {
  1569. if((grd_midindx.isCell(event.target) && grd_midindx.mouserow >= grd_midindx.fixedrows))
  1570. {
  1571. multirecyn = "N"; //다수의 기록 여부(ex.기록+이미지)
  1572. nodeposcnt = 1;
  1573. prevflag = "N";
  1574. iviewerIemr.window.javascript.cleanViewer();
  1575. if (grd_midindx.row >= 1)
  1576. {
  1577. var curmidcnt = parseInt(grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("cnt")));
  1578. var itemindxseq = parseInt(grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("itemindxseq")));
  1579. var openerid = opener.window.javascript.getParameter("SMMRI00400_param_openerid");
  1580. if ( openerid == "SMMRI08000" ){
  1581. // 중분류별 출력체크 CYW
  1582. var chkflag = model.getValue( "/root/main/midindx/midindxlist[" + grd_midindx.row + "]/chkflag");
  1583. var row = datagrid3.row;
  1584. var deptengabbr = datagrid3.valueMatrix(row, datagrid3.colref("deptengabbr"));
  1585. var prntdeptengabbr = opener.window.javascript.getParameter("SMMRI00400_param_prntdeptengabbr");
  1586. var prntidx = prntdeptengabbr.indexOf(deptengabbr);
  1587. if( ( prntidx > -1 && chkflag == "Y" && privatetxt == "2" ) || ( prntidx > -1 && privatetxt == "3") ){
  1588. btn_prnt.visible = true;
  1589. txt_private.visible = true;
  1590. }else if( prntidx > -1 && privatetxt == "1" ){
  1591. btn_prnt.visible = true;
  1592. txt_private.visible = false;
  1593. }else{
  1594. btn_prnt.visible = false;
  1595. txt_private.visible = false;
  1596. }
  1597. }
  1598. model.setValue("/root/init/midreccnt", curmidcnt);
  1599. model.setValue("/root/init/reccurpos", 1);
  1600. model.setValue("/root/init/itemindxseq", itemindxseq);
  1601. //2013/02/15 머지 시작(추가)
  1602. model.setValue("/root/init/recall", "Y");
  1603. //2013/02/15 머지 끝
  1604. model.refresh(); //pjh
  1605. fGetDetlRec(grd_midindx.row); //pjh
  1606. // lyj:막음
  1607. // var ViewMode;
  1608. // ViewMode = iviewerIemr.model.getValue("/root/hidden/currentViewMode");
  1609. //
  1610. //
  1611. // if (ViewMode == null || ViewMode == "" || ViewMode != "ChartView")
  1612. // {
  1613. // //2010.03.31 안치원 - 대량Data의 수동출력을 위한 Paging기능 추가
  1614. // if (grup_paging.visible) {
  1615. // iviewerIemr.window.javascript.setupChart("ThumbView");
  1616. // iviewerIemr.model.setValue("/root/hidden/currentViewMode", "ThumbView"); //추가-kys-20100331
  1617. // } else {
  1618. // iviewerIemr.window.javascript.setupChart("ChartView");
  1619. // }
  1620. // }
  1621. }
  1622. }
  1623. }
  1624. /**
  1625. * @desc : 기록조회
  1626. * @id :
  1627. * @event : DOMActivate
  1628. * @return : void
  1629. * @authur : 박종훈
  1630. */
  1631. function fGetDetlRec( row1, row2 )
  1632. {
  1633. var grd_midindxrow = row1;
  1634. var grd_pathistrow = row2;
  1635. if ( row1 == null )
  1636. grd_midindxrow = grd_midindx.row;
  1637. if ( row2 == null )
  1638. grd_pathistrow = grd_pathist.row;
  1639. var itemindxseq = parseInt(model.getValue("/root/init/itemindxseq")); //선택중분류 인덱스순번
  1640. var reccurpos = parseInt(model.getValue("/root/init/reccurpos")); //현재선택된기록 순번
  1641. var midreccnt = parseInt(model.getValue("/root/init/midreccnt")); //선택중분류 기록수
  1642. var bfopentest = model.getValue("/root/init/bfopentest"); //오픈 이전 검사처방 수진이력
  1643. var reckind = grd_midindx.valueMatrix(grd_midindxrow, grd_midindx.colref("reckind"));
  1644. var rowfocus = "";
  1645. var emrflag = model.getValue("/root/init/emrflag");
  1646. var selIndx = switch1.selectedIndex; //2009-10-20 오후 10:00:57 강지훈 추가
  1647. if(selIndx == 1){
  1648. fGetBookmarkItem();
  1649. }
  1650. else if(selIndx == 0){
  1651. //2009-11-18 오후 10:14:11 강지훈 추가
  1652. if (emrflag == "I" && (reckind != "EMR" && reckind != "CDIS"))
  1653. {
  1654. var totcnt = "[ " + 1 + " / " + grd_midindx.valueMatrix(grd_midindxrow, grd_midindx.colref("cnt")) + " / " + model.getValue("/root/init/reccnt") + " ]";
  1655. model.setValue("/root/init/totcnt", totcnt);
  1656. //2013/02/15 머지 시작(주석처리)
  1657. //lbl_totcnt.refresh();
  1658. //2013/02/15 머지 끝
  1659. var treatno = grd_midindx.valueMatrix(grd_midindxrow, grd_midindx.colref("itemindxseq"));
  1660. var formcd = grd_midindx.valueMatrix(grd_midindxrow, grd_midindx.colref("supitemindxseq"));
  1661. iviewerIemr.window.javascript.cleanViewer();
  1662. iviewerIemr.window.javascript.refreshFalse();
  1663. model.makeValue("/root/imgrec/iemr/treatno", parseInt(treatno));
  1664. model.makeValue("/root/imgrec/iemr/docucd", formcd);
  1665. //20120704 이윤주 추가
  1666. model.makeValue("/root/imgrec/iemr/instcd", model.getValue("/root/init/env/instcd"));
  1667. var iemrNode = instance1.selectSingleNode("/root/imgrec/iemr");
  1668. var chartinfo;
  1669. chartinfo = "I";
  1670. var hiddenmsg;
  1671. hiddenmsg = "I";
  1672. iviewerIemr.window.javascript.appendChart(iemrNode, chartinfo, hiddenmsg);
  1673. iviewerIemr.window.javascript.refreshTrue();
  1674. }
  1675. else
  1676. {
  1677. var calcReccurpos = parseInt(model.getValue("/root/init/reccurpos"));
  1678. var itemindxseq = parseInt(model.getValue("/root/init/itemindxseq"));
  1679. var isLis = "";
  1680. // for (var j = 1; j < grd_midindx.row; j++)
  1681. // {
  1682. // isLis = grd_midindx.valueMatrix(j, grd_midindx.colref("reckind"));
  1683. //
  1684. // if (isLis == "LIS")
  1685. // {
  1686. // calcReccurpos -= 1;
  1687. // }
  1688. // }
  1689. model.removeNodeset("/root/send");
  1690. model.makeValue("/root/send/pid" , model.getValue("/root/main/patinfo/patinfolist/pid"));
  1691. model.makeValue("/root/send/orddd" , grd_pathist.valueMatrix(grd_pathistrow, grd_pathist.colref("orddd")));
  1692. model.makeValue("/root/send/cretno" , grd_pathist.valueMatrix(grd_pathistrow, grd_pathist.colref("cretno")));
  1693. model.makeValue("/root/send/chosflag" , grd_pathist.valueMatrix(grd_pathistrow, grd_pathist.colref("ordtype")));
  1694. model.makeValue("/root/send/orddeptcd" , grd_pathist.valueMatrix(grd_pathistrow, grd_pathist.colref("orddeptcd")));
  1695. model.makeValue("/root/send/tabflag" , model.getValue("/root/init/tabflag"));
  1696. model.makeValue("/root/send/reccurpos" , calcReccurpos);
  1697. model.makeValue("/root/send/recall" , model.getValue("/root/init/recall"));
  1698. model.makeValue("/root/send/reckind" , reckind);
  1699. model.makeValue("/root/send/itemindxseq" , itemindxseq);
  1700. model.makeValue("/root/send/lisflag" , grd_midindx.valueMatrix(grd_midindxrow, grd_midindx.colref("lisflag")));
  1701. model.makeValue("/root/send/instcd" , model.getValue("/root/init/env/instcd"));
  1702. model.makeValue("/root/send/privateyn" , model.getValue("/root/init/privateyn"));
  1703. model.makeValue("/root/send/option" , model.getValue("/root/init/env/option"));
  1704. //2010.02.04 안치원 - 통합기록조회 검사파트 처방일자로 조회조건 추가
  1705. model.makeValue("/root/send/fromprcpdd" , grd_pathist.valueMatrix(grd_pathistrow, grd_pathist.colref("orddd")));
  1706. model.makeValue("/root/send/toprcpdd" , grd_pathist.valueMatrix(grd_pathistrow, grd_pathist.colref("dschdd")));
  1707. //2009-11-02 오후 2:18:45 강지훈 수정
  1708. model.makeValue("/root/send/bfopentest", bfopentest);
  1709. pathistEmrFlag = grd_pathist.valueMatrix(grd_pathistrow, grd_pathist.colref("emrflag"))
  1710. if(bfopentest == "Y" && emrflag != "E"){
  1711. model.makeValue("/root/send/midbftest", "Y");
  1712. }
  1713. else{
  1714. model.makeValue("/root/send/midbftest", "N");
  1715. }
  1716. //2010.03.31 안치원 - 대량Data의 수동출력을 위한 Paging기능 추가
  1717. //2014/03/18 이정택 수정
  1718. //if (grup_paging.visible && model.getValue("/root/init/paging/fromdd") != "" && model.getValue("/root/init/paging/todd") != "") {
  1719. if(model.getValue("/root/init/pagingyn")=="Y" && model.getValue("/root/init/paging/fromdd") != "" && model.getValue("/root/init/paging/todd") != "") {
  1720. //2014/03/18 이정택 수정
  1721. model.makeValue("/root/send/pagingyn", "Y");
  1722. var ViewMode = iviewerIemr.model.getValue("/root/hidden/currentViewMode");
  1723. if(ViewMode == "ThumbView"){
  1724. model.makeValue("/root/send/recall", "Y"); //추가-kys-20100331
  1725. model.setValue("/root/init/recall", "Y"); //추가-kys-20100331
  1726. }
  1727. model.makeValue("/root/send/pagingfromdd", model.getValue("/root/init/paging/fromdd"));
  1728. model.makeValue("/root/send/pagingtodd", model.getValue("/root/init/paging/todd"));
  1729. }
  1730. if (multirecyn == "N")
  1731. {
  1732. if(submit("TRMRI03004"))
  1733. {
  1734. var certnodeList = instance1.selectNodes("/root/tmpinicert/iniinfo");
  1735. if (certnodeList.length > 1 && certnodeList.length >= nodeposcnt)
  1736. {
  1737. multirecyn = "Y";
  1738. if (prevflag == "Y")
  1739. nodeposcnt = certnodeList.length;
  1740. else
  1741. nodeposcnt = 1;
  1742. }
  1743. else
  1744. {
  1745. multirecyn = "N";
  1746. nodeposcnt = 1;
  1747. }
  1748. iviewerIemr.window.javascript.cleanViewer();
  1749. if (model.getValue("/root/init/recall") == "Y")
  1750. {
  1751. fGetNextEmrImgRec(); //중분류 전체는 기존대로
  1752. }
  1753. else
  1754. {
  1755. fGetNextEmrImgRec(); //중분류 전체는 기존대로
  1756. //fGetNextEmrImgRecOne(); //기록조회 결과가 여러개인 경우 한개씩 조회
  1757. }
  1758. model.setValue("/root/init/recall", "N");
  1759. }
  1760. }
  1761. else
  1762. {
  1763. iviewerIemr.window.javascript.cleanViewer();
  1764. //fGetNextEmrImgRecOne(); //기록조회 결과가 여러개인 경우 한개씩 조회
  1765. fGetNextEmrImgRec(); //중분류 전체는 기존대로
  1766. }
  1767. }
  1768. }
  1769. }
  1770. /**
  1771. * @desc : 환자번호 정보조회
  1772. * @id :
  1773. * @event : onkeypress
  1774. * @return : void
  1775. * @authur : 박종훈(튜닝)
  1776. */
  1777. function fPidKeyPress()
  1778. {
  1779. model.removeNodeSet("/root/main/result/inform");
  1780. model.setValue("/root/source/srchcond", "1");
  1781. model.setValue("/root/source/pid", ipt_pid.currentText);
  1782. model.setValue("/root/main/patinfo/patinfolist/pid", ipt_pid.currentText);
  1783. //inputEnterKey("btn_search", "DOMActivate");
  1784. //환자등록번호 체크
  1785. if(ipt_pid.currentText.length >= 1 ){
  1786. model.resetInstanceNode("/root/main/result/patinfo");
  1787. model.resetInstanceNode("/root/main/patinfo/patinfolist");
  1788. if(submit("TRMRC00501")){
  1789. var sBindPid = model.getValue("/root/main/result/inform/item/bindpid");
  1790. if( sBindPid != '-' && sBindPid != '' && sBindPid != ' ' ){
  1791. var sPid = model.getValue("/root/main/result/inform/item/pid");
  1792. var sHngnm = model.getValue("/root/main/result/inform/item/hngnm");
  1793. var retValue = messageBox(sPid + "(" + sHngnm + ") 환자의 등록번호가 [ " + sBindPid + " ] 로 합번 되었습니다. 합번된 등록번호로 재조회 하시겠습니까?", "Q999", "");
  1794. if( retValue == '6' ){
  1795. ipt_pid.currentText = sBindPid;
  1796. model.setValue("/root/source/srchcond", "1");
  1797. model.setValue("/root/source/pid", ipt_pid.currentText);
  1798. model.setValue("/root/main/patinfo/patinfolist/pid", ipt_pid.currentText);
  1799. if (submit("TRPMC02500")){
  1800. //fSearch는 인적사항 화면을 임포트 해간 화면에서 구현해 주어야 하는 함수이다.
  1801. if( getNodesetCount("/root/main/result/patinfo/patinfolist") > 0 ){
  1802. model.copyNode("/root/main/patinfo", "/root/main/result/patinfo");
  1803. model.makeValue("/root/main/patinfo/agesex", model.getValue("/root/main/patinfo/patinfolist/sex") + "/" + model.getValue("/root/main/patinfo/patinfolist/age"));
  1804. model.setValue("/root/main/popupendflag", "ok");
  1805. model.refresh();
  1806. oprnerId = opener.window.javascript.getScreenID();
  1807. if(oprnerId == "SPMRC03200"){
  1808. var keyparam = model.getValue("/root/main/patinfo/patinfolist/pid") + "▦" + model.getValue("/root/main/patinfo/patinfolist/hngnm") + "▦" + model.getValue("/root/main/patinfo/patinfolist/sex") + "▦" + model.getValue("/root/main/patinfo/patinfolist/age") + "▩";
  1809. opener.window.javascript.fEnterPatinfo(keyparam);
  1810. }
  1811. //2009-10-21 오전 11:40:01 강지훈 추가 : 환자의 기록이 북마크에 있을때 탭색 변경
  1812. fChkBookmark();
  1813. return true;
  1814. }else{
  1815. model.resetInstanceNode("/root/main/patinfo/patinfolist");
  1816. messageBox("없는 등록번호 입니다.", "E999", "");
  1817. return false;
  1818. }
  1819. }
  1820. }else{
  1821. var pAge = getFullAge(model.getValue("/root/main/result/inform/item/rrgstno1")+model.getValue("/root/main/result/inform/item/rrgstno2"));
  1822. var pGender = getGender(model.getValue("/root/main/result/inform/item/rrgstno1")+model.getValue("/root/main/result/inform/item/rrgstno2"));
  1823. model.makeValue("/root/main/patinfo/patinfolist/pid", sPid);
  1824. model.makeValue("/root/main/patinfo/agesex", pGender + "/" + pAge);
  1825. model.makeValue("/root/main/patinfo/patinfolist/hngnm", sHngnm);
  1826. model.makeValue("/root/main/patinfo/patinfolist/rrgstno1", model.getValue("/root/main/result/inform/item/rrgstno1"));
  1827. model.makeValue("/root/main/patinfo/patinfolist/rrgstno2", model.getValue("/root/main/result/inform/item/rrgstno2"));
  1828. ipt_pid.refresh();
  1829. ipt_hngnm.refresh();
  1830. opt_age.refresh();
  1831. ipt_rrgstno1.refresh();
  1832. ipt_rrgstno2.refresh();
  1833. //화면 초기화!!
  1834. //btn_init.dispatch("DOMActivate");
  1835. return true;
  1836. }
  1837. }else{
  1838. // 2014/03/17 이정택 서브밋 새로 생성
  1839. //if (submit("TRPMC02500")){
  1840. if (submit("TRMRI00416")){
  1841. //fSearch는 인적사항 화면을 임포트 해간 화면에서 구현해 주어야 하는 함수이다.
  1842. if( getNodesetCount("/root/main/result/patinfo/patinfolist") > 0 ){
  1843. model.copyNode("/root/main/patinfo", "/root/main/result/patinfo");
  1844. model.makeValue("/root/main/patinfo/agesex", model.getValue("/root/main/patinfo/patinfolist/sex") + "/" + model.getValue("/root/main/patinfo/patinfolist/age"));
  1845. model.setValue("/root/main/popupendflag", "ok");
  1846. model.refresh();
  1847. oprnerId = opener.window.javascript.getScreenID();
  1848. if(oprnerId == "SPMRC03200"){
  1849. var keyparam = model.getValue("/root/main/patinfo/patinfolist/pid") + "▦" + model.getValue("/root/main/patinfo/patinfolist/hngnm") + "▦" + model.getValue("/root/main/patinfo/patinfolist/sex") + "▦" + model.getValue("/root/main/patinfo/patinfolist/age") + "▩";
  1850. opener.window.javascript.fEnterPatinfo(keyparam);
  1851. }
  1852. //2009-10-21 오전 11:40:01 강지훈 추가 : 환자의 기록이 북마크에 있을때 탭색 변경
  1853. fChkBookmark();
  1854. return true;
  1855. }else{
  1856. model.resetInstanceNode("/root/main/patinfo/patinfolist");
  1857. messageBox("없는 등록번호 입니다.", "E999", "");
  1858. return false;
  1859. }
  1860. }
  1861. }
  1862. }
  1863. }else{
  1864. messageBox("등록번호를 정확히", "C001");
  1865. return false;
  1866. }
  1867. }
  1868. /**
  1869. * @desc : 환자이름 정보조회
  1870. * @id :
  1871. * @event : onkeypress
  1872. * @return : void
  1873. * @authur : 박종훈
  1874. */
  1875. function fPnmKeyPress()
  1876. {
  1877. model.setValue("/root/source/srchcond", "2");
  1878. model.setValue("/root/source/hngnm", ipt_hngnm.currentText);
  1879. inputEnterKey("btn_search", "DOMActivate");
  1880. }
  1881. /**
  1882. * @desc : 환자주민번호 정보조회
  1883. * @id :
  1884. * @event : onkeypress
  1885. * @return : void
  1886. * @authur : 박종훈
  1887. */
  1888. function fRgstnoKeyPress()
  1889. {
  1890. model.setValue("/root/source/srchcond", "3");
  1891. model.setValue("/root/source/rrgstno1", ipt_rrgstno1.currentText);
  1892. model.setValue("/root/source/rrgstno2", ipt_rrgstno2.value);
  1893. model.makeValue("/root/source/autoflag", "Y");
  1894. inputEnterKey("btn_search", "DOMActivate");
  1895. }
  1896. /**
  1897. * @desc : 환자주민번호 뒷자리 정보조회
  1898. * @id :
  1899. * @event : onkeypress
  1900. * @return : void
  1901. * @authur : 강지훈
  1902. */
  1903. function fRgstno2KeyPress(){
  1904. if(event.keyCode == "13") {
  1905. model.setValue("/root/source/srchcond", "3");
  1906. model.setValue("/root/source/rrgstno1", ipt_rrgstno1.currentText);
  1907. model.setValue("/root/source/rrgstno2", ipt_rrgstno2.formattedText);
  1908. model.makeValue("/root/source/autoflag", "Y");
  1909. fPopPtinfo();
  1910. }
  1911. }
  1912. /**
  1913. * @desc : 환자정보조회 팝업
  1914. * @id :
  1915. * @event : DOMActivate
  1916. * @return : void
  1917. * @authur : 박종훈
  1918. */
  1919. function fPopPtinfo()
  1920. {
  1921. //2010.03.25 박종훈 추가(요청번호 : 11804)
  1922. if (ipt_pid.currentText != "")
  1923. {
  1924. model.setValue("/root/source/srchcond", "1");
  1925. model.setValue("/root/source/pid", ipt_pid.currentText);
  1926. }
  1927. else if (ipt_hngnm.currentText != "")
  1928. {
  1929. if (ipt_rrgstno1.currentText != "" || ipt_rrgstno2.formattedText != "")
  1930. {
  1931. model.setValue("/root/source/srchcond", "4");
  1932. model.setValue("/root/source/hngnm", ipt_hngnm.currentText);
  1933. model.setValue("/root/source/rrgstno1", ipt_rrgstno1.currentText);
  1934. model.setValue("/root/source/rrgstno2", ipt_rrgstno2.formattedText);
  1935. }
  1936. else
  1937. {
  1938. model.setValue("/root/source/srchcond", "2");
  1939. model.setValue("/root/source/hngnm", ipt_hngnm.currentText);
  1940. }
  1941. }
  1942. else if (ipt_rrgstno1.currentText != "" || ipt_rrgstno2.formattedText != "")
  1943. {
  1944. model.setValue("/root/source/srchcond", "3");
  1945. model.setValue("/root/source/rrgstno1", ipt_rrgstno1.currentText);
  1946. model.setValue("/root/source/rrgstno2", ipt_rrgstno2.formattedText);
  1947. }
  1948. modal("SPPMC02500", "1","150", "150", "SPPMC02500", "/root/source", "/root/send");
  1949. //2010.03.25 박종훈 추가(환자 정보 조회 후 자동 조회)
  1950. button3.dispatch("DOMActivate");
  1951. //model.resetInstanceNode("/root/source");
  1952. //2009-11-14 오전 11:57:20 강지훈 추가
  1953. model.makeValue("/root/main/patinfo/agesex", model.getValue("/root/main/patinfo/patinfolist/sex") + "/" + model.getValue("/root/main/patinfo/patinfolist/age"));
  1954. opt_age.refresh();
  1955. }
  1956. /**
  1957. * @desc : 화면닫기(처방에서 사용)
  1958. * @id :
  1959. * @event : xforms-select
  1960. * @return : void
  1961. * @authur : 박종훈
  1962. */
  1963. function fClose()
  1964. {
  1965. window.close();
  1966. }
  1967. /* @group : 폴더 존재여부 파악
  1968. * @ver : 2007.01.06
  1969. * @by : 박종훈
  1970. * @-----------------------------------
  1971. * @type : function
  1972. * @access : public
  1973. * @desc :
  1974. */
  1975. function fExistFolder(foldernm)
  1976. {
  1977. var fso, folder, s;
  1978. fso = new ActiveXObject("Scripting.FileSystemObject");
  1979. try
  1980. {
  1981. folder = fso.GetFolder(foldernm);
  1982. s = folder.DateCreated;
  1983. if (s != "")
  1984. {
  1985. fDelFolder(foldernm);
  1986. fMakeFolder(foldernm);
  1987. }
  1988. }
  1989. catch (e)
  1990. {
  1991. fMakeFolder(foldernm);
  1992. }
  1993. }
  1994. /* @group : 폴더 생성
  1995. * @ver : 2007.01.06
  1996. * @by : 박종훈
  1997. * @-----------------------------------
  1998. * @type : function
  1999. * @access : public
  2000. * @desc :
  2001. */
  2002. function fMakeFolder(foldernm)
  2003. {
  2004. var fso = new ActiveXObject("Scripting.FileSystemObject");
  2005. var check = true;
  2006. while(check){
  2007. try
  2008. {
  2009. var a = fso.CreateFolder(foldernm);
  2010. check = false;
  2011. }
  2012. catch (e)
  2013. {
  2014. check = true;
  2015. }
  2016. }
  2017. }
  2018. function fMakeFolder_20130327(foldernm)
  2019. {
  2020. var fso = new ActiveXObject("Scripting.FileSystemObject");
  2021. var a = fso.CreateFolder(foldernm);
  2022. }
  2023. /* @group : 폴더 삭제
  2024. * @ver : 2007.01.06
  2025. * @by : 박종훈
  2026. * @-----------------------------------
  2027. * @type : function
  2028. * @access : public
  2029. * @desc :
  2030. */
  2031. function fDelFolder(foldernm)
  2032. {
  2033. var fso;
  2034. fso = new ActiveXObject("Scripting.FileSystemObject");
  2035. fso.DeleteFolder(foldernm);
  2036. }
  2037. /* @group : BIT모듈로부터 키값 받아옴
  2038. * @ver : 2008.01.17
  2039. * @by : 박종훈
  2040. * @-----------------------------------
  2041. * @type : function
  2042. * @access : public
  2043. * @desc :
  2044. */
  2045. function fSetCertRecKey(key)
  2046. {
  2047. setParameter("SPMRI02400_certinfo", key);
  2048. modal("SPMRI02400");
  2049. }
  2050. /**
  2051. * @desc : 사본발행 신청
  2052. * @id :
  2053. * @event : xforms-ready
  2054. * @return : void
  2055. * @authur : 박종훈
  2056. */
  2057. function fAppcopy()
  2058. {
  2059. setParameter("SMMRC03000_pid", ipt_pid.value);
  2060. open("SMMRC03000");
  2061. }
  2062. function fAppreq()
  2063. {
  2064. setParameter("SMMRI08000_param_pid", ipt_pid.value);
  2065. setParameter("SMMRI08000_param_pnm", ipt_hngnm.value);
  2066. open("SMMRI08000");
  2067. }
  2068. /**
  2069. * @desc : 질병 및 수술 인덱스 화면 연결
  2070. * @id :
  2071. * @event : DOMActivate
  2072. * @return : void
  2073. * @authur : 박종훈
  2074. */
  2075. function fDiagOprIndxLnk()
  2076. {
  2077. setParameter("SMMRD00400_pid", ipt_pid.value);
  2078. open("SMMRD00700");
  2079. }
  2080. /**
  2081. * @desc : 기록 조회영역 최대 최소화
  2082. * @id :
  2083. * @event : DOMActivate
  2084. * @return : void
  2085. * @authur : 박종훈
  2086. */
  2087. function fMaxMin()
  2088. {
  2089. var leftwidth = grup_left.attribute("width");
  2090. if (leftwidth == 0)
  2091. {
  2092. btn_minmax.attribute("class") = "icon_left";
  2093. grup_right.attribute("width") = 906;
  2094. grup_right.attribute("left") = 345;
  2095. grup_left.attribute("width") = 340;
  2096. iviewerIemr.attribute("width") = 902;
  2097. iviewerIemr.window.javascript.setChartViewerSize(parseInt(iviewerIemr.attribute("width")), parseInt(iviewerIemr.attribute("height")));
  2098. btn_minmax.hint = "최대화";
  2099. }
  2100. else
  2101. {
  2102. btn_minmax.attribute("class") = "icon_right";
  2103. grup_left.attribute("width") = 0;
  2104. grup_right.attribute("left") = 0;
  2105. grup_right.attribute("width") = 1251;
  2106. iviewerIemr.attribute("width") = 1247;
  2107. iviewerIemr.window.javascript.setChartViewerSize(parseInt(iviewerIemr.attribute("width")), parseInt(iviewerIemr.attribute("height")));
  2108. btn_minmax.hint = "이전크기로";
  2109. }
  2110. }
  2111. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  2112. /**
  2113. * @desc : 화면표시 대상이 EMR + IMG 기록인경우 처리
  2114. * @id :
  2115. * @event : onclick
  2116. * @return : void
  2117. * @authur : 박종훈
  2118. */
  2119. function fGetNextEmrImgRec()
  2120. {
  2121. var certnodeList = instance1.selectNodes("/root/tmpinicert/iniinfo");
  2122. var instcd = model.getValue("/root/init/env/instcd");
  2123. //--20130418 김동준 start(html 다운로드시 본원과 칠곡 분기)
  2124. var foldernm = "C:\\Certrec" + getUserInfo("dutplceinstcd");
  2125. //var foldernm = "C:\\Certrec";
  2126. //--20130418 김동준 end
  2127. var recall = model.getValue("/root/init/recall");
  2128. if (certnodeList.length <= 0)
  2129. {
  2130. return;
  2131. }
  2132. else if(certnodeList.length > 1)
  2133. {
  2134. model.setValue("/root/init/recall", "N");
  2135. }
  2136. var emrpath = "";
  2137. var emrorddate = "";
  2138. var emrformnm = "";
  2139. var emrformcd = "";
  2140. var emrdeptnm = "";
  2141. var emrdeptcd = "";
  2142. var emrpage = "";
  2143. var emrhiddenmsg = "";
  2144. var recrowno = "";
  2145. var k = "";
  2146. var pid = "";
  2147. var ptnm = "";
  2148. var depthngnm = "";
  2149. var deptengabbr = "";
  2150. var idcrdeptengabbr = "";
  2151. var rgstno = "";
  2152. var sa = "";
  2153. var disporddd = "";
  2154. var orddd = "";
  2155. var drid = "";
  2156. var roomcd = "";
  2157. var roomcdicdr = "";
  2158. var ordtype = "";
  2159. var chosflag = "";
  2160. var orddeptcd = "";
  2161. var icdrorddeptcd = "";
  2162. var signflag = "";
  2163. var imgflag = "";
  2164. var langflag = "";
  2165. var tmptreatno = "";
  2166. var tmpiformcd = "";
  2167. var signno = 0;
  2168. var formcd = "";
  2169. var srcformcd = "";
  2170. var formnm = "";
  2171. var formprogflag = "";
  2172. var recdt = "";
  2173. var recdd = "";
  2174. var wardheader = "";
  2175. var dateheader = "";
  2176. var doctorheader = "";
  2177. var printheader = "";
  2178. var pageheader = "";
  2179. var imgepath = "";
  2180. var formrecdt = "";
  2181. var fstrgstdt = "";
  2182. var lastupdtdt = "";
  2183. var staffconfirmdt = "";
  2184. var fstrgstrusrnm = "";
  2185. var lastupdtrusrnm = "";
  2186. var erdt = "";
  2187. var ervisittm = "";
  2188. var staffnmheader = "";
  2189. var staffnm = "";
  2190. var emrrecusrnmheader = "";
  2191. var emrrecusrnm = "";
  2192. var indd = "";
  2193. var dschdd = "";
  2194. var inorddepthngnm = "";
  2195. var dschorddepthngnm = "";
  2196. var incnt = "";
  2197. var mainyn = "";
  2198. var rowno = "";
  2199. //2013/02/15 소스 머지 시작(추가)
  2200. var surgeon = "";
  2201. var cover_header = "";
  2202. var cover_footer = "";
  2203. var local_path = "";
  2204. //2013/02/15 소스머지 끝
  2205. var body_header = "";
  2206. var body_footer = "";
  2207. var makebodyfilecnt =0;
  2208. var default_cover_header = "";
  2209. var default_cover_footer = "";
  2210. var cover_header1 = "";
  2211. var cover_header2 = "";
  2212. var cover_header3 = "";
  2213. var cover_header4 = "";
  2214. var cover_header10 = "";
  2215. var cover_footer1 = "";
  2216. var cover_footer2 = "";
  2217. var cover_header_filenm = "";
  2218. var cover_footer_filenm = "";
  2219. var prtnunm = getUserInfo("usernm");
  2220. var prtndeptnm = "";
  2221. //var getuseren = getUserInfo("userengnm");
  2222. var getdate = getCurrentDate();
  2223. var gettime = getCurrentTime();
  2224. var dateprnt = getdate.substr(0, 4) + "/" + getdate.substr(4, 2) + "/" + getdate.substr(6, 2);
  2225. var timeprnt = gettime.substr(0, 2) + ":" + gettime.substr(2, 2) + ":" + gettime.substr(4, 2);
  2226. var SMMRI03000_privateflag = getParameter("SMMRI03000_privateflag");
  2227. var prtdt = dateprnt + " " + timeprnt;
  2228. var signgenrflag = ""; //20100615-kys
  2229. var careinrmdt = ""; //20100615-kys
  2230. fExistFolder(foldernm);
  2231. iviewerIemr.window.javascript.refreshFalse();
  2232. for(var i = 1; i <= certnodeList.length; i++)
  2233. {
  2234. signno = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/signno");
  2235. formcd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/formcd");
  2236. srcformcd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/srcformcd");
  2237. formnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/formnm");
  2238. formprogflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/formprogflag");
  2239. recdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/recdt");
  2240. recdd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/recdd");
  2241. trans = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/trans");
  2242. ptnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/ptnm");
  2243. pid = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/pid");
  2244. rgstno = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/rgstno");
  2245. depthngnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/depthngnm");
  2246. deptengabbr = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/deptengabbr");
  2247. idcrdeptengabbr = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/icdrdeptengabbr");
  2248. sa = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/sa");
  2249. disporddd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/disporddd");
  2250. orddd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/orddd");
  2251. drid = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/drid");
  2252. icdrdrid = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/icdrdrid");
  2253. roomcd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/roomcd");
  2254. icdrroomcd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/icdrroomcd");
  2255. ordtype = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/ordtype");
  2256. chosflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/chosflag");
  2257. orddeptcd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/orddeptcd");
  2258. signflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/signflag");
  2259. imgflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/imgflag");
  2260. langflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/langflag");
  2261. formrecdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/formrecdt");
  2262. formrecdt = formrecdt.toDate().getDateFormat("YYYY/MM/DD");
  2263. fstrgstdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/fstrgstdt");
  2264. lastupdtdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/lastupdtdt");
  2265. staffconfirmdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/staffconfirmdt");
  2266. //20100628-kys-서울성모병원은 최초작성자(작성일시), 최종작성자(작성일시)->작성자, 작성일시로 표시한다.
  2267. if(getUserInfo("dutplceinstcd") == "012"){
  2268. fstrgstrusrnm = "◈ 작 성 자 : " + model.getValue("/root/tmpinicert/iniinfo[" + i + "]/fstrgstrusrnm");
  2269. if(fstrgstrusrnm != "")
  2270. lastupdtrusrnm = "◈ 작성일시 : " + fstrgstdt; //수정을 최소화 하기 위해 lastupdtrusrnm를 쓴다.-kys-20100628
  2271. }else{ //서울성모병원외는 최초작성자(작성일시), 최종작성자(작성일시) 그대로 표시.
  2272. // KNUH_20110406_박성호 수정
  2273. //fstrgstrusrnm = "◈ 최초작성자 : " + model.getValue("/root/tmpinicert/iniinfo[" + i + "]/fstrgstrusrnm");
  2274. fstrgstrusrnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/fstrgstrusrnm");
  2275. /* 20100705-kys-모든병원 작성일시를 제외시킨다.
  2276. if(fstrgstrusrnm != "")
  2277. fstrgstrusrnm = fstrgstrusrnm + " (" + fstrgstdt + ")";
  2278. */
  2279. // KNUH_20110406_박성호 수정
  2280. //lastupdtrusrnm = "◈ 최종작성자 : " + model.getValue("/root/tmpinicert/iniinfo[" + i + "]/lastupdtrusrnm");
  2281. lastupdtrusrnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/lastupdtrusrnm");
  2282. /* 20100705-kys-모든병원 작성일시를 제외시킨다.
  2283. if(lastupdtrusrnm != "")
  2284. lastupdtrusrnm = lastupdtrusrnm + " (" + lastupdtdt + ")";
  2285. */
  2286. }
  2287. erdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/erdt");
  2288. ervisittm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/ervisittm");
  2289. staffnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/staffnm");
  2290. surgeon = staffnm;
  2291. emrrecusrnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/emrrecusrnm");
  2292. indd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/indd");
  2293. dschdd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/dschdd");
  2294. inorddepthngnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/inorddepthngnm");
  2295. dschorddepthngnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/dschorddepthngnm");
  2296. mainyn = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/mainyn");
  2297. rowno = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/rowno");
  2298. incnt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/incnt");
  2299. if(incnt != "")
  2300. incnt += " 회차";
  2301. signgenrflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/signgenrflag"); //20100615-kys
  2302. careinrmdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/careinrmdt"); //20100615-kys
  2303. var ininfo = indd + " / " + inorddepthngnm;
  2304. if(erdt != "")
  2305. ininfo += " (응급실 내원일 : " + erdt + ")";
  2306. var dschinfo = dschdd + " / " + dschorddepthngnm;
  2307. var formnmarr = formnm.split("\n");
  2308. var topformnm = "";
  2309. var botformnm = "";
  2310. if (formnmarr.length == 1)
  2311. {
  2312. topformnm = formnmarr[0];
  2313. }
  2314. else if (formnmarr.length == 2)
  2315. {
  2316. topformnm = formnmarr[0];
  2317. botformnm = formnmarr[1];
  2318. }
  2319. else
  2320. {
  2321. topformnm = formnm;
  2322. }
  2323. //2009-06-02 등록번호 "-" 병원별 제거
  2324. var pidynhcd = model.getValue("/root/init/pidynhcd/hardcd/hardcd");
  2325. if (pidynhcd == "Y")
  2326. {
  2327. for(var k = pid.length; k <= 8; k++)
  2328. {
  2329. if(k < 8){
  2330. pid = "0"+pid;
  2331. }
  2332. }
  2333. var str1 = pid.substr(0, 3);
  2334. var str2 = pid.substr(3, 2);
  2335. var str3 = pid.substr(5, 2);
  2336. var str4 = pid.substr(7, 1);
  2337. var tmppid = str1 + " " + str2 + " " + str3 + "-" + str4;
  2338. }
  2339. else
  2340. {
  2341. tmppid = pid;
  2342. }
  2343. if (chosflag == "O" || chosflag == "S")
  2344. {
  2345. wardheader = "진료과 : ";
  2346. }
  2347. else
  2348. {
  2349. wardheader = "병실 : ";
  2350. }
  2351. if (langflag == "KO")
  2352. {
  2353. if (chosflag == "O" || chosflag == "S")
  2354. {
  2355. wardheader = "진료과 : ";
  2356. }
  2357. else
  2358. {
  2359. wardheader = "병실 : ";
  2360. }
  2361. dateheader = "진료기간 : ";
  2362. doctorheader = "주치의 : ";
  2363. printheader = "출력 : ";
  2364. prtndeptnm = getUserInfo("dutplcenm");
  2365. imgepath = "com/commonweb/images/biglogo" + getUserInfo("dutplceinstcd") + ".jpg"
  2366. pageheader = "페이지 : ";
  2367. }
  2368. else
  2369. {
  2370. if (chosflag == "O" || chosflag == "S")
  2371. {
  2372. wardheader = "Dept : ";
  2373. }
  2374. else
  2375. {
  2376. wardheader = "Room : ";
  2377. }
  2378. dateheader = "Date : ";
  2379. doctorheader = "Doctor : ";
  2380. printheader = "Print date : ";
  2381. prtndeptnm = getUserInfo("deptengnm");
  2382. imgepath = "com/commonweb/images/biglogo" + getUserInfo("dutplceinstcd") + "e.jpg"
  2383. if (prtndeptnm == "" || prtndeptnm == null)
  2384. {
  2385. prtndeptnm = getUserInfo("dutplcenm");
  2386. }
  2387. pageheader = "Page : ";
  2388. }
  2389. if (imgflag == "N")
  2390. {
  2391. if(trans == "")
  2392. trans = "<html><head><title>출력화면 구현중입니다.</title></head><body>출력화면 구현중입니다.</body></html>";
  2393. var ininm = "cmc";
  2394. if( instcd == "032"){
  2395. switch(srcformcd)
  2396. {
  2397. //case "0000000001"://외래초진
  2398. //case "0000000002"://외래재진
  2399. //case "0000000004"://입원경과
  2400. case "0000000003"://입원초진
  2401. cover_header = "emr/recmngtweb/html/cover_header2_032.html";
  2402. cover_footer = "emr/recmngtweb/html/cover_footer.html";
  2403. deptengabbr = icdrdeptengabbr;
  2404. roomcd = icdrroomcd;
  2405. drid = icdrdrid;
  2406. break;
  2407. case "0000000676"://수술기록
  2408. cover_header = "emr/recmngtweb/html/cover_header_032.html";
  2409. cover_footer = "emr/recmngtweb/html/cover_footer2.html";
  2410. break;
  2411. case "0000000679"://응급실기록
  2412. cover_header = "emr/recmngtweb/html/cover_header3_032.html";
  2413. cover_footer = "emr/recmngtweb/html/cover_footer.html";
  2414. break;
  2415. case "0000000680"://입퇴원요약
  2416. cover_header = "emr/recmngtweb/html/cover_header1_032.html";
  2417. cover_footer = "emr/recmngtweb/html/cover_footer1.html";
  2418. break;
  2419. case "0000002022"://마취기록지
  2420. cover_header = "emr/recmngtweb/html/cover_header4_032.html";
  2421. cover_footer = "emr/recmngtweb/html/cover_footer.html";
  2422. break;
  2423. //case "0000003325"://DSC기록
  2424. case "0000003169"://Brief OP Note
  2425. cover_header = "emr/recmngtweb/html/cover_header_032.html";
  2426. cover_footer = "emr/recmngtweb/html/cover_footer.html";
  2427. break;
  2428. default:
  2429. if(formprogflag == "-" || formprogflag == "MAIN" || mainyn == "Y"){
  2430. cover_header = "emr/recmngtweb/html/cover_header10_032.html";
  2431. cover_footer = "emr/recmngtweb/html/cover_footer.html";
  2432. }else{
  2433. cover_header = "emr/recmngtweb/html/cover_header_032.html";
  2434. cover_footer = "emr/recmngtweb/html/cover_footer.html";
  2435. }
  2436. break;
  2437. }
  2438. }else{
  2439. switch(srcformcd)
  2440. {
  2441. //case "0000000001"://외래초진
  2442. //case "0000000002"://외래재진
  2443. //case "0000000004"://입원경과
  2444. case "0000000003"://입원초진
  2445. cover_header = "emr/recmngtweb/html/cover_header2.html";
  2446. cover_footer = "emr/recmngtweb/html/cover_footer.html";
  2447. deptengabbr = icdrdeptengabbr;
  2448. roomcd = icdrroomcd;
  2449. drid = icdrdrid;
  2450. break;
  2451. case "0000000676"://수술기록
  2452. cover_header = "emr/recmngtweb/html/cover_header.html";
  2453. cover_footer = "emr/recmngtweb/html/cover_footer2.html";
  2454. break;
  2455. case "0000000679"://응급실기록
  2456. cover_header = "emr/recmngtweb/html/cover_header3.html";
  2457. cover_footer = "emr/recmngtweb/html/cover_footer.html";
  2458. break;
  2459. case "0000000680"://입퇴원요약
  2460. cover_header = "emr/recmngtweb/html/cover_header1.html";
  2461. cover_footer = "emr/recmngtweb/html/cover_footer1.html";
  2462. break;
  2463. case "0000002022"://마취기록지
  2464. cover_header = "emr/recmngtweb/html/cover_header4.html";
  2465. cover_footer = "emr/recmngtweb/html/cover_footer.html";
  2466. break;
  2467. //case "0000003325"://DSC기록
  2468. case "0000003169"://Brief OP Note
  2469. cover_header = "emr/recmngtweb/html/cover_header.html";
  2470. cover_footer = "emr/recmngtweb/html/cover_footer.html";
  2471. break;
  2472. default:
  2473. if(formprogflag == "-" || formprogflag == "MAIN" || mainyn == "Y"){
  2474. cover_header = "emr/recmngtweb/html/cover_header10.html";
  2475. cover_footer = "emr/recmngtweb/html/cover_footer.html";
  2476. }else{
  2477. cover_header = "emr/recmngtweb/html/cover_header.html";
  2478. cover_footer = "emr/recmngtweb/html/cover_footer.html";
  2479. }
  2480. break;
  2481. }
  2482. }
  2483. // CHECK 2013.07.10 CYW
  2484. var openerid = opener.window.javascript.getParameter("SMMRI00400_param_openerid");
  2485. if( openerid == "SMMRI08000" && SMMRI03000_privateflag == "2" ){ // 본원 보호정책
  2486. ptnm = "";
  2487. rgstno = "";
  2488. lastupdtrusrnm = "";
  2489. fstrgstrusrnm = "";
  2490. drid = "";
  2491. emrrecusrnm = "";
  2492. staffnm = "";
  2493. surgeon = "";
  2494. tmppid = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/pid").substring(0,3) + "****";
  2495. }else if( openerid == "SMMRI08000" && SMMRI03000_privateflag == "3" ){ // 칠곡 보호정책
  2496. ptnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/ptnm").substring(0,1) + "**";
  2497. rgstno = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/rgstno").substring(0,6) + "-*******";
  2498. }
  2499. // 통합기록조회 조회조건(타이틀제거여부)에 따른 VIEW 2013.09.06 CYW 환경설정변수 040, 044
  2500. if(model.getValue("/root/envinit/viewflag" ) == "true"){
  2501. cover_header = "";
  2502. cover_footer = "";
  2503. body_header = "";
  2504. body_footer = "";
  2505. }else{
  2506. body_header = "emr/recmngtweb/html/body_header.html";
  2507. body_footer = "emr/recmngtweb/html/body_footer.html";
  2508. }
  2509. trans = "<!--@\n @DOCUMENT_HOME = " + getDomain() + "/himed/webapps/ " +
  2510. "\n @COVER_HEADER = " + cover_header +
  2511. "\n @COVER_FOOTER = " + cover_footer +
  2512. "\n @BODY_HEADER = " + body_header +
  2513. "\n @BODY_FOOTER = " + body_footer +
  2514. "\n @DEFAULT_FONT = 굴림 " +
  2515. "\n @DEFAULT_PRE_FONT = 굴림 " +
  2516. "\n @DEFAULT_FONT_SIZE = 9pt " +
  2517. "\n @DEFAULT_PRE_FONT_SIZE = 10pt " +
  2518. "\n @FONT_SIZE_OFFSET = 3px " +
  2519. "\n @USE_NU_SIZE_ADJUST = TRUE " +
  2520. "\n @HIDE_TAG = DIV:MTX_*, DIV:STX_* " +
  2521. "\n @VAR_PAT_NUM = " + tmppid +
  2522. "\n @VAR_CLASS = " + ordtype +
  2523. "\n @VAR_CHART_NAME_TOP = " + topformnm +
  2524. "\n @VAR_CHART_NAME_BOTTOM = " + botformnm +
  2525. "\n @VAR_CHART_NAME_LINE = " + formnm +
  2526. "\n @VAR_PAT_AGE_SEX = " + sa +
  2527. "\n @VAR_TREAT_DEPT = " + deptengabbr +
  2528. "\n @VAR_PAT_JUMIN_NO = " + rgstno +
  2529. "\n @VAR_PAT_NAME = " + ptnm +
  2530. "\n @VAR_PRINT_NAME = " + prtnunm +
  2531. "\n @VAR_PRINT_DEPT = " + prtndeptnm +
  2532. "\n @VAR_WARD_HEAD = " + wardheader + roomcd +
  2533. "\n @VAR_DATE_HEADER = " + dateheader + disporddd +
  2534. "\n @VAR_DOCTOR_HEADER = " + doctorheader + drid +
  2535. "\n @VAR_PRINT_HEADER = " + printheader + prtdt +
  2536. "\n @SYS_PAGE_HEADER = " + pageheader +
  2537. "\n @VAR_HOSP_IMG = " + imgepath +
  2538. "\n @VAR_ORDDATE = " + recdd +
  2539. "\n @VAR_ORDDEPT = " + depthngnm +
  2540. "\n @VAR_FSTRGSTRUSRNM = " + fstrgstrusrnm +
  2541. "\n @VAR_LASTUPDTRUSRNM = " + lastupdtrusrnm +
  2542. "\n @VAR_ERDT = " + erdt +
  2543. "\n @VAR_ERVISITTM = " + ervisittm +
  2544. "\n @VAR_STAFFNM_HEADER = " + staffnmheader +
  2545. "\n @VAR_STAFFNM = " + staffnm +
  2546. "\n @VAR_EMRRECUSRNM_HEADER = " + emrrecusrnmheader +
  2547. "\n @VAR_EMRRECUSRNM = " + emrrecusrnm +
  2548. "\n @VAR_ININFO = " + ininfo +
  2549. "\n @VAR_DSCHINFO = " + dschinfo +
  2550. "\n @VAR_INCNT = " + incnt +
  2551. "\n @VAR_INORDDEPTHNGNM = " + inorddepthngnm +
  2552. "\n @VAR_RECUSERID = " + fstrgstrusrnm +
  2553. "\n @VAR_REALRECDT = " + formrecdt +
  2554. "\n @VAR_TREAT_DEPT = " + deptengabbr +
  2555. "\n @VAR_DSCHINFO = " + dschinfo +
  2556. "\n @VAR_SURGEON = " + surgeon +
  2557. "\n @OUTPUT_MAGNIFICATION = 1 " +
  2558. "\n@-->\n" + trans + "\n";
  2559. //2013/02/15 소스머지 끝
  2560. var fso = new ActiveXObject("Scripting.FileSystemObject");
  2561. var a = fso.CreateTextFile(foldernm + "\\" + signno + i + "_" + formcd + ".HTML", true, true);
  2562. a.WriteLine(trans);
  2563. //a.Write(trans);
  2564. a.Close();
  2565. emrpath = foldernm + "\\" + signno + i + "_" + formcd + ".HTML|";
  2566. //emrorddate += orddd + "|";
  2567. emrorddate = recdd + "|"; //기록일을 보여달라는 의료정보팀 요청
  2568. emrformnm = formnm + "|";
  2569. emrformcd = formcd + "|";
  2570. emrdeptnm = deptengabbr + "|";
  2571. emrdeptcd = orddeptcd + "|";
  2572. emrpage = "1|";
  2573. emrhiddenmsg = formcd + "▦" + signno + "▦" + formnm + "▦" + chosflag + "▦" +pid + "▦" + ptnm + "▦" + deptengabbr
  2574. + "▦" + sa + "▦" + rgstno + "▦" + disporddd + "▦" + drid + "▦" + roomcd + "▦" + disporddd + "▦" + ordtype + "▦" + "E|";
  2575. recrowno = rowno;
  2576. //영상-EMR구분|파일경로|입원일|서식지코드|서식지이름|진료과코드|진료과이름
  2577. var chartinfo = "";
  2578. chartinfo = "E|" + emrpath + emrorddate + emrformcd + emrformnm + emrdeptcd + emrdeptnm;
  2579. model.makeValue("/root/send/iemr/treatno", "");
  2580. model.makeValue("/root/send/iemr/docucd", "");
  2581. model.makeValue("/root/send/iemr/instcd", model.getValue("/root/init/env/instcd")); //20120704 이윤주수정
  2582. //2013/02/15 소스머지 시작(주석 및 추가)
  2583. //var iemrNode = instance1.selectSingleNode("/root/imgrec/iemr");
  2584. var iemrNode = instance1.selectSingleNode("/root/send/iemr");
  2585. //2013/02/15 소스머지 끝
  2586. iviewerIemr.window.javascript.appendChart(iemrNode, chartinfo, emrhiddenmsg, recrowno);
  2587. //iviewerIemr.window.javascript.appendChart(iemrNode, chartinfo, emrhiddenmsg);
  2588. }
  2589. else
  2590. {
  2591. tmptreatno = signno + ",";
  2592. tmpiformcd = formcd + ",";
  2593. emrpath = "*|";
  2594. emrorddate = "*|";
  2595. emrformnm = "*|";
  2596. emrformcd = "*|";
  2597. emrdeptnm = "*|";
  2598. emrdeptcd = "*|";
  2599. emrpage = "*|";
  2600. emrhiddenmsg = "*|";
  2601. recrowno = rowno;
  2602. model.makeValue("/root/imgrec/iemr/treatno", signno);
  2603. model.makeValue("/root/imgrec/iemr/docucd", formcd);
  2604. model.makeValue("/root/imgrec/iemr/instcd", model.getValue("/root/init/env/instcd")); //20120704 이윤주수정
  2605. //2013/08/13 Start 이정택:처방키가 있을시에 처방키에 해당하는 이미지만 가져오도록 소스 추가
  2606. var cmc_orderseqno = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/cmc_orderseqno");
  2607. if(cmc_orderseqno!="" && cmc_orderseqno!=null){
  2608. model.makeValue("/root/imgrec/iemr/cmc_orderseqno", cmc_orderseqno);
  2609. }else{
  2610. model.makeValue("/root/imgrec/iemr/cmc_orderseqno", "");
  2611. }
  2612. //2013/08/13 End
  2613. model.makeValue("/root/imgrec/iemr/formprogflag", formprogflag);
  2614. var iemrNode = instance1.selectSingleNode("/root/imgrec/iemr");
  2615. var chartinfo;
  2616. chartinfo = "I";
  2617. var hiddenmsg;
  2618. hiddenmsg = "I";
  2619. iviewerIemr.window.javascript.appendChart(iemrNode, chartinfo, hiddenmsg, recrowno);
  2620. //iviewerIemr.window.javascript.appendChart(iemrNode, chartinfo, hiddenmsg);
  2621. }
  2622. }
  2623. iviewerIemr.window.javascript.refreshTrue();
  2624. }
  2625. /**
  2626. * @desc : 미비확인 화면 오픈
  2627. * @id :
  2628. * @event : DOMActivate
  2629. * @return : void
  2630. * @authur : 박종훈
  2631. */
  2632. function fOpenUnprep()
  2633. {
  2634. var pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  2635. var orddd = grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colref("orddd"));
  2636. var cretno = grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colref("cretno"));
  2637. setParameter("SPMRI03000_pid", pid);
  2638. setParameter("SPMRI03000_indd", orddd);
  2639. setParameter("SPMRI03000_cretno", cretno);
  2640. var wndobj = getOpenWindow("SPMRI03000");
  2641. if(wndobj != null)
  2642. {
  2643. wndobj.window.javascript.fInitialize_SPMRI03000();
  2644. activateChild("SPMRI03000");
  2645. }
  2646. else
  2647. {
  2648. open("SPMRI03000");
  2649. }
  2650. }
  2651. /**
  2652. * @desc : 출력버튼 클릭
  2653. * @id :
  2654. * @event : DOMActivate
  2655. * @return : void
  2656. * @authur : 박종훈
  2657. */
  2658. function fClickPrint()
  2659. {
  2660. var orddd = grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colref("orddd"));
  2661. var cretno = grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colref("cretno"));
  2662. var orddeptcd = grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colref("orddeptcd"));
  2663. var comporddd = model.getValue("/root/init/prtresn/orddd");
  2664. var compcretno = model.getValue("/root/init/prtresn/cretno");
  2665. var itrgtNodeCnt = getNodesetCnt(model, "/root/hardcd/trgtdept[trgtcd = '" + orddeptcd + "']"); //사유대상부서
  2666. if (itrgtNodeCnt > 0) //감염내과, 정신과, 산부인과, 비뇨기과
  2667. {
  2668. var sUserDeptcd = getUserInfo("dutplcecd");
  2669. var iexNodeCnt = getNodesetCnt(model, "/root/hardcd/exdept[trgtcd = '" + sUserDeptcd + "']"); //사유제외부서
  2670. // 2013.10.11 start cyw 센터일경우 해당 하위부서의 기록을 볼때 사유입력하지 않도록--------------
  2671. var cntrcnt = 0;
  2672. var samechk = 0;
  2673. model.makeNode("/root/send/cntrsrch");
  2674. model.makeValue("/root/send/cntrsrch/instcd", getUserInfo("dutplceinstcd") );
  2675. model.makeValue("/root/send/cntrsrch/userdeptcd", sUserDeptcd );
  2676. if( submit("TRMRI08114") ){
  2677. cntrcnt = getNodesetCount("/root/temp1/cntrdept/cntrdeptlist");
  2678. for( var i = 1; i <= cntrcnt ; i ++ ){
  2679. if( orddeptcd == model.getValue("/root/temp1/cntrdept/cntrdeptlist[" + i + "]/deptcd") ){
  2680. samechk++;
  2681. }
  2682. }
  2683. }
  2684. // 2013.10.11 end-------------------------------------------------------------------------------------------
  2685. // 기록조회시, 사유입력하는 경우?
  2686. // 1. 사유제외부서가 아닐경우
  2687. // 2. 선택한기록부서와 사용자 부서가 같을 경우
  2688. // 3, 각각의 진료일자와 원무키가 다를 경우
  2689. // 4. 센터부서일 경우 하위부서가 아닐경우
  2690. if ( (samechk <=0) && (iexNodeCnt <= 0) && (sUserDeptcd != orddeptcd) && (comporddd != orddd && compcretno != cretno) ) //사용자 근무부서와 환자 수진부서가 틀린경우 사유창 팝업, 근무부서가 의료정보팀일경우 제외
  2691. {
  2692. if ( fSetResnSMMRI08000() == true ){
  2693. //열람승인화면에서 사유입력이 된 제한차트는 fSetResnSMMRI08000()함수에서 사유 자동 셋팅, 2010.09.02 주희경
  2694. }
  2695. else //통합기록조회에서 직접 기록을 오픈할때에는 사유 입력
  2696. {
  2697. model.resetInstanceNode("/root/init/prtresn");
  2698. setParameter("SPMRI03100_param_nodepath", "/root/init/prtresn");
  2699. setParameter("SPMRI03100_param_rsnflag", 'P');
  2700. modal("SPMRI03100");
  2701. var valiyn = model.getValue("/root/init/prtresn/valiyn");
  2702. if (valiyn != "Y")
  2703. {
  2704. return;
  2705. }
  2706. else
  2707. {
  2708. }
  2709. }
  2710. }
  2711. model.makeValue("/root/init/prtresn/orddd", orddd);
  2712. model.makeValue("/root/init/prtresn/cretno", cretno);
  2713. }
  2714. else
  2715. {
  2716. model.resetInstanceNode("/root/init/prtresn");
  2717. }
  2718. var appcopykey = iviewerIemr.window.javascript.setCopy(true); //영상뷰어에서의 리턴값
  2719. if (appcopykey != "")
  2720. {
  2721. //var copykey = appcopykey.split("|");
  2722. //var appkeyArr = copykey[0].split("▦");
  2723. var copykey = appcopykey.split("▩");
  2724. var appkeyArr = copykey[0].split("|");
  2725. var reckind = ""; //기록, 영상구분(E/I)
  2726. var tmpval = "";
  2727. var tmpformcd = "";
  2728. var tmptotpage = "";
  2729. appkeyArr = "";
  2730. var copyparam = "";
  2731. var compsignno = "";
  2732. var compformcd = "";
  2733. var tmpreckind = "";
  2734. var tmpdeptcd = getUserInfo("dutplcecd");
  2735. var tmppid = model.getValue("/root/main/patinfo/patinfolist/pid")
  2736. var tmporddd = grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colref("orddd"));
  2737. var tmpcretno = grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colref("cretno"));
  2738. var tmpchosflag = grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colref("ordtype"));
  2739. model.removeNodeSet("/root/prthist");
  2740. model.makeNode("/root/prthist");
  2741. var leng = 1;
  2742. for(var i = 0; i < copykey.length-1; i++)
  2743. {
  2744. if( copykey[i] != "" ){
  2745. appkeyArr = copykey[i].split("▦");
  2746. reckind = appkeyArr[0];
  2747. if (reckind == "I")
  2748. {
  2749. tmpval = appkeyArr[1];
  2750. tmpformcd = appkeyArr[2];
  2751. tmpreckind = "02";
  2752. if (compsignno != tmpval || compformcd != tmpformcd)
  2753. {
  2754. compsignno = tmpval;
  2755. compformcd = tmpformcd;
  2756. }
  2757. else
  2758. {
  2759. continue;
  2760. }
  2761. }
  2762. else
  2763. {
  2764. tmpval = appkeyArr[1];
  2765. tmpformcd = appkeyArr[0];
  2766. tmpreckind = "01";
  2767. if (compsignno != tmpval)
  2768. {
  2769. compsignno = tmpval;
  2770. }
  2771. else
  2772. {
  2773. continue;
  2774. }
  2775. }
  2776. if (tmpcretno == "")
  2777. tmpcretno = 0;
  2778. model.makeValue("/root/prthist[" + leng + "]/pid", tmppid);
  2779. model.makeValue("/root/prthist[" + leng + "]/orddd", tmporddd);
  2780. model.makeValue("/root/prthist[" + leng + "]/cretno", tmpcretno);
  2781. model.makeValue("/root/prthist[" + leng + "]/chosflag", tmpchosflag);
  2782. model.makeValue("/root/prthist[" + leng + "]/signno", tmpval);
  2783. model.makeValue("/root/prthist[" + leng + "]/formcd", tmpformcd);
  2784. model.makeValue("/root/prthist[" + leng + "]/reckind", tmpreckind);
  2785. model.makeValue("/root/prthist[" + leng + "]/userdeptcd", tmpdeptcd);
  2786. model.makeValue("/root/prthist[" + leng + "]/readprtflag", "P");
  2787. model.makeValue("/root/prthist[" + leng + "]/refusge", model.getValue("/root/init/prtresn/resncd"));
  2788. model.makeValue("/root/prthist[" + leng + "]/refremark", model.getValue("/root/init/prtresn/etc"));
  2789. //출력로그(염람신청 키):이윤주수정(20120127)
  2790. model.makeValue("/root/prthist[" + leng + "]/appno", model.getValue("/root/init/view/appno"));
  2791. model.makeValue("/root/prthist[" + leng + "]/histno", model.getValue("/root/init/view/histno"));
  2792. leng++;
  2793. model.makeValue("/root/send/prvtsrch/formcd", tmpformcd );
  2794. submit("TRMRI08113");
  2795. var reccnt = model.getValue("/root/temp/prvtsrch/reccnt/cnt");
  2796. // 개인정보보호 적용시, CDIS, OCR 서식은 출력 불가 2013.08.20 CYW
  2797. if( getParameter("SMMRI03000_privateflag") == "2"){
  2798. if( tmpformcd == "CDIS" || tmpformcd == "IV146" || reccnt > 0 ){
  2799. messageBox("개인정보보호정책으로 인해 해당 서식을 출력할 수 없습니다.", "I999");
  2800. return;
  2801. }
  2802. }
  2803. }
  2804. }
  2805. datagrid1.rebuild();
  2806. for(var j = 1; j < datagrid1.rows; j++)
  2807. {
  2808. datagrid1.rowstatus(j) = 1;
  2809. }
  2810. model.removeNodeset("/root/send");
  2811. model.makeValue("/root/send/prtlist", datagrid1.getUpdateData());
  2812. model.makeValue("/root/send/instcd", model.getValue("/root/init/env/instcd"));
  2813. submit("TXMRI03001");
  2814. if(iviewerIemr.window.javaScript.printChart("SMMRC03000"))
  2815. {
  2816. messageBox("출력", "I001");
  2817. }
  2818. else
  2819. {
  2820. messageBox("출력에", "E009");
  2821. }
  2822. model.removeNodeSet("/root/prthist");
  2823. model.makeNode("/root/prthist");
  2824. datagrid1.refresh();
  2825. }
  2826. }
  2827. /**
  2828. * @desc : 중분류 그리드 메뉴
  2829. * @id :
  2830. * @event : DOMActivate
  2831. * @return : void
  2832. * @authur : 박종훈
  2833. */
  2834. function fMidindxMouseRight()
  2835. {
  2836. //2010-02-05 오전 9:17:04 강지훈 추가 : 요청번호 10612, Task 40877 병원,과별로 출력부서를 제한한다.
  2837. var prntuseyn = model.getValue("/root/init/prntuseyn/hardcd/hardcd");
  2838. var sUserDeptcd = getUserInfo("dutplcecd");
  2839. if(grd_midindx.isCell(event.target) && (grd_midindx.mouserow >= grd_midindx.fixedrows)){
  2840. if (prntuseyn == "Y")
  2841. {
  2842. if(model.getValue("/root/init/prntdept/hardcd[hardcd='" + sUserDeptcd + "']/hardcd") != ""){
  2843. setPopupMenu("grd_midindx", false, "/root/midmsrght/mouserght", "label", "func");
  2844. }
  2845. }
  2846. else{
  2847. setPopupMenu("grd_midindx", false, "/root/midmsrght/mouserght", "label", "func");
  2848. }
  2849. }
  2850. }
  2851. /**
  2852. * @desc : 분류출력 클릭
  2853. * @id :
  2854. * @event : DOMActivate
  2855. * @return : void
  2856. * @authur : 박종훈
  2857. */
  2858. function fMidPrint()
  2859. {
  2860. model.setValue("/root/init/recall", "Y");
  2861. iviewerIemrprt.window.javascript.setupChart("ThumbView");
  2862. fGetDetlRecForPrt();
  2863. var appcopykey = iviewerIemrprt.window.javascript.setCopy(true); //영상뷰어에서의 리턴값
  2864. if (appcopykey != "")
  2865. {
  2866. var copykey = appcopykey.split("|");
  2867. var appkeyArr = copykey[0].split("▦");
  2868. var reckind = ""; //기록, 영상구분(E/I)
  2869. var tmpval = "";
  2870. var tmpformcd = "";
  2871. var tmptotpage = "";
  2872. appkeyArr = "";
  2873. var copyparam = "";
  2874. var compsignno = "";
  2875. var compformcd = "";
  2876. var tmpreckind = "";
  2877. var tmpdeptcd = getUserInfo("dutplcecd");
  2878. var tmppid = model.getValue("/root/main/patinfo/patinfolist/pid")
  2879. var tmporddd = grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colref("orddd"));
  2880. var tmpcretno = grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colref("cretno"));
  2881. var tmpchosflag = grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colref("ordtype"));
  2882. model.removeNodeSet("/root/prthist");
  2883. model.makeNode("/root/prthist");
  2884. var leng = 1;
  2885. for(var i = 0; i < copykey.length; i = i + 2)
  2886. {
  2887. appkeyArr = copykey[i].split("▦");
  2888. reckind = appkeyArr[0];
  2889. if (reckind == "I")
  2890. {
  2891. tmpval = appkeyArr[1];
  2892. tmpformcd = appkeyArr[2];
  2893. tmpreckind = "02";
  2894. if (compsignno != tmpval || compformcd != tmpformcd)
  2895. {
  2896. compsignno = tmpval;
  2897. compformcd = tmpformcd;
  2898. }
  2899. else
  2900. {
  2901. continue;
  2902. }
  2903. }
  2904. else
  2905. {
  2906. tmpval = appkeyArr[1];
  2907. tmpformcd = appkeyArr[0];
  2908. tmpreckind = "01";
  2909. if (compsignno != tmpval)
  2910. {
  2911. compsignno = tmpval;
  2912. }
  2913. else
  2914. {
  2915. continue;
  2916. }
  2917. }
  2918. if (tmpcretno == "")
  2919. tmpcretno = 0;
  2920. model.makeValue("/root/prthist[" + leng+ "]/pid", tmppid);
  2921. model.makeValue("/root/prthist[" + leng + "]/orddd", tmporddd);
  2922. model.makeValue("/root/prthist[" + leng + "]/cretno", tmpcretno);
  2923. model.makeValue("/root/prthist[" + leng + "]/chosflag", tmpchosflag);
  2924. model.makeValue("/root/prthist[" + leng + "]/signno", tmpval);
  2925. model.makeValue("/root/prthist[" + leng + "]/formcd", tmpformcd);
  2926. model.makeValue("/root/prthist[" + leng + "]/reckind", tmpreckind);
  2927. model.makeValue("/root/prthist[" + leng + "]/userdeptcd", tmpdeptcd);
  2928. model.makeValue("/root/prthist[" + leng + "]/readprtflag", "P");
  2929. model.makeValue("/root/prthist[" + leng + "]/refusge", "");
  2930. model.makeValue("/root/prthist[" + leng + "]/refremark", "");
  2931. leng++;
  2932. }
  2933. datagrid1.rebuild();
  2934. for(var j = 1; j < datagrid1.rows; j++)
  2935. {
  2936. datagrid1.rowstatus(j) = 1;
  2937. }
  2938. model.removeNodeset("/root/send");
  2939. model.makeValue("/root/send/prtlist", datagrid1.getUpdateData());
  2940. model.makeValue("/root/send/instcd", model.getValue("/root/init/env/instcd"));
  2941. submit("TXMRI03001");
  2942. if(iviewerIemr.window.javaScript.printChart("SMMRC03000"))
  2943. {
  2944. messageBox("출력", "I001");
  2945. }
  2946. else
  2947. {
  2948. messageBox("출력에", "E009");
  2949. }
  2950. model.removeNodeSet("/root/prthist");
  2951. model.makeNode("/root/prthist");
  2952. datagrid1.refresh();
  2953. }
  2954. }
  2955. /**
  2956. * @desc : 기록조회
  2957. * @id :
  2958. * @event : DOMActivate
  2959. * @return : void
  2960. * @authur : 박종훈
  2961. */
  2962. function fGetDetlRecForPrt()
  2963. {
  2964. var reccurpos = parseInt(model.getValue("/root/init/reccurpos"));
  2965. var rowfocus = "";
  2966. var midreccurpos = 1;
  2967. var midpos = 0; //중분류중 몇번째 기록계산
  2968. var emrflag = model.getValue("/root/init/emrflag");
  2969. //2009-11-02 오후 4:44:56 강지훈 수정
  2970. var reckind = grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("reckind"));
  2971. if (emrflag == "I" && (reckind != "EMR" && reckind != "CDIS"))
  2972. {
  2973. var totcnt = "[ " + 1 + " / " + grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("cnt")) + " / " + model.getValue("/root/init/reccnt") + " ]";
  2974. model.setValue("/root/init/totcnt", totcnt);
  2975. lbl_totcnt.refresh();
  2976. var treatno = grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("itemindxseq"));
  2977. var formcd = grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("supitemindxseq"));
  2978. iviewerIemrprt.window.javascript.cleanViewer();
  2979. iviewerIemrprt.window.javascript.refreshFalse();
  2980. model.makeValue("/root/imgrec/iemr/treatno", parseInt(treatno));
  2981. model.makeValue("/root/imgrec/iemr/docucd", formcd);
  2982. model.makeValue("/root/imgrec/iemr/instcd", model.getValue("/root/init/env/instcd"));
  2983. var iemrNode = instance1.selectSingleNode("/root/imgrec/iemr");
  2984. var chartinfo;
  2985. chartinfo = "I";
  2986. var hiddenmsg;
  2987. hiddenmsg = "I";
  2988. iviewerIemrprt.window.javascript.appendChart(iemrNode, chartinfo, hiddenmsg);
  2989. iviewerIemrprt.window.javascript.refreshTrue();
  2990. }
  2991. else
  2992. {
  2993. for (var i = 1; i <= grd_midindx.rows; i++)
  2994. {
  2995. midcnt = grd_midindx.valueMatrix(i, grd_midindx.colref("cnt"));
  2996. midreccurpos += parseInt(midcnt);
  2997. if (midreccurpos > reccurpos)
  2998. {
  2999. //grd_midindx.row = i;
  3000. break;
  3001. }
  3002. }
  3003. var reckind = grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("reckind"));
  3004. var calcReccurpos = parseInt(model.getValue("/root/init/reccurpos"));
  3005. var bfopentest = model.getValue("/root/init/bfopentest");
  3006. var isLis = "";
  3007. for (var j = 1; j < grd_midindx.row; j++)
  3008. {
  3009. isLis = grd_midindx.valueMatrix(j, grd_midindx.colref("reckind"));
  3010. if (isLis == "LIS")
  3011. {
  3012. calcReccurpos -= 1;
  3013. }
  3014. }
  3015. model.removeNodeset("/root/send");
  3016. model.makeValue("/root/send/pid", model.getValue("/root/main/patinfo/patinfolist/pid"));
  3017. model.makeValue("/root/send/orddd", grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colref("orddd")));
  3018. model.makeValue("/root/send/cretno", grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colref("cretno")));
  3019. model.makeValue("/root/send/chosflag", grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colref("ordtype")));
  3020. model.makeValue("/root/send/orddeptcd", grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colref("orddeptcd")));
  3021. model.makeValue("/root/send/tabflag", model.getValue("/root/init/tabflag"));
  3022. model.makeValue("/root/send/reccurpos", calcReccurpos);
  3023. model.makeValue("/root/send/recall", model.getValue("/root/init/recall"));
  3024. model.makeValue("/root/send/reckind", reckind);
  3025. model.makeValue("/root/send/itemindxseq", grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("itemindxseq")));
  3026. model.makeValue("/root/send/lisflag", grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("lisflag")));
  3027. model.makeValue("/root/send/instcd", model.getValue("/root/init/env/instcd"));
  3028. //2009-11-02 오후 2:18:45 강지훈 수정
  3029. model.makeValue("/root/send/bfopentest", bfopentest);
  3030. grd_pathistrow = grd_pathist.row;
  3031. pathistEmrFlag = grd_pathist.valueMatrix(grd_pathistrow, grd_pathist.colref("emrflag"))
  3032. if(bfopentest == "Y" && emrflag != "E"){
  3033. model.makeValue("/root/send/midbftest", "Y");
  3034. }
  3035. else{
  3036. model.makeValue("/root/send/midbftest", "N");
  3037. }
  3038. if(submit("TRMRI03004"))
  3039. {
  3040. iviewerIemrprt.window.javascript.cleanViewer();
  3041. fGetNextEmrImgRecPrt();
  3042. }
  3043. if (grd_midindx.row > 1)
  3044. {
  3045. var prevmidcnt = grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("cnt"));
  3046. midpos = reccurpos - midreccurpos + parseInt(prevmidcnt) + 1;
  3047. }
  3048. else
  3049. {
  3050. midpos = reccurpos;
  3051. }
  3052. var totcnt = "[ " + midpos + " / " + grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("cnt")) + " / " + model.getValue("/root/init/reccnt") + " ]";
  3053. model.setValue("/root/init/totcnt", totcnt);
  3054. lbl_totcnt.refresh();
  3055. }
  3056. }
  3057. function fGetNextEmrImgRecPrt()
  3058. {
  3059. var certnodeList = instance1.selectNodes("/root/tmpinicert/iniinfo");
  3060. //--20130418 김동준 start(html 다운로드시 본원과 칠곡 분기)
  3061. var foldernm = "C:\\Certrec" + getUserInfo("dutplceinstcd");
  3062. //var foldernm = "C:\\Certrec";
  3063. //--20130418 김동준 end
  3064. if (certnodeList.length <= 0)
  3065. return;
  3066. var emrpath = "";
  3067. var emrorddate = "";
  3068. var emrformnm = "";
  3069. var emrformcd = "";
  3070. var emrdeptnm = "";
  3071. var emrdeptcd = "";
  3072. var emrpage = "";
  3073. var emrhiddenmsg = "";
  3074. var k = "";
  3075. var pid = "";
  3076. var ptnm = "";
  3077. var depthngnm = "";
  3078. var deptengabbr = "";
  3079. var rgstno = "";
  3080. var sa = "";
  3081. var disporddd = "";
  3082. var orddd = "";
  3083. var drid = "";
  3084. var roomcd = "";
  3085. var ordtype = "";
  3086. var chosflag = "";
  3087. var orddeptcd = "";
  3088. var signflag = "";
  3089. var imgflag = "";
  3090. var langflag = "";
  3091. var tmptreatno = "";
  3092. var tmpiformcd = "";
  3093. var signno = 0;
  3094. var formcd = "";
  3095. var srcformcd = "";
  3096. var formnm = "";
  3097. var formprogflag = "";
  3098. var recdt = "";
  3099. var recdd = "";
  3100. var wardheader = "";
  3101. var dateheader = "";
  3102. var doctorheader = "";
  3103. var printheader = "";
  3104. var pageheader = "";
  3105. var imgepath = "";
  3106. var formrecdt = "";
  3107. var fstrgstdt = "";
  3108. var lastupdtdt = "";
  3109. var staffconfirmdt = "";
  3110. var fstrgstrusrnm = "";
  3111. var lastupdtrusrnm = "";
  3112. var erdt = "";
  3113. var ervisittm = "";
  3114. var staffnmheader = "";
  3115. var staffnm = "";
  3116. var emrrecusrnmheader = "";
  3117. var emrrecusrnm = "";
  3118. var indd = "";
  3119. var dschdd = "";
  3120. var inorddepthngnm = "";
  3121. var dschorddepthngnm = "";
  3122. var incnt = "";
  3123. var mainyn = "";
  3124. var prtnunm = getUserInfo("usernm");
  3125. var prtndeptnm = "";
  3126. //var getuseren = getUserInfo("userengnm");
  3127. var getdate = getCurrentDate();
  3128. var gettime = getCurrentTime();
  3129. var dateprnt = getdate.substr(0, 4) + "/" + getdate.substr(4, 2) + "/" + getdate.substr(6, 2);
  3130. var timeprnt = gettime.substr(0, 2) + ":" + gettime.substr(2, 2) + ":" + gettime.substr(4, 2);
  3131. var prtdt = dateprnt + " " + timeprnt;
  3132. var signgenrflag = ""; //20100615-kys
  3133. var careinrmdt = ""; //20100615-kys
  3134. fExistFolder(foldernm);
  3135. iviewerIemrprt.window.javascript.refreshFalse();
  3136. for(var i = 1; i <= certnodeList.length; i++)
  3137. {
  3138. signno = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/signno");
  3139. formcd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/formcd");
  3140. srcformcd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/srcformcd");
  3141. formnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/formnm");
  3142. formprogflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/formprogflag");
  3143. recdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/recdt");
  3144. recdd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/recdd");
  3145. trans = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/trans");
  3146. pid = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/pid");
  3147. ptnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/ptnm");
  3148. depthngnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/depthngnm");
  3149. deptengabbr = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/deptengabbr");
  3150. rgstno = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/rgstno");
  3151. sa = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/sa");
  3152. disporddd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/disporddd");
  3153. orddd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/orddd");
  3154. drid = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/drid");
  3155. roomcd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/roomcd");
  3156. ordtype = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/ordtype");
  3157. chosflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/chosflag");
  3158. orddeptcd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/orddeptcd");
  3159. signflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/signflag");
  3160. imgflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/imgflag");
  3161. langflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/langflag");
  3162. formrecdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/formrecdt");
  3163. formrecdt = formrecdt.toDate().getDateFormat("YYYY/MM/DD");
  3164. fstrgstdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/fstrgstdt");
  3165. lastupdtdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/lastupdtdt");
  3166. staffconfirmdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/staffconfirmdt");
  3167. //20100628-kys-서울성모병원은 최초작성자(작성일시), 최종작성자(작성일시)->작성자, 작성일시로 표시한다.
  3168. if(getUserInfo("dutplceinstcd") == "012"){
  3169. fstrgstrusrnm = "◈ 작 성 자 : " + model.getValue("/root/tmpinicert/iniinfo[" + i + "]/fstrgstrusrnm");
  3170. if(fstrgstrusrnm != "")
  3171. lastupdtrusrnm = "◈ 작성일시 : " + fstrgstdt; //수정을 최소화 하기 위해 lastupdtrusrnm를 쓴다.-kys-20100628
  3172. }else{ //서울성모병원외는 최초작성자(작성일시), 최종작성자(작성일시) 그대로 표시.
  3173. // KNUH_20110406_박성호 수정
  3174. //fstrgstrusrnm = "◈ 최초작성자 : " + model.getValue("/root/tmpinicert/iniinfo[" + i + "]/fstrgstrusrnm");
  3175. fstrgstrusrnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/fstrgstrusrnm");
  3176. /* 20100705-kys-모든병원 작성일시를 제외시킨다.
  3177. if(fstrgstrusrnm != "")
  3178. fstrgstrusrnm = fstrgstrusrnm + " (" + fstrgstdt + ")";
  3179. */
  3180. // KNUH_20110406_박성호 수정
  3181. //lastupdtrusrnm = "◈ 최종작성자 : " + model.getValue("/root/tmpinicert/iniinfo[" + i + "]/lastupdtrusrnm");
  3182. lastupdtrusrnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/lastupdtrusrnm");
  3183. /* 20100705-kys-모든병원 작성일시를 제외시킨다.
  3184. if(lastupdtrusrnm != "")
  3185. lastupdtrusrnm = lastupdtrusrnm + " (" + lastupdtdt + ")";
  3186. */
  3187. }
  3188. erdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/erdt");
  3189. ervisittm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/ervisittm");
  3190. staffnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/staffnm");
  3191. surgeon = staffnm;
  3192. emrrecusrnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/emrrecusrnm");
  3193. indd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/indd");
  3194. dschdd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/dschdd");
  3195. inorddepthngnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/inorddepthngnm");
  3196. dschorddepthngnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/dschorddepthngnm");
  3197. mainyn = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/mainyn");
  3198. incnt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/incnt");
  3199. if(incnt != "")
  3200. incnt += " 회차";
  3201. signgenrflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/signgenrflag"); //20100615-kys
  3202. careinrmdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/careinrmdt"); //20100615-kys
  3203. var ininfo = indd + " / " + inorddepthngnm;
  3204. if(erdt != "")
  3205. ininfo += " (응급실 내원일 : " + erdt + ")";
  3206. var dschinfo = dschdd + " / " + dschorddepthngnm;
  3207. var formnmarr = formnm.split("\n");
  3208. var topformnm = "";
  3209. var botformnm = "";
  3210. if (formnmarr.length == 1)
  3211. {
  3212. topformnm = formnmarr[0];
  3213. }
  3214. else if (formnmarr.length == 2)
  3215. {
  3216. topformnm = formnmarr[0];
  3217. botformnm = formnmarr[1];
  3218. }
  3219. else
  3220. {
  3221. topformnm = formnm;
  3222. }
  3223. //2009-06-02 등록번호 "-" 병원별 제거
  3224. var pidynhcd = model.getValue("/root/init/pidynhcd/hardcd/hardcd");
  3225. if (pidynhcd == "Y")
  3226. {
  3227. for(var k = pid.length; k <= 8; k++)
  3228. {
  3229. if(k < 8){
  3230. pid = "0"+pid;
  3231. }
  3232. }
  3233. var str1 = pid.substr(0, 3);
  3234. var str2 = pid.substr(3, 2);
  3235. var str3 = pid.substr(5, 2);
  3236. var str4 = pid.substr(7, 1);
  3237. var tmppid = str1 + " " + str2 + " " + str3 + "-" + str4;
  3238. }
  3239. else
  3240. {
  3241. tmppid = pid;
  3242. }
  3243. if (chosflag == "O" || chosflag == "S")
  3244. {
  3245. wardheader = "진료과 : ";
  3246. }
  3247. else
  3248. {
  3249. wardheader = "병실 : ";
  3250. }
  3251. if (langflag == "KO")
  3252. {
  3253. if (chosflag == "O" || chosflag == "S")
  3254. {
  3255. wardheader = "진료과 : ";
  3256. }
  3257. else
  3258. {
  3259. wardheader = "병실 : ";
  3260. }
  3261. dateheader = "진료기간 : ";
  3262. doctorheader = "주치의 : ";
  3263. printheader = "출력 : ";
  3264. prtndeptnm = getUserInfo("dutplcenm");
  3265. imgepath = "com/commonweb/images/biglogo" + getUserInfo("dutplceinstcd") + ".jpg"
  3266. pageheader = "페이지 : ";
  3267. }
  3268. else
  3269. {
  3270. if (chosflag == "O" || chosflag == "S")
  3271. {
  3272. wardheader = "Dept : ";
  3273. }
  3274. else
  3275. {
  3276. wardheader = "Room : ";
  3277. }
  3278. dateheader = "Date : ";
  3279. doctorheader = "Doctor : ";
  3280. printheader = "Print date : ";
  3281. prtndeptnm = getUserInfo("deptengnm");
  3282. imgepath = "com/commonweb/images/biglogo" + getUserInfo("dutplceinstcd") + "e.jpg"
  3283. if (prtndeptnm == "" || prtndeptnm == null)
  3284. {
  3285. prtndeptnm = getUserInfo("dutplcenm");
  3286. }
  3287. pageheader = "Page : ";
  3288. }
  3289. if (imgflag == "N")
  3290. {
  3291. if(trans == "")
  3292. trans = "<html><head><title>출력화면 구현중입니다.</title></head><body>출력화면 구현중입니다.</body></html>";
  3293. var ininm = "cmc";
  3294. switch(srcformcd)
  3295. {
  3296. case "0000000001"://외래초진
  3297. case "0000000002"://외래재진
  3298. case "0000000004"://입원경과
  3299. case "0000003325"://DSC기록
  3300. ininm += "_0000000001.ini";
  3301. break;
  3302. case "0000000003"://입원초진
  3303. //20100615-kys
  3304. if(signgenrflag == "E"){ //서식발생구분이 응급일경우
  3305. //타이틀에 [응급]추가
  3306. topformnm = topformnm + "[응급]";
  3307. erdt = "";
  3308. }else if (signgenrflag == "I"){ //서식발생구분이 입원일경우
  3309. //간호입실시간 추가
  3310. erdt = "[병동 입실시간] " + careinrmdt; //기존의 erdt변수를 사용한다.
  3311. }
  3312. //입원일자에서 간호입실일로 변경-kys-20100705
  3313. var careinrmdd = careinrmdt.substr(0, 10).toDate("YYYY/MM/DD").getDateFormat();
  3314. /* 20100623 김달현 - 입원초진 Staff사인 시작일자를 2010.03.01로 변경*/
  3315. //if(getUserInfo("dutplceinstcd") == "012" && orddd >= "20100301"){
  3316. //if(getUserInfo("dutplceinstcd") == "012" && orddd >= "20100316"){ //20100309-kys-입원초진 Staff사인 추가 - 20100310-사본 js와 버젼 맞춘후 반영하기로 함
  3317. if(getUserInfo("dutplceinstcd") == "012" && careinrmdd >= "20100301"){
  3318. staffnmheader = "◈ Staff작성 및 확인 :";
  3319. /*20100628-kys-서울성모병원은 staff작성자만 표시한다.(일시제외)
  3320. if(staffnm != "")
  3321. staffnm += "(" + staffconfirmdt + ")";
  3322. */
  3323. emrrecusrnmheader = "";
  3324. ininm += "_1000000003.ini";
  3325. }else{
  3326. ininm += "_0000000003.ini";
  3327. }
  3328. break;
  3329. case "0000000676"://수술기록
  3330. staffnmheader = "◈ Surgeon :";
  3331. /* 20100705-kys-모든병원 작성일시를 제외시킨다.
  3332. if(getUserInfo("dutplceinstcd") != "012"){ //20100628-kys-서울성모병원은 staff작성자만 표시한다.(일시제외)
  3333. if(staffnm != "")
  3334. staffnm += "(" + staffconfirmdt + ")";
  3335. }*/
  3336. emrrecusrnmheader = "";
  3337. ininm += "_0000000676.ini";
  3338. break;
  3339. case "0000003169"://Brief OP Note
  3340. staffnmheader = "";
  3341. ininm += "_0000000676.ini";
  3342. break;
  3343. case "0000000680"://입퇴원요약
  3344. staffnmheader = "◈ Staff작성 및 확인 :";
  3345. /* 20100705-kys-모든병원 작성일시를 제외시킨다.
  3346. if(getUserInfo("dutplceinstcd") != "012"){ //20100628-kys-서울성모병원은 staff작성자만 표시한다.(일시제외)
  3347. if(staffnm != "")
  3348. staffnm += "(" + staffconfirmdt + ")";
  3349. } */
  3350. emrrecusrnmheader = "◈ 의무기록사 :";
  3351. ininm += "_0000000680.ini";
  3352. break;
  3353. case "0000000679"://응급실기록
  3354. ininm += "_0000000679.ini";
  3355. break;
  3356. case "0000002022"://마취기록지
  3357. ininm += "_0000002022.ini";
  3358. break;
  3359. default:
  3360. //ininm += "_0000000001.ini";
  3361. if(formprogflag == "-" || formprogflag == "MAIN" || mainyn == "Y")
  3362. ininm += "_0000000001.ini";
  3363. else
  3364. ininm += ".ini";
  3365. break;
  3366. }
  3367. trans = "<!--% \n %BASE " + getDomain() + "/himed/webapps/ \n %INCLUDE emr/recmngtweb/xrw/" + ininm + " \n VAR_PAT_NUM = " + tmppid + " \n VAR_CLASS = " + ordtype + " \n VAR_CHART_NAME_TOP = " + topformnm + " \n VAR_CHART_NAME_BOTTOM = " + botformnm + " \n VAR_CHART_NAME_LINE = " + formnm + " \n VAR_PAT_AGE_SEX = " + sa + " \n VAR_TREAT_DEPT = " + deptengabbr + " \n VAR_PAT_JUMIN_NO = " + rgstno + " \n VAR_PAT_NAME = " + ptnm + " \n VAR_PRINT_NAME = " + prtnunm + " \n VAR_PRINT_DEPT = " + prtndeptnm + " \n VAR_WARD_HEAD = " + wardheader + roomcd + " \n VAR_DATE_HEADER = " + dateheader + disporddd + " \n VAR_DOCTOR_HEADER = " + doctorheader + drid + " \n VAR_PRINT_HEADER = " + printheader + prtdt + " \n SYS_PAGE_HEADER = " + pageheader + " \n VAR_HOSP_IMG = " + imgepath + " \n VAR_ORDDATE = " + formrecdt + " \n VAR_ORDDEPT = " + depthngnm + " \n VAR_FSTRGSTRUSRNM = " + fstrgstrusrnm + " \n VAR_LASTUPDTRUSRNM = " + lastupdtrusrnm + " \n VAR_ERDT = " + erdt + " \n VAR_ERVISITTM = " + ervisittm + " \n VAR_STAFFNM_HEADER = " + staffnmheader + " \n VAR_STAFFNM = " + staffnm + " \n VAR_EMRRECUSRNM_HEADER = " + emrrecusrnmheader + " \n VAR_EMRRECUSRNM = " + emrrecusrnm + " \n VAR_ININFO = " + ininfo + " \n VAR_DSCHINFO = " + dschinfo + " \n VAR_INCNT = " + incnt + " \n VAR_INORDDEPTHNGNM = " + inorddepthngnm + "\n %-->\n" + trans;
  3368. var fso = new ActiveXObject("Scripting.FileSystemObject");
  3369. var a = fso.CreateTextFile(foldernm + "\\" + signno + "_" + formcd + ".HTML", true, true);
  3370. a.WriteLine(trans);
  3371. //a.Write(trans);
  3372. a.Close();
  3373. emrpath += foldernm + "\\" + signno + "_" + formcd + ".HTML|";
  3374. //emrorddate += orddd + "|";
  3375. emrorddate += recdd + "|"; //기록일을 보여달라는 의료정보팀 요청
  3376. emrformnm += formnm + "|";
  3377. emrformcd += formcd + "|";
  3378. emrdeptnm += deptengabbr + "|";
  3379. emrdeptcd += orddeptcd + "|";
  3380. emrpage += "1|";
  3381. emrhiddenmsg += formcd + "▦" + signno + "▦" + formnm + "▦" + chosflag + "▦" +pid + "▦" + ptnm + "▦" + deptengabbr
  3382. + "▦" + sa + "▦" + rgstno + "▦" + disporddd + "▦" + drid + "▦" + roomcd + "▦" + disporddd + "▦" + ordtype + "▦" + "E|";
  3383. //영상-EMR구분|파일경로|입원일|서식지코드|서식지이름|진료과코드|진료과이름
  3384. var chartinfo = "E|" + emrpath + emrorddate + emrformcd + emrformnm + emrdeptcd + emrdeptnm;
  3385. model.makeValue("/root/send/iemr/treatno", "");
  3386. model.makeValue("/root/send/iemr/docucd", "");
  3387. model.makeValue("/root/send/iemr/instcd", model.getValue("/root/init/env/instcd"));
  3388. var iemrNode = instance1.selectSingleNode("/root/imgrec/iemr");
  3389. iviewerIemrprt.window.javascript.appendChart(iemrNode, chartinfo, emrhiddenmsg);
  3390. }
  3391. else
  3392. {
  3393. tmptreatno += signno + ",";
  3394. tmpiformcd += formcd + ",";
  3395. emrpath += "*|";
  3396. emrorddate += "*|";
  3397. emrformnm += "*|";
  3398. emrformcd += "*|";
  3399. emrdeptnm += "*|";
  3400. emrdeptcd += "*|";
  3401. emrpage += "*|";
  3402. emrhiddenmsg += "*|";
  3403. model.makeValue("/root/imgrec/iemr/treatno", signno);
  3404. model.makeValue("/root/imgrec/iemr/docucd", formcd);
  3405. model.makeValue("/root/imgrec/iemr/instcd", model.getValue("/root/init/env/instcd"));
  3406. var iemrNode = instance1.selectSingleNode("/root/imgrec/iemr");
  3407. var chartinfo;
  3408. chartinfo = "I";
  3409. var hiddenmsg;
  3410. hiddenmsg = "I";
  3411. iviewerIemrprt.window.javascript.appendChart(iemrNode, chartinfo, hiddenmsg);
  3412. }
  3413. }
  3414. iviewerIemrprt.window.javascript.refreshTrue();
  3415. }
  3416. /**
  3417. * @desc : 연속보기 더블클릭시 기록 rowno 리턴 인터페이스
  3418. * @id :
  3419. * @event : DOMActivate
  3420. * @return : void
  3421. * @authur : 박종훈
  3422. */
  3423. function fReturnRecRowno(rowno)
  3424. {
  3425. if (rowno != null && rowno != "" && rowno > 0)
  3426. {
  3427. model.setValue("/root/init/reccurpos", parseInt(rowno));
  3428. }
  3429. model.refresh(); //pjh
  3430. }
  3431. /**
  3432. * @desc : 화면표시 대상이 EMR + IMG 기록인경우 처리
  3433. * @id :
  3434. * @event : onclick
  3435. * @return : void
  3436. * @authur : 박종훈
  3437. */
  3438. function fGetNextEmrImgRecOne()
  3439. {
  3440. var certnodeList = instance1.selectNodes("/root/tmpinicert/iniinfo");
  3441. //--20130418 김동준 start(html 다운로드시 본원과 칠곡 분기)
  3442. var foldernm = "C:\\Certrec" + getUserInfo("dutplceinstcd");
  3443. //var foldernm = "C:\\Certrec";
  3444. //--20130418 김동준 end
  3445. var recall = model.getValue("/root/init/recall");
  3446. if (certnodeList.length <= 0)
  3447. {
  3448. return;
  3449. }
  3450. else if(certnodeList.length > 1)
  3451. {
  3452. model.setValue("/root/init/recall", "N");
  3453. }
  3454. var emrpath = "";
  3455. var emrorddate = "";
  3456. var emrformnm = "";
  3457. var emrformcd = "";
  3458. var emrdeptnm = "";
  3459. var emrdeptcd = "";
  3460. var emrpage = "";
  3461. var emrhiddenmsg = "";
  3462. var recrowno = "";
  3463. var k = "";
  3464. var pid = "";
  3465. var ptnm = "";
  3466. var depthngnm = "";
  3467. var deptengabbr = "";
  3468. var rgstno = "";
  3469. var sa = "";
  3470. var disporddd = "";
  3471. var orddd = "";
  3472. var drid = "";
  3473. var roomcd = "";
  3474. var ordtype = "";
  3475. var chosflag = "";
  3476. var orddeptcd = "";
  3477. var signflag = "";
  3478. var imgflag = "";
  3479. var langflag = "";
  3480. var tmptreatno = "";
  3481. var tmpiformcd = "";
  3482. var signno = 0;
  3483. var formcd = "";
  3484. var srcformcd = "";
  3485. var formnm = "";
  3486. var formprogflag = "";
  3487. var recdt = "";
  3488. var recdd = "";
  3489. var wardheader = "";
  3490. var dateheader = "";
  3491. var doctorheader = "";
  3492. var printheader = "";
  3493. var pageheader = "";
  3494. var imgepath = "";
  3495. var formrecdt = "";
  3496. var fstrgstdt = "";
  3497. var lastupdtdt = "";
  3498. var staffconfirmdt = "";
  3499. var fstrgstrusrnm = "";
  3500. var lastupdtrusrnm = "";
  3501. var erdt = "";
  3502. var ervisittm = "";
  3503. var staffnmheader = "";
  3504. var staffnm = "";
  3505. var emrrecusrnmheader = "";
  3506. var emrrecusrnm = "";
  3507. var indd = "";
  3508. var dschdd = "";
  3509. var inorddepthngnm = "";
  3510. var dschorddepthngnm = "";
  3511. var incnt = "";
  3512. var mainyn = "";
  3513. var rowno = "";
  3514. //2013/02/15 소스머지 시작(추가)
  3515. var surgeon = "";
  3516. var cover_header = "";
  3517. var cover_footer = "";
  3518. //2013/02/15 소스머지 끝
  3519. var prtnunm = getUserInfo("usernm");
  3520. var prtndeptnm = "";
  3521. //var getuseren = getUserInfo("userengnm");
  3522. var getdate = getCurrentDate();
  3523. var gettime = getCurrentTime();
  3524. var dateprnt = getdate.substr(0, 4) + "/" + getdate.substr(4, 2) + "/" + getdate.substr(6, 2);
  3525. var timeprnt = gettime.substr(0, 2) + ":" + gettime.substr(2, 2) + ":" + gettime.substr(4, 2);
  3526. var prtdt = dateprnt + " " + timeprnt;
  3527. var signgenrflag = ""; //20100615-kys
  3528. var careinrmdt = ""; //20100615-kys
  3529. fExistFolder(foldernm);
  3530. iviewerIemr.window.javascript.refreshFalse();
  3531. //for(var i = 1; i <= certnodeList.length; i++)
  3532. //{
  3533. signno = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/signno");
  3534. formcd = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/formcd");
  3535. srcformcd = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/srcformcd");
  3536. formnm = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/formnm");
  3537. formprogflag = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/formprogflag");
  3538. recdt = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/recdt");
  3539. recdd = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/recdd");
  3540. trans = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/trans");
  3541. pid = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/pid");
  3542. ptnm = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/ptnm");
  3543. depthngnm = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/depthngnm");
  3544. deptengabbr = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/deptengabbr");
  3545. rgstno = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/rgstno");
  3546. sa = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/sa");
  3547. disporddd = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/disporddd");
  3548. orddd = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/orddd");
  3549. drid = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/drid");
  3550. roomcd = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/roomcd");
  3551. ordtype = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/ordtype");
  3552. chosflag = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/chosflag");
  3553. orddeptcd = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/orddeptcd");
  3554. signflag = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/signflag");
  3555. imgflag = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/imgflag");
  3556. langflag = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/langflag");
  3557. formrecdt = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/formrecdt");
  3558. formrecdt = formrecdt.toDate().getDateFormat("YYYY/MM/DD");
  3559. fstrgstdt = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/fstrgstdt");
  3560. lastupdtdt = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/lastupdtdt");
  3561. staffconfirmdt = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/staffconfirmdt");
  3562. //20100628-kys-서울성모병원은 최초작성자(작성일시), 최종작성자(작성일시)->작성자, 작성일시로 표시한다.
  3563. if(getUserInfo("dutplceinstcd") == "012"){
  3564. fstrgstrusrnm = "◈ 작 성 자 : " + model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/fstrgstrusrnm");
  3565. if(fstrgstrusrnm != "")
  3566. lastupdtrusrnm = "◈ 작성일시 : " + fstrgstdt; //수정을 최소화 하기 위해 lastupdtrusrnm를 쓴다.-kys-20100628
  3567. }else{ //서울성모병원외는 최초작성자(작성일시), 최종작성자(작성일시) 그대로 표시.
  3568. // KNUH_20110406_박성호 수정
  3569. //fstrgstrusrnm = "◈ 최초작성자 : " + model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/fstrgstrusrnm");
  3570. fstrgstrusrnm = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/fstrgstrusrnm");
  3571. /* 20100705-kys-모든병원 작성일시를 제외시킨다.
  3572. if(fstrgstrusrnm != "")
  3573. fstrgstrusrnm = fstrgstrusrnm + " (" + fstrgstdt + ")";
  3574. */
  3575. // KNUH_20110406_박성호 수정
  3576. //lastupdtrusrnm = "◈ 최종작성자 : " + model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/lastupdtrusrnm");
  3577. lastupdtrusrnm = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/lastupdtrusrnm");
  3578. /* 20100705-kys-모든병원 작성일시를 제외시킨다.
  3579. if(lastupdtrusrnm != "")
  3580. lastupdtrusrnm = lastupdtrusrnm + " (" + lastupdtdt + ")";
  3581. */
  3582. }
  3583. erdt = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/erdt");
  3584. ervisittm = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/ervisittm");
  3585. staffnm = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/staffnm");
  3586. emrrecusrnm = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/emrrecusrnm");
  3587. indd = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/indd");
  3588. dschdd = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/dschdd");
  3589. inorddepthngnm = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/inorddepthngnm");
  3590. dschorddepthngnm = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/dschorddepthngnm");
  3591. mainyn = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/mainyn");
  3592. rowno = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/rowno");
  3593. incnt = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/incnt");
  3594. if(incnt != "")
  3595. incnt += " 회차";
  3596. signgenrflag = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/signgenrflag"); //20100615-kys
  3597. careinrmdt = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/careinrmdt"); //20100615-kys
  3598. var ininfo = indd + " / " + inorddepthngnm;
  3599. if(erdt != "")
  3600. ininfo += " (응급실 내원일 : " + erdt + ")";
  3601. var dschinfo = dschdd + " / " + dschorddepthngnm;
  3602. var formnmarr = formnm.split("\n");
  3603. var topformnm = "";
  3604. var botformnm = "";
  3605. if (formnmarr.length == 1)
  3606. {
  3607. topformnm = formnmarr[0];
  3608. }
  3609. else if (formnmarr.length == 2)
  3610. {
  3611. topformnm = formnmarr[0];
  3612. botformnm = formnmarr[1];
  3613. }
  3614. else
  3615. {
  3616. topformnm = formnm;
  3617. }
  3618. //2009-06-02 등록번호 "-" 병원별 제거
  3619. var pidynhcd = model.getValue("/root/init/pidynhcd/hardcd/hardcd");
  3620. if (pidynhcd == "Y")
  3621. {
  3622. for(var k = pid.length; k <= 8; k++)
  3623. {
  3624. if(k < 8){
  3625. pid = "0"+pid;
  3626. }
  3627. }
  3628. var str1 = pid.substr(0, 3);
  3629. var str2 = pid.substr(3, 2);
  3630. var str3 = pid.substr(5, 2);
  3631. var str4 = pid.substr(7, 1);
  3632. var tmppid = str1 + " " + str2 + " " + str3 + "-" + str4;
  3633. }
  3634. else
  3635. {
  3636. tmppid = pid;
  3637. }
  3638. if (chosflag == "O" || chosflag == "S")
  3639. {
  3640. wardheader = "진료과 : ";
  3641. }
  3642. else
  3643. {
  3644. wardheader = "병실 : ";
  3645. }
  3646. if (langflag == "KO")
  3647. {
  3648. if (chosflag == "O" || chosflag == "S")
  3649. {
  3650. wardheader = "진료과 : ";
  3651. }
  3652. else
  3653. {
  3654. wardheader = "병실 : ";
  3655. }
  3656. dateheader = "진료기간 : ";
  3657. doctorheader = "주치의 : ";
  3658. printheader = "출력 : ";
  3659. prtndeptnm = getUserInfo("dutplcenm");
  3660. imgepath = "com/commonweb/images/biglogo" + getUserInfo("dutplceinstcd") + ".jpg"
  3661. pageheader = "페이지 : ";
  3662. }
  3663. else
  3664. {
  3665. if (chosflag == "O" || chosflag == "S")
  3666. {
  3667. wardheader = "Dept : ";
  3668. }
  3669. else
  3670. {
  3671. wardheader = "Room : ";
  3672. }
  3673. dateheader = "Date : ";
  3674. doctorheader = "Doctor : ";
  3675. printheader = "Print date : ";
  3676. prtndeptnm = getUserInfo("deptengnm");
  3677. imgepath = "com/commonweb/images/biglogo" + getUserInfo("dutplceinstcd") + "e.jpg"
  3678. if (prtndeptnm == "" || prtndeptnm == null)
  3679. {
  3680. prtndeptnm = getUserInfo("dutplcenm");
  3681. }
  3682. pageheader = "Page : ";
  3683. }
  3684. if (imgflag == "N")
  3685. {
  3686. if(trans == "")
  3687. trans = "<html><head><title>출력화면 구현중입니다.</title></head><body>출력화면 구현중입니다.</body></html>";
  3688. //2013/02/15 소스머지 시작(주석처리)
  3689. // var ininm = "cmc";
  3690. // switch(srcformcd)
  3691. // {
  3692. // case "0000000001"://외래초진
  3693. // case "0000000002"://외래재진
  3694. // case "0000000004"://입원경과
  3695. // case "0000003325"://DSC기록
  3696. // ininm += "_0000000001.ini";
  3697. // break;
  3698. // case "0000000003"://입원초진
  3699. // //20100615-kys
  3700. // if(signgenrflag == "E"){ //서식발생구분이 응급일경우
  3701. // //타이틀에 [응급]추가
  3702. // topformnm = topformnm + "[응급]";
  3703. // erdt = "";
  3704. // }else if (signgenrflag == "I"){ //서식발생구분이 입원일경우
  3705. // //간호입실시간 추가
  3706. // erdt = "[병동 입실시간] " + careinrmdt; //기존의 erdt변수를 사용한다.
  3707. // }
  3708. //
  3709. // //20100705-kys-입원일에서 간호입실일로 변경
  3710. // var careinrmdd = careinrmdt.substr(0, 10).toDate("YYYY/MM/DD").getDateFormat();
  3711. //
  3712. // if(getUserInfo("dutplceinstcd") == "012" && careinrmdd >= "20100301"){
  3713. // /* 20100623 김달현 - 입원초진 Staff사인 시작일자를 2010.03.01로 변경*/
  3714. // //if(getUserInfo("dutplceinstcd") == "012" && orddd >= "20100301"){
  3715. // //if(getUserInfo("dutplceinstcd") == "012" && orddd >= "20100316"){//20100309-kys-입원초진 Staff사인 추가 -20100310-사본js와 버젼 맞춘후 반영하기로 함.
  3716. // staffnmheader = "◈ Staff작성 및 확인 :";
  3717. // /*20100628-kys-서울성모병원은 staff작성자만 표시한다.(일시제외)
  3718. // if(staffnm != "")
  3719. // staffnm += "(" + staffconfirmdt + ")";
  3720. // */
  3721. // emrrecusrnmheader = "";
  3722. // ininm += "_1000000003.ini";
  3723. // }else{
  3724. // ininm += "_0000000003.ini";
  3725. // }
  3726. // break;
  3727. // case "0000000676"://수술기록
  3728. // staffnmheader = "◈ Surgeon :";
  3729. // /* 20100705-kys-모든병원 작성일시를 제외시킨다.
  3730. // if(getUserInfo("dutplceinstcd") != "012"){ //20100628-kys-서울성모병원은 staff작성자만 표시한다.(일시제외)
  3731. // if(staffnm != "")
  3732. // staffnm += "(" + staffconfirmdt + ")";
  3733. // } */
  3734. //
  3735. // emrrecusrnmheader = "";
  3736. // ininm += "_0000000676.ini";
  3737. // break;
  3738. // case "0000003169"://Brief OP Note
  3739. // staffnmheader = "";
  3740. // ininm += "_0000000676.ini";
  3741. // break;
  3742. // case "0000000680"://입퇴원요약
  3743. // staffnmheader = "◈ Staff작성 및 확인 :";
  3744. // /*
  3745. // if(getUserInfo("dutplceinstcd") != "012"){ //20100628-kys-서울성모병원은 staff작성자만 표시한다.(일시제외)
  3746. // if(staffnm != "")
  3747. // staffnm += "(" + staffconfirmdt + ")";
  3748. // } */
  3749. //
  3750. // emrrecusrnmheader = "◈ 의무기록사 :";
  3751. // ininm += "_0000000680.ini";
  3752. // break;
  3753. // case "0000000679"://응급실기록
  3754. // ininm += "_0000000679.ini";
  3755. // break;
  3756. // case "0000002022"://마취기록지
  3757. // ininm += "_0000002022.ini";
  3758. // break;
  3759. // default:
  3760. // //ininm += "_0000000001.ini";
  3761. // if(formprogflag == "-" || formprogflag == "MAIN" || mainyn == "Y")
  3762. // ininm += "_0000000001.ini";
  3763. // else
  3764. // ininm += ".ini";
  3765. // break;
  3766. // }
  3767. //
  3768. // trans = "<!--% \n %BASE " + getDomain() + "/himed/webapps/ \n %INCLUDE emr/recmngtweb/xrw/" + ininm + " \n VAR_PAT_NUM = " + tmppid + " \n VAR_CLASS = " + ordtype + " \n VAR_CHART_NAME_TOP = " + topformnm + " \n VAR_CHART_NAME_BOTTOM = " + botformnm + " \n VAR_CHART_NAME_LINE = " + formnm + " \n VAR_PAT_AGE_SEX = " + sa + " \n VAR_TREAT_DEPT = " + deptengabbr + " \n VAR_PAT_JUMIN_NO = " + rgstno + " \n VAR_PAT_NAME = " + ptnm + " \n VAR_PRINT_NAME = " + prtnunm + " \n VAR_PRINT_DEPT = " + prtndeptnm + " \n VAR_WARD_HEAD = " + wardheader + roomcd + " \n VAR_DATE_HEADER = " + dateheader + disporddd + " \n VAR_DOCTOR_HEADER = " + doctorheader + drid + " \n VAR_PRINT_HEADER = " + printheader + prtdt + " \n SYS_PAGE_HEADER = " + pageheader + " \n VAR_HOSP_IMG = " + imgepath + " \n VAR_ORDDATE = " + formrecdt + " \n VAR_ORDDEPT = " + depthngnm + " \n VAR_FSTRGSTRUSRNM = " + fstrgstrusrnm + " \n VAR_LASTUPDTRUSRNM = " + lastupdtrusrnm + " \n VAR_ERDT = " + erdt + " \n VAR_ERVISITTM = " + ervisittm + " \n VAR_STAFFNM_HEADER = " + staffnmheader + " \n VAR_STAFFNM = " + staffnm + " \n VAR_EMRRECUSRNM_HEADER = " + emrrecusrnmheader + " \n VAR_EMRRECUSRNM = " + emrrecusrnm + " \n VAR_ININFO = " + ininfo + " \n VAR_DSCHINFO = " + dschinfo + " \n VAR_INCNT = " + incnt + " \n VAR_INORDDEPTHNGNM = " + inorddepthngnm + "\n %-->\n" + trans;
  3769. //2013/02/15 소스머지 끝
  3770. //2013/02/15 소스머지 시작(추가)
  3771. switch(srcformcd)
  3772. {
  3773. //case "0000000001"://외래초진
  3774. //case "0000000002"://외래재진
  3775. //case "0000000004"://입원경과
  3776. case "0000000003"://입원초진
  3777. cover_header = "emr/recmngtweb/html/cover_header2.html";
  3778. cover_footer = "emr/recmngtweb/html/cover_footer.html";
  3779. break;
  3780. case "0000000676"://수술기록
  3781. cover_header = "emr/recmngtweb/html/cover_header.html";
  3782. cover_footer = "emr/recmngtweb/html/cover_footer2.html";
  3783. break;
  3784. case "0000000679"://응급실기록
  3785. cover_header = "emr/recmngtweb/html/cover_header3.html";
  3786. cover_footer = "emr/recmngtweb/html/cover_footer.html";
  3787. break;
  3788. case "0000000680"://입퇴원요약
  3789. cover_header = "emr/recmngtweb/html/cover_header1.html";
  3790. cover_footer = "emr/recmngtweb/html/cover_footer1.html";
  3791. break;
  3792. case "0000002022"://마취기록지
  3793. cover_header = "emr/recmngtweb/html/cover_header4.html";
  3794. cover_footer = "emr/recmngtweb/html/cover_footer.html";
  3795. break;
  3796. //case "0000003325"://DSC기록
  3797. case "0000003169"://Brief OP Note
  3798. cover_header = "emr/recmngtweb/html/cover_header.html";
  3799. cover_footer = "emr/recmngtweb/html/cover_footer.html";
  3800. break;
  3801. default:
  3802. if(formprogflag == "-" || formprogflag == "MAIN" || mainyn == "Y"){
  3803. cover_header = "emr/recmngtweb/html/cover_header10.html";
  3804. cover_footer = "emr/recmngtweb/html/cover_footer.html";
  3805. }else{
  3806. cover_header = "emr/recmngtweb/html/cover_header.html";
  3807. cover_footer = "emr/recmngtweb/html/cover_footer.html";
  3808. }
  3809. break;
  3810. }
  3811. trans = "<!--@\n @DOCUMENT_HOME = " + getDomain() + "/himed/webapps/" +
  3812. "\n @COVER_HEADER = " + cover_header +
  3813. "\n @COVER_FOOTER = " + cover_footer +
  3814. "\n @BODY_HEADER = emr/recmngtweb/html/body_header.html" +
  3815. "\n @BODY_FOOTER = emr/recmngtweb/html/body_footer.html" +
  3816. "\n @DEFAULT_FONT = 굴림 " +
  3817. "\n @DEFAULT_PRE_FONT = 굴림 " +
  3818. "\n @DEFAULT_FONT_SIZE = 9pt " +
  3819. "\n @DEFAULT_PRE_FONT_SIZE = 10pt " +
  3820. "\n @FONT_SIZE_OFFSET = 3px " +
  3821. "\n @USE_NU_SIZE_ADJUST = TRUE " +
  3822. "\n @HIDE_TAG = DIV:MTX_*, DIV:STX_* " +
  3823. "\n @VAR_PAT_NUM = " + tmppid +
  3824. "\n @VAR_CLASS = " + ordtype +
  3825. "\n @VAR_CHART_NAME_TOP = " + topformnm +
  3826. "\n @VAR_CHART_NAME_BOTTOM = " + botformnm +
  3827. "\n @VAR_CHART_NAME_LINE = " + formnm +
  3828. "\n @VAR_PAT_AGE_SEX = " + sa +
  3829. "\n @VAR_TREAT_DEPT = " + deptengabbr +
  3830. "\n @VAR_PAT_JUMIN_NO = " + rgstno +
  3831. "\n @VAR_PAT_NAME = " + ptnm +
  3832. "\n @VAR_PRINT_NAME = " + prtnunm +
  3833. "\n @VAR_PRINT_DEPT = " + prtndeptnm +
  3834. "\n @VAR_WARD_HEAD = " + wardheader + roomcd +
  3835. "\n @VAR_DATE_HEADER = " + dateheader + disporddd +
  3836. "\n @VAR_DOCTOR_HEADER = " + doctorheader + drid +
  3837. "\n @VAR_PRINT_HEADER = " + printheader + prtdt +
  3838. "\n @SYS_PAGE_HEADER = " + pageheader +
  3839. "\n @VAR_HOSP_IMG = " + imgepath +
  3840. "\n @VAR_ORDDATE = " + formrecdt +
  3841. "\n @VAR_ORDDEPT = " + depthngnm +
  3842. "\n @VAR_FSTRGSTRUSRNM = " + fstrgstrusrnm +
  3843. "\n @VAR_LASTUPDTRUSRNM = " + lastupdtrusrnm +
  3844. "\n @VAR_ERDT = " + erdt +
  3845. "\n @VAR_ERVISITTM = " + ervisittm +
  3846. "\n @VAR_STAFFNM_HEADER = " + staffnmheader +
  3847. "\n @VAR_STAFFNM = " + staffnm +
  3848. "\n @VAR_EMRRECUSRNM_HEADER = " + emrrecusrnmheader +
  3849. "\n @VAR_EMRRECUSRNM = " + emrrecusrnm +
  3850. "\n @VAR_ININFO = " + ininfo +
  3851. "\n @VAR_DSCHINFO = " + dschinfo +
  3852. "\n @VAR_INCNT = " + incnt +
  3853. "\n @VAR_INORDDEPTHNGNM = " + inorddepthngnm +
  3854. "\n @VAR_RECUSERID = " + fstrgstrusrnm +
  3855. "\n @VAR_REALRECDT = " + erdt +
  3856. "\n @VAR_TREAT_DEPT = " + deptengabbr +
  3857. "\n @VAR_SURGEON = " + surgeon +
  3858. "\n @OUTPUT_MAGNIFICATION = 1 " +
  3859. "\n@-->\n" + trans + "\n";
  3860. //2013/02/15 소스머지 끝
  3861. var fso = new ActiveXObject("Scripting.FileSystemObject");
  3862. var a = fso.CreateTextFile(foldernm + "\\" + signno + "_" + formcd + ".HTML", true, true);
  3863. a.WriteLine(trans);
  3864. //a.Write(trans);
  3865. a.Close();
  3866. emrpath = foldernm + "\\" + signno + "_" + formcd + ".HTML|";
  3867. //emrorddate += orddd + "|";
  3868. emrorddate = recdd + "|"; //기록일을 보여달라는 의료정보팀 요청
  3869. emrformnm = formnm + "|";
  3870. emrformcd = formcd + "|";
  3871. emrdeptnm = deptengabbr + "|";
  3872. emrdeptcd = orddeptcd + "|";
  3873. emrpage = "1|";
  3874. emrhiddenmsg = formcd + "▦" + signno + "▦" + formnm + "▦" + chosflag + "▦" +pid + "▦" + ptnm + "▦" + deptengabbr
  3875. + "▦" + sa + "▦" + rgstno + "▦" + disporddd + "▦" + drid + "▦" + roomcd + "▦" + disporddd + "▦" + ordtype + "▦" + "E|";
  3876. recrowno = rowno;
  3877. //영상-EMR구분|파일경로|입원일|서식지코드|서식지이름|진료과코드|진료과이름
  3878. var chartinfo = "";
  3879. chartinfo = "E|" + emrpath + emrorddate + emrformcd + emrformnm + emrdeptcd + emrdeptnm;
  3880. model.makeValue("/root/send/iemr/treatno", "");
  3881. model.makeValue("/root/send/iemr/docucd", "");
  3882. model.makeValue("/root/send/iemr/instcd", model.getValue("/root/init/env/instcd"));
  3883. var iemrNode = instance1.selectSingleNode("/root/imgrec/iemr");
  3884. iviewerIemr.window.javascript.appendChart(iemrNode, chartinfo, emrhiddenmsg, recrowno);
  3885. //iviewerIemr.window.javascript.appendChart(iemrNode, chartinfo, emrhiddenmsg);
  3886. }
  3887. else
  3888. {
  3889. tmptreatno = signno + ",";
  3890. tmpiformcd = formcd + ",";
  3891. emrpath = "*|";
  3892. emrorddate = "*|";
  3893. emrformnm = "*|";
  3894. emrformcd = "*|";
  3895. emrdeptnm = "*|";
  3896. emrdeptcd = "*|";
  3897. emrpage = "*|";
  3898. emrhiddenmsg = "*|";
  3899. recrowno = rowno;
  3900. model.makeValue("/root/imgrec/iemr/treatno", signno);
  3901. model.makeValue("/root/imgrec/iemr/docucd", formcd);
  3902. model.makeValue("/root/imgrec/iemr/instcd", model.getValue("/root/init/env/instcd"));
  3903. var iemrNode = instance1.selectSingleNode("/root/imgrec/iemr");
  3904. var chartinfo;
  3905. chartinfo = "I";
  3906. var hiddenmsg;
  3907. hiddenmsg = "I";
  3908. iviewerIemr.window.javascript.appendChart(iemrNode, chartinfo, hiddenmsg, recrowno);
  3909. //iviewerIemr.window.javascript.appendChart(iemrNode, chartinfo, hiddenmsg);
  3910. }
  3911. /*
  3912. if (certnodeList.length > 1 && certnodeList.length > nodeposcnt)
  3913. {
  3914. multirecyn = "Y";
  3915. }
  3916. else
  3917. {
  3918. multirecyn = "N";
  3919. nodeposcnt = 1;
  3920. }*/
  3921. //}
  3922. iviewerIemr.window.javascript.refreshTrue();
  3923. }
  3924. /**
  3925. * @desc : 북마크 등록 클릭시 모달창 호출
  3926. * @id :
  3927. * @event : DOMActivate
  3928. * @return : void
  3929. * @authur : 강지훈
  3930. */
  3931. function fSetBookmark()
  3932. {
  3933. var ViewMode;
  3934. ViewMode = iviewerIemr.model.getValue("/root/hidden/currentViewMode");
  3935. var appcopykey = iviewerIemr.window.javascript.SetMarkPage(ViewMode); //영상뷰어에서의 리턴값
  3936. var selPid = model.getValue("/root/main/patinfo/patinfolist/pid");
  3937. if(selPid != ""){
  3938. if(appcopykey != null && appcopykey != "" ){
  3939. appcopykey = appcopykey.getTrim();
  3940. var copykey = appcopykey.split("|");
  3941. var appkeyArr = "";
  3942. var imageCnt = 0;
  3943. //1차적으로 영상EMR만 등록가능. 선택된 영상EMR의 갯수를 파악한다.
  3944. for(var i = 0; i < copykey.length; i++){
  3945. appkeyArr = copykey[i].split("▦");
  3946. reckind = appkeyArr[0];
  3947. if (reckind == "I"){
  3948. imageCnt++;
  3949. }
  3950. }
  3951. if(imageCnt > 0){ //선택된 이미지중에 영상EMR이 있을경우
  3952. setParameter("SPMRI01500_reckey", appcopykey);
  3953. setParameter("SPMRI01500_setflag", "A");
  3954. modal("SPMRI01500");
  3955. //북마크 treeview 재조회
  3956. fGetTreeView();
  3957. }
  3958. else{
  3959. messageBox("현재 영상EMR만 등록 ","I006");
  3960. return;
  3961. }
  3962. }
  3963. else{
  3964. var ViewMode = iviewerIemr.model.getValue("/root/hidden/currentViewMode");
  3965. if (ViewMode == null || ViewMode == "" || ViewMode != "ChartView")
  3966. {
  3967. messageBox("선택된 기록이","I004");
  3968. return;
  3969. }
  3970. }
  3971. }
  3972. else{
  3973. messageBox("선택된 환자가","I004");
  3974. model.toggle("grd");
  3975. btn_all.selected = true;
  3976. model.setFocus("ipt_pid");
  3977. return;
  3978. }
  3979. }
  3980. /**
  3981. * @group :
  3982. * @ver :
  3983. * @by : 2009-10-16 오전 10:13:04 강지훈
  3984. * @---------------------------------------------------
  3985. * @type : function
  3986. * @access : public
  3987. * @desc : 트리뷰 조회
  3988. * @param :
  3989. * @return :
  3990. * @---------------------------------------------------
  3991. */
  3992. function fGetTreeView(){
  3993. //북마크 트리뷰는 환자가 조회되어있어야만 조회된다. 환자가없을경우 전체창 모드
  3994. var selPid = model.getValue("/root/main/patinfo/patinfolist/pid");
  3995. if(selPid == ""){
  3996. messageBox("선택된 환자가","I004");
  3997. model.toggle("grd");
  3998. btn_all.selected = true;
  3999. model.setFocus("ipt_pid");
  4000. return;
  4001. }
  4002. else{
  4003. //북마크가 선택되어야만 조회를 한다.
  4004. var selIndx = switch1.selectedIndex;
  4005. var bmkAll = chk_allbmk.value;
  4006. if(bmkAll != "A"){
  4007. bmkAll = "S";
  4008. }
  4009. if(selIndx == 1){
  4010. //Instance초기화
  4011. model.removenode("/root/main/treeview");
  4012. model.makeNode("/root/main/treeview");
  4013. //send Node 설정
  4014. model.removenode("/root/send/bmkpara");
  4015. model.makeValue("/root/send/bmkpara/pid", selPid);
  4016. model.makeValue("/root/send/bmkpara/bmkall", bmkAll);
  4017. if(submit("TRMRI01500")){
  4018. trv_bookmark.rebuild();
  4019. //2010-02-23 오후 9:40:13 강지훈 수정 : 외래요약지가있을경우 자기과의 외래요약지가 자동 선택된다.
  4020. var nodelist = instance1.selectNodes("/root/main/treeview/item");
  4021. var sUserDeptcd = getUserInfo("dutplcecd");
  4022. //2010-03-09 이환석 : 내과 분과들 외래요약지 북마크에서 자동선택
  4023. mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/mdsupdept", 9931);
  4024. //하드코드 테이블에 있는
  4025. if(model.getValue("/root/init/mdsupdept/hardcd[hardcd='" + sUserDeptcd + "']/hardcd")) {
  4026. submit("TRMRI00410", "", "/root/init/mdsupdept/hardcd[hardcd='" + sUserDeptcd + "']/hardcd", "/root/tmp/ordsupdeptcd");
  4027. var ordSupDeptcd = model.getValue("/root/tmp/ordsupdeptcd/ordsupdeptcd");
  4028. sUserDeptcd = ordSupDeptcd;
  4029. }
  4030. var deptNodeIndx = 0;
  4031. if(nodelist.length > 0){
  4032. for (var i = 0; i < nodelist.length; i++){
  4033. var selNode = nodelist.item(i);
  4034. var markdeptcd = selNode.selectsinglenode("markdeptcd").text;
  4035. if(markdeptcd == sUserDeptcd){
  4036. deptNodeIndx = i;
  4037. break;
  4038. }
  4039. }
  4040. trv_bookmark.select(i);
  4041. fGetBookmarkItem();
  4042. }
  4043. }
  4044. }
  4045. }
  4046. }
  4047. /**
  4048. * @group :
  4049. * @ver :
  4050. * @by : 2009-10-16 오전 10:13:04 강지훈
  4051. * @---------------------------------------------------
  4052. * @type : function
  4053. * @access : public
  4054. * @desc : 북마크 항목을 더블클릭한다.
  4055. * @param :
  4056. * @return :
  4057. * @---------------------------------------------------
  4058. */
  4059. function fGetBookmarkItem(){
  4060. var selFolder = new SELFOLDER();
  4061. itemno = selFolder.itemno;
  4062. linkflag = selFolder.linkflag;
  4063. if(linkflag == "Y"){
  4064. model.removeNode("/root/send/bookmark");
  4065. model.makeValue("/root/send/bookmark/itemno", itemno);
  4066. submit("TRMRI00408");
  4067. var recinfos = instance1.selectNodes("/root/tmp/recinfos/recinfo");
  4068. if(recinfos.length > 0){
  4069. //초기화
  4070. iviewerIemr.window.javascript.cleanViewer();
  4071. iviewerIemr.window.javascript.refreshFalse();
  4072. model.removenode("/root/tmp/imgrec");
  4073. //통합기록조회 환자정보 셋팅
  4074. var selPid = "";
  4075. //북마크에 등록된 정보를 가져온다.
  4076. for(var i = 0 ; i < recinfos.length; i++){
  4077. var recinfo = recinfos.item(i);
  4078. var emrflag = recinfo.selectSingleNode("emrflag").text;
  4079. //영상일때
  4080. if(emrflag == "I"){
  4081. var nodePos = i+1;
  4082. var treatno = recinfo.selectSingleNode("recno").text;
  4083. var docucd = recinfo.selectSingleNode("formcd").text;
  4084. var pageno = recinfo.selectSingleNode("pageno").text;
  4085. var pid = recinfo.selectSingleNode("pid").text;
  4086. selPid = pid;
  4087. model.makeValue("/root/tmp/imgrec/iemr[" + nodePos + "]/treatno", parseInt(treatno));
  4088. model.makeValue("/root/tmp/imgrec/iemr[" + nodePos + "]/pid", pid);
  4089. model.makeNode("/root/tmp/imgrec/iemr[" + nodePos + "]/orddeptcd");
  4090. model.makeNode("/root/tmp/imgrec/iemr[" + nodePos + "]/indd");
  4091. model.makeValue("/root/tmp/imgrec/iemr[" + nodePos + "]/docucd", docucd);
  4092. model.makeNode("/root/tmp/imgrec/iemr[" + nodePos + "]/ioflag");
  4093. model.makeNode("/root/tmp/imgrec/iemr[" + nodePos + "]/cmc_cretno");
  4094. model.makeNode("/root/tmp/imgrec/iemr[" + nodePos + "]/cmc_spcid");
  4095. model.makeNode("/root/tmp/imgrec/iemr[" + nodePos + "]/cmc_orddate");
  4096. model.makeNode("/root/tmp/imgrec/iemr[" + nodePos + "]/cmc_orderseqno");
  4097. model.makeValue("/root/tmp/imgrec/iemr[" + nodePos + "]/pageno", parseInt(pageno));
  4098. }
  4099. }
  4100. //통합기록조회 환자정보입력란 Setting
  4101. if(chk_allbmk.value == "A"){
  4102. ipt_pid.value = selPid;
  4103. chkPidRtn = fPidKeyPress();
  4104. }
  4105. var iemrNode = instance1.selectSingleNode("/root/tmp/imgrec");
  4106. //chart추가
  4107. var chartinfo;
  4108. chartinfo = "I";
  4109. var hiddenmsg;
  4110. hiddenmsg = "I";
  4111. iviewerIemr.window.javascript.append_BmarkChart(iemrNode, chartinfo, hiddenmsg);
  4112. iviewerIemr.window.javascript.refreshTrue();
  4113. //ViewMode를 여러페이지 보기로 Setting
  4114. //lyj
  4115. // var ViewMode;
  4116. // ViewMode = iviewerIemr.model.getValue("/root/hidden/currentViewMode");
  4117. // if (ViewMode == null || ViewMode == "" || ViewMode != "ChartView")
  4118. // {
  4119. // //2010.03.31 안치원 - 대량Data의 수동출력을 위한 Paging기능 추가
  4120. // if (grup_paging.visible) {
  4121. // iviewerIemr.window.javascript.setupChart("ThumbView");
  4122. // } else {
  4123. // iviewerIemr.window.javascript.setupChart("ChartView");
  4124. // }
  4125. // }
  4126. }
  4127. else{
  4128. messageBox("등록된 기록이 ", "I004");
  4129. return;
  4130. }
  4131. }
  4132. }
  4133. /**
  4134. * @group :
  4135. * @ver :
  4136. * @by : 2009-10-16 오전 10:13:04 강지훈
  4137. * @---------------------------------------------------
  4138. * @type : function
  4139. * @access : public
  4140. * @desc : 선택한 폴더의 정보
  4141. * @param :
  4142. * @return :
  4143. * @---------------------------------------------------
  4144. */
  4145. function SELFOLDER(){
  4146. var item = trv_bookmark.item(trv_bookmark.selectedIndex);
  4147. if(item == null) return;
  4148. var currow = item.index + 1;
  4149. this.level = model.getValue("/root/main/treeview/item["+currow+"]/level");
  4150. this.itemno = model.getValue("/root/main/treeview/item["+currow+"]/itemno");
  4151. this.supitemno = model.getValue("/root/main/treeview/item["+currow+"]/supitemno");
  4152. this.itemnm = model.getValue("/root/main/treeview/item["+currow+"]/itemnm");
  4153. this.linkflag = model.getValue("/root/main/treeview/item["+currow+"]/linkflag");
  4154. this.pid = model.getValue("/root/main/treeview/item["+currow+"]/pid");
  4155. }
  4156. /**
  4157. * @group :
  4158. * @ver :
  4159. * @by : 2009-10-16 오전 10:13:04 강지훈
  4160. * @---------------------------------------------------
  4161. * @type : function
  4162. * @access : public
  4163. * @desc : 폴더를 수정함
  4164. * @param :
  4165. * @return :
  4166. * @---------------------------------------------------
  4167. */
  4168. function fModiFolder(){
  4169. setParameter("SPMRI01500_setflag", "M");
  4170. open("SPMRI01500");
  4171. fGetTreeView();
  4172. }
  4173. /**
  4174. * @group :
  4175. * @ver :
  4176. * @by : 2009-10-16 오전 10:13:04 강지훈
  4177. * @---------------------------------------------------
  4178. * @type : function
  4179. * @access : public
  4180. * @desc : 북마크에 해당환자 기록이 있으면 북마크 탭 색을 변경.
  4181. * @param :
  4182. * @return :
  4183. * @---------------------------------------------------
  4184. */
  4185. function fChkBookmark(){
  4186. var selPid = model.getValue("/root/main/patinfo/patinfolist/pid");
  4187. model.removeNode("/root/send/selpid");
  4188. model.makeValue("/root/send/selpid", selPid);
  4189. if(submit("TRMRI00409")){
  4190. var itemNodes = instance1.selectNodes("/root/tmp/chkitem/itemno");
  4191. if(0 < itemNodes.length){
  4192. btn_mark.attribute("color") = "#ff0000";
  4193. }
  4194. else{
  4195. btn_mark.attribute("color") = "";
  4196. }
  4197. }
  4198. }
  4199. function fUpKeyBtn()
  4200. {
  4201. if ( (grd_pathist.row-1) >= grd_pathist.fixedRows )
  4202. {
  4203. fGetRecMidIndx(grd_pathist.row-1);
  4204. grd_pathist.row = grd_pathist.row - 1;
  4205. }
  4206. }
  4207. function fDownKeyBtn()
  4208. {
  4209. if ( (grd_pathist.row+1) != grd_pathist.rows )
  4210. {
  4211. fGetRecMidIndx(grd_pathist.row+1);
  4212. grd_pathist.row = grd_pathist.row + 1;
  4213. }
  4214. }
  4215. /**
  4216. * @group :
  4217. * @ver :
  4218. * @by : 2009-10-30 주희경
  4219. * @---------------------------------------------------
  4220. * @type : function
  4221. * @access : public
  4222. * @desc : xrw화면내에서 방향키(↑ , ↓) 이벤트 발생 시 다음/이전의 수진이력 조회
  4223. * @param :
  4224. * @return :
  4225. * @---------------------------------------------------
  4226. */
  4227. function onkeydown()
  4228. {
  4229. /*
  4230. if (event.keyCode == 38) //↑
  4231. {
  4232. if ( (grd_pathist.row-1) >= grd_pathist.fixedRows )
  4233. {
  4234. fGetRecMidIndx(grd_pathist.row-1);
  4235. grd_pathist.row = grd_pathist.row - 1;
  4236. }
  4237. }
  4238. else if ( event.keyCode == 40 ) //↓
  4239. {
  4240. if ( (grd_pathist.row+1) != grd_pathist.rows )
  4241. {
  4242. fGetRecMidIndx(grd_pathist.row+1);
  4243. grd_pathist.row = grd_pathist.row + 1;
  4244. }
  4245. }
  4246. else {
  4247. event.preventDefault();
  4248. }
  4249. event.stopPropagation();*/
  4250. }
  4251. /**
  4252. * @group :
  4253. * @ver :
  4254. * @by : 2010-02-17 박종훈
  4255. * @---------------------------------------------------
  4256. * @type : function
  4257. * @access : public
  4258. * @desc : 수진이력별, 진료과별 라디옵튼 선택
  4259. * @param :
  4260. * @return :
  4261. * @---------------------------------------------------
  4262. */
  4263. function fSelectOption()
  4264. {
  4265. var option = model.getValue("/root/init/env/option");
  4266. if (option == "H")
  4267. {
  4268. model.toggle ("grd");
  4269. bool_viewflag.attribute("top") = "478";
  4270. bool_viewflag.attribute("left") = "313";
  4271. btn_in.value = "입원";
  4272. btn_in.attribute("width") = "47";
  4273. btn_in.attribute("left") = "246";
  4274. btn_out.attribute("width") = "47";
  4275. btn_out.attribute("left") = "200";
  4276. btn_out.value = "외래";
  4277. btn_in.visible = true;
  4278. btn_all.visible = true;
  4279. btn_er.visible = true;
  4280. caption2.value = "수진이력";
  4281. cmb_dept.disabled = false;
  4282. fSetGridSize("one");
  4283. if(btn_all.selected)
  4284. {
  4285. btn_all.dispatch("DOMActivate");
  4286. }
  4287. else if(btn_out.selected)
  4288. {
  4289. btn_out.dispatch("DOMActivate");
  4290. }
  4291. else if(btn_in.selected)
  4292. {
  4293. btn_in.dispatch("DOMActivate");
  4294. }
  4295. else if(btn_er.selected)
  4296. {
  4297. btn_er.dispatch("DOMActivate");
  4298. }
  4299. else if(btn_mark.selected)
  4300. {
  4301. btn_mark.dispatch("DOMActivate");
  4302. }
  4303. }else if (option == "D"){
  4304. model.toggle ("grd");
  4305. bool_viewflag.attribute("top") = "478";
  4306. bool_viewflag.attribute("left") = "313";
  4307. btn_all.visible = true;
  4308. btn_in.value = "입원";
  4309. btn_in.attribute("left") = "246";
  4310. btn_in.attribute("width") = "47";
  4311. btn_out.attribute("width") = "47";
  4312. btn_out.attribute("left") = "200";
  4313. btn_out.value = "외래";
  4314. btn_in.visible = true;
  4315. btn_out.visible = true;
  4316. btn_er.visible = true;
  4317. caption2.value = "진료과";
  4318. cmb_dept.disabled = true;
  4319. fSetGridSize("two");
  4320. model.removeNodeset("/root/main/pathist/patordhist");
  4321. grd_pathist.refresh();
  4322. iviewerIemr.window.javascript.cleanViewer();
  4323. model.setValue("/root/init/totcnt", "");
  4324. model.removeNodeset("/root/send");
  4325. model.makeValue("/root/send/instcd", model.getValue("/root/init/env/instcd"));
  4326. model.removeNodeset("/root/main/pathist/patordhist");
  4327. model.removeNodeset("/root/main/midindx/midindxlist");
  4328. model.resetInstanceNode("/root/init/accresn");
  4329. model.resetInstanceNode("/root/init/prtresn");
  4330. model.resetInstanceNode("/root/init/itemindxseq");
  4331. model.resetInstanceNode("/root/init/midreccnt");
  4332. model.resetInstanceNode("/root/init/reccurpos");
  4333. grd_midindx.refresh();
  4334. var sUserDeptcd = getUserInfo("dutplcecd");
  4335. var defdept = model.getValue("/root/envinit/defdept/answcnt");
  4336. if (defdept == "")
  4337. defdept = "002";
  4338. //해당과, 전체과 환경설정
  4339. if (defdept == "002"){
  4340. model.setValue("/root/init/orddept", "ALL");
  4341. datagrid3.row = 1;
  4342. datagrid3.rowstyle(1, "data", "background-color") = "#ffcc99";
  4343. }else if (defdept == "001"){
  4344. var itrgtNodeCnt = getNodesetCnt(model, "/root/initinfo/dplist[deptcd = '" + sUserDeptcd + "']");
  4345. if (itrgtNodeCnt > 0){
  4346. model.setValue("/root/init/orddept", sUserDeptcd);
  4347. var row = datagrid3.findRow(sUserDeptcd, 1, 1, false, false);
  4348. datagrid3.row = row;
  4349. datagrid3.rowstyle(row, "data", "background-color") = "#ffcc99";
  4350. }else{
  4351. model.setValue("/root/init/orddept", "ALL");
  4352. datagrid3.row = 1;
  4353. datagrid3.rowstyle(1, "data", "background-color") = "#ffcc99";
  4354. }
  4355. }else{
  4356. model.setValue("/root/init/orddept", "ALL");
  4357. datagrid3.row = 1;
  4358. datagrid3.rowstyle(1, "data", "background-color") = "#ffcc99";
  4359. }
  4360. cmb_dept.refresh();
  4361. fDbclickDept();
  4362. // if (grd_pathist.rows > 1)
  4363. // {
  4364. // grd_pathist.row = 1;
  4365. // fGetRecMidIndx();
  4366. // }
  4367. }else if(option == "F"){
  4368. caption2.value = "기록지";
  4369. cmb_dept.disabled = false;
  4370. btn_er.visible = false;
  4371. btn_all.visible = false;
  4372. btn_out.attribute("left") = "145";
  4373. btn_out.attribute("width") = "75";
  4374. btn_out.value = "외래/건진";
  4375. btn_in.value = "입원/응급/DSC";
  4376. btn_in.attribute("width") = "120";
  4377. btn_in.attribute("left") = "220";
  4378. model.toggle ("rec");
  4379. bool_viewflag.attribute("top") = "216";
  4380. bool_viewflag.attribute("left") = "210";
  4381. if( btn_out.selected != true && btn_in.selected != true ){
  4382. btn_out.selected = true;
  4383. }
  4384. // 기록지별 조회를 위한 Combo박스에 들어갈 서식 조회 2014.02.19
  4385. model.removeNodeset("/root/send/recsrch");
  4386. model.makeNode("/root/send/recsrch");
  4387. if(btn_out.selected)
  4388. {
  4389. model.makeValue("/root/send/recsrch/ordtype", "O");
  4390. }
  4391. else if(btn_in.selected)
  4392. {
  4393. model.makeValue("/root/send/recsrch/ordtype", "I");
  4394. }
  4395. model.makeValue("/root/send/recsrch/instcd" , getUserInfo("dutplceinstcd"));
  4396. model.makeValue("/root/send/recsrch/hardcd", "5627");
  4397. submit("TRMRI08115");
  4398. cmb_recformcd.refresh();
  4399. }else{
  4400. cmb_dept.disabled = false;
  4401. }
  4402. model.refresh();
  4403. }
  4404. /**
  4405. * @group :
  4406. * @ver :
  4407. * @by : 2010-02-18 박종훈
  4408. * @---------------------------------------------------
  4409. * @type : function
  4410. * @access : public
  4411. * @desc : 부서 그리드 더블클릭
  4412. * @param :
  4413. * @return :
  4414. * @---------------------------------------------------
  4415. */
  4416. function fDbclickDept()
  4417. {
  4418. var row = datagrid3.row;
  4419. var deptcd = datagrid3.valueMatrix(row, datagrid3.colref("deptcd"));
  4420. var privateflag = getParameter("SMMRI03000_privateflag");
  4421. var openerid = opener.window.javascript.getParameter("SMMRI00400_param_openerid");
  4422. var breakyn = getParameter("SMMRI08000_breakyn");
  4423. if ( openerid != "SMMRI08000" )
  4424. {
  4425. breakyn = "false";
  4426. }
  4427. else //열람신청에서 분기 -20120129 이윤주
  4428. {
  4429. var deptengabbr = datagrid3.valueMatrix(row, datagrid3.colref("deptengabbr"));
  4430. var prntdeptengabbr = opener.window.javascript.getParameter("SMMRI00400_param_prntdeptengabbr");
  4431. var prntidx = prntdeptengabbr.indexOf(deptengabbr);
  4432. if (prntidx > -1) {
  4433. btn_prnt.attribute("visibility") = "visible"; //출력버튼 보임
  4434. if(privateflag == "1"){
  4435. txt_private.visible = false;
  4436. }
  4437. }else {
  4438. btn_prnt.attribute("visibility") = "hidden";
  4439. txt_private.visible = false;
  4440. }
  4441. }
  4442. if ( row > 0 && breakyn == "false" )
  4443. {
  4444. datagrid3.allstyle("data", "background-color") = "#ffffff";
  4445. datagrid3.rowstyle(row, "data", "background-color") = "#ffcc99";
  4446. model.setValue("/root/init/orddept", deptcd);
  4447. cmb_dept.refresh();
  4448. fGetPatOrdHist(null);
  4449. var option = model.getValue("/root/envinit/option/answcnt");
  4450. if (option == "")
  4451. option = "001";
  4452. var tab = model.getValue("/root/envinit/tab/answcnt");
  4453. if (tab == "")
  4454. tab = "001";
  4455. //수진이력, 진료과별, 서식지별(미개발)에 따른 조건 설정
  4456. if(option == "002" && tab != "005") //북마크가 아닌경우에 자동 조회
  4457. {
  4458. if (grd_pathist.rows > 1)
  4459. {
  4460. grd_pathist.row = 1;
  4461. fGetRecMidIndx();
  4462. }
  4463. }
  4464. }
  4465. else if (breakyn == "false")
  4466. {
  4467. messageBox("환자의 진료과를 ", "C002");
  4468. return;
  4469. }
  4470. }
  4471. /**
  4472. * @group :
  4473. * @ver :
  4474. * @by : 2010-02-18 박종훈
  4475. * @---------------------------------------------------
  4476. * @type : function
  4477. * @access : public
  4478. * @desc : 메세지 처리
  4479. * @param :
  4480. * @return :
  4481. * @---------------------------------------------------
  4482. */
  4483. function fShowMessage(msg)
  4484. {
  4485. setParameter("msg", msg);
  4486. modal("SPMRI03300", getCurrentMonitorNumber(), 1000, 700, "", "", "","width:295px; height:125px; caption:hidden; resize:false;");
  4487. iviewerIemr.model.setfocus("objChartView", true);
  4488. }
  4489. /**
  4490. * 서 식 Header & Footer 정의 2013.07.08 CYW
  4491. * @param srcformcd
  4492. * @returns
  4493. */
  4494. function MakerHeaderNFooter( srcformcd , formprogflag , mainyn ){
  4495. var instcd = model.getValue("/root/init/env/instcd");
  4496. var formcd = srcformcd; // 서식코드
  4497. var cover_header = "";
  4498. var cover_header_start = "";
  4499. var cover_header_txt = "";
  4500. var cover_header_end = "";
  4501. var cover_footer = "";
  4502. var cover_footer_start = "";
  4503. var cover_footer_txt = "";
  4504. var cover_footer_end = "";
  4505. var body_header = "";
  4506. var body_footer = "";
  4507. var logoImg031 = getDomain() + "/himed/webapps/com/commonweb/images/logo_lctech_031.png";
  4508. var logoImg032 = getDomain() + "/himed/webapps/com/commonweb/images/logo_lctech_032.png";
  4509. //var logoImg032 = getDomain() + "/himed/webapps/com/commonweb/images/logo032.gif";
  4510. var logo = "";
  4511. var ex = "\n<TD style='width: 50%; text-align: left; font-weight: bold;'></TD>";
  4512. if( instcd == "031" ) {
  4513. logo = logoImg031;
  4514. }else if( instcd == "032" ){
  4515. logo = logoImg032;
  4516. }else{
  4517. logo = logoImg031;
  4518. }
  4519. // Cover Header 부분 ---------------------------------------------------------------------------------------------------
  4520. cover_header_start ="<HTML> " +
  4521. "\n<BODY style='margin: 0;'> " +
  4522. "\n<TABLE cellspacing='0' width='100%'> " +
  4523. "\n<TR> " +
  4524. "\n <TD width='65%'> " +
  4525. "\n <TABLE style='width=100%; font-family: 맑은 고딕;'> " +
  4526. "\n <TR> " +
  4527. "\n <TD> " +
  4528. "\n <IMG SRC='" + logo + "' /> " +
  4529. "\n </TD> " +
  4530. "\n </TR> " +
  4531. "\n <TR> " +
  4532. "\n <TD style='font-size: 18pt; text-align: center;'><!--?VAR_CHART_NAME_TOP?--></TD>" +
  4533. "\n </TR> " +
  4534. "\n <TR> " +
  4535. "\n <TD style='font-size: 14pt; text-align: center;'><!--?VAR_CHART_NAME_BOTTOM?--></TD>" +
  4536. "\n </TR> " +
  4537. "\n </TABLE> " +
  4538. "\n </TD> " +
  4539. "\n <TD width='35%' style='padding-right: 20px; padding-bottom: 5px'> " +
  4540. "\n <DIV style='border-style: solid; border-width: 1px; padding: 5px;'> " +
  4541. "\n <TABLE cellspacing='0' width='100%' style='font-family: 맑은 고딕;'> " +
  4542. "\n <TR> " +
  4543. "\n <TD style='font-size: 18pt' colspan='2'><!--?VAR_PAT_NUM?--></TD>" +
  4544. "\n </TR> " +
  4545. "\n <TR> " +
  4546. "\n <TD style='font-size: 18pt'><!--?VAR_PAT_NAME?--></TD> " +
  4547. "\n <TD style='font-size: 14pt'><!--?VAR_TREAT_DEPT?--></TD> " +
  4548. "\n </TR> " +
  4549. "\n <TR> " +
  4550. "\n <TD style='font-size: 12pt'><!--?VAR_PAT_JUMIN_NO?--></TD> " +
  4551. "\n <TD style='font-size: 12pt'><!--?VAR_PAT_AGE_SEX?--></TD> " +
  4552. "\n </TR> " +
  4553. "\n </TABLE> " +
  4554. "\n </DIV> " +
  4555. "\n </TD> " +
  4556. "\n</TR> " +
  4557. "\n</TABLE> " +
  4558. "\n<DIV style='border-top-style: solid; border-bottom-style: solid; border-width: 2px;'> " +
  4559. "\n <TABLE width='100%' style='font-family: 맑은 고딕; font-size: 10pt;'> " +
  4560. "\n <TR> " +
  4561. "\n <TD style='width: 50%; text-align: left'><!--?VAR_DATE_HEADER?--></TD> " +
  4562. "\n <TD style='width: 15%; text-align: center;'><!--?VAR_DOCTOR_HEADER?--></TD> " +
  4563. "\n <TD style='width: 25%; text-align: center;'><!--?VAR_WARD_HEAD?--></TD> " +
  4564. "\n <TD style='width: 10%; text-align: right;'><!--?VAR_CLASS?--></TD> " +
  4565. "\n </TR> " +
  4566. "\n </TABLE> " +
  4567. "\n</DIV>";
  4568. cover_header_end = "\n</BODY>"+
  4569. "\n</HTML>";
  4570. // Cover Footer 부분 ---------------------------------------------------------------------------------------------------
  4571. cover_footer_start = "<HTML>"+
  4572. "\n<BODY style='margin: 0;'>"+
  4573. "\n"+
  4574. "\n<DIV>"+
  4575. "\n <TABLE width='100%' style='font-family: 맑은 고딕; font-size: 10pt;'>"+
  4576. "\n <TR>"+
  4577. "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 최초작성자 : <!--?VAR_FSTRGSTRUSRNM?--></TD>";
  4578. cover_footer_end = "\n<DIV style='border-top-style: solid; border-width: 2px;'>"+
  4579. "\n <TABLE width='100%' style='font-family: 맑은 고딕; font-size: 11pt; font-weight: bold;'>"+
  4580. "\n <TR>"+
  4581. "\n <TD style='width: 20%; text-align: left; '>페이지:<!--?SYS_PAGE_CURRENT?-->/<!--?SYS_PAGE_TOTAL?--></TD>"+
  4582. "\n <TD style='width: 40%; text-align: center;'><!--?VAR_PRINT_HEADER?--></TD>"+
  4583. "\n <TD style='width: 20%; text-align: center;'><!--?VAR_PRINT_NAME?--></TD>"+
  4584. "\n <TD style='width: 20%; text-align: right; '><!--?VAR_PRINT_DEPT?--></TD>"+
  4585. "\n </TR>"+
  4586. "\n </TABLE>"+
  4587. "\n <TABLE width='100%' style='font-family: 맑은 고딕; font-size: 11pt; font-weight: bold;'>"+
  4588. "\n <TR>"+
  4589. "\n <TD style='width: 20%; text-align: left; '></TD>"+
  4590. "\n </TR>"+
  4591. "\n </TABLE>"+
  4592. "\n</DIV>"+
  4593. "\n"+
  4594. "\n</BODY>"+
  4595. "\n</HTML>";
  4596. //Body Header 부분 ---------------------------------------------------------------------------------------------------
  4597. body_header = "<HTML>"+
  4598. "\n<BODY style='margin-top: 0; margin-left: 0; margin-right; 0;'> "+
  4599. "\n "+
  4600. "\n<DIV style='border-top-style: solid; border-bottom-style: solid; border-width: 2px;'>"+
  4601. "\n <TABLE width='100%' style='font-family: 맑은 고딕; font-size: 10pt;'> "+
  4602. "\n <TR> "+
  4603. "\n <TD style='width: 10%; text-align: left; '><!--?VAR_PAT_NUM?--></TD> "+
  4604. "\n <TD style='width: 10%; text-align: center;'><!--?VAR_PAT_NAME?--></TD> "+
  4605. "\n <TD style='width: 15%; text-align: center;'><!--?VAR_PAT_AGE_SEX?--></TD> "+
  4606. "\n <TD style='width: 55%; text-align: center;'><!--?VAR_DATE_HEADER?--></TD> "+
  4607. "\n <TD style='width: 10%; text-align: right; '><!--?VAR_CLASS?--></TD> "+
  4608. "\n </TR> "+
  4609. "\n </TABLE> "+
  4610. "\n</DIV> "+
  4611. "\n "+
  4612. "\n</BODY> "+
  4613. "\n</HTML>";
  4614. // Body Footer 부분 ---------------------------------------------------------------------------------------------------
  4615. body_footer = "<HTML>"+
  4616. "\n<BODY style='margin: 0;'> "+
  4617. "\n "+
  4618. "\n<DIV> "+
  4619. "\n <TABLE width='100%' style='font-family: 맑은 고딕; font-size: 10pt;'> "+
  4620. "\n <TR> "+
  4621. "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 최초작성자 : <!--?VAR_FSTRGSTRUSRNM?--></TD> "+
  4622. "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 최종작성자 : <!--?VAR_LASTUPDTRUSRNM?--></TD> "+
  4623. "\n </TR> "+
  4624. "\n </TABLE> "+
  4625. "\n</DIV> "+
  4626. "\n<DIV style='border-top-style: solid; border-width: 2px;'> "+
  4627. "\n <TABLE width='100%' style='font-family: 맑은 고딕; font-size: 11pt; font-weight: bold;'> "+
  4628. "\n <TR> "+
  4629. "\n <TD style='width: 20%; text-align: left; '>페이지:<!--?SYS_PAGE_CURRENT?-->/<!--?SYS_PAGE_TOTAL?--></TD> "+
  4630. "\n <TD style='width: 40%; text-align: center;'><!--?VAR_PRINT_HEADER?--></TD> "+
  4631. "\n <TD style='width: 20%; text-align: center;'><!--?VAR_PRINT_NAME?--></TD> "+
  4632. "\n <TD style='width: 20%; text-align: right; '><!--?VAR_PRINT_DEPT?--></TD> "+
  4633. "\n </TR> "+
  4634. "\n </TABLE> "+
  4635. "\n <TABLE width='100%' style='font-family: 맑은 고딕; font-size: 11pt; font-weight: bold;'> "+
  4636. "\n <TR> "+
  4637. "\n <TD style='width: 20%; text-align: left; '></TD> "+
  4638. "\n </TR> "+
  4639. "\n </TABLE> "+
  4640. "\n</DIV> "+
  4641. "\n "+
  4642. "\n</BODY> "+
  4643. "\n</HTML>";
  4644. // ----------------------------------------------------------------------------------------------------------------------
  4645. if( formcd == "0000000003" ){ // 입원초진
  4646. cover_header_txt = "\n <DIV>" +
  4647. "\n <TABLE width='100%' style='font-family: 맑은 고딕; font-size: 10pt;'> " +
  4648. "\n <TR><TD style='text-align: left; font-weight: bold;'>입원일자 : <!--?VAR_ORDDATE?--></TD></TR> " +
  4649. "\n <TR><TD style='text-align: left; font-weight: bold;'>입 원 과 : <!--?VAR_INORDDEPTHNGNM?--></TD></TR> " +
  4650. "\n </TABLE>" +
  4651. "\n </DIV>";
  4652. cover_header = cover_header_start + cover_header_txt + cover_header_end;
  4653. cover_footer_txt = "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 최종작성자 : <!--?VAR_LASTUPDTRUSRNM?--></TD> " +
  4654. "\n </TR>" +
  4655. "\n </TABLE>" +
  4656. "\n </DIV>";
  4657. cover_footer = cover_footer_start + cover_footer_txt + cover_footer_end;
  4658. }else if( formcd == "0000000676" ){ // 수술기록
  4659. cover_header = cover_header_start + cover_header_end;
  4660. cover_footer_txt = "\n<TD style='width: 50%; text-align: left; font-weight: bold;'>◈ Surgeon : <!--?VAR_SURGEON?--></TD>"+
  4661. "\n </TR>"+
  4662. "\n <TR>"+
  4663. "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 최종작성자 : <!--?VAR_LASTUPDTRUSRNM?--></TD>"+
  4664. "\n </TR>"+
  4665. "\n </TABLE>"+
  4666. "\n</DIV>";
  4667. cover_footer = cover_footer_start + cover_footer_txt + cover_footer_end;
  4668. }else if( formcd == "0000000679" ){ // 응급실기록
  4669. cover_header_txt = "\n<DIV>" +
  4670. "\n <TABLE width='100%' style='font-family: 맑은 고딕; font-size: 10pt;'> " +
  4671. "\n <TR><TD style='text-align: left; font-weight: bold;'>진료일자 : <!--?VAR_ORDDATE?--></TD></TR>" +
  4672. "\n <TR><TD style='text-align: left; font-weight: bold;'>진 료 과 : <!--?VAR_ORDDEPT?--></TD></TR>" +
  4673. "\n <TR><TD style='text-align: left; font-weight: bold;'></TD></TR>" +
  4674. "\n <TR><TD style='text-align: left; font-weight: bold;'>[환자 내원시간] : <!--?VAR_ERDT?--></TD></TR>" +
  4675. "\n </TABLE>" +
  4676. "\n</DIV>";
  4677. cover_header = cover_header_start + cover_header_txt + cover_header_end;
  4678. cover_footer_txt = "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 최종작성자 : <!--?VAR_LASTUPDTRUSRNM?--></TD> " +
  4679. "\n </TR>" +
  4680. "\n </TABLE>" +
  4681. "\n </DIV>";
  4682. cover_footer = cover_footer_start + cover_footer_txt + cover_footer_end;
  4683. }else if( formcd == "0000000680" ){ // 입퇴원요약
  4684. cover_header_txt = "\n<DIV>" +
  4685. "\n <TABLE width='100%' style='font-family: 맑은 고딕; font-size: 10pt;'>" +
  4686. "\n <TR><TD style='text-align: left; font-weight: bold;'>[입퇴원정보] </TD></TR>" +
  4687. "\n <TR><TD style='text-align: left; font-weight: bold;'>&nbsp;&nbsp;입원일/입원과 : <!--?VAR_ININFO?--></TD></TR>" +
  4688. "\n <TR><TD style='text-align: left; font-weight: bold;'>&nbsp;&nbsp;퇴원일/퇴원과 : <!--?VAR_DSCHINFO?--></TD></TR>" +
  4689. "\n </TABLE>" +
  4690. "\n</DIV>";
  4691. cover_header = cover_header_start + cover_header_txt + cover_header_end;
  4692. cover_footer_txt = "\n<TD style='width: 50%; text-align: left; font-weight: bold;'>◈ Staff작성 및 확인 : <!--?VAR_STAFFNM?--></TD>"+
  4693. "\n </TR>"+
  4694. "\n <TR>"+
  4695. "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 최종작성자 : <!--?VAR_LASTUPDTRUSRNM?--></TD>"+
  4696. "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 의무기록사 : <!--?VAR_EMRRECUSRNM?--></TD>"+
  4697. "\n </TR>"+
  4698. "\n </TABLE>"+
  4699. "\n</DIV>";
  4700. cover_footer = cover_footer_start + cover_footer_txt + cover_footer_end;
  4701. }else if( formcd == "0000002022" ){ // 마취기록지
  4702. cover_header = cover_header_start + cover_header_end;
  4703. cover_footer_txt = "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 최종작성자 : <!--?VAR_LASTUPDTRUSRNM?--></TD> " +
  4704. "\n </TR>" +
  4705. "\n </TABLE>" +
  4706. "\n </DIV>";
  4707. cover_footer = cover_footer_start + cover_footer_txt + cover_footer_end;
  4708. }else if( formcd == "0000003169" ){ // Brief OP Note
  4709. cover_header = cover_header_start + cover_header_end;
  4710. cover_footer_txt = "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 최종작성자 : <!--?VAR_LASTUPDTRUSRNM?--></TD> " +
  4711. "\n </TR>" +
  4712. "\n </TABLE>" +
  4713. "\n </DIV>";
  4714. cover_footer = cover_footer_start + cover_footer_txt + cover_footer_end;
  4715. }else{
  4716. if(formprogflag == "-" || formprogflag == "MAIN" || mainyn == "Y"){
  4717. cover_header_txt = "\n<DIV> " +
  4718. "\n <TABLE width='100%' style='font-family: 맑은 고딕; font-size: 10pt;'> " +
  4719. "\n <TR><TD style='text-align: left; font-weight: bold;'>진료일자 : <!--?VAR_ORDDATE?--></TD></TR> "+
  4720. "\n <TR><TD style='text-align: left; font-weight: bold;'>진 료 과 : <!--?VAR_ORDDEPT?--></TD></TR> "+
  4721. "\n </TABLE> " +
  4722. "\n</DIV>";
  4723. cover_header = cover_header_start + cover_header_txt + cover_header_end;
  4724. cover_footer_txt = "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 최종작성자 : <!--?VAR_LASTUPDTRUSRNM?--></TD> " +
  4725. "\n </TR>" +
  4726. "\n </TABLE>" +
  4727. "\n </DIV>";
  4728. cover_footer = cover_footer_start + cover_footer_txt + cover_footer_end;
  4729. }else{
  4730. cover_header = cover_header_start + cover_header_end;
  4731. cover_footer_txt = "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 최종작성자 : <!--?VAR_LASTUPDTRUSRNM?--></TD> " +
  4732. "\n </TR>" +
  4733. "\n </TABLE>" +
  4734. "\n </DIV>";
  4735. cover_footer = cover_footer_start + cover_footer_txt + cover_footer_end;
  4736. }
  4737. }
  4738. var txt = cover_header + "♥" + cover_footer + "♥" + body_header + "♥" + body_footer;
  4739. return txt;
  4740. }
  4741. function MakeRecFile( hfflag, txt, htmltxt ){
  4742. var foldernm = "C:\\Certrec" + getUserInfo("dutplceinstcd");
  4743. var local_path ="";
  4744. local_path = foldernm + "\\";
  4745. if( hfflag == "h" ){
  4746. var headso = new ActiveXObject("Scripting.FileSystemObject");
  4747. if(headso.FileExists(local_path +txt + "_cover_header.html") == true)
  4748. {
  4749. headso.DeleteFile(local_path + txt + "_cover_header.html", true)
  4750. }
  4751. var h = headso.CreateTextFile( local_path + txt + "_cover_header.html" , true, true);
  4752. h.WriteLine(htmltxt);
  4753. h.Close();
  4754. }
  4755. if( hfflag == "f" ){
  4756. var footso = new ActiveXObject("Scripting.FileSystemObject");
  4757. if(footso.FileExists(local_path + txt + "_cover_footer.html") == true)
  4758. {
  4759. footso.DeleteFile(local_path + txt + "_cover_footer.html", true)
  4760. }
  4761. var f = footso.CreateTextFile( local_path + txt + "_cover_footer.html" , true, true);
  4762. f.WriteLine(htmltxt);
  4763. f.Close();
  4764. }
  4765. }
  4766. function fGetDetlFormRec(){
  4767. grd_reclist.fixedcellischeck(0,1)=false;
  4768. iviewerIemr.window.javascript.cleanViewer();
  4769. if( model.getValue("/root/init/recformdata/formcd") == null ){
  4770. messageBox("조회할 서식을 선택한 후 진행하십시오.", "C999");
  4771. return;
  4772. }
  4773. if( model.getValue("/root/init/recformdata/fromdd") == null || model.getValue("/root/init/recformdata/todd") == null ){
  4774. messageBox("조회할 기간을 선택한 후 진행하십시오.", "C999");
  4775. return;
  4776. }
  4777. var recchosflag = "";
  4778. var recreckind = "";
  4779. if( btn_out.selected ){
  4780. recchosflag = "O";
  4781. }else if( btn_in.selected ){
  4782. recchosflag = "I";
  4783. }else if( btn_er.selected ){
  4784. recchosflag = "I";
  4785. }
  4786. multirecyn = "N";
  4787. if( model.getValue("/root/init/recformdata/formcd") == "0800000636"){
  4788. recreckind = "PRCP";
  4789. }else{
  4790. recreckind = "EMR";
  4791. }
  4792. var recorddeptcd = "";
  4793. if( model.getValue("/root/init/orddept") == "ALL" ){
  4794. recorddeptcd = "";
  4795. }else{
  4796. recorddeptcd = model.getValue("/root/init/orddept");
  4797. }
  4798. model.setValue("/root/init/reccurpos", 1);
  4799. model.setValue("/root/init/recall", "Y");
  4800. model.removeNodeset("/root/send");
  4801. model.makeValue("/root/send/pid" , model.getValue("/root/main/patinfo/patinfolist/pid"));
  4802. model.makeValue("/root/send/ordfromdd" , model.getValue("/root/init/recformdata/fromdd"));
  4803. model.makeValue("/root/send/ordtodd" , model.getValue("/root/init/recformdata/todd"));
  4804. model.makeValue("/root/send/cretno" , "" );
  4805. model.makeValue("/root/send/chosflag" , recchosflag );
  4806. model.makeValue("/root/send/orddeptcd" , recorddeptcd );
  4807. model.makeValue("/root/send/tabflag" , model.getValue("/root/init/tabflag"));
  4808. model.makeValue("/root/send/reccurpos" , model.getValue("/root/init/reccurpos"));
  4809. model.makeValue("/root/send/recall" , model.getValue("/root/init/recall"));
  4810. model.makeValue("/root/send/reckind" , recreckind);
  4811. model.makeValue("/root/send/itemindxseq" , "" );
  4812. model.makeValue("/root/send/lisflag" , "" );
  4813. model.makeValue("/root/send/instcd" , model.getValue("/root/init/env/instcd"));
  4814. model.makeValue("/root/send/privateyn" , model.getValue("/root/init/privateyn"));
  4815. model.makeValue("/root/send/recformcd" , model.getValue("/root/init/recformdata/formcd"));
  4816. model.makeValue("/root/send/option" , model.getValue("/root/init/env/option") );
  4817. if (multirecyn == "N"){
  4818. if(submit("TRMRI03004")){
  4819. model.removeNodeset("/root/copytmpinicert");
  4820. model.makeNode("/root/copytmpinicert");
  4821. model.copyNode("/root/copytmpinicert", "/root/tmpinicert");
  4822. model.removeNode("/root/tmpinicert");
  4823. }else{
  4824. model.removeNodeset("/root/copytmpinicert");
  4825. model.removeNode("/root/tmpinicert");
  4826. iviewerIemr.window.javascript.cleanViewer();
  4827. fGetNextEmrImgRec(); //중분류 전체는 기존대로
  4828. }
  4829. }
  4830. model.refresh();
  4831. }
  4832. function fGetDetlFormRecDetail(idx){
  4833. iviewerIemr.window.javascript.cleanViewer();
  4834. iviewerIemr.window.javascript.refreshFalse();
  4835. if( model.getValue("/root/init/recformdata/formcd") == "0800000636" ){
  4836. if( model.getValue("/root/send/ordddtxt") != "" ){
  4837. model.makeValue("/root/send/option" , model.getValue("/root/init/env/option") );
  4838. } else{
  4839. model.makeValue("/root/send/option" , "" );
  4840. }
  4841. submit("TRMRI03004");
  4842. }else{
  4843. model.removeNode("/root/tmpinicert");
  4844. model.makeNode("/root/tmpinicert");
  4845. if( idx == "1"){
  4846. model.makeNode("/root/tmpinicert/iniinfo");
  4847. model.copyNode("/root/tmpinicert/iniinfo", "/root/copytmpinicert/iniinfo[" + grd_reclist.row + "]");
  4848. }else{
  4849. var iexNodeCnt = getNodesetCnt(model, "/root/copytmpinicert/iniinfo[recchk = 'true']");
  4850. var idxcnt = 1;
  4851. if( iexNodeCnt > 0 ){
  4852. for(var i = 1; i <= grd_reclist.rows-grd_reclist.fixedRows; i++ ){
  4853. if( model.getValue("/root/copytmpinicert/iniinfo["+ i +"]/recchk") == "true" ){
  4854. model.makeNode("/root/tmpinicert/iniinfo[" + idxcnt + "]");
  4855. model.copyNode("/root/tmpinicert/iniinfo[" + idxcnt + "]", "/root/copytmpinicert/iniinfo[" + i + "]");
  4856. idxcnt++;
  4857. }
  4858. }
  4859. }else{
  4860. model.makeNode("/root/tmpinicert/iniinfo");
  4861. model.copyNode("/root/tmpinicert/iniinfo", "/root/copytmpinicert/iniinfo[" + grd_reclist.row + "]");
  4862. }
  4863. }
  4864. }
  4865. var certnodeList = instance1.selectNodes("/root/tmpinicert/iniinfo");
  4866. if (certnodeList.length > 1 && certnodeList.length >= nodeposcnt){
  4867. multirecyn = "Y";
  4868. if (prevflag == "Y")
  4869. nodeposcnt = certnodeList.length;
  4870. else
  4871. nodeposcnt = 1;
  4872. }else{
  4873. multirecyn = "N";
  4874. nodeposcnt = 1;
  4875. }
  4876. iviewerIemr.window.javascript.cleanViewer();
  4877. iviewerIemr.window.javascript.refreshFalse();
  4878. fGetNextEmrImgRec(); //중분류 전체는 기존대로
  4879. model.setValue("/root/init/recall", "N");
  4880. model.refresh();
  4881. }
  4882. /**
  4883. * 네비게이션 팝업 처리
  4884. * 2014/04/01 이정택
  4885. * @return
  4886. */
  4887. function fPopupkey(){
  4888. pagingobj = getOpenWindow("SPMRI00400");
  4889. if(pagingobj==null){
  4890. open("SPMRI00400");
  4891. }else{
  4892. pagingobj.javascript.fInit(); // 초기함수호출
  4893. activateChild("SPMRI00400");
  4894. }
  4895. }
  4896. /**
  4897. * 페이징 처리
  4898. * 2014/04/01 이정택
  4899. * @return
  4900. */
  4901. var arr_keys = "";
  4902. var page_number = "";
  4903. var pagetotcnt="";
  4904. var allyn = "";
  4905. function fPaging(pageno){
  4906. if(pageno=="" || pageno==null){
  4907. page_number="1";
  4908. allyn="";
  4909. }else if(pageno!="ALL"){
  4910. page_number=pageno;
  4911. }else if(pageno=="ALL"){
  4912. page_number="1";
  4913. allyn="ALL";
  4914. }
  4915. var before = model.getValue("/root/send/itemindxseq");
  4916. var current = grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("itemindxseq"));
  4917. var foldernm = "C:\\Certrec" + getUserInfo("dutplceinstcd");
  4918. if((page_number=="1" || (before!=current)) && pageno!="ALL"){
  4919. iviewerIemr.window.javascript.cap_msg.value="";
  4920. iviewerIemr.window.javascript.cap_msg.refresh();
  4921. fExistFolder_New(foldernm);
  4922. cap_msg.value="";
  4923. cap_msg.refresh();
  4924. iviewerIemr.window.javascript.cleanViewer();
  4925. page_number="1";
  4926. model.makeValue("/root/send/itemindxseq", grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("itemindxseq")));
  4927. model.makeValue("/root/send/sortkind", model.getValue("/root/init/sortkind"));
  4928. if(model.getValue("/root/init/pagingyn")=="Y"){
  4929. model.makeValue("/root/send/pagingyn", model.getValue("/root/init/pagingyn"));
  4930. model.makeValue("/root/send/keyfromdd", model.getValue("/root/init/paging/fromdd"));
  4931. model.makeValue("/root/send/keytodd", model.getValue("/root/init/paging/todd"));
  4932. model.makeValue("/root/tmp/keys", "");
  4933. }else{
  4934. model.makeValue("/root/send/pagingyn", "");
  4935. model.makeValue("/root/send/keyfromdd", "");
  4936. model.makeValue("/root/send/keytodd", "");
  4937. model.makeValue("/root/send/keys", "");
  4938. }
  4939. submit("TRMRI03009");
  4940. }
  4941. var cnt = getNodesetCnt(model, "/root/tmp/keys/signno");
  4942. pagingobj = getOpenWindow("SPMRI00400");
  4943. var fromdd="";
  4944. var todd="";
  4945. if(cbx_paging.value=="Y"){
  4946. fromdd=model.getValue("/root/init/paging/fromdd");
  4947. todd=model.getValue("/root/init/paging/todd");
  4948. }else{
  4949. fromdd=grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colRef("indd"));
  4950. todd=grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colRef("dschdd"));
  4951. if(todd=="재원중"){
  4952. todd=getCurrentDate();
  4953. }
  4954. }
  4955. if(current=="20337" && parseInt(page_number) >= 1){
  4956. var sortkind = model.getValue("/root/init/sortkind");
  4957. if(sortkind=="A"){
  4958. var plusdate ="";
  4959. if(parseInt(page_number) == 1){
  4960. arr_keys = new Array();
  4961. }
  4962. while(plusdate <= todd && parseInt(page_number) == 1){
  4963. var sb = new StringBuffer();
  4964. if(plusdate =="" || plusdate ==null){
  4965. sb.append(fromdd);
  4966. plusdate=date_add(fromdd, 35);
  4967. if(plusdate>todd){
  4968. sb.append(todd);
  4969. var sb_keys=sb.toString(",");
  4970. arr_keys.push(sb_keys);
  4971. break;
  4972. }else{
  4973. sb.append(plusdate);
  4974. }
  4975. }else{
  4976. plusdate=date_add(plusdate, 1);
  4977. sb.append(plusdate);
  4978. plusdate=date_add(plusdate, 35);
  4979. if(plusdate>todd){
  4980. sb.append(todd);
  4981. var sb_keys=sb.toString(",");
  4982. arr_keys.push(sb_keys);
  4983. break;
  4984. }else{
  4985. sb.append(plusdate);
  4986. }
  4987. }
  4988. var sb_keys=sb.toString(",");
  4989. arr_keys.push(sb_keys);
  4990. }
  4991. if(parseInt(page_number) == 1){
  4992. pagetotcnt = arr_keys.length;
  4993. }
  4994. model.makeValue("/root/tmp/prcpfromdd", arr_keys[parseInt(page_number)-1].split(",")[0]);
  4995. model.makeValue("/root/tmp/prcptodd", arr_keys[parseInt(page_number)-1].split(",")[1]);
  4996. var sWindowMsg = "데이터 로딩 중입니다.";
  4997. callLoadingWindow(sWindowMsg);
  4998. fDbClickMidIndx_New();
  4999. removeLoadingWindow();
  5000. }else if(sortkind=="D"){
  5001. var minusdate ="";
  5002. if(parseInt(page_number) == 1){
  5003. arr_keys = new Array();
  5004. }
  5005. while((minusdate =="" || minusdate ==null) || (minusdate >= fromdd && parseInt(page_number) == 1)){
  5006. var sb = new StringBuffer();
  5007. var sb_keys="";
  5008. if(minusdate =="" || minusdate ==null){
  5009. minusdate=date_add(todd, -35);
  5010. if(minusdate<=fromdd){
  5011. sb.append(fromdd);
  5012. sb.append(todd);
  5013. sb_keys=sb.toString(",");
  5014. arr_keys.push(sb_keys);
  5015. break;
  5016. }else{
  5017. sb.append(minusdate);
  5018. sb.append(todd);
  5019. todd=minusdate;
  5020. sb_keys=sb.toString(",");
  5021. arr_keys.push(sb_keys);
  5022. }
  5023. }else{
  5024. minusdate=date_add(minusdate, -35);
  5025. if(minusdate<=fromdd){
  5026. sb.append(fromdd);
  5027. todd=date_add(todd, -1);
  5028. sb.append(todd);
  5029. sb_keys=sb.toString(",");
  5030. arr_keys.push(sb_keys);
  5031. break;
  5032. }else{
  5033. sb.append(minusdate);
  5034. todd=date_add(todd, -1);
  5035. sb.append(todd);
  5036. todd=minusdate;
  5037. sb_keys=sb.toString(",");
  5038. arr_keys.push(sb_keys);
  5039. }
  5040. }
  5041. }
  5042. if(parseInt(page_number) == 1){
  5043. pagetotcnt = arr_keys.length;
  5044. }
  5045. model.makeValue("/root/tmp/prcpfromdd", arr_keys[parseInt(page_number)-1].split(",")[0]);
  5046. model.makeValue("/root/tmp/prcptodd", arr_keys[parseInt(page_number)-1].split(",")[1]);
  5047. var sWindowMsg = "데이터 로딩 중입니다.";
  5048. callLoadingWindow(sWindowMsg);
  5049. fDbClickMidIndx_New();
  5050. removeLoadingWindow();
  5051. }
  5052. }else{
  5053. if(cnt==0){
  5054. var sWindowMsg = "데이터 로딩 중입니다.";
  5055. callLoadingWindow(sWindowMsg);
  5056. fDbClickMidIndx_New();
  5057. removeLoadingWindow();
  5058. }
  5059. /* else if(cnt >1 && allyn==""){
  5060. fPopupkey();
  5061. }
  5062. */
  5063. else{
  5064. var temp_keys="";
  5065. var keys="";
  5066. if(page_number=="1"){
  5067. arr_keys = new Array();
  5068. var sb = new StringBuffer();
  5069. for(var i=1; i<=cnt; i++){
  5070. sb.append("'"+model.getValue("/root/tmp/keys["+i+"]/signno")+"'");
  5071. }
  5072. temp_keys=sb.toString(",");
  5073. keys=temp_keys.split(",");
  5074. pagetotcnt = Math.ceil(cnt/35);
  5075. for(var i=0; i<pagetotcnt; i++){
  5076. var sb = new StringBuffer();
  5077. for(var j=i*35; j<(i*35)+35 && j<keys.length; j++){
  5078. sb.append(keys[j]);
  5079. }
  5080. var sb_keys=sb.toString(",");
  5081. arr_keys.push(sb_keys);
  5082. }
  5083. }
  5084. model.makeValue("/root/tmp/keys", arr_keys[parseInt(page_number)-1]);
  5085. if(parseInt(page_number) <= parseInt(pagetotcnt)){
  5086. var sWindowMsg = "데이터 로딩 중입니다.";
  5087. callLoadingWindow(sWindowMsg);
  5088. fDbClickMidIndx_New();
  5089. removeLoadingWindow();
  5090. }
  5091. if(pagingobj!=null){
  5092. pagingobj.javascript.model.close();
  5093. }
  5094. }
  5095. }
  5096. if(pagetotcnt!=null && pagetotcnt!="" && (parseInt(page_number) < parseInt(pagetotcnt))){
  5097. fPagebtnCtl("false");
  5098. }else{
  5099. fPagebtnCtl("true");
  5100. }
  5101. }
  5102. /**
  5103. * 더보기 버튼 제어
  5104. */
  5105. function fPagebtnCtl(chk){
  5106. if(chk=="true"){
  5107. iviewerIemr.window.javascript.tv_pagebtn.disabled=true;
  5108. iviewerIemr.window.javascript.cv_pagebtn.disabled=true;
  5109. iviewerIemr.window.javascript.pv_pagebtn.disabled=true;
  5110. btn_paging.disabled=true;
  5111. iviewerIemr.window.javascript.tv_pagebtn.hint="[기록이 더 이상 없습니다.]";
  5112. iviewerIemr.window.javascript.cv_pagebtn.hint="[기록이 더 이상 없습니다.]";
  5113. iviewerIemr.window.javascript.pv_pagebtn.hint="[기록이 더 이상 없습니다.]";
  5114. iviewerIemr.window.javascript.cap_msg.value="[기록이 더 이상 없습니다.]";
  5115. btn_paging.hint="[기록이 더 이상 없습니다.]";
  5116. cap_msg.value="[기록이 더 이상 없습니다.]";
  5117. cap_msg.refresh();
  5118. iviewerIemr.window.javascript.cap_msg.refresh();
  5119. // iviewerIemr.window.javascript.cap_msg.value="[기록이 더 이상 없습니다.("+page_number+"/"+pagetotcnt+")]";
  5120. iviewerIemr.window.javascript.cap_msg.refresh();
  5121. }else if(chk=="false"){
  5122. iviewerIemr.window.javascript.tv_pagebtn.disabled=false;
  5123. iviewerIemr.window.javascript.cv_pagebtn.disabled=false;
  5124. iviewerIemr.window.javascript.pv_pagebtn.disabled=false;
  5125. btn_paging.disabled=false;
  5126. iviewerIemr.window.javascript.tv_pagebtn.hint="[기록 더보기]";
  5127. iviewerIemr.window.javascript.cv_pagebtn.hint="[기록 더보기]";
  5128. iviewerIemr.window.javascript.pv_pagebtn.hint="[기록 더보기]";
  5129. iviewerIemr.window.javascript.cap_msg.value="[기록이 더 존재합니다. 더보기 버튼을 클릭해주세요.]";
  5130. btn_paging.hint="[기록 더보기]";
  5131. cap_msg.value="[기록이 더 존재합니다. 더보기 버튼을 클릭해주세요.]";
  5132. cap_msg.refresh();
  5133. // iviewerIemr.window.javascript.cap_msg.value="[기록이 더 존재합니다. 더보기 버튼을 클릭해주세요.("+page_number+"/"+pagetotcnt+")]";
  5134. iviewerIemr.window.javascript.cap_msg.refresh();
  5135. }else{
  5136. iviewerIemr.window.javascript.tv_pagebtn.disabled=true;
  5137. iviewerIemr.window.javascript.cv_pagebtn.disabled=true;
  5138. iviewerIemr.window.javascript.pv_pagebtn.disabled=true;
  5139. btn_paging.disabled=true;
  5140. iviewerIemr.window.javascript.tv_pagebtn.hint="";
  5141. iviewerIemr.window.javascript.cv_pagebtn.hint="";
  5142. iviewerIemr.window.javascript.pv_pagebtn.hint="";
  5143. btn_paging.hint="";
  5144. cap_msg.value="";
  5145. cap_msg.refresh();
  5146. iviewerIemr.window.javascript.cap_msg.value="";
  5147. iviewerIemr.window.javascript.cap_msg.refresh();
  5148. }
  5149. }
  5150. /**
  5151. * 이정택 2014/04/02
  5152. * @return
  5153. */
  5154. function StringBuffer(){
  5155. this.buffer = [];
  5156. }
  5157. /**
  5158. * 이정택 2014/04/02
  5159. * @return
  5160. */
  5161. StringBuffer.prototype.append = function(str) {
  5162. if (isNull(str)) { str = ""; }
  5163. this.buffer.push(str);
  5164. return this;
  5165. }
  5166. /**
  5167. * 이정택 2014/04/02
  5168. * @return
  5169. */
  5170. StringBuffer.prototype.toString = function(str) {
  5171. if (isNull(str)) { str = ""; }
  5172. return this.buffer.join(str);
  5173. }
  5174. /**
  5175. * 날짜계산
  5176. * 2014/04/08 이정택
  5177. */
  5178. function date_add(sDate, nDays){
  5179. var yy = parseInt(sDate.substr(0,4), 10);
  5180. var mm = parseInt(sDate.substr(4,2), 10);
  5181. var dd = parseInt(sDate.substr(6,2), 10);
  5182. var d = new Date(yy, mm - 1, dd + nDays);
  5183. yy = d.getFullYear().toString();
  5184. mm = d.getMonth() + 1; mm = (mm < 10) ? '0' + mm : mm.toString();
  5185. dd = d.getDate(); dd = (dd < 10) ? '0' + dd : dd.toString();
  5186. return yy + mm + dd;
  5187. }
  5188. /**
  5189. * 중분류 더블클릭시 신규로직
  5190. * 2014/04/09 이정택
  5191. * @return
  5192. */
  5193. function fDbClickMidIndx_New(){
  5194. multirecyn = "N"; //다수의 기록 여부(ex.기록+이미지)
  5195. nodeposcnt = 1;
  5196. prevflag = "N";
  5197. if (grd_midindx.row >= 1){
  5198. var curmidcnt = parseInt(grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("cnt")));
  5199. var itemindxseq = parseInt(grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("itemindxseq")));
  5200. var openerid = opener.window.javascript.getParameter("SMMRI00400_param_openerid");
  5201. if ( openerid == "SMMRI08000" ){
  5202. // 중분류별 출력체크 CYW
  5203. var chkflag = model.getValue( "/root/main/midindx/midindxlist[" + grd_midindx.row + "]/chkflag");
  5204. var row = datagrid3.row;
  5205. var deptengabbr = datagrid3.valueMatrix(row, datagrid3.colref("deptengabbr"));
  5206. var prntdeptengabbr = opener.window.javascript.getParameter("SMMRI00400_param_prntdeptengabbr");
  5207. var prntidx = prntdeptengabbr.indexOf(deptengabbr);
  5208. if( ( prntidx > -1 && chkflag == "Y" && privatetxt == "2" ) || ( prntidx > -1 && privatetxt == "3") ){
  5209. btn_prnt.visible = true;
  5210. txt_private.visible = true;
  5211. }else if( prntidx > -1 && privatetxt == "1" ){
  5212. btn_prnt.visible = true;
  5213. txt_private.visible = false;
  5214. }else{
  5215. btn_prnt.visible = false;
  5216. txt_private.visible = false;
  5217. }
  5218. }
  5219. model.setValue("/root/init/midreccnt", curmidcnt);
  5220. model.setValue("/root/init/reccurpos", 1);
  5221. model.setValue("/root/init/itemindxseq", itemindxseq);
  5222. //2013/02/15 머지 시작(추가)
  5223. model.setValue("/root/init/recall", "Y");
  5224. //2013/02/15 머지 끝
  5225. model.refresh();
  5226. fGetDetlRec_New(grd_midindx.row);
  5227. }
  5228. }
  5229. /**
  5230. * 실질적인 기록조회
  5231. * 2014/04/09 이정택
  5232. * @param row1
  5233. * @param row2
  5234. * @return
  5235. */
  5236. function fGetDetlRec_New( row1, row2 ){
  5237. var grd_midindxrow = row1;
  5238. var grd_pathistrow = row2;
  5239. if ( row1 == null ){
  5240. grd_midindxrow = grd_midindx.row;
  5241. }
  5242. if ( row2 == null ){
  5243. grd_pathistrow = grd_pathist.row;
  5244. }
  5245. var itemindxseq = parseInt(model.getValue("/root/init/itemindxseq")); //선택중분류 인덱스순번
  5246. var reccurpos = parseInt(model.getValue("/root/init/reccurpos")); //현재선택된기록 순번
  5247. var midreccnt = parseInt(model.getValue("/root/init/midreccnt")); //선택중분류 기록수
  5248. var bfopentest = model.getValue("/root/init/bfopentest"); //오픈 이전 검사처방 수진이력
  5249. var reckind = grd_midindx.valueMatrix(grd_midindxrow, grd_midindx.colref("reckind"));
  5250. var rowfocus = "";
  5251. var emrflag = model.getValue("/root/init/emrflag");
  5252. var selIndx = switch1.selectedIndex; //2009-10-20 오후 10:00:57 강지훈 추가
  5253. if(selIndx == 1){
  5254. fGetBookmarkItem();
  5255. }else if(selIndx == 0){
  5256. if (emrflag == "I" && (reckind != "EMR" && reckind != "CDIS")){
  5257. var totcnt = "[ " + 1 + " / " + grd_midindx.valueMatrix(grd_midindxrow, grd_midindx.colref("cnt")) + " / " + model.getValue("/root/init/reccnt") + " ]";
  5258. model.setValue("/root/init/totcnt", totcnt);
  5259. var treatno = grd_midindx.valueMatrix(grd_midindxrow, grd_midindx.colref("itemindxseq"));
  5260. var formcd = grd_midindx.valueMatrix(grd_midindxrow, grd_midindx.colref("supitemindxseq"));
  5261. iviewerIemr.window.javascript.cleanViewer();
  5262. iviewerIemr.window.javascript.refreshFalse();
  5263. model.makeValue("/root/imgrec/iemr/treatno", parseInt(treatno));
  5264. model.makeValue("/root/imgrec/iemr/docucd", formcd);
  5265. model.makeValue("/root/imgrec/iemr/instcd", model.getValue("/root/init/env/instcd"));
  5266. var iemrNode = instance1.selectSingleNode("/root/imgrec/iemr");
  5267. var chartinfo;
  5268. chartinfo = "I";
  5269. var hiddenmsg;
  5270. hiddenmsg = "I";
  5271. iviewerIemr.window.javascript.appendChart(iemrNode, chartinfo, hiddenmsg);
  5272. iviewerIemr.window.javascript.refreshTrue();
  5273. }else{
  5274. var calcReccurpos = parseInt(model.getValue("/root/init/reccurpos"));
  5275. var itemindxseq = parseInt(model.getValue("/root/init/itemindxseq"));
  5276. model.removeNodeset("/root/send");
  5277. model.makeValue("/root/send/pid" , model.getValue("/root/main/patinfo/patinfolist/pid"));
  5278. model.makeValue("/root/send/orddd" , grd_pathist.valueMatrix(grd_pathistrow, grd_pathist.colref("orddd")));
  5279. model.makeValue("/root/send/cretno" , grd_pathist.valueMatrix(grd_pathistrow, grd_pathist.colref("cretno")));
  5280. model.makeValue("/root/send/chosflag" , grd_pathist.valueMatrix(grd_pathistrow, grd_pathist.colref("ordtype")));
  5281. model.makeValue("/root/send/orddeptcd" , grd_pathist.valueMatrix(grd_pathistrow, grd_pathist.colref("orddeptcd")));
  5282. model.makeValue("/root/send/tabflag" , model.getValue("/root/init/tabflag"));
  5283. model.makeValue("/root/send/reccurpos" , calcReccurpos);
  5284. model.makeValue("/root/send/recall" , model.getValue("/root/init/recall"));
  5285. model.makeValue("/root/send/reckind" , reckind);
  5286. model.makeValue("/root/send/itemindxseq" , itemindxseq);
  5287. model.makeValue("/root/send/lisflag" , grd_midindx.valueMatrix(grd_midindxrow, grd_midindx.colref("lisflag")));
  5288. model.makeValue("/root/send/instcd" , model.getValue("/root/init/env/instcd"));
  5289. model.makeValue("/root/send/privateyn" , model.getValue("/root/init/privateyn"));
  5290. model.makeValue("/root/send/option" , model.getValue("/root/init/env/option"));
  5291. /* 이정택 파라미터 추가
  5292. * */
  5293. model.makeValue("/root/send/keys" , model.getValue("/root/tmp/keys"));
  5294. model.makeValue("/root/send/screen_id", getScreenID());
  5295. model.makeValue("/root/send/sortkind", model.getValue("/root/init/sortkind"));
  5296. model.makeValue("/root/send/page_number", page_number);
  5297. //2010.02.04 안치원 - 통합기록조회 검사파트 처방일자로 조회조건 추가
  5298. model.makeValue("/root/send/fromprcpdd" , grd_pathist.valueMatrix(grd_pathistrow, grd_pathist.colref("orddd")));
  5299. model.makeValue("/root/send/toprcpdd" , grd_pathist.valueMatrix(grd_pathistrow, grd_pathist.colref("dschdd")));
  5300. //2009-11-02 오후 2:18:45 강지훈 수정
  5301. model.makeValue("/root/send/bfopentest", bfopentest);
  5302. pathistEmrFlag = grd_pathist.valueMatrix(grd_pathistrow, grd_pathist.colref("emrflag"))
  5303. if(bfopentest == "Y" && emrflag != "E"){
  5304. model.makeValue("/root/send/midbftest", "Y");
  5305. }else{
  5306. model.makeValue("/root/send/midbftest", "N");
  5307. }
  5308. //2010.03.31 안치원 - 대량Data의 수동출력을 위한 Paging기능 추가
  5309. if (model.getValue("/root/init/pagingyn")=="Y" && model.getValue("/root/init/paging/fromdd") != "" && model.getValue("/root/init/paging/todd") != "") {
  5310. model.makeValue("/root/send/pagingyn", "Y");
  5311. var ViewMode = iviewerIemr.model.getValue("/root/hidden/currentViewMode");
  5312. if(ViewMode == "ThumbView"){
  5313. model.makeValue("/root/send/recall", "Y"); //추가-kys-20100331
  5314. model.setValue("/root/init/recall", "Y"); //추가-kys-20100331
  5315. }
  5316. model.makeValue("/root/send/pagingyn", "Y");
  5317. model.makeValue("/root/send/pagingfromdd", model.getValue("/root/init/paging/fromdd"));
  5318. model.makeValue("/root/send/pagingtodd", model.getValue("/root/init/paging/todd"));
  5319. }
  5320. if(model.getValue("/root/tmp/prcpfromdd")!="" && model.getValue("/root/tmp/prcptodd")!=""){
  5321. model.makeValue("/root/send/pagingyn", "Y");
  5322. model.makeValue("/root/send/pagingfromdd", model.getValue("/root/tmp/prcpfromdd"));
  5323. model.makeValue("/root/send/pagingtodd", model.getValue("/root/tmp/prcptodd"));
  5324. }
  5325. if(multirecyn == "N"){
  5326. if(submit("TRMRI03010")){
  5327. var certnodeList = instance1.selectNodes("/root/paging/iniinfo");
  5328. if(certnodeList.length > 1 && certnodeList.length >= nodeposcnt){
  5329. multirecyn = "Y";
  5330. if(prevflag == "Y"){
  5331. nodeposcnt = certnodeList.length;
  5332. }else{
  5333. nodeposcnt = 1;
  5334. }
  5335. }else{
  5336. multirecyn = "N";
  5337. nodeposcnt = 1;
  5338. }
  5339. //iviewerIemr.window.javascript.cleanViewer();
  5340. if(page_number!="1"){
  5341. //copyNodeset("/root/tmpinicert/iniinfo", "/root/paging/iniinfo", "append", model, model);
  5342. }else{
  5343. //iviewerIemr.window.javascript.cleanViewer();
  5344. //copyNodeset("/root/tmpinicert/iniinfo", "/root/paging/iniinfo", "replace", model, model);
  5345. }
  5346. if (model.getValue("/root/init/recall") == "Y"){
  5347. fGetNextEmrImgRec_New();
  5348. }else{
  5349. fGetNextEmrImgRec_New();
  5350. }
  5351. model.setValue("/root/init/recall", "N");
  5352. }
  5353. }else{
  5354. iviewerIemr.window.javascript.cleanViewer();
  5355. fGetNextEmrImgRec(); //중분류 전체는 기존대로
  5356. }
  5357. }
  5358. }
  5359. }
  5360. /**
  5361. * 2014/04/01 통합기록 조회 신규로직
  5362. * 이정택
  5363. */
  5364. function fGetNextEmrImgRec_New(){
  5365. var certnodeList = instance1.selectNodes("/root/paging/iniinfo");
  5366. var instcd = model.getValue("/root/init/env/instcd");
  5367. var foldernm = "C:\\Certrec" + getUserInfo("dutplceinstcd");
  5368. var recall = model.getValue("/root/init/recall");
  5369. if(certnodeList.length <= 0){
  5370. return;
  5371. }else if(certnodeList.length > 1){
  5372. model.setValue("/root/init/recall", "N");
  5373. }
  5374. var emrpath = "";
  5375. var emrorddate = "";
  5376. var emrformnm = "";
  5377. var emrformcd = "";
  5378. var emrdeptnm = "";
  5379. var emrdeptcd = "";
  5380. var emrpage = "";
  5381. var emrhiddenmsg = "";
  5382. var recrowno = "";
  5383. var k = "";
  5384. var pid = "";
  5385. var ptnm = "";
  5386. var depthngnm = "";
  5387. var deptengabbr = "";
  5388. var icdrdeptengabbr = "";
  5389. var rgstno = "";
  5390. var sa = "";
  5391. var disporddd = "";
  5392. var orddd = "";
  5393. var drid = "";
  5394. var icdrdrid = "";
  5395. var roomcd = "";
  5396. var icdrroomcd = "";
  5397. var ordtype = "";
  5398. var chosflag = "";
  5399. var orddeptcd = "";
  5400. var signflag = "";
  5401. var imgflag = "";
  5402. var langflag = "";
  5403. var tmptreatno = "";
  5404. var tmpiformcd = "";
  5405. var signno = 0;
  5406. var formcd = "";
  5407. var srcformcd = "";
  5408. var formnm = "";
  5409. var formprogflag = "";
  5410. var recdt = "";
  5411. var recdd = "";
  5412. var wardheader = "";
  5413. var dateheader = "";
  5414. var doctorheader = "";
  5415. var printheader = "";
  5416. var pageheader = "";
  5417. var imgepath = "";
  5418. var formrecdt = "";
  5419. var fstrgstdt = "";
  5420. var lastupdtdt = "";
  5421. var staffconfirmdt = "";
  5422. var fstrgstrusrnm = "";
  5423. var lastupdtrusrnm = "";
  5424. var erdt = "";
  5425. var ervisittm = "";
  5426. var staffnmheader = "";
  5427. var staffnm = "";
  5428. var emrrecusrnmheader = "";
  5429. var emrrecusrnm = "";
  5430. var indd = "";
  5431. var dschdd = "";
  5432. var inorddepthngnm = "";
  5433. var dschorddepthngnm = "";
  5434. var incnt = "";
  5435. var mainyn = "";
  5436. var rowno = "";
  5437. var surgeon = "";
  5438. var cover_header = "";
  5439. var cover_footer = "";
  5440. var local_path = "";
  5441. var body_header = "";
  5442. var body_footer = "";
  5443. var makebodyfilecnt =0;
  5444. var default_cover_header = "";
  5445. var default_cover_footer = "";
  5446. var cover_header1 = "";
  5447. var cover_header2 = "";
  5448. var cover_header3 = "";
  5449. var cover_header4 = "";
  5450. var cover_header10 = "";
  5451. var cover_footer1 = "";
  5452. var cover_footer2 = "";
  5453. var cover_header_filenm = "";
  5454. var cover_footer_filenm = "";
  5455. var prtnunm = getUserInfo("usernm");
  5456. var prtndeptnm = "";
  5457. var getdate = getCurrentDate();
  5458. var gettime = getCurrentTime();
  5459. var dateprnt = getdate.substr(0, 4) + "/" + getdate.substr(4, 2) + "/" + getdate.substr(6, 2);
  5460. var timeprnt = gettime.substr(0, 2) + ":" + gettime.substr(2, 2) + ":" + gettime.substr(4, 2);
  5461. var SMMRI03000_privateflag = getParameter("SMMRI03000_privateflag");
  5462. var prtdt = dateprnt + " " + timeprnt;
  5463. var signgenrflag = "";
  5464. var careinrmdt = "";
  5465. var prcpdd ="";
  5466. // fExistFolder_New(foldernm);
  5467. iviewerIemr.window.javascript.refreshFalse();
  5468. for(var i = 1; i <= certnodeList.length; i++){
  5469. signno = model.getValue("/root/paging/iniinfo[" + i + "]/signno");
  5470. formcd = model.getValue("/root/paging/iniinfo[" + i + "]/formcd");
  5471. srcformcd = model.getValue("/root/paging/iniinfo[" + i + "]/srcformcd");
  5472. formnm = model.getValue("/root/paging/iniinfo[" + i + "]/formnm");
  5473. formprogflag = model.getValue("/root/paging/iniinfo[" + i + "]/formprogflag");
  5474. recdt = model.getValue("/root/paging/iniinfo[" + i + "]/recdt");
  5475. recdd = model.getValue("/root/paging/iniinfo[" + i + "]/recdd");
  5476. trans = model.getValue("/root/paging/iniinfo[" + i + "]/trans");
  5477. ptnm = model.getValue("/root/paging/iniinfo[" + i + "]/ptnm");
  5478. pid = model.getValue("/root/paging/iniinfo[" + i + "]/pid");
  5479. rgstno = model.getValue("/root/paging/iniinfo[" + i + "]/rgstno");
  5480. depthngnm = model.getValue("/root/paging/iniinfo[" + i + "]/depthngnm");
  5481. deptengabbr = model.getValue("/root/paging/iniinfo[" + i + "]/deptengabbr");
  5482. icdrdeptengabbr = model.getValue("/root/paging/iniinfo[" + i + "]/icdrdeptengabbr");
  5483. sa = model.getValue("/root/paging/iniinfo[" + i + "]/sa");
  5484. disporddd = model.getValue("/root/paging/iniinfo[" + i + "]/disporddd");
  5485. orddd = model.getValue("/root/paging/iniinfo[" + i + "]/orddd");
  5486. drid = model.getValue("/root/paging/iniinfo[" + i + "]/drid");
  5487. icdrdrid = model.getValue("/root/paging/iniinfo[" + i + "]/icdrdrid");
  5488. roomcd = model.getValue("/root/paging/iniinfo[" + i + "]/roomcd");
  5489. icdrroomcd = model.getValue("/root/paging/iniinfo[" + i + "]/icdrroomcd");
  5490. ordtype = model.getValue("/root/paging/iniinfo[" + i + "]/ordtype");
  5491. chosflag = model.getValue("/root/paging/iniinfo[" + i + "]/chosflag");
  5492. orddeptcd = model.getValue("/root/paging/iniinfo[" + i + "]/orddeptcd");
  5493. signflag = model.getValue("/root/paging/iniinfo[" + i + "]/signflag");
  5494. imgflag = model.getValue("/root/paging/iniinfo[" + i + "]/imgflag");
  5495. langflag = model.getValue("/root/paging/iniinfo[" + i + "]/langflag");
  5496. formrecdt = model.getValue("/root/paging/iniinfo[" + i + "]/formrecdt");
  5497. formrecdt = formrecdt.toDate().getDateFormat("YYYY/MM/DD");
  5498. fstrgstdt = model.getValue("/root/paging/iniinfo[" + i + "]/fstrgstdt");
  5499. lastupdtdt = model.getValue("/root/paging/iniinfo[" + i + "]/lastupdtdt");
  5500. staffconfirmdt = model.getValue("/root/paging/iniinfo[" + i + "]/staffconfirmdt");
  5501. fstrgstrusrnm = model.getValue("/root/paging/iniinfo[" + i + "]/fstrgstrusrnm");
  5502. lastupdtrusrnm = model.getValue("/root/paging/iniinfo[" + i + "]/lastupdtrusrnm");
  5503. erdt = model.getValue("/root/paging/iniinfo[" + i + "]/erdt");
  5504. ervisittm = model.getValue("/root/paging/iniinfo[" + i + "]/ervisittm");
  5505. staffnm = model.getValue("/root/paging/iniinfo[" + i + "]/staffnm");
  5506. surgeon = staffnm;
  5507. emrrecusrnm = model.getValue("/root/paging/iniinfo[" + i + "]/emrrecusrnm");
  5508. indd = model.getValue("/root/paging/iniinfo[" + i + "]/indd");
  5509. dschdd = model.getValue("/root/paging/iniinfo[" + i + "]/dschdd");
  5510. inorddepthngnm = model.getValue("/root/paging/iniinfo[" + i + "]/inorddepthngnm");
  5511. dschorddepthngnm = model.getValue("/root/paging/iniinfo[" + i + "]/dschorddepthngnm");
  5512. mainyn = model.getValue("/root/paging/iniinfo[" + i + "]/mainyn");
  5513. rowno = model.getValue("/root/paging/iniinfo[" + i + "]/rowno");
  5514. incnt = model.getValue("/root/paging/iniinfo[" + i + "]/incnt");
  5515. prcpdd = model.getValue("/root/paging/iniinfo[" + i + "]/prcpdd");
  5516. if(incnt != "")
  5517. incnt += " 회차";
  5518. signgenrflag = model.getValue("/root/paging/iniinfo[" + i + "]/signgenrflag"); //20100615-kys
  5519. careinrmdt = model.getValue("/root/paging/iniinfo[" + i + "]/careinrmdt"); //20100615-kys
  5520. var ininfo = indd + " / " + inorddepthngnm;
  5521. if(erdt != "")
  5522. ininfo += " (응급실 내원일 : " + erdt + ")";
  5523. var dschinfo = dschdd + " / " + dschorddepthngnm;
  5524. var formnmarr = formnm.split("\n");
  5525. var topformnm = "";
  5526. var botformnm = "";
  5527. if (formnmarr.length == 1){
  5528. topformnm = formnmarr[0];
  5529. }else if (formnmarr.length == 2){
  5530. topformnm = formnmarr[0];
  5531. botformnm = formnmarr[1];
  5532. }else{
  5533. topformnm = formnm;
  5534. }
  5535. //2009-06-02 등록번호 "-" 병원별 제거
  5536. var pidynhcd = model.getValue("/root/init/pidynhcd/hardcd/hardcd");
  5537. if (pidynhcd == "Y"){
  5538. for(var k = pid.length; k <= 8; k++){
  5539. if(k < 8){
  5540. pid = "0"+pid;
  5541. }
  5542. }
  5543. var str1 = pid.substr(0, 3);
  5544. var str2 = pid.substr(3, 2);
  5545. var str3 = pid.substr(5, 2);
  5546. var str4 = pid.substr(7, 1);
  5547. var tmppid = str1 + " " + str2 + " " + str3 + "-" + str4;
  5548. }else{
  5549. tmppid = pid;
  5550. }
  5551. if (chosflag == "O" || chosflag == "S"){
  5552. wardheader = "진료과 : ";
  5553. }else{
  5554. wardheader = "병실 : ";
  5555. }
  5556. if (langflag == "KO"){
  5557. if (chosflag == "O" || chosflag == "S"){
  5558. wardheader = "진료과 : ";
  5559. }else{
  5560. wardheader = "병실 : ";
  5561. }
  5562. dateheader = "진료기간 : ";
  5563. doctorheader = "주치의 : ";
  5564. printheader = "출력 : ";
  5565. prtndeptnm = getUserInfo("dutplcenm");
  5566. imgepath = "com/commonweb/images/biglogo" + getUserInfo("dutplceinstcd") + ".jpg"
  5567. pageheader = "페이지 : ";
  5568. }else{
  5569. if (chosflag == "O" || chosflag == "S"){
  5570. wardheader = "Dept : ";
  5571. }else{
  5572. wardheader = "Room : ";
  5573. }
  5574. dateheader = "Date : ";
  5575. doctorheader = "Doctor : ";
  5576. printheader = "Print date : ";
  5577. prtndeptnm = getUserInfo("deptengnm");
  5578. imgepath = "com/commonweb/images/biglogo" + getUserInfo("dutplceinstcd") + "e.jpg"
  5579. if (prtndeptnm == "" || prtndeptnm == null){
  5580. prtndeptnm = getUserInfo("dutplcenm");
  5581. }
  5582. pageheader = "Page : ";
  5583. }
  5584. if (imgflag == "N"){
  5585. if(trans == ""){
  5586. trans = "<html><head><title>출력화면 구현중입니다.</title></head><body>출력화면 구현중입니다.</body></html>";
  5587. }
  5588. var ininm = "cmc";
  5589. //이윤주 수정(20140819:최초작성시각 보이는 서식)
  5590. var fstsrcformcdcnt = getNodesetCnt(model, "/root/init/fstsrcformcd/hardcd[hardcd = '" + srcformcd + "']");
  5591. if (fstsrcformcdcnt > 0) {
  5592. if(fstrgstrusrnm != "") {
  5593. fstrgstrusrnm = fstrgstrusrnm + " (" + fstrgstdt + ")";
  5594. }
  5595. }
  5596. //이윤주 추가(20140819:기록시점에 헤더정보 표현)
  5597. var icdrsrcformcdcnt = getNodesetCnt(model, "/root/init/icdrsrcformcd/hardcd[hardcd = '" + srcformcd + "']");
  5598. if (icdrsrcformcdcnt > 0) {
  5599. deptengabbr = icdrdeptengabbr;
  5600. roomcd = icdrroomcd;
  5601. drid = icdrdrid;
  5602. }
  5603. switch(srcformcd){
  5604. case "0000000003"://입원초진
  5605. cover_header = "emr/recmngtweb/html/cover_header2_"+instcd+".html";
  5606. cover_footer = "emr/recmngtweb/html/cover_footer.html";
  5607. break;
  5608. case "0000000676"://수술기록
  5609. cover_header = "emr/recmngtweb/html/cover_header_"+instcd+".html";
  5610. cover_footer = "emr/recmngtweb/html/cover_footer2.html";
  5611. break;
  5612. case "0000000679"://응급실기록
  5613. cover_header = "emr/recmngtweb/html/cover_header3_"+instcd+".html";
  5614. cover_footer = "emr/recmngtweb/html/cover_footer.html";
  5615. break;
  5616. case "0000000680"://입퇴원요약
  5617. cover_header = "emr/recmngtweb/html/cover_header1_"+instcd+".html";
  5618. cover_footer = "emr/recmngtweb/html/cover_footer1.html";
  5619. break;
  5620. case "0000002022"://마취기록지
  5621. cover_header = "emr/recmngtweb/html/cover_header4_"+instcd+".html";
  5622. cover_footer = "emr/recmngtweb/html/cover_footer.html";
  5623. break;
  5624. //case "0000003325"://DSC기록
  5625. case "0000003169"://Brief OP Note
  5626. cover_header = "emr/recmngtweb/html/cover_header_"+instcd+".html";
  5627. cover_footer = "emr/recmngtweb/html/cover_footer.html";
  5628. break;
  5629. default:
  5630. if(formprogflag == "-" || formprogflag == "MAIN" || mainyn == "Y"){
  5631. cover_header = "emr/recmngtweb/html/cover_header10_"+instcd+".html";
  5632. cover_footer = "emr/recmngtweb/html/cover_footer.html";
  5633. }else{
  5634. cover_header = "emr/recmngtweb/html/cover_header_"+instcd+".html";
  5635. cover_footer = "emr/recmngtweb/html/cover_footer.html";
  5636. }
  5637. break;
  5638. }
  5639. /*
  5640. if( instcd == "032"){
  5641. switch(srcformcd){
  5642. case "0000000003"://입원초진
  5643. cover_header = "emr/recmngtweb/html/cover_header2_032.html";
  5644. cover_footer = "emr/recmngtweb/html/cover_footer.html";
  5645. break;
  5646. case "0000000676"://수술기록
  5647. cover_header = "emr/recmngtweb/html/cover_header_032.html";
  5648. cover_footer = "emr/recmngtweb/html/cover_footer2.html";
  5649. break;
  5650. case "0000000679"://응급실기록
  5651. cover_header = "emr/recmngtweb/html/cover_header3_032.html";
  5652. cover_footer = "emr/recmngtweb/html/cover_footer.html";
  5653. break;
  5654. case "0000000680"://입퇴원요약
  5655. cover_header = "emr/recmngtweb/html/cover_header1_032.html";
  5656. cover_footer = "emr/recmngtweb/html/cover_footer1.html";
  5657. break;
  5658. case "0000002022"://마취기록지
  5659. cover_header = "emr/recmngtweb/html/cover_header4_032.html";
  5660. cover_footer = "emr/recmngtweb/html/cover_footer.html";
  5661. break;
  5662. //case "0000003325"://DSC기록
  5663. case "0000003169"://Brief OP Note
  5664. cover_header = "emr/recmngtweb/html/cover_header_032.html";
  5665. cover_footer = "emr/recmngtweb/html/cover_footer.html";
  5666. break;
  5667. default:
  5668. if(formprogflag == "-" || formprogflag == "MAIN" || mainyn == "Y"){
  5669. cover_header = "emr/recmngtweb/html/cover_header10_032.html";
  5670. cover_footer = "emr/recmngtweb/html/cover_footer.html";
  5671. }else{
  5672. cover_header = "emr/recmngtweb/html/cover_header_032.html";
  5673. cover_footer = "emr/recmngtweb/html/cover_footer.html";
  5674. }
  5675. break;
  5676. }
  5677. }else{
  5678. switch(srcformcd){
  5679. case "0000000003"://입원초진
  5680. cover_header = "emr/recmngtweb/html/cover_header2.html";
  5681. cover_footer = "emr/recmngtweb/html/cover_footer.html";
  5682. break;
  5683. case "0000000676"://수술기록
  5684. cover_header = "emr/recmngtweb/html/cover_header.html";
  5685. cover_footer = "emr/recmngtweb/html/cover_footer2.html";
  5686. break;
  5687. case "0000000679"://응급실기록
  5688. cover_header = "emr/recmngtweb/html/cover_header3.html";
  5689. cover_footer = "emr/recmngtweb/html/cover_footer.html";
  5690. break;
  5691. case "0000000680"://입퇴원요약
  5692. cover_header = "emr/recmngtweb/html/cover_header1.html";
  5693. cover_footer = "emr/recmngtweb/html/cover_footer1.html";
  5694. break;
  5695. case "0000002022"://마취기록지
  5696. cover_header = "emr/recmngtweb/html/cover_header4.html";
  5697. cover_footer = "emr/recmngtweb/html/cover_footer.html";
  5698. break;
  5699. //case "0000003325"://DSC기록
  5700. case "0000003169"://Brief OP Note
  5701. cover_header = "emr/recmngtweb/html/cover_header.html";
  5702. cover_footer = "emr/recmngtweb/html/cover_footer.html";
  5703. break;
  5704. default:
  5705. if(formprogflag == "-" || formprogflag == "MAIN" || mainyn == "Y"){
  5706. cover_header = "emr/recmngtweb/html/cover_header10.html";
  5707. cover_footer = "emr/recmngtweb/html/cover_footer.html";
  5708. }else{
  5709. cover_header = "emr/recmngtweb/html/cover_header.html";
  5710. cover_footer = "emr/recmngtweb/html/cover_footer.html";
  5711. }
  5712. break;
  5713. }
  5714. }
  5715. */
  5716. // CHECK 2013.07.10 CYW
  5717. var openerid = opener.window.javascript.getParameter("SMMRI00400_param_openerid");
  5718. if( openerid == "SMMRI08000" && SMMRI03000_privateflag == "2" ){ // 본원 보호정책
  5719. ptnm = "";
  5720. rgstno = "";
  5721. lastupdtrusrnm = "";
  5722. fstrgstrusrnm = "";
  5723. drid = "";
  5724. emrrecusrnm = "";
  5725. staffnm = "";
  5726. surgeon = "";
  5727. tmppid = model.getValue("/root/paging/iniinfo[" + i + "]/pid").substring(0,3) + "****";
  5728. }else if( openerid == "SMMRI08000" && SMMRI03000_privateflag == "3" ){ // 칠곡 보호정책
  5729. ptnm = model.getValue("/root/paging/iniinfo[" + i + "]/ptnm").substring(0,1) + "**";
  5730. rgstno = model.getValue("/root/paging/iniinfo[" + i + "]/rgstno").substring(0,6) + "-*******";
  5731. }
  5732. // 통합기록조회 조회조건(타이틀제거여부)에 따른 VIEW 2013.09.06 CYW 환경설정변수 040, 044
  5733. if(model.getValue("/root/envinit/viewflag" ) == "true"){
  5734. cover_header = "";
  5735. cover_footer = "";
  5736. body_header = "";
  5737. body_footer = "";
  5738. }else{
  5739. body_header = "emr/recmngtweb/html/body_header.html";
  5740. body_footer = "emr/recmngtweb/html/body_footer.html";
  5741. }
  5742. trans = "<!--@\n @DOCUMENT_HOME = " + getDomain() + "/himed/webapps/ " +
  5743. "\n @COVER_HEADER = " + cover_header +
  5744. "\n @COVER_FOOTER = " + cover_footer +
  5745. "\n @BODY_HEADER = " + body_header +
  5746. "\n @BODY_FOOTER = " + body_footer +
  5747. "\n @DEFAULT_FONT = 굴림 " +
  5748. "\n @DEFAULT_PRE_FONT = 굴림 " +
  5749. "\n @DEFAULT_FONT_SIZE = 9pt " +
  5750. "\n @DEFAULT_PRE_FONT_SIZE = 10pt " +
  5751. "\n @FONT_SIZE_OFFSET = 3px " +
  5752. "\n @USE_NU_SIZE_ADJUST = TRUE " +
  5753. "\n @HIDE_TAG = DIV:MTX_*, DIV:STX_* " +
  5754. "\n @VAR_PAT_NUM = " + tmppid +
  5755. "\n @VAR_CLASS = " + ordtype +
  5756. "\n @VAR_CHART_NAME_TOP = " + topformnm +
  5757. "\n @VAR_CHART_NAME_BOTTOM = " + botformnm +
  5758. "\n @VAR_CHART_NAME_LINE = " + formnm +
  5759. "\n @VAR_PAT_AGE_SEX = " + sa +
  5760. "\n @VAR_TREAT_DEPT = " + deptengabbr +
  5761. "\n @VAR_PAT_JUMIN_NO = " + rgstno +
  5762. "\n @VAR_PAT_NAME = " + ptnm +
  5763. "\n @VAR_PRINT_NAME = " + prtnunm +
  5764. "\n @VAR_PRINT_DEPT = " + prtndeptnm +
  5765. "\n @VAR_WARD_HEAD = " + wardheader + roomcd +
  5766. "\n @VAR_DATE_HEADER = " + dateheader + disporddd +
  5767. "\n @VAR_DOCTOR_HEADER = " + doctorheader + drid +
  5768. "\n @VAR_PRINT_HEADER = " + printheader + prtdt +
  5769. "\n @SYS_PAGE_HEADER = " + pageheader +
  5770. "\n @VAR_HOSP_IMG = " + imgepath +
  5771. "\n @VAR_ORDDATE = " + recdd +
  5772. "\n @VAR_ORDDEPT = " + depthngnm +
  5773. "\n @VAR_FSTRGSTRUSRNM = " + fstrgstrusrnm +
  5774. "\n @VAR_LASTUPDTRUSRNM = " + lastupdtrusrnm +
  5775. "\n @VAR_ERDT = " + erdt +
  5776. "\n @VAR_ERVISITTM = " + ervisittm +
  5777. "\n @VAR_STAFFNM_HEADER = " + staffnmheader +
  5778. "\n @VAR_STAFFNM = " + staffnm +
  5779. "\n @VAR_EMRRECUSRNM_HEADER = " + emrrecusrnmheader +
  5780. "\n @VAR_EMRRECUSRNM = " + emrrecusrnm +
  5781. "\n @VAR_ININFO = " + ininfo +
  5782. "\n @VAR_DSCHINFO = " + dschinfo +
  5783. "\n @VAR_INCNT = " + incnt +
  5784. "\n @VAR_INORDDEPTHNGNM = " + inorddepthngnm +
  5785. "\n @VAR_RECUSERID = " + fstrgstrusrnm +
  5786. "\n @VAR_REALRECDT = " + formrecdt +
  5787. "\n @VAR_TREAT_DEPT = " + deptengabbr +
  5788. "\n @VAR_DSCHINFO = " + dschinfo +
  5789. "\n @VAR_SURGEON = " + surgeon +
  5790. "\n @OUTPUT_MAGNIFICATION = 1 " +
  5791. "\n@-->\n" + trans + "\n";
  5792. var fso = new ActiveXObject("Scripting.FileSystemObject");
  5793. var current = grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("itemindxseq"));
  5794. formnm = formnm.replace("/", ".");
  5795. //2014/05/09 이정택
  5796. //var a= fso.CreateTextFile(foldernm + "\\" + signno + i + "_" + formcd + ".HTML", true, true);
  5797. var a= fso.CreateTextFile(foldernm + "\\" + recdd + i + "_" + formnm.substr(0,4) + ".HTML", true, true);
  5798. //2014/05/09 이정택
  5799. a.WriteLine(trans);
  5800. a.Close();
  5801. //2014/05/09 이정택
  5802. //emrpath = foldernm + "\\" + signno + i + "_" + formcd + ".HTML|";
  5803. emrpath = foldernm + "\\" + recdd + i + "_" + formnm.substr(0,4) + ".HTML|";
  5804. //2014/05/09 이정택
  5805. if(current=="20337"){
  5806. emrorddate = prcpdd + "|"; //기록일을 보여달라는 의료정보팀 요청
  5807. }else{
  5808. emrorddate = recdd + "|"; //기록일을 보여달라는 의료정보팀 요청
  5809. }
  5810. emrformnm = formnm + "|";
  5811. emrformcd = formcd + "|";
  5812. emrdeptnm = deptengabbr + "|";
  5813. emrdeptcd = orddeptcd + "|";
  5814. emrpage = "1|";
  5815. emrhiddenmsg = formcd + "▦" + signno + "▦" + formnm + "▦" + chosflag + "▦" +pid + "▦" + ptnm + "▦" + deptengabbr
  5816. + "▦" + sa + "▦" + rgstno + "▦" + disporddd + "▦" + drid + "▦" + roomcd + "▦" + disporddd + "▦" + ordtype + "▦" + "E|";
  5817. recrowno = rowno;
  5818. //영상-EMR구분|파일경로|입원일|서식지코드|서식지이름|진료과코드|진료과이름
  5819. var chartinfo = "";
  5820. chartinfo = "E|" + emrpath + emrorddate + emrformcd + emrformnm + emrdeptcd + emrdeptnm;
  5821. model.makeValue("/root/send/iemr/treatno", "");
  5822. model.makeValue("/root/send/iemr/docucd", "");
  5823. model.makeValue("/root/send/iemr/instcd", model.getValue("/root/init/env/instcd")); //20120704 이윤주수정
  5824. var iemrNode = instance1.selectSingleNode("/root/send/iemr");
  5825. iviewerIemr.window.javascript.appendChart(iemrNode, chartinfo, emrhiddenmsg, recrowno);
  5826. }else{
  5827. tmptreatno = signno + ",";
  5828. tmpiformcd = formcd + ",";
  5829. emrpath = "*|";
  5830. emrorddate = "*|";
  5831. emrformnm = "*|";
  5832. emrformcd = "*|";
  5833. emrdeptnm = "*|";
  5834. emrdeptcd = "*|";
  5835. emrpage = "*|";
  5836. emrhiddenmsg = "*|";
  5837. recrowno = rowno;
  5838. model.makeValue("/root/imgrec/iemr/treatno", signno);
  5839. model.makeValue("/root/imgrec/iemr/docucd", formcd);
  5840. model.makeValue("/root/imgrec/iemr/instcd", model.getValue("/root/init/env/instcd")); //20120704 이윤주수정
  5841. //2013/08/13 Start 이정택:처방키가 있을시에 처방키에 해당하는 이미지만 가져오도록 소스 추가
  5842. var cmc_orderseqno = model.getValue("/root/paging/iniinfo[" + i + "]/cmc_orderseqno");
  5843. if(cmc_orderseqno!="" && cmc_orderseqno!=null){
  5844. model.makeValue("/root/imgrec/iemr/cmc_orderseqno", cmc_orderseqno);
  5845. }else{
  5846. model.makeValue("/root/imgrec/iemr/cmc_orderseqno", "");
  5847. }
  5848. //2013/08/13 End
  5849. model.makeValue("/root/imgrec/iemr/formprogflag", formprogflag);
  5850. var iemrNode = instance1.selectSingleNode("/root/imgrec/iemr");
  5851. var chartinfo;
  5852. chartinfo = "I";
  5853. var hiddenmsg;
  5854. hiddenmsg = "I";
  5855. iviewerIemr.window.javascript.appendChart(iemrNode, chartinfo, hiddenmsg, recrowno);
  5856. }
  5857. }
  5858. iviewerIemr.window.javascript.refreshTrue();
  5859. }
  5860. /**
  5861. * 폴더체크
  5862. * 2014/04/09 이정택
  5863. */
  5864. function fExistFolder_New(foldernm){
  5865. var fso, folder, s;
  5866. fso = new ActiveXObject("Scripting.FileSystemObject");
  5867. try{
  5868. folder = fso.GetFolder(foldernm);
  5869. s = folder.DateCreated;
  5870. if(s != ""){
  5871. fDelFolder(foldernm);
  5872. fMakeFolder(foldernm);
  5873. }
  5874. }catch(e){
  5875. fMakeFolder(foldernm);
  5876. }
  5877. }
  5878. /**
  5879. * 프로그레스바 생성
  5880. * @param msg
  5881. * @return
  5882. */
  5883. function callLoadingWindow(msg){
  5884. body.createChild("xforms:iviewer", "id:ivr_progress; src:../../../com/commonweb/xrw/SPZZZ00400_로딩중화면.xrw; left:650px; top:400px; width:330px; height:120px;");
  5885. var ivrObjt = document.all("ivr_progress");
  5886. ivrObjt.model.setValue("/root/main/msg", msg);
  5887. ivrObjt.model.refresh();
  5888. }
  5889. /**
  5890. * 프로그레스바 삭제
  5891. * @return
  5892. */
  5893. function removeLoadingWindow(){
  5894. body.removeChild("ivr_progress");
  5895. }