SMADC02600.js 256 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201
  1. /**
  2. * 파 일 명 : SMADC02600.js
  3. * 설 명 : NST 환자관리 Javascriot
  4. * 설 계 자 : 김귀남
  5. * 작 성 자 : 김귀남
  6. * 수정이력 : 2009.08.17
  7. */
  8. /*
  9. @ 의뢰 회신/ 미의뢰회신 여부를 구분
  10. - 의뢰회신 : R, 미의뢰회신 : NR
  11. - default : R (의뢰회신)
  12. */
  13. var gv_consult = "R";
  14. var gv_formrecseq = ""; //2010-01-04 Ready할때 Formrecseq 값 저장.
  15. var cnstseqno = ""; // ast 의뢰번호
  16. var cnstkind = "8"; // NST미의뢰회신 구분
  17. var formrecseq = ""; // emr 서식기록번호 : 의뢰/미의뢰 구분
  18. var orddd = "";
  19. var cretno = "";
  20. var chosflag = "";
  21. var cnstflag = "3"; // 컨설트구분 (1:진료의뢰, 3:타과의뢰)
  22. var formcd = "";
  23. var cnststat = "";
  24. var eryn = "N" // 응급여부
  25. var reqdeptcd = "";
  26. var requserid = "";
  27. var reqdd = "";
  28. var reqhm = "";
  29. var prcpno = model.getValue("/root/temp/cnstinfo/prcpno");
  30. var prcpcd = model.getValue("/root/temp/cnstinfo/prcpcd");
  31. var gv_sex = "";
  32. var gv_CnstType = ""; // EDUC - EN시 의뢰시 의뢰유형을 [영양교육]으로 의뢰시 NST환자관리 화면에서 [교육의뢰]TAB으로 조회.
  33. var gv_replid = "";
  34. var gv_Ritem = "";
  35. var tab = " ";
  36. var cnstcnts9 = model.getValue("/root/temp/cnstinfo/cnstcnts9"); //2009-12-23 NST-EN 교육의뢰추가 - 의뢰유형 (1:영양평가 2:영양교육)
  37. var NstNodepathINIT =""; //구분별 Node Path ( 교육의뢰= "/root/init/eduinfo/" )
  38. var NstNodepath =""; //구분별 Node Path ( 교육의뢰= "/root/main/edunstinfo/nutreduinfo/" )
  39. var NstNodepath2 =""; //구분별 Node Path ( 교육의뢰= "/root/main/edunstinfo/nutreduinfo2/" )
  40. var NstNodepathMain =""; //구분별 Node Path ( 교육의뢰= "/root/main/edunstinfo/" )
  41. var pursNstNodepathINIT =""; //구분별 Node Path ( 추구관리= "/root/init/pursinfo/")
  42. var pursNstNodepath =""; //구분별 Node Path ( 추구관리= "/root/main/pursnstinfo/nutrpursinfo/" )
  43. var pursNstNodepath2 =""; //구분별 Node Path ( 추구관리= "/root/main/pursnstinfo/nutrpursinfo2/" )
  44. var pursNstNodepathMain =""; //구분별 Node Path ( 추구관리= "/root/main/pursnstinfo/" )
  45. /*
  46. @ 초기화
  47. */
  48. function fInit(){
  49. //fcheckAuthX(); //2008-12-02 버튼권한
  50. model.toggle("case5"); //영양이력관리
  51. model.toggle("case6"); //식사처방정보
  52. /*
  53. @ 콤보초기화
  54. 1. 콤보의 초기화 실행, 해당 코드의 값을 확인 후 해당 사항으로 변경필요 (TABLE : AST.ADBMCODE)
  55. 2. 2009. 06. 06 현재 임시적으로 AST.ADBMCODE 사용. 향후 테이블 변경 혹은 신규테이블 생성 필요
  56. 3. 2014.10.22 NST영양집중지원팀장 history관리를 위해 AST.ADBMCODE -> COM.ZBCMCODE로 변경 by 김금련
  57. */
  58. fGetCodeList("TRADC02607", "C200", "/root/init/codelist/suplnutr"); // 공급영양액
  59. //fGetCodeList("TRADC02607","C201", "/root/init/codelist/drid"); // 영양집중지원팀장
  60. /*=======================================================================================*/
  61. fGetCodeList("TRADC02608","", "/root/init/codelist/nstcode"); // 추천제형
  62. astfAddCombo("/root/init/codelist/nstcode", "codelist", "cdid,cdnm", ",");
  63. //2010-01-04 공통코드 관리 //20-01-28 EN-교육 - 교육/영양사의견 상용구 추가
  64. pharmacyGetCodeList( new Array("JCI1","PN30","PN31"), new Array("/root/init/jcilist/careplanlist","/root/init/encodelist/edustandard","/root/init/encodelist/dietstandard") );
  65. /*
  66. @ 영양사 목록조회 START
  67. */
  68. submit("TRANC00202");
  69. /*
  70. @ 영양사 목록조회 END
  71. */
  72. var v_pid = model.getValue("/root/temp/cnstinfo/pid");
  73. var v_cretno = model.getValue("/root/temp/cnstinfo/cretno");
  74. var v_orddd = model.getValue("/root/temp/cnstinfo/orddd");
  75. var v_prcpgenrflag = model.getValue("/root/temp/cnstinfo/prcpgenrflag");
  76. var v_rgstseqno = model.getValue("/root/temp/cnstinfo/rgstseqno");
  77. var v_cnstcnts9 = model.getValue("/root/temp/cnstinfo/cnstcnts9");
  78. var v_cnstdd = model.getValue("/root/temp/cnstinfo/cnstdd"); //의뢰일
  79. fGetNstDrCode("TRADC02616","C201",v_cnstdd, "/root/init/codelist/drid"); // 영양집중지원팀장
  80. if ( v_pid != "") {
  81. cnstseqno = model.getValue("/root/temp/cnstinfo/cnstseqno");
  82. formrecseq = model.getValue("/root/temp/cnstinfo/formrecseq");
  83. gv_formrecseq = model.getValue("/root/temp/cnstinfo/formrecseq");
  84. formcd = model.getValue("/root/temp/cnstinfo/formcd");
  85. fCnstTypeChk(formcd); //gv_CnstType 구분 (EN - PN - EDU)
  86. model.setValue("/root/main/patinfo/baseinfo/pid", v_pid);
  87. model.setValue("/root/send/srchinfo/cnstseqno", cnstseqno);
  88. model.setValue("/root/send/srchinfo/formrecseq", formrecseq);
  89. model.setValue("/root/send/srchinfo/pid", v_pid);
  90. model.setValue("/root/send/srchinfo/cretno", v_cretno);
  91. model.setValue("/root/send/srchinfo/orddd", v_orddd);
  92. model.setValue("/root/send/srchinfo/prcpgenrflag", v_prcpgenrflag);
  93. model.setValue("/root/send/srchinfo/rgstseqno", v_rgstseqno);
  94. model.setValue("/root/send/srchinfo/cnstcnts11", gv_formrecseq); //2010-01-08 원Formrecseq로 추구관리이력조회 하기 위함
  95. model.makeValue("/root/send/srchinfo/cnstdd", v_cnstdd);
  96. /*
  97. @ 환자정보조회 #TRADC02601#
  98. - 환자기본정보 /root/main/patinfo/baseinfo
  99. - 진단명 /root/main/patinfo/diaginfo
  100. - 수술정보 /root/main/patinfo/opinfo
  101. - 영양관리이력 /root/main/patinfo/nutrmngtinfo
  102. - 식사처방정보 /root/main/patinfo/mealprcpinfo
  103. - 약처방정보 /root/main/patinfo/drugteaminfo
  104. - 저장이력 /root/main/patinfo/rgstseqnolist
  105. */
  106. submit("TRADC02601");
  107. fSetSexFlag();
  108. // 미의뢰회신 전역변수 변경
  109. // 의뢰시 발생되는 formrecseq 존재여부 체크
  110. if(formrecseq == ""){
  111. gv_consult = "NR";
  112. fCretCnstinfo();
  113. }
  114. if(gv_CnstType == "PN")
  115. {
  116. fInitBtn(); // 의뢰유형에 따른 버튼 활성화/비활성화 처리
  117. if ( model.getValue("/root/send/srchinfo/rgstseqno") == "" ) {
  118. model.setValue("/root/send/srchinfo/rgstseqno", model.getValue("/root/temp/cnstinfo/rgstseqno"));
  119. }
  120. if(gv_consult != "NR"){
  121. //cmb_rgstseqno.select(0); // 최근 저장/회신한 이력으로 설정
  122. }
  123. // @ 저장/회신내역 조회
  124. submit("TRADC02603", false);
  125. /*
  126. @ 약사 이름 설정
  127. */
  128. // 회신약사 이름 설정 2014-9-25 김치국
  129. submit("TRADC02615");
  130. // var testpharmstnm = model.getValue("/root/main/nstinfo/nutrpninfo/pharmstnm"); ///전산 테스트 김치국 2014.9.30 테스트후 삭제 바람
  131. // alert(testpharmstnm);
  132. if(model.getValue("/root/main/nstinfo/nutrpninfo/pharmstnm") == ""){
  133. model.setValue("/root/main/nstinfo/nutrpninfo/pharmstnm", getUserName());
  134. model.setValue("/root/main/nstinfo/nutrpninfo/pharmstid", getUserId());
  135. model.setValue("/root/temp/pharmstcode", getUserId());
  136. if(model.getValue("/root/temp/pharmstcode") == ""){
  137. model.setValue("/root/main/nstinfo/nutrpninfo/pharmstnm", "");
  138. model.setValue("/root/main/nstinfo/nutrpninfo/pharmstid", "");
  139. }
  140. } else {
  141. model.setValue("/root/temp/pharmstcode", model.getValue("/root/main/nstinfo/nutrpninfo/pharmstid"));
  142. }
  143. // 담당의사 이름 설정 jmkim 20141028
  144. if(model.getValue("/root/main/nstinfo/nutrpninfo/drnm") != ""){
  145. model.setValue("/root/temp/drcode", model.getValue("/root/main/nstinfo/nutrpninfo/drnm"));
  146. }
  147. /*
  148. @ 회신약사 이름 설정
  149. */
  150. //fSetReplNm();
  151. // 회신자 id 전역변수 설정
  152. gv_replid = model.getValue("/root/main/nstinfo/nutrpninfo/replid");
  153. fSetBee("PN"); // 기초대사량 설정
  154. fSetTCN("PN"); // 필요열량 설정
  155. fSetEtc("PN");
  156. fCalRecmDrugVol();
  157. fBtnDisabled(); //회신상태에 따라 버튼 활성화 처리
  158. ///2014년 10.16 김치국 ast.adchcnstinfo의 cnstcnts2 as drugpath 를 ast.adcdnstpn 의 drugpath로 정리
  159. model.setValue("/root/main/nstinfo/nutrpninfo2/drugpath",model.getValue("/root/main/nstinfo/nutrpninfo/drugpath"));
  160. // alert(model.getValue("/root/main/nstinfo/nutrpninfo/drugpath")) ;
  161. model.refresh();
  162. fCalcBee();
  163. fCalcNeedCal(true);
  164. model.refresh();
  165. //fCalcFPN();
  166. fNstExam();
  167. cmb_rgstseqno.select(0); //2009-12-03 여러건의 데이타가 있을경우 최종것으로 조회
  168. //2009-12-17 추구관리 조회시 [추구관리 표시]/ 조회 adchcnstinfo - cnstcnts10 = 'PURS'
  169. if (model.getValue("/root/main/nstinfo/nutrpninfo/pursflag") == "PURS") {
  170. out_pn_purs.attribute("text")="[ 추구관리 : " + model.getValue("/root/main/nstinfo/nutrpninfo/pursseq") + " ]";
  171. }else {
  172. out_pn_purs.attribute("text")="";
  173. }
  174. ///////2016.7.26. 김치국 NST처방 AI600 등록유무 체크
  175. //alert(model.getValue("/root/main/nstinfo/nutrpninfo/orderyn"));
  176. if ( model.getValue("/root/main/nstinfo/nutrpninfo/orderyn") == "Y") {
  177. model.setValue("/root/send/srchinfo/orderyn","Y");
  178. chk_orderyn.disabled = true;
  179. }
  180. model.refresh();
  181. }
  182. if(gv_CnstType == "EN")
  183. {
  184. fInitBtn(); // 의뢰유형에 따른 버튼 활성화/비활성화 처리
  185. if ( model.getValue("/root/send/srchinfo/rgstseqno") == "" ) {
  186. model.setValue("/root/send/srchinfo/rgstseqno", model.getValue("/root/temp/cnstinfo/rgstseqno"));
  187. }
  188. submit("TRADC02602", false);
  189. //2010-01-08 투여경로 - 저장내역이 없을경우는 의뢰시 투여경로 가져오고
  190. // 있을경우는 저장내역 가져오기(현재는 의뢰시 투여경로 가져옴.) - 전예나 샘 요청
  191. if (model.getValue("/root/temp/cnstinfo/rgstseqno") == "" ) {
  192. model.setValue("/root/main/ennstinfo/nutreninfo/drugpath", model.getValue("/root/main/ennstinfo/nutreninfo2/cnstcnts2"));
  193. }
  194. fSetBee("EN"); // 기초대사량 설정
  195. fSetTCN("EN"); // 필요열량 설정
  196. fSetEtc("EN"); // 기타사항 (나이, 의뢰일자, 실시일자, 약사, 영양사
  197. fBtnDisabled(); //회신상태에 따라 버튼 활성화 처리
  198. model.refresh();
  199. fCalcBeeEn();
  200. fCalcNeedCalEn(true);
  201. fCalcFPNEn();
  202. fNstExamEn();
  203. model.refresh();
  204. }
  205. //2009-12-23 NST-EN 교육의뢰추가 - 의뢰유형 (1:영양평가 2:영양교육) // 추구관리포함
  206. if(gv_CnstType == "EDU")
  207. {
  208. fInitBtn(); // 의뢰유형에 따른 버튼 활성화/비활성화 처리
  209. if ( model.getValue("/root/send/srchinfo/rgstseqno") == "" ) {
  210. model.setValue("/root/send/srchinfo/rgstseqno", model.getValue("/root/temp/cnstinfo/rgstseqno"));
  211. }
  212. submit("TRADC02611", false); //EDU 의뢰정보 가져오기 (ast.adcdnsteduc)
  213. //2010-01-08 투여경로 - 저장내역이 없을경우는 의뢰시 투여경로 가져오고
  214. // 있을경우는 저장내역 가져오기(현재는 의뢰시 투여경로 가져옴.) - 전예나 샘 요청
  215. if (model.getValue("/root/temp/cnstinfo/rgstseqno") == "" ) {
  216. model.makeValue(NstNodepath + "drugpath", model.getValue(NstNodepath2 + "cnstcnts2")); //2010-01-29 setValue->makeValue 수정
  217. }
  218. fSetBee_EduPurs(gv_CnstType ,NstNodepathINIT ,NstNodepath); // 기초대사량 설정
  219. fSetTCN_EduPurs(gv_CnstType ,NstNodepathINIT ,NstNodepath); // 필요열량 설정
  220. fSetEtc_EduPurs(gv_CnstType ,NstNodepathINIT ,NstNodepath); // 기타사항 (나이, 의뢰일자, 실시일자, 약사, 영양사
  221. fBtnDisabled(); //회신상태에 따라 버튼 활성화 처리
  222. model.refresh();
  223. fCalcBeeEn_EduPurs(gv_CnstType ,NstNodepathINIT ,NstNodepath); //BEE계산
  224. fCalcNeedCalEn_EduPurs(gv_CnstType ,NstNodepathINIT ,NstNodepath, true); //필요열량
  225. fCalcFPNEn_EduPurs(gv_CnstType ,NstNodepathINIT ,NstNodepath);
  226. fNstExamEn_EduPurs(gv_CnstType ,NstNodepathINIT ,NstNodepath);
  227. model.refresh();
  228. }
  229. //btn_mealinfo.selected =true;
  230. }
  231. //2010-01-05 CarePlan 병원별로 적용여부 Check
  232. if ( model.getValue ("/root/init/jcilist/careplanlist/JCI1[2]/cdid") == "Y" ) {
  233. btn_careplan_en.visible = true; //EN - Care Plan
  234. chk_careplan_en.visible = true;
  235. btn_enredu_edu.visible = true; //EN-교육의뢰 다학제
  236. chk_enredu_edu.visible = true;
  237. btn_careplan_edu.visible = true; //EN-교육의뢰 Care Plan
  238. chk_careplan_edu.visible = true;
  239. btn_careplan_purs.visible = true; //EN-추구관리 Care Plan
  240. chk_careplan_purs.visible = true;
  241. btn_tot_enredu.visible = true; //전체 메뉴의 다학제
  242. btn_tot_careplan.visible = true; //전체 메뉴의 다학제CarePlan
  243. btn_careplan_pn.visible = true; //2010-02-24 PN - CarePlan전송 추가
  244. }
  245. }
  246. /*
  247. @ 의뢰유형 체크
  248. */
  249. function fCnstTypeChk(formcd){
  250. if(formcd == "0000000770") gv_CnstType = "PN";
  251. else if(formcd == "0000003019") {
  252. if ( cnstcnts9 == "2" ) gv_CnstType = "EDU"; //2009-12-23 NST-EN 교육의뢰추가 - 의뢰유형 (1:영양평가 2:영양교육)
  253. else gv_CnstType = "EN";
  254. }
  255. else gv_CnstType = "PN";
  256. //기본path 지정
  257. if (gv_CnstType == "PN") {
  258. NstNodepathINIT = "/root/init/pninfo/";
  259. NstNodepath = "/root/main/nstinfo/nutrpninfo/";
  260. NstNodepath2 = "/root/main/nstinfo/nutrpninfo2/";
  261. NstNodepathMain = "/root/main/nstinfo/";
  262. }else if (gv_CnstType == "EN") {
  263. NstNodepathINIT = "/root/init/eninfo/";
  264. NstNodepath = "/root/main/ennstinfo/nutreninfo/";
  265. NstNodepath2 = "/root/main/ennstinfo/nutreninfo2/";
  266. NstNodepathMain = "/root/main/ennstinfo/";
  267. pursNstNodepathINIT = "/root/init/pursinfo/";
  268. pursNstNodepath = "/root/main/pursnstinfo/nutrpursinfo/";
  269. pursNstNodepath2 = "/root/main/pursnstinfo/nutrpursinfo2/";
  270. pursNstNodepathMain = "/root/main/pursnstinfo/";
  271. }else if (gv_CnstType == "EDU") {
  272. NstNodepathINIT = "/root/init/eduinfo/";
  273. NstNodepath = "/root/main/edunstinfo/nutreduinfo/";
  274. NstNodepath2 = "/root/main/edunstinfo/nutreduinfo2/";
  275. NstNodepathMain = "/root/main/edunstinfo/";
  276. pursNstNodepathINIT = "/root/init/pursinfo/";
  277. pursNstNodepath = "/root/main/pursnstinfo/nutrpursinfo/";
  278. pursNstNodepath2 = "/root/main/pursnstinfo/nutrpursinfo2/";
  279. pursNstNodepathMain = "/root/main/pursnstinfo/";
  280. }
  281. model.makevalue("/root/hidden/cnsttypelist", gv_CnstType); //2010-01-05 회신내용조회시 EN/교육의뢰/추구관리인지 구분하기 위함
  282. }
  283. /*
  284. @ 회신약사 이름 설정
  285. */
  286. function fSetReplNm(){
  287. if(model.getValue("/root/main/nstinfo/nutrpninfo/replnm") == ""){
  288. model.setValue("/root/main/nstinfo/nutrpninfo/replnm", getUserName());
  289. model.setValue("/root/main/nstinfo/nutrpninfo/replid", getUserId());
  290. }
  291. }
  292. /*
  293. @ 의뢰유형에 따른 버튼 활성화/비활성화 처리
  294. */
  295. function fInitBtn(){
  296. model.toggle("case5"); //영양이력관리
  297. grd_nutrmngtinfo.selected = true; //영양이력관리
  298. if(gv_CnstType == "PN"){
  299. btn_pn.selected = true; // 영양상태판정 - PN
  300. model.toggle("case2");
  301. btn_edureq.disabled = true; //교육의뢰
  302. btn_mngt.disabled = true; //추구관리
  303. btn_mealinfo.selected = false; // 식사처방정보
  304. btn_pham.selected =true; // 약제팀
  305. model.toggle("case7");
  306. //2016.8.2. 종료일 김치국
  307. if ( model.getValue("/root/main/patinfo/baseinfo/finishdd") != "" ){
  308. btn_finish.disabled = true;
  309. }
  310. ///
  311. }else if (gv_CnstType == "EN"){
  312. btn_en.selected = true;
  313. btn_edureq.disabled = false; // 교육의뢰 //EN에 대해서는 활성화
  314. btn_mngt.disabled = false; // 추구관리 //EN에 대해서는 활성화
  315. model.toggle("case1"); //nst-en
  316. model.toggle("case6"); //식사처방정보
  317. btn_mealinfo.selected = true;
  318. btn_pham.selected = false;
  319. }else if (gv_CnstType == "EDU"){ //2009-12-23 NST-EN 교육의뢰추가 - 의뢰유형 (1:영양평가 2:영양교육)
  320. btn_edureq.selected = true;
  321. btn_en.disabled = false; // EN //교육의뢰에 대해서는 활성화
  322. btn_mngt.disabled = false; // 추구관리 //교육의뢰에 대해서는 활성화
  323. model.toggle("case3"); // 교육의뢰
  324. model.toggle("case6");
  325. btn_mealinfo.selected = true;
  326. btn_pham.selected = false;
  327. }else{
  328. btn_pn.selected = true; // 영양상태판정 - PN
  329. model.toggle("case2");
  330. btn_edureq.disabled = true; //교육의뢰
  331. btn_mngt.disabled = true; //추구관리
  332. btn_mealinfo.selected = false; // 식사처방정보
  333. btn_pham.selected =true; // 약제팀
  334. model.toggle("case7");
  335. }
  336. }
  337. /*
  338. @ 환자의 성별 판별
  339. */
  340. function fSetSexFlag(){
  341. if(isSearchString(model.getValue("/root/main/patinfo/baseinfo/sna"),"M")){
  342. gv_sex = "M";
  343. }else{
  344. gv_sex = "F"
  345. }
  346. }
  347. /*
  348. @ NST 회신내용 저장/회신
  349. #parameter
  350. - tmpflag : pn/en 구분
  351. - statflag : 저장/회신 동작 구분 D = 저장 , Z = 회신
  352. - cnststat : 의뢰상태
  353. */
  354. function fNutrJudgSave(tmpflag,statflag,cnststat) {
  355. // 의뢰건의 consult 상태 체크
  356. //2009-12-17 추구관리 조회시 [추구관리 표시]/ 조회 adchcnstinfo - cnstcnts10 = 'PURS'
  357. if(tmpflag == "pn" && model.getValue("/root/main/nstinfo/nutrpninfo/pursflag") == "PURS") {
  358. alert("PN - 추구관리입니다." + model.getValue("/root/send/srchinfo/rgstseqno").substr (8,3) );
  359. }else{
  360. if(submit("TRADC62202")){
  361. var chkcnststat = model.getValue("/root/hidden/cnststatinfo/cnststat");
  362. if(chkcnststat == "04"){
  363. messageBox("[취소] 더이상 수정하실 수","I004");
  364. return;
  365. }else if (chkcnststat == "30"){
  366. messageBox("[회신확정] 더이상 수정하실 수","I004");
  367. return;
  368. }
  369. }
  370. }
  371. // 2009-12-30 회신시 Care Plan 및 다학제간 전송 필수 데이터 체크 (필수항목없을 경우 오류메세지 회신처리안함) - Start
  372. //2010-01-05 CarePlan 병원별로 적용여부 Check
  373. if ( model.getValue ("/root/init/jcilist/careplanlist/JCI1[2]/cdid") == "Y" ) {
  374. if(statflag == "Z"){
  375. if(tmpflag == "pn") { //NST-PN
  376. //2010-02-24 [CarePlan전송]버튼시 전송처리함
  377. }else if(tmpflag == "en") { //NST-EN
  378. if (model.getValue("/root/hidden/sendENRCAREPLANData/nodesendYN") =="Y") { //2010-01-04 임시-추후 반드시 삭제처리
  379. if(!checkENRCAREPLANData(NstNodepathMain)) { // Care Plan 전송 필수 데이터 체크
  380. return false;
  381. }
  382. model.setValue(NstNodepathMain + "careplaninfo/replyn","Y");
  383. }
  384. }else if(tmpflag == "EDU") { //교육의뢰
  385. if (model.getValue("/root/hidden/sendENRCAREPLANData/nodesendYN") =="Y") { //2010-01-04 임시-추후 반드시 삭제처리
  386. if(!checkENRCAREPLANData(NstNodepathMain)) { // Care Plan 전송 필수 데이터 체크
  387. return false;
  388. }
  389. model.setValue(NstNodepathMain + "careplaninfo/replyn","Y");
  390. }
  391. if (model.getValue("/root/hidden/sendENREDUData/nodesendYN") =="Y") { //2010-01-04 임시-추후 반드시 삭제처리
  392. if(!checkENREDUData(NstNodepathMain)) { // 다학제간 전송 필수 데이터 체크
  393. return false;
  394. }
  395. model.setValue(NstNodepathMain + "careplaninfo/replyn","Y");
  396. }
  397. }else if(tmpflag == "PURS") { //추구관리
  398. if (model.getValue("/root/hidden/sendENRCAREPLANData/nodesendYN") =="Y") { //2010-01-04 임시-추후 반드시 삭제처리
  399. if(!checkENRCAREPLANData(pursNstNodepathMain)) { // Care Plan 전송 필수 데이터 체크
  400. return false;
  401. }
  402. model.setValue(pursNstNodepathMain + "careplaninfo/replyn","Y");
  403. }
  404. }
  405. }
  406. }
  407. // 2009-12-30 회신시 Care Plan 및 다학제간 전송 필수 데이터 체크 (필수항목없을 경우 오류메세지 회신처리안함) - End
  408. if(tmpflag == "en") {
  409. // 추구관리가 아닐경우는 ast.adchcnstinfo 저장정보 Clear - [저장]시 한번 확인함.
  410. if ( model.getValue(NstNodepath + "pursflag") == "PURS") {
  411. model.makeValue(NstNodepathMain + "adchcnstinfo/cnstcnts10" , "PURS"); // 추구관리-구분
  412. model.makeValue(NstNodepathMain + "adchcnstinfo/cnstcnts11" , gv_formrecseq); // 추구관리-원Formrecseq
  413. }else{
  414. model.makeValue(NstNodepathMain + "adchcnstinfo/cnstcnts10" , ""); // 추구관리-구분
  415. model.makeValue(NstNodepathMain + "adchcnstinfo/cnstcnts11" , ""); // 추구관리-원Formrecseq
  416. model.makeValue(NstNodepathMain + "adchcnstinfo/cnstnewflag" , ""); // 추구관리-신규여부 확인
  417. }
  418. if(statflag == "Z"){
  419. if(fCretReplCntsEn(true) == false){
  420. return;
  421. }else{
  422. model.makeNode("/root/main/ennstinfo/nutreninfo/replid");
  423. model.setValue("/root/temp/popupdata/repltype","nst");
  424. model.makeValue("/root/temp/popupdata/writid", model.getValue("/root/main/ennstinfo/nutreninfo/dieterid"));
  425. model.makeValue("/root/temp/popupdata/writnm", combo28.label);
  426. model.setValue("/root/temp/popupdata/receivedata","/root/main/ennstinfo/nutreninfo/replid");
  427. modal("SPADC62300",0,400,300,"SPADC62300","/root/temp/popupdata","/root/temp/popupdata");
  428. if(model.getValue(model.getValue("/root/temp/popupdata/receivedata")) == "") return;
  429. }
  430. }
  431. // model.makeValue("/root/main/ennstinfo/nutreninfo/pid", model.getValue("/root/main/patinfo/baseinfo/pid"));
  432. // model.makeNode("/root/main/ennstinfo/nutrpninfo/rgstseqno");
  433. // model.setValue("/root/main/ennstinfo/nutrpninfo/rgstseqno", model.getValue("/root/send/srchinfo/rgstseqno"));
  434. model.setValue("/root/main/ennstinfo/nutreninfo/pid", model.getValue("/root/send/srchinfo/pid"));
  435. model.setValue("/root/main/ennstinfo/nutreninfo/formrecseq", formrecseq);
  436. model.makeValue("/root/main/ennstinfo/nutreninfo/cnstseqno", model.getValue("/root/main/ennstinfo/nutreninfo2/cnstseqno"));
  437. model.setValue("/root/main/ennstinfo/nutreninfo/statflag", statflag);
  438. model.makeValue("/root/main/ennstinfo/nutreninfo/cnststat", cnststat);
  439. if ( cnststat != "12" ) { //삭제가 아닐 경우
  440. //기초대사량
  441. if( gv_sex == "M") {
  442. model.setValue("/root/main/ennstinfo/nutreninfo/basembolkg", model.getValue("/root/init/eninfo/basembolinfolist/mbasembolkg"));
  443. model.setValue("/root/main/ennstinfo/nutreninfo/basembolcm", model.getValue("/root/init/eninfo/basembolinfolist/mbasembolcm"));
  444. model.setValue("/root/main/ennstinfo/nutreninfo/basembolyy", model.getValue("/root/init/eninfo/basembolinfolist/mbasembolyy"));
  445. model.refresh();
  446. var basembolcalc = 66 + 13.7 * Number(model.getValue("/root/main/ennstinfo/nutreninfo/basembolkg")) + 5 * Number( model.getValue("/root/main/ennstinfo/nutreninfo/basembolcm")) - 6.8 * Number( model.getValue("/root/main/ennstinfo/nutreninfo/basembolyy"));
  447. model.setValue("/root/main/ennstinfo/nutreninfo/basembolcalc", basembolcalc);
  448. }
  449. if( gv_sex == "F") {
  450. model.setValue("/root/main/ennstinfo/nutreninfo/basembolkg", model.getValue("/root/init/eninfo/basembolinfolist/wbasembolkg"));
  451. model.setValue("/root/main/ennstinfo/nutreninfo/basembolcm", model.getValue("/root/init/eninfo/basembolinfolist/wbasembolcm"));
  452. model.setValue("/root/main/ennstinfo/nutreninfo/basembolyy", model.getValue("/root/init/eninfo/basembolinfolist/wbasembolyy"));
  453. model.refresh();
  454. var basembolcalc = 655 + 9.6 * Number(model.getValue("/root/main/ennstinfo/nutreninfo/basembolkg")) + 1.8 * Number( model.getValue("/root/main/ennstinfo/nutreninfo/basembolcm")) - 4.7 * Number( model.getValue("/root/main/ennstinfo/nutreninfo/basembolyy"));
  455. model.setValue("/root/main/ennstinfo/nutreninfo/basembolcalc", basembolcalc );
  456. }
  457. //필요열량
  458. if( model.getValue("/root/main/ennstinfo/nutreninfo/needcalrflag") == "1" ) {
  459. model.setValue("/root/main/ennstinfo/nutreninfo/needcalr1", model.getValue("/root/init/eninfo/needcalrlist/needcalr1"));
  460. model.setValue("/root/main/ennstinfo/nutreninfo/needcalr2", model.getValue("/root/init/eninfo/needcalrlist/needcalr2"));
  461. }
  462. if( model.getValue("/root/main/ennstinfo/nutreninfo/needcalrflag") == "2" ) {
  463. model.setValue("/root/main/ennstinfo/nutreninfo/needcalr1", model.getValue("/root/init/eninfo/needcalrlist/needcalr3"));
  464. model.setValue("/root/main/ennstinfo/nutreninfo/needcalr2", model.getValue("/root/init/eninfo/needcalrlist/needcalr4"));
  465. model.setValue("/root/main/ennstinfo/nutreninfo/needcalr3", model.getValue("/root/init/eninfo/needcalrlist/needcalr5"));
  466. model.refresh();
  467. var needcalrcalc = Number(model.getValue("/root/init/eninfo/needcalrlist/needcalr3")) * Number(model.getValue("/root/init/eninfo/needcalrlist/needcalr4")) * Number(model.getValue("/root/init/eninfo/needcalrlist/needcalr5"));
  468. model.setValue("/root/main/ennstinfo/nutreninfo/needcalrcalc", needcalrcalc);
  469. }
  470. if( model.getValue("/root/main/ennstinfo/nutreninfo/needcalrflag") == "3" ) {
  471. model.setValue("/root/main/ennstinfo/nutreninfo/needcalr1", model.getValue("/root/init/eninfo/needcalrlist/needcalr7"));
  472. model.setValue("/root/main/ennstinfo/nutreninfo/needcalr2", model.getValue("/root/init/eninfo/needcalrlist/needcalr8"));
  473. model.setValue("/root/main/ennstinfo/nutreninfo/needcalr3", model.getValue("/root/init/eninfo/needcalrlist/needcalr9"));
  474. model.setValue("/root/main/ennstinfo/nutreninfo/needcalr4", model.getValue("/root/init/eninfo/needcalrlist/needcalr10"));
  475. model.refresh();
  476. var needcalrcalc = Number(model.getValue("/root/init/eninfo/needcalrlist/needcalr7")) * Number(model.getValue("/root/init/eninfo/needcalrlist/needcalr8")) + Number(model.getValue("/root/init/eninfo/needcalrlist/needcalr9")) * Number(model.getValue("/root/init/eninfo/needcalrlist/needcalr10"));
  477. model.setValue("/root/main/ennstinfo/nutreninfo/needcalrcalc", needcalrcalc);
  478. }
  479. if( model.getValue("/root/main/ennstinfo/nutreninfo/needcalrflag") == "4" ) {
  480. model.setValue("/root/main/ennstinfo/nutreninfo/needcalr1", model.getValue("/root/init/eninfo/needcalrlist/needcalr12"));
  481. model.setValue("/root/main/ennstinfo/nutreninfo/needcalr2", model.getValue("/root/init/eninfo/needcalrlist/needcalr13"));
  482. model.setValue("/root/main/ennstinfo/nutreninfo/needcalr3", model.getValue("/root/init/eninfo/needcalrlist/needcalr14"));
  483. model.setValue("/root/main/ennstinfo/nutreninfo/needcalr4", model.getValue("/root/init/eninfo/needcalrlist/needcalr15"));
  484. model.setValue("/root/main/ennstinfo/nutreninfo/needcalr5", model.getValue("/root/init/eninfo/needcalrlist/needcalr16"));
  485. model.refresh();
  486. var needcalrcalc = 1784-11*Number(model.getValue("/root/init/eninfo/needcalrlist/needcalr12")) +5* Number(model.getValue("/root/init/eninfo/needcalrlist/needcalr13"))+244* Number(model.getValue("/root/init/eninfo/needcalrlist/needcalr14"))+239 * Number(model.getValue("/root/init/eninfo/needcalrlist/needcalr15"))+804 * Number(model.getValue("/root/init/eninfo/needcalrlist/needcalr16"));
  487. model.setValue("/root/main/ennstinfo/nutreninfo/needcalrcalc", needcalrcalc);
  488. }
  489. }
  490. // fSetCnstinfo미의뢰 회신시 adchcnstinfo에 데이터를 생성하기 위한 변수들을 설정한다.
  491. if(gv_consult == "NR"){
  492. formcd = "0000003019"; // EN의뢰 formcd 설정
  493. fSetCnstinfo_EN(NstNodepath);
  494. }
  495. if (submit("TXADC02602")) {
  496. btn_en.dispatch("DOMActivate");
  497. btn_en.selected = true;
  498. model.setValue("/root/send/srchinfo/rgstseqno", model.getValue("/root/hidden/ret/rgstseqno"));
  499. btn_sea.dispatch("DOMActivate");
  500. //2009-12-30 Care Plan 관련 항목 추가 - 시작 ( 다학제간 및 Care Plan 의 회신여부 세팅 )
  501. //2010-01-05 CarePlan 병원별로 적용여부 Check
  502. if ( model.getValue ("/root/init/jcilist/careplanlist/JCI1[2]/cdid") == "Y" ) {
  503. if(statflag == "Z"){ //회신일경우만 전송한다.
  504. sendENRCAREPLANData(NstNodepathMain); // Care Plan 데이터 ENR 전송
  505. }
  506. }
  507. }
  508. model.makeValue(NstNodepathMain + "adchcnstinfo/cnstnewflag" ,""); // EN-추구관리 New Clear
  509. }
  510. if(tmpflag == "pn") {
  511. // 추구관리가 아닐경우는 ast.adchcnstinfo 저장정보 Clear - [저장]시 한번 확인함.
  512. if ( model.getValue(NstNodepath + "pursflag") == "PURS") {
  513. model.makeValue(NstNodepath + "adchcnstinfo/cnstcnts10" , "PURS"); // 추구관리-구분
  514. model.makeValue(NstNodepath + "adchcnstinfo/cnstcnts11" , gv_formrecseq); // 추구관리-원Formrecseq
  515. }else{
  516. model.makeValue(NstNodepath + "adchcnstinfo/cnstcnts10" , ""); // 추구관리-구분
  517. model.makeValue(NstNodepath + "adchcnstinfo/cnstcnts11" , ""); // 추구관리-원Formrecseq
  518. model.makeValue(NstNodepath + "adchcnstinfo/cnstnewflag" , ""); // 추구관리-신규여부 확인
  519. }
  520. if(statflag == "Z"){
  521. if(fCretReplCnts(true) == false){
  522. return;
  523. }else{
  524. model.makeNode("/root/main/nstinfo/nutrpninfo/replid");
  525. model.makeValue("/root/temp/popupdata/writid", model.getValue("/root/main/nstinfo/nutrpninfo/pharmstid"));
  526. model.makeValue("/root/temp/popupdata/writnm", model.getValue("/root/main/nstinfo/nutrpninfo/pharmstnm"));
  527. model.setValue("/root/temp/popupdata/repltype","nst");
  528. model.setValue("/root/temp/popupdata/receivedata","/root/main/nstinfo/nutrpninfo/replid");
  529. modal("SPADC62300",0,400,300,"SPADC62300","/root/temp/popupdata","/root/temp/popupdata");
  530. if(model.getValue("/root/main/nstinfo/nutrpninfo/replid") == "") return;
  531. else {
  532. if(model.getValue("/root/main/nstinfo/nutrpninfo/replid") != getUserId()){
  533. model.setValue("/root/send/userinfo/userid", model.getValue(model.getValue("/root/temp/popupdata/receivedata")));
  534. if(submit("TRADC02609")){
  535. var userid = model.getValue("/root/hidden/userinfo/userid");
  536. var usernm = model.getValue("/root/hidden/userinfo/usernm");
  537. if(userid != "" && usernm != ""){
  538. model.setValue("/root/main/nstinfo/nutrpninfo/replnm",usernm);
  539. }else{
  540. messageBox("일치하는 사용자 정보가 일치하지 않습니다. 사용자 ID를 . ","I007");
  541. return;
  542. }
  543. }
  544. //
  545. var Replinfo = "\n\n\n 담당약사 : " +model.getValue("/root/main/nstinfo/nutrpninfo/pharmstnm")+" / "+model.getValue("/root/main/nstinfo/nutrpninfo/replnm")+ "\t\t " + getCurrentDate().toDate().getDateFormat("YYYY/MM/DD") + "\t" + " / 영양집중지원팀 팀장 (Dr. " ;
  546. Replinfo += model.getValue("/root/init/codelist/drid/codelist/cdnm") + ")";
  547. //2010-01-06 PN 회신시 로긴ID와 회신자ID가 틀릴경우 회신내용수동변경데이타 저장안됨
  548. //var replcnts = gv_Ritem+Replinfo;
  549. var replcntsArr = model.getValue("/root/main/nstinfo/nutrpninfo/replcnts").split("\n\n\n 담당약사 : ");
  550. var replcnts = replcntsArr[0] + Replinfo; //2010-01-06 PN 회신시 로긴ID와 회신자ID가 틀릴경우 회신내용수동변경데이타 저장안됨
  551. model.setValue("/root/main/nstinfo/nutrpninfo/replcnts", replcnts); // 회신내역 변수설정
  552. model.setValue("/root/main/nstreqinfo/data", replcnts);
  553. model.refresh();
  554. }
  555. }
  556. }
  557. }
  558. model.setValue("/root/main/nstinfo/nutrpninfo/pid", model.getValue("/root/send/srchinfo/pid"));
  559. model.setValue("/root/main/nstinfo/nutrpninfo/formrecseq", formrecseq); // 전역변수 formrecseq 사용 - 추구관리 [+]버튼클릭시 변경됨. //2010-02-04 바로회신시 오류발생
  560. model.makeValue("/root/main/nstinfo/nutrpninfo/cnstseqno", model.getValue("/root/main/nstinfo/nutrpninfo2/cnstseqno"));
  561. model.setValue("/root/main/nstinfo/nutrpninfo/statflag", statflag);
  562. model.makeValue("/root/main/nstinfo/nutrpninfo/cnststat", cnststat);
  563. if ( cnststat != "12" ) { //삭제가 아닐 경우
  564. //기초대사량
  565. if( gv_sex == "M") {
  566. model.setValue("/root/main/nstinfo/nutrpninfo/basembolkg", model.getValue("/root/init/pninfo/basembolinfolist/mbasembolkg"));
  567. model.setValue("/root/main/nstinfo/nutrpninfo/basembolcm", model.getValue("/root/init/pninfo/basembolinfolist/mbasembolcm"));
  568. model.setValue("/root/main/nstinfo/nutrpninfo/basembolyy", model.getValue("/root/init/pninfo/basembolinfolist/mbasembolyy"));
  569. model.refresh();
  570. var basembolcalc = 66 + 13.7 * Number(model.getValue("/root/main/nstinfo/nutrpninfo/basembolkg")) + 5 * Number( model.getValue("/root/main/nstinfo/nutrpninfo/basembolcm")) - 6.8 * Number( model.getValue("/root/main/nstinfo/nutrpninfo/basembolyy"));
  571. model.setValue("/root/main/nstinfo/nutrpninfo/basembolcalc", basembolcalc);
  572. }
  573. if( gv_sex == "F") {
  574. model.setValue("/root/main/nstinfo/nutrpninfo/basembolkg", model.getValue("/root/init/pninfo/basembolinfolist/wbasembolkg"));
  575. model.setValue("/root/main/nstinfo/nutrpninfo/basembolcm", model.getValue("/root/init/pninfo/basembolinfolist/wbasembolcm"));
  576. model.setValue("/root/main/nstinfo/nutrpninfo/basembolyy", model.getValue("/root/init/pninfo/basembolinfolist/wbasembolyy"));
  577. model.refresh();
  578. var basembolcalc = 655 + 9.6 * Number(model.getValue("/root/main/nstinfo/nutrpninfo/basembolkg")) + 1.8 * Number( model.getValue("/root/main/nstinfo/nutrpninfo/basembolcm")) - 4.7 * Number( model.getValue("/root/main/nstinfo/nutrpninfo/basembolyy"));
  579. model.setValue("/root/main/nstinfo/nutrpninfo/basembolcalc", basembolcalc );
  580. }
  581. //필요열량
  582. if( model.getValue("/root/main/nstinfo/nutrpninfo/needcalrflag") == "1" ) {
  583. model.setValue("/root/main/nstinfo/nutrpninfo/needcalr1", model.getValue("/root/init/pninfo/needcalrlist/needcalr1"));
  584. model.setValue("/root/main/nstinfo/nutrpninfo/needcalr2", model.getValue("/root/init/pninfo/needcalrlist/needcalr2"));
  585. var needcalrcalc = model.getValue("/root/init/pninfo/needcalrlist/needcalr7");
  586. model.setValue("/root/main/nstinfo/nutrpninfo/needcalrcalc", needcalrcalc);
  587. }
  588. if( model.getValue("/root/main/nstinfo/nutrpninfo/needcalrflag") == "2" ) {
  589. model.setValue("/root/main/nstinfo/nutrpninfo/needcalr1", model.getValue("/root/init/pninfo/needcalrlist/needcalr3"));
  590. model.setValue("/root/main/nstinfo/nutrpninfo/needcalr2", model.getValue("/root/init/pninfo/needcalrlist/needcalr4"));
  591. model.setValue("/root/main/nstinfo/nutrpninfo/needcalr3", model.getValue("/root/init/pninfo/needcalrlist/needcalr5"));
  592. model.refresh();
  593. //var needcalrcalc = Number(model.getValue("/root/init/pninfo/needcalrlist/needcalr3")) * Number(model.getValue("/root/init/pninfo/needcalrlist/needcalr4")) * Number(model.getValue("/root/init/pninfo/needcalrlist/needcalr5"));
  594. var needcalrcalc = model.getValue("/root/init/pninfo/needcalrlist/needcalr6");
  595. model.setValue("/root/main/nstinfo/nutrpninfo/needcalrcalc", needcalrcalc);
  596. }
  597. if( model.getValue("/root/main/nstinfo/nutrpninfo/needcalrflag") == "3" ) {
  598. model.setValue("/root/main/nstinfo/nutrpninfo/needcalr1", model.getValue("/root/init/pninfo/needcalrlist/needcalr7"));
  599. model.setValue("/root/main/nstinfo/nutrpninfo/needcalr2", model.getValue("/root/init/pninfo/needcalrlist/needcalr8"));
  600. model.setValue("/root/main/nstinfo/nutrpninfo/needcalr3", model.getValue("/root/init/pninfo/needcalrlist/needcalr9"));
  601. model.setValue("/root/main/nstinfo/nutrpninfo/needcalr4", model.getValue("/root/init/pninfo/needcalrlist/needcalr10"));
  602. model.refresh();
  603. //var needcalrcalc = Number(model.getValue("/root/init/pninfo/needcalrlist/needcalr7")) * Number(model.getValue("/root/init/pninfo/needcalrlist/needcalr8")) + Number(model.getValue("/root/init/pninfo/needcalrlist/needcalr9")) * Number(model.getValue("/root/init/pninfo/needcalrlist/needcalr10"));
  604. var needcalrcalc = model.getValue("/root/init/pninfo/needcalrlist/needcalr11");
  605. model.setValue("/root/main/nstinfo/nutrpninfo/needcalrcalc", needcalrcalc);
  606. }
  607. if( model.getValue("/root/main/nstinfo/nutrpninfo/needcalrflag") == "4" ) {
  608. model.setValue("/root/main/nstinfo/nutrpninfo/needcalr1", model.getValue("/root/init/pninfo/needcalrlist/needcalr12"));
  609. model.setValue("/root/main/nstinfo/nutrpninfo/needcalr2", model.getValue("/root/init/pninfo/needcalrlist/needcalr13"));
  610. model.setValue("/root/main/nstinfo/nutrpninfo/needcalr3", model.getValue("/root/init/pninfo/needcalrlist/needcalr14"));
  611. model.setValue("/root/main/nstinfo/nutrpninfo/needcalr4", model.getValue("/root/init/pninfo/needcalrlist/needcalr15"));
  612. model.setValue("/root/main/nstinfo/nutrpninfo/needcalr5", model.getValue("/root/init/pninfo/needcalrlist/needcalr16"));
  613. model.refresh();
  614. //var needcalrcalc = 1784-11*Number(model.getValue("/root/init/pninfo/needcalrlist/needcalr12")) +5* Number(model.getValue("/root/init/pninfo/needcalrlist/needcalr13"))+244* Number(model.getValue("/root/init/pninfo/needcalrlist/needcalr14"))+239 * Number(model.getValue("/root/init/pninfo/needcalrlist/needcalr15"))+804 * Number(model.getValue("/root/init/pninfo/needcalrlist/needcalr16"));
  615. var needcalrcalc = model.getValue("/root/init/pninfo/needcalrlist/needcalr17");
  616. model.setValue("/root/main/nstinfo/nutrpninfo/needcalrcalc", needcalrcalc);
  617. }
  618. }
  619. // fSetCnstinfo미의뢰 회신시 adchcnstinfo에 데이터를 생성하기 위한 변수들을 설정한다.
  620. if(gv_consult == "NR"){
  621. formcd = "0000000770"; // PN의뢰 formcd 설정
  622. fSetCnstinfo();
  623. }
  624. //추구관린 신규일경우 formrecseq / cnstseqno Clear해 주어야만 adchcnstinfo / mmrhcnstinfo 데이타 발생
  625. if ( model.getValue(NstNodepath + "pursflag") == "PURS") {
  626. fSetCnstinfoPurs(NstNodepath,model.getValue(NstNodepathMain + "adchcnstinfo/cnstnewflag"));
  627. }
  628. if(model.getValue("/root/main/nstinfo/nutrpninfo/reqdd") == "") {
  629. model.setValue("/root/main/nstinfo/nutrpninfo/reqdd", model.getValue("/root/temp/cnstinfo/cnstdd"));
  630. }
  631. //if(model.getValue("/root/main/nstinfo/nutrpninfo/formrecseq")) { //원 fromrecseq로 돌아가는 현상있음. ????
  632. // model.setValue("/root/main/nstinfo/nutrpninfo/formrecseq", model.getValue("/root/temp/cnstinfo/formrecseq"));
  633. //}
  634. if(model.getValue("/root/main/nstinfo/nutrpninfo/rgstseqno")=="") {
  635. model.setValue("/root/main/nstinfo/nutrpninfo/rgstseqno", model.getValue("/root/send/srchinfo/rgstseqno"));
  636. }
  637. /// alert('제언');
  638. ///////////// 2015.10.22 김치국 제언만 등록
  639. var userid = getUserInfo("userid");
  640. model.makeValue("/root/send/srchinfo/sabun", userid);
  641. ///사용자 구분 찾기
  642. submit("TRADC02617");
  643. var cntlyn1 = model.getValue("/root/temp/kindcode/kindlist/cntlyn1");
  644. ///////////////
  645. //alert("smadc02600.js"+cntlyn1 ) ;
  646. model.makeValue("/root/main/nstinfo/nutrpninfo/advflag", cntlyn1);
  647. if (submit("TXADC02601")) {
  648. if( tmpflag == "pn") {
  649. btn_pn.dispatch("DOMActivate");
  650. btn_pn.selected = true;
  651. }
  652. model.setValue("/root/send/srchinfo/rgstseqno", model.getValue("/root/hidden/ret/rgstseqno"));
  653. model.setValue("/root/send/srchinfo/cnstseqno", model.getValue("/root/hidden/ret/cnstseqno"));
  654. model.setValue("/root/send/srchinfo/formrecseq", model.getValue("/root/hidden/ret/formrecseq"));
  655. //2009-01-22 추구관리 - 저장.회신후 현재 rgstseqno를 보여주지 않으므로 /root/temp/cnstinfo/rgstseqno 현재의 rgstseqno 강제 등록.
  656. //model.setValue("/root/temp/cnstinfo/rgstseqno", model.getValue("/root/send/srchinfo/rgstseqno"));
  657. if (model.getValue("/root/main/nstinfo/nutrpninfo/statflag") == "Z"){
  658. btn_pn_purs.attribute("visibility") = "visible"; //2009-12-08 회신후 [+]버튼 활성화
  659. }
  660. model.makeValue(NstNodepathMain + "adchcnstinfo/cnstnewflag" ,""); // PN-추구관리 New Clear
  661. cmb_rgstseqno.select(0); //2009-12-08 회신후 [+]버튼 활성화
  662. //2010-02-09 PN - 회신확정후 추구관리시 저장후바로회신처리할경우 formrecseq가 발생되지 않는 현상있음
  663. rgstseqno = model.getValue("/root/hidden/ret/rgstseqno");
  664. cnstseqno = model.getValue("/root/hidden/ret/cnstseqno");
  665. formrecseq = model.getValue("/root/hidden/ret/formrecseq");
  666. btn_sea.dispatch("DOMActivate");
  667. ////////////2016년 8월 29일 김치국 NST처방 코드fee 생성 IPRC
  668. //// 의사샘 회신체크후 처방발생 체크 할경우 운영
  669. if ( model.getValue("/root/main/nstinfo/nutrpninfo/droffrflag") == '2') {
  670. if ( model.getValue("/root/main/nstinfo/nutrpninfo/orderyn") == 'N') {
  671. if ( model.getValue("/root/send/srchinfo/orderyn") == 'Y' ) {
  672. model.setValue("/root/main/nstinfo/nutrpninfo/orderyn","Y");
  673. model.setValue("/root/send/srchinfo/orderyn","Y");
  674. submit("TRADC62203");
  675. chk_orderyn.disabled = true;
  676. model.refresh();
  677. }
  678. }
  679. }
  680. /////////////
  681. }
  682. }
  683. if (tmpflag == "EDU") { //교육의뢰
  684. if(statflag == "Z"){
  685. if(fCretReplCntsEn_EduPurs(true,NstNodepath,NstNodepathMain,tmpflag) == false){
  686. return;
  687. }else{
  688. model.makeNode(NstNodepath + "replid");
  689. model.setValue("/root/temp/popupdata/repltype" , "nst");
  690. model.makeValue("/root/temp/popupdata/writid" , model.getValue(NstNodepath + "dieterid"));
  691. model.makeValue("/root/temp/popupdata/writnm" , combo38.label); //교육의뢰 -영양사
  692. model.setValue("/root/temp/popupdata/receivedata" , NstNodepath + "replid");
  693. modal("SPADC62300",0,400,300,"SPADC62300","/root/temp/popupdata","/root/temp/popupdata");
  694. if(model.getValue(model.getValue("/root/temp/popupdata/receivedata")) == "") return;
  695. }
  696. }
  697. model.setValue(NstNodepath + "pid" , model.getValue("/root/send/srchinfo/pid"));
  698. model.setValue(NstNodepath + "formrecseq" , formrecseq);
  699. model.makeValue(NstNodepath + "cnstseqno" , model.getValue(NstNodepath2 + "cnstseqno"));
  700. model.setValue(NstNodepath + "statflag" , statflag);
  701. model.makeValue(NstNodepath + "cnststat" , cnststat);
  702. if ( cnststat != "12" ) { //삭제가 아닐 경우
  703. fSetBee_EduPurs(tmpflag,NstNodepathINIT,NstNodepath) //기초대사량
  704. }
  705. // fSetCnstinfo미의뢰 회신시 adchcnstinfo에 데이터를 생성하기 위한 변수들을 설정한다.
  706. if(gv_consult == "NR"){
  707. formcd = "0000003019"; // EN의뢰 formcd 설정
  708. fSetCnstinfo_EN(NstNodepath);
  709. }
  710. if (submit("TXADC02603")) { //교육의뢰 저장
  711. btn_edureq.dispatch("DOMActivate");
  712. btn_edureq.selected = true;
  713. model.setValue("/root/send/srchinfo/rgstseqno", model.getValue("/root/hidden/ret/rgstseqno"));
  714. btn_sea.dispatch("DOMActivate");
  715. model.setValue("/root/send/srchinfo/cnstseqno", model.getValue("/root/hidden/ret/cnstseqno"));
  716. model.setValue("/root/send/srchinfo/formrecseq", model.getValue("/root/hidden/ret/formrecseq"));
  717. /*
  718. if (model.getValue(NstNodepath + "statflag") == "Z"){
  719. btn_en_purs.attribute("visibility") = visible"hidden"; //회신후 [+]버튼 활성화
  720. }else{
  721. btn_en_purs.attribute("visibility") = "hidden";
  722. }
  723. */
  724. //다학제간, Care Plan 관련 항목 추가 -( 다학제간 및 Care Plan 의 회신여부 세팅 )
  725. //2010-01-05 CarePlan 병원별로 적용여부 Check
  726. if ( model.getValue ("/root/init/jcilist/careplanlist/JCI1[2]/cdid") == "Y" ) {
  727. if(statflag == "Z"){ //회신일경우만 전송한다.
  728. if (tmpflag == "EDU") { //교육의뢰
  729. sendENRCAREPLANData(NstNodepathMain); // Care Plan 데이터 ENR 전송
  730. sendENREDUData(NstNodepathMain); // 다학제간 데이터 ENR 전송
  731. }
  732. }
  733. }
  734. }
  735. model.makeValue(NstNodepathMain + "adchcnstinfo/cnstnewflag" ,""); // 교육의뢰-추구관리 New Clear
  736. }
  737. if (tmpflag == "PURS") { //교육의뢰
  738. // 추구관리가 아닐경우는 ast.adchcnstinfo 저장정보 Clear - [저장]시 한번 확인함.
  739. if ( model.getValue(pursNstNodepath + "pursflag") == "PURS") {
  740. model.makeValue(pursNstNodepathMain + "adchcnstinfo/cnstcnts10" , "PURS"); // 추구관리-구분
  741. model.makeValue(pursNstNodepathMain + "adchcnstinfo/cnstcnts11" , gv_formrecseq); // 추구관리-원Formrecseq
  742. }else{
  743. model.makeValue(pursNstNodepathMain + "adchcnstinfo/cnstcnts10" , ""); // 추구관리-구분
  744. model.makeValue(pursNstNodepathMain + "adchcnstinfo/cnstcnts11" , ""); // 추구관리-원Formrecseq
  745. model.makeValue(pursNstNodepathMain + "adchcnstinfo/cnstnewflag" , ""); // 추구관리-신규여부 확인
  746. }
  747. if(statflag == "Z"){
  748. if(fCretReplCntsEn_EduPurs(true,pursNstNodepath,pursNstNodepathMain,tmpflag) == false){
  749. return;
  750. }else{
  751. model.makeNode(pursNstNodepath + "replid");
  752. model.setValue("/root/temp/popupdata/repltype" , "nst");
  753. model.makeValue("/root/temp/popupdata/writid" , model.getValue(pursNstNodepath + "dieterid"));
  754. model.makeValue("/root/temp/popupdata/writnm" , combo1.label); //추구관리-영양사
  755. model.setValue("/root/temp/popupdata/receivedata" , pursNstNodepath + "replid");
  756. modal("SPADC62300",0,400,300,"SPADC62300","/root/temp/popupdata","/root/temp/popupdata");
  757. if(model.getValue(model.getValue("/root/temp/popupdata/receivedata")) == "") return;
  758. }
  759. }
  760. model.setValue(pursNstNodepath + "pid" , model.getValue("/root/send/srchinfo/pid"));
  761. model.setValue(pursNstNodepath + "formrecseq" , formrecseq);
  762. model.makeValue(pursNstNodepath + "cnstseqno" , model.getValue(pursNstNodepath2 + "cnstseqno"));
  763. model.setValue(pursNstNodepath + "statflag" , statflag);
  764. model.makeValue(pursNstNodepath + "cnststat" , cnststat);
  765. if ( cnststat != "12" ) { //삭제가 아닐 경우
  766. fSetBee_EduPurs(tmpflag, pursNstNodepathINIT, pursNstNodepath) //기초대사량
  767. }
  768. // fSetCnstinfo미의뢰 회신시 adchcnstinfo에 데이터를 생성하기 위한 변수들을 설정한다.
  769. if(gv_consult == "NR"){
  770. formcd = "0000003019"; // EN의뢰 formcd 설정
  771. fSetCnstinfo_EN(pursNstNodepath);
  772. }
  773. //추구관린 신규일경우 formrecseq / cnstseqno Clear해 주어야만 adchcnstinfo / mmrhcnstinfo 데이타 발생
  774. if ( model.getValue(pursNstNodepath + "pursflag") == "PURS") {
  775. fSetCnstinfoPurs(pursNstNodepath,model.getValue(pursNstNodepathMain + "adchcnstinfo/cnstnewflag"));
  776. }
  777. if (submit("TXADC02604")) { //추구관리 저장
  778. //btn_mngt.dispatch("DOMActivate"); //원의뢰데이타를 조회한다 막기
  779. //btn_mngt.selected = true; //원의뢰데이타를 조회한다 막기
  780. //btn_sea.dispatch("DOMActivate"); //원처방을 조회한다.
  781. model.setValue("/root/send/srchinfo/pid", model.getValue("/root/send/srchinfo/pid"));
  782. model.setValue("/root/send/srchinfo/rgstseqno", model.getValue("/root/hidden/ret/rgstseqno"));
  783. model.setValue("/root/send/srchinfo/cnstseqno", model.getValue("/root/hidden/ret/cnstseqno"));
  784. model.setValue("/root/send/srchinfo/formrecseq", model.getValue("/root/hidden/ret/formrecseq"));
  785. //다학제간 및 Care Plan 의 회신여부 세팅
  786. //2010-01-05 CarePlan 병원별로 적용여부 Check
  787. if ( model.getValue ("/root/init/jcilist/careplanlist/JCI1[2]/cdid") == "Y" ) {
  788. if(statflag == "Z"){ //회신일경우만 전송한다.
  789. sendENRCAREPLANData(pursNstNodepathMain); // Care Plan 데이터 ENR 전송
  790. }
  791. }
  792. //2010-02-09 PN - 회신확정후 추구관리시 저장후바로회신처리할경우 formrecseq가 발생되지 않는 현상있음
  793. rgstseqno = model.getValue("/root/hidden/ret/rgstseqno");
  794. cnstseqno = model.getValue("/root/hidden/ret/cnstseqno");
  795. formrecseq = model.getValue("/root/hidden/ret/formrecseq");
  796. submit("TRADC02601"); // 기본정보조회 - 추구관리이력 조회 위함.
  797. submit("TRADC02612"); // 2010-02-08 저장후 바로회신처리시 원의뢰로 Update 되는 경우가 발생되어 의뢰내역 재조회함.
  798. fBtnDisabled();
  799. }
  800. model.makeValue(pursNstNodepathMain + "adchcnstinfo/cnstnewflag" ,""); // 추구관리 New Clear
  801. }
  802. opener.btn_sea.dispatch("DOMActivate");
  803. opener.model.refresh();
  804. }
  805. //회신상태에 따라 버튼 활성화 처리
  806. function fBtnDisabled() {
  807. var statflag = "";
  808. if (btn_pn.selected == true ) {
  809. if(formcd != "0000003019"){
  810. statflag = model.getValue("/root/main/nstinfo/nutrpninfo/statflag");
  811. }else{
  812. btn_tempsave.disabled = true;
  813. btn_save.disabled = true;
  814. btn_repl.disabled = true;
  815. btn_del.disabled = true;
  816. btn_careplan_pn.disabled= true; //2010-02-24 PN CarePlan전송 버튼 추가(비활성화)
  817. return false;
  818. }
  819. } else if (btn_en.selected == true ) {
  820. /* //2009-12-23 NST-EN 교육의뢰추가 - 의뢰유형 (1:영양평가 2:영양교육)
  821. if(formcd != "0000000770"){
  822. statflag = model.getValue("/root/main/ennstinfo/nutreninfo/statflag");
  823. }else{
  824. btn_tempsave.disabled = true;
  825. btn_save.disabled = true;
  826. btn_repl.disabled = true;
  827. btn_del.disabled = true;
  828. return false;
  829. }
  830. */
  831. //2009-12-23 NST-EN 교육의뢰추가 - 의뢰유형 (1:영양평가 2:영양교육)
  832. if ((formcd == "0000003019")&& (gv_CnstType != "EDU")) { //EN의 영양교육이 아닌겨우 //(cnstcnts9 != "2")
  833. statflag = model.getValue("/root/main/ennstinfo/nutreninfo/statflag");
  834. }else{ //EN의 영양평가 이외는 버튼 비활성화
  835. btn_tempsave.disabled = true;
  836. btn_save.disabled = true;
  837. btn_repl.disabled = true;
  838. btn_del.disabled = true;
  839. return false;
  840. }
  841. } else if (btn_edureq.selected == true ) { //2009-12-23 NST-EN 교육의뢰추가 - 의뢰유형 (1:영양평가 2:영양교육) //(cnstcnts9 == "2")
  842. if ((formcd == "0000003019") && (gv_CnstType == "EDU")) {
  843. statflag = model.getValue("/root/main/edunstinfo/nutreduinfo/statflag");
  844. }else{
  845. btn_tempsave.disabled = true;
  846. btn_save.disabled = true;
  847. btn_repl.disabled = true;
  848. btn_del.disabled = true;
  849. return false;
  850. }
  851. } else if (btn_mngt.selected == true ) { //2009-12-23 NST-EN 추구관리추가
  852. if(formcd == "0000003019"){
  853. statflag = model.getValue("/root/main/pursnstinfo/nutrpursinfo/statflag");
  854. }else{
  855. btn_tempsave.disabled = true;
  856. btn_save.disabled = true;
  857. btn_repl.disabled = true;
  858. btn_del.disabled = true;
  859. return false;
  860. }
  861. }
  862. /*
  863. 회신내용 탭 클릭시 버튼 비활성화를 위해 추가 - Start
  864. */
  865. if(formcd != "0000003019") {
  866. statflag = model.getValue("/root/main/nstinfo/nutrpninfo/statflag");
  867. } else {
  868. if (gv_CnstType == "EDU") statflag = model.getValue(NstNodepath + "statflag"); // 교육의뢰 //(cnstcnts9 == "2")
  869. else statflag = model.getValue("/root/main/ennstinfo/nutreninfo/statflag");
  870. if (btn_mngt.selected == true ) { //EN-추구관리 일경우 (2010-01-04)
  871. statflag = model.getValue("/root/main/pursnstinfo/nutrpursinfo/statflag");
  872. }
  873. }
  874. /*
  875. 회신내용 탭 클릭시 버튼 비활성화를 위해 추가 - End
  876. */
  877. btn_careplan_pn.disabled= true; //2010-02-24 PN CarePlan전송 버튼 추가(비활성화)
  878. if ( statflag == "Z" ) { //회신
  879. btn_tempsave.disabled = true;
  880. btn_save.disabled = true;
  881. btn_repl.disabled = true;
  882. btn_del.disabled = true;
  883. //회신인 경우 [+]버튼 활성화
  884. if (gv_CnstType=="PN") btn_pn_purs.attribute("visibility") = "visible"; //pn
  885. else if (gv_CnstType=="EN") btn_en_purs.attribute("visibility") = "visible"; //EN
  886. else if (gv_CnstType=="EDU") btn_en_purs.attribute("visibility") = "visible"; //교육의뢰
  887. if (gv_CnstType=="PN") btn_careplan_pn.disabled= false; //2010-02-24 PN CarePlan전송 버튼 추가(활성화)
  888. } else if ( statflag == "D" ) { //확정저장
  889. btn_tempsave.disabled = true;
  890. btn_save.disabled = false;
  891. btn_repl.disabled = false;
  892. btn_del.disabled = true;
  893. } else {
  894. btn_tempsave.disabled = false;
  895. btn_save.disabled = false;
  896. btn_repl.disabled = false;
  897. btn_del.disabled = false;
  898. //fcheckAuthX(); //2008-12-02 버튼권한
  899. }
  900. if(model.getValue("/root/temp/cnstinfo/pidchkflag") == "Y") {
  901. // 20100119_laboru_약사 이외의 사용자인 경우
  902. btn_save.disabled = true;
  903. btn_repl.disabled = true;
  904. btn_del.disabled = true;
  905. }
  906. }
  907. //2008-12-02 버튼권한
  908. function fcheckAuthX() {
  909. btn_save.disabled = !checkAuth("X"); //저장
  910. btn_repl.disabled = !checkAuth("X"); //회신
  911. btn_del.disabled = !checkAuth("X"); //삭제
  912. }
  913. /*
  914. EN 회신내용 생성
  915. */
  916. function fCretReplCntsEn(sendflag)
  917. {
  918. //값 세팅
  919. var roomcd = model.getValue("/root/main/patinfo/baseinfo/roomcd"); //병실
  920. var orddeptnm = model.getValue("/root/main/patinfo/baseinfo/orddeptnm"); //진료과
  921. var orddrnm = model.getValue("/root/main/patinfo/baseinfo/orddrnm"); // 의뢰의사
  922. var reqdd = model.getValue("/root/main/patinfo/baseinfo/reqdd"); //의뢰일
  923. var diagengnm = model.getValue("/root/main/patinfo/diaginfo[1]/diagengnm"); //상병명
  924. var orddrnm = model.getValue("/root/main/patinfo/baseinfo/orddrnm"); //진료과
  925. var ht = model.getValue("/root/main/ennstinfo/nutreninfo/ht"); // 키
  926. var ubw = model.getValue("/root/main/ennstinfo/nutreninfo/ubw"); //UBW
  927. var wt = model.getValue("/root/main/ennstinfo/nutreninfo/wt"); //체중
  928. var ibw = model.getValue("/root/main/ennstinfo/nutreninfo/ibw"); //IBW
  929. var pibw = model.getValue("/root/main/ennstinfo/nutreninfo/pibw"); //pibw
  930. var lost = model.getValue("/root/main/ennstinfo/nutreninfo/ht");
  931. var per = model.getValue("/root/temp/ibwper");
  932. var hb = model.getValue("/root/main/ennstinfo/nutreninfo/hb");
  933. var na = model.getValue("/root/main/ennstinfo/nutreninfo/na");
  934. var k = model.getValue("/root/main/ennstinfo/nutreninfo/k");
  935. var cl = model.getValue("/root/main/ennstinfo/nutreninfo/cl");
  936. var alb = model.getValue("/root/main/ennstinfo/nutreninfo/alb");
  937. var tlc = model.getValue("/root/main/ennstinfo/nutreninfo/tlc");
  938. var trf = model.getValue("/root/main/ennstinfo/nutreninfo/trf");
  939. var ins = model.getValue("/root/main/ennstinfo/nutreninfo/ins");
  940. var uun = model.getValue("/root/main/ennstinfo/nutreninfo/uun");
  941. var needcaltotal = model.getValue("/root/main/ennstinfo/nutreninfo/corrcalr"); //수분요구량
  942. var waterreqvol = model.getValue("/root/main/ennstinfo/nutreninfo/waterreqvol"); //수분요구량
  943. var dexwdrugspd = model.getValue("/root/main/ennstinfo/nutreninfo/dexwdrugspd"); //당투여속도
  944. var protsuplvol = model.getValue("/root/main/ennstinfo/nutreninfo/protcalc"); //아미노산 공급량
  945. var suplplanetc = model.getValue("/root/main/ennstinfo/nutreninfo/nutrreqvol"); //기타
  946. var nlab = "============================\n==============================";
  947. var replcnts1 = "\n병실 :"+ roomcd +"호 \t\t의뢰일 :"+ reqdd + " " ;
  948. var replcnts2 = "\n진료과 :"+ orddeptnm +" \t\t상병명 :" +" ";
  949. var replcnts3 = "\n의뢰의사 : " + orddrnm + " \t\t "+diagengnm + " " ;
  950. var replcnts4 = "\n\nS:";
  951. var replcnts5 = "\nο 영양관련 문제점 : " + splitChkBox(checkbox1) + " " + model.getValue("/root/main/ennstinfo/nutreninfo/nutrprobetc"); //2009-02-09 영양관련문제점 - 기타 (입력내용) 회신조회
  952. var replcnts6 = "\nο 활동정도 : " + splitChkBox(checkbox2) + " " + model.getValue("/root/main/ennstinfo/nutreninfo/actgrdeetc"); //2010-05-07 NST-EN 활동정도-기타 내역 회신내역조회
  953. var replcnts7 = "\nο 투여경로 : " + splitChkBox(checkbox9);
  954. var replcnts8 = "\nο 식사섭취상태 : ";
  955. if (( model.getValue("/root/main/ennstinfo/nutreninfo/etrlfd")=="") || (model.getValue("/root/main/ennstinfo/nutreninfo/etrlfd")=="0")) {
  956. var replcnts8add = "";
  957. }else {
  958. replcnts8add = "경구영양 " + model.getValue("/root/main/ennstinfo/nutreninfo/etrlfd") + " kcal/d";
  959. }
  960. if (( model.getValue("/root/main/ennstinfo/nutreninfo/tubfd")=="") || (model.getValue("/root/main/ennstinfo/nutreninfo/tubfd")=="0")) {
  961. var replcnts9 = "";
  962. }else {
  963. var replcnts9 = "\t 경관영양 " + model.getValue("/root/main/ennstinfo/nutreninfo/tubfd") + " kcal/d";
  964. }
  965. if (( model.getValue("/root/main/ennstinfo/nutreninfo/itvnfd")=="") || (model.getValue("/root/main/ennstinfo/nutreninfo/itvnfd")=="0")) {
  966. var replcnts10 = "";
  967. }else {
  968. var replcnts10 = "\t 정맥영양 " + model.getValue("/root/main/ennstinfo/nutreninfo/itvnfd") + " kcal/d";
  969. }
  970. if (( model.getValue("/root/main/ennstinfo/nutreninfo/totintkcalr")=="") || (model.getValue("/root/main/ennstinfo/nutreninfo/totintkcalr")=="0")) {
  971. var replcnts11 = "";
  972. }else {
  973. var replcnts11 = "\n총섭취열량 " + model.getValue("/root/main/ennstinfo/nutreninfo/totintkcalr") + " kcal/d";
  974. }
  975. if (( model.getValue("/root/main/ennstinfo/nutreninfo/totintkprot")=="") || (model.getValue("/root/main/ennstinfo/nutreninfo/totintkprot")=="0")) {
  976. var replcnts12 = "";
  977. }else {
  978. var replcnts12 = "\t 총단백질량 " + model.getValue("/root/main/ennstinfo/nutreninfo/totintkprot") + " g/d";
  979. }
  980. var replcnts13 = "\n\nO : ";
  981. var replcnts14 = "\nο Ht : " + ht +"cm , Wt : " + wt + "kg , IBW : " + ibw + "kg , PIBW : "+ pibw + "%" ;
  982. var replcnts15 = "\nο Wt.change : " + model.getValue("/root/main/ennstinfo/nutreninfo/wtchngkg" ) +"kg "
  983. + "( " + model.getValue("/root/main/ennstinfo/nutreninfo/wtchngperc") + " )% / "
  984. + model.getValue("/root/main/ennstinfo/nutreninfo/wtchngmm") + " 개월 " + model.getValue("/root/main/ennstinfo/nutreninfo/physmeasetc")
  985. + "\nο 검사결과";
  986. if (( model.getValue("/root/main/ennstinfo/nutreninfo/alb")=="") || (model.getValue("/root/main/ennstinfo/nutreninfo/alb")=="0")) {
  987. replcnts15 = replcnts15 + "";
  988. }else {
  989. replcnts15 = replcnts15 + " Alb : " + model.getValue("/root/main/ennstinfo/nutreninfo/alb");
  990. }
  991. if (( model.getValue("/root/main/ennstinfo/nutreninfo/tlc")=="") || (model.getValue("/root/main/ennstinfo/nutreninfo/tlc")=="0")) {
  992. replcnts15 = replcnts15 + "";
  993. }else {
  994. replcnts15 = replcnts15 + " TLC : " + model.getValue("/root/main/ennstinfo/nutreninfo/tlc");
  995. }
  996. if (( model.getValue("/root/main/ennstinfo/nutreninfo/hb")=="") || (model.getValue("/root/main/ennstinfo/nutreninfo/hb")=="0")) {
  997. replcnts15 = replcnts15 + "";
  998. }else {
  999. replcnts15 = replcnts15 + " Hb : " + model.getValue("/root/main/ennstinfo/nutreninfo/hb");
  1000. }
  1001. if (( model.getValue("/root/main/ennstinfo/nutreninfo/hct")=="") || (model.getValue("/root/main/ennstinfo/nutreninfo/hct")=="0")) {
  1002. replcnts15 = replcnts15 + "";
  1003. }else {
  1004. replcnts15 = replcnts15 + " Hct : " + model.getValue("/root/main/ennstinfo/nutreninfo/hct");
  1005. }
  1006. if (( model.getValue("/root/main/ennstinfo/nutreninfo/trf")=="") || (model.getValue("/root/main/ennstinfo/nutreninfo/trf")=="0")) {
  1007. replcnts15 = replcnts15 + "";
  1008. }else {
  1009. replcnts15 = replcnts15 + "\n\tTRF : " + model.getValue("/root/main/ennstinfo/nutreninfo/trf");
  1010. }
  1011. if (( model.getValue("/root/main/ennstinfo/nutreninfo/rbp")=="") || (model.getValue("/root/main/ennstinfo/nutreninfo/rbp")=="0")) {
  1012. replcnts15 = replcnts15 + "";
  1013. }else {
  1014. replcnts15 = replcnts15 + " RBP : " + model.getValue("/root/main/ennstinfo/nutreninfo/rbp");
  1015. }
  1016. // if (( model.getValue("/root/main/ennstinfo/nutreninfo/alb")=="") || (model.getValue("/root/main/ennstinfo/nutreninfo/alb")=="0")) {
  1017. // replcnts15 = replcnts15 + "";
  1018. // }else {
  1019. // replcnts15 = replcnts15 + "Alb : " + model.getValue("/root/main/ennstinfo/nutreninfo/alb");
  1020. // }
  1021. if (( model.getValue("/root/main/ennstinfo/nutreninfo/na")=="") || (model.getValue("/root/main/ennstinfo/nutreninfo/na")=="0")) {
  1022. replcnts15 = replcnts15 + "";
  1023. }else {
  1024. replcnts15 = replcnts15 + " Na : " + model.getValue("/root/main/ennstinfo/nutreninfo/na");
  1025. }
  1026. if (( model.getValue("/root/main/ennstinfo/nutreninfo/k")=="") || (model.getValue("/root/main/ennstinfo/nutreninfo/k")=="0")) {
  1027. replcnts15 = replcnts15 + "";
  1028. }else {
  1029. replcnts15 = replcnts15 + " K : " + model.getValue("/root/main/ennstinfo/nutreninfo/k");
  1030. }
  1031. if (( model.getValue("/root/main/ennstinfo/nutreninfo/cl")=="") || (model.getValue("/root/main/ennstinfo/nutreninfo/cl")=="0")) {
  1032. replcnts15 = replcnts15 + "";
  1033. }else {
  1034. replcnts15 = replcnts15 + " Cl : " + model.getValue("/root/main/ennstinfo/nutreninfo/cl");
  1035. }
  1036. if (( model.getValue("/root/main/ennstinfo/nutreninfo/bun")=="") || (model.getValue("/root/main/ennstinfo/nutreninfo/bun")=="0")) {
  1037. replcnts15 = replcnts15 + "";
  1038. }else {
  1039. replcnts15 = replcnts15 + "\n\tBUN : " + model.getValue("/root/main/ennstinfo/nutreninfo/bun");
  1040. }
  1041. if (( model.getValue("/root/main/ennstinfo/nutreninfo/cr")=="") || (model.getValue("/root/main/ennstinfo/nutreninfo/cr")=="0")) {
  1042. replcnts15 = replcnts15 + "";
  1043. }else {
  1044. replcnts15 = replcnts15 + " Cr : " + model.getValue("/root/main/ennstinfo/nutreninfo/cr");
  1045. }
  1046. if (( model.getValue("/root/main/ennstinfo/nutreninfo/chol")=="") || (model.getValue("/root/main/ennstinfo/nutreninfo/chol")=="0")) {
  1047. replcnts15 = replcnts15 + "";
  1048. }else {
  1049. replcnts15 = replcnts15 + " Chol : " + model.getValue("/root/main/ennstinfo/nutreninfo/chol");
  1050. }
  1051. if (( model.getValue("/root/main/ennstinfo/nutreninfo/tg")=="") || (model.getValue("/root/main/ennstinfo/nutreninfo/tg")=="0")) {
  1052. replcnts15 = replcnts15 + "";
  1053. }else {
  1054. replcnts15 = replcnts15 + " TG : " + model.getValue("/root/main/ennstinfo/nutreninfo/tg");
  1055. }
  1056. if (( model.getValue("/root/main/ennstinfo/nutreninfo/ca")=="") || (model.getValue("/root/main/ennstinfo/nutreninfo/ca")=="0")) {
  1057. replcnts15 = replcnts15 + "";
  1058. }else {
  1059. replcnts15 = replcnts15 + "\n\tCa : " + model.getValue("/root/main/ennstinfo/nutreninfo/ca");
  1060. }
  1061. if (( model.getValue("/root/main/ennstinfo/nutreninfo/p")=="") || (model.getValue("/root/main/ennstinfo/nutreninfo/p")=="0")) {
  1062. replcnts15 = replcnts15 + "";
  1063. }else {
  1064. replcnts15 = replcnts15 + " P : " + model.getValue("/root/main/ennstinfo/nutreninfo/p");
  1065. }
  1066. if (( model.getValue("/root/main/ennstinfo/nutreninfo/mg")=="") || (model.getValue("/root/main/ennstinfo/nutreninfo/mg")=="0")) {
  1067. replcnts15 = replcnts15 + "";
  1068. }else {
  1069. replcnts15 = replcnts15 + " Mg : " + model.getValue("/root/main/ennstinfo/nutreninfo/mg");
  1070. }
  1071. if (( model.getValue("/root/main/ennstinfo/nutreninfo/ins")=="") || (model.getValue("/root/main/ennstinfo/nutreninfo/ins")=="0")) {
  1072. replcnts15 = replcnts15 + "";
  1073. }else {
  1074. replcnts15 = replcnts15 + " INS : " + model.getValue("/root/main/ennstinfo/nutreninfo/ins");
  1075. }
  1076. if (( model.getValue("/root/main/ennstinfo/nutreninfo/nbcalval")=="") || (model.getValue("/root/main/ennstinfo/nutreninfo/nbcalval")=="0")) {
  1077. replcnts15 = replcnts15 + "";
  1078. }else {
  1079. replcnts15 = replcnts15 + " N-Balance : " + model.getValue("/root/main/ennstinfo/nutreninfo/nbcalval");
  1080. }
  1081. var replcnts16 = "\n\nA : "
  1082. + "\nο 영양상태 판정 : " + splitChkBox(checkbox11);
  1083. var replcnts17 = "\nο 영양요구량 " ;
  1084. var replcnts18 = "\n* 열량 : " + needcaltotal + " kcal/day ( BEE : " + model.getValue("/root/init/bee") ;
  1085. if (combo10.label !=""){
  1086. replcnts18= replcnts18 + ", AF : " + combo10.value ;
  1087. }else{
  1088. if (combo11.label !=""){
  1089. replcnts18= replcnts18 + ", AF : " + combo11.value ;
  1090. }else{
  1091. replcnts18= replcnts18 ;
  1092. }
  1093. }
  1094. //2009-02-09 IF 추가
  1095. if (combo18.label !=""){
  1096. replcnts18= replcnts18 + ", IF : " + combo18.value + " )";
  1097. }else{
  1098. replcnts18 = replcnts18 + ")";
  1099. }
  1100. var replcnts19 = "\n* 단백질 : " + protsuplvol + " g/day ( IBW * " + model.getValue("/root/main/ennstinfo/nutreninfo/prot2") + " g/kg ) " ;
  1101. var replcnts20 = "\n* 수분요구량 : " + waterreqvol + "ml/d";
  1102. if ( model.getValue("/root/main/ennstinfo/nutreninfo/nutrreqvol")=="") {
  1103. replcnts20 = replcnts20 + "";
  1104. }else {
  1105. replcnts20 = replcnts20 +"\n* 기타 : " + model.getValue("/root/main/ennstinfo/nutreninfo/nutrreqvol") ;
  1106. }
  1107. var replcnts21 = "\n\nP : "
  1108. + "\nο 공급계획 ";
  1109. var replcnts22 = "\n* 주입속도 : 초기공급시" + model.getValue("/root/main/ennstinfo/nutreninfo/infsinitspd") + "cc/hr "
  1110. + "목표도달시 : " + model.getValue("/root/main/ennstinfo/nutreninfo/infsaftspd") + "cc/hr ";
  1111. var replcnts23 = "\n* 주입방법 : " + combo26.label;
  1112. replcnts23 += "\n* 관의위치 : " + combo25.label;
  1113. var replcnts24 = "\n* 식사처방(공급영양액) : " + combo27.label;
  1114. //2009-12-30 CarePaln회신내용 추가 Start
  1115. //var replcnts25 = "\n모니터링 : " + model.getValue("/root/main/ennstinfo/nutreninfo/mntr");
  1116. var carePlanData = model.getValue("/root/main/ennstinfo/careplaninfo/problemcareplan");
  1117. if(carePlanData != "") {
  1118. var replcnts25 = "\nο Problem : Plan" + "\n";
  1119. // 로우 데이터 별로 나누기
  1120. carePlanData = carePlanData.split("§");
  1121. for(var i = 1; i <= carePlanData.length; ++i) {
  1122. var problemPlanData = carePlanData[i-1].split("▦");
  1123. replcnts25 = replcnts25 + " " + problemPlanData[0] + " : " + problemPlanData[1] + "\n";
  1124. }
  1125. }
  1126. //2009-12-30 CarePaln회신내용 추가 End
  1127. var replcnts26 = "\nο영양사제언 : " + "\n\t" + model.getValue("/root/main/ennstinfo/nutreninfo/dieteroffr").replace(/\n/gi,"\n\t");
  1128. if (model.getValue("/root/main/ennstinfo/nutreninfo/droffr") !="") {
  1129. var replcnts27 = "\nο의사제언 : " + "\n\t" + model.getValue("/root/main/ennstinfo/nutreninfo/droffr")
  1130. }else{
  1131. var replcnts27 = "";
  1132. }
  1133. if (model.getValue("/root/main/ennstinfo/nutreninfo/pharmstoffr") !="") {
  1134. var replcnts28 = "\nο약사제언 : " + "\n\t" + model.getValue("/root/main/ennstinfo/nutreninfo/pharmstoffr")
  1135. }else{
  1136. var replcnts28 = "";
  1137. }
  1138. if (model.getValue("/root/main/ennstinfo/nutreninfo/nurseoffr") !="") {
  1139. var replcnts30 = "\nο간호사제언 : " + "\n\t" + model.getValue("/root/main/ennstinfo/nutreninfo/nurseoffr")
  1140. }else{
  1141. var replcnts30 = "";
  1142. }
  1143. var replcnts29 = "\n\n\n" + getCurrentDate().toDate().getDateFormat("YYYY/MM/DD") + " 의사 : " + input122.label + " " + "/ 영양사 : " + combo28.label + " " + "/ 약사 : " + input127.label + " "+ "/ 간호사 : " + input129.label;
  1144. replcnts29 += "\n\t\t\tNST 위원장 : "+ model.getValue("/root/init/codelist/drid/codelist/cdnm");
  1145. var RitemEN1 = replcnts1+replcnts2+replcnts3+replcnts4+replcnts5+replcnts6+replcnts7+replcnts8+replcnts8add+replcnts9+replcnts10
  1146. var RitemEN2 = replcnts11+replcnts12+replcnts13+replcnts14+replcnts15+replcnts16+replcnts17+replcnts18+replcnts19+replcnts20
  1147. var RitemEN3 = replcnts21+replcnts22+replcnts23+replcnts24+replcnts25+replcnts26+replcnts27+replcnts28+replcnts30+replcnts29
  1148. var replcnts = RitemEN1 + RitemEN2 + RitemEN3
  1149. model.makeNode("/root/main/ennstinfo/nutreninfo/replcnts"); // 회신내역 노드생성
  1150. model.setValue("/root/main/ennstinfo/nutreninfo/replcnts", replcnts); // 회신내역 변수설정
  1151. model.setValue("/root/main/nstreqinfo/data", replcnts);
  1152. model.refresh();
  1153. if(sendflag == true)
  1154. {
  1155. //2008-11-17 EN에 대해서 회신내용 수정가능하도록 처리.
  1156. //2009-01-22 PN에 대해서 회신내용 수정가능하도록 처리. formflag : EN -> NST 변경
  1157. var sel = fSendReplForm(replcnts,"NST");
  1158. if(sel == "cfm"){
  1159. model.setValue("/root/main/ennstinfo/nutreninfo/replcnts",model.getValue("/root/temp/formdata/replinfo/replcnts"));
  1160. return true;
  1161. }else return false;
  1162. }
  1163. //2014.04.16 회신서 출력 by 김금련
  1164. if (sendflag =="prnt"){
  1165. var prntRitem1 = "\n" + fSortWord(tab,splitChkBox(checkbox1),50,"N"); //1. 영양관련 문제점
  1166. var prntRitem2 = "\n" + fSortWord(tab,splitChkBox(checkbox2),50,"N"); //2. 활동정도
  1167. var prntRitem3 = "\n" + fSortWord(tab,splitChkBox(checkbox9),50,"N"); //3. 투여경로
  1168. var prntRitem4 = "\n" + replcnts8add+replcnts9+replcnts10 ; //4. 식사섭취상태
  1169. var prntRitem5 = "\n" + replcnts11+replcnts12 ; //5. 총섭취열량, 총단백질량
  1170. var prntRitem6 = "\n" + "Ht : " + ht +"cm , Wt : " + wt + "kg , IBW : " + ibw + "kg , PIBW : "+ pibw + "% , Wt.change : "
  1171. + model.getValue("/root/main/ennstinfo/nutreninfo/wtchngkg" ) +"kg "
  1172. + "( " + model.getValue("/root/main/ennstinfo/nutreninfo/wtchngperc") + " )% / " //6.신체계측
  1173. + model.getValue("/root/main/ennstinfo/nutreninfo/wtchngmm") + " 개월 " + model.getValue("/root/main/ennstinfo/nutreninfo/physmeasetc");
  1174. var prntRitem15 = "\n" ;
  1175. if (( model.getValue("/root/main/ennstinfo/nutreninfo/alb")=="") || (model.getValue("/root/main/ennstinfo/nutreninfo/alb")=="0")) {
  1176. prntRitem15 = prntRitem15 + "";
  1177. }else {
  1178. prntRitem15 = prntRitem15 + " Alb : " + model.getValue("/root/main/ennstinfo/nutreninfo/alb");
  1179. }
  1180. if (( model.getValue("/root/main/ennstinfo/nutreninfo/tlc")=="") || (model.getValue("/root/main/ennstinfo/nutreninfo/tlc")=="0")) {
  1181. prntRitem15 = prntRitem15 + "";
  1182. }else {
  1183. prntRitem15 = prntRitem15 + " TLC : " + model.getValue("/root/main/ennstinfo/nutreninfo/tlc");
  1184. }
  1185. if (( model.getValue("/root/main/ennstinfo/nutreninfo/hb")=="") || (model.getValue("/root/main/ennstinfo/nutreninfo/hb")=="0")) {
  1186. prntRitem15 = prntRitem15 + "";
  1187. }else {
  1188. prntRitem15 = prntRitem15 + " Hb : " + model.getValue("/root/main/ennstinfo/nutreninfo/hb");
  1189. }
  1190. if (( model.getValue("/root/main/ennstinfo/nutreninfo/hct")=="") || (model.getValue("/root/main/ennstinfo/nutreninfo/hct")=="0")) {
  1191. prntRitem15 = prntRitem15 + "";
  1192. }else {
  1193. prntRitem15 = prntRitem15 + " Hct : " + model.getValue("/root/main/ennstinfo/nutreninfo/hct");
  1194. }
  1195. if (( model.getValue("/root/main/ennstinfo/nutreninfo/trf")=="") || (model.getValue("/root/main/ennstinfo/nutreninfo/trf")=="0")) {
  1196. prntRitem15 = prntRitem15 + "";
  1197. }else {
  1198. prntRitem15 = prntRitem15 + "\n\tTRF : " + model.getValue("/root/main/ennstinfo/nutreninfo/trf");
  1199. }
  1200. if (( model.getValue("/root/main/ennstinfo/nutreninfo/rbp")=="") || (model.getValue("/root/main/ennstinfo/nutreninfo/rbp")=="0")) {
  1201. prntRitem15 = prntRitem15 + "";
  1202. }else {
  1203. prntRitem15 = prntRitem15 + " RBP : " + model.getValue("/root/main/ennstinfo/nutreninfo/rbp");
  1204. }
  1205. if (( model.getValue("/root/main/ennstinfo/nutreninfo/na")=="") || (model.getValue("/root/main/ennstinfo/nutreninfo/na")=="0")) {
  1206. prntRitem15 = prntRitem15 + "";
  1207. }else {
  1208. prntRitem15 = prntRitem15 + " Na : " + model.getValue("/root/main/ennstinfo/nutreninfo/na");
  1209. }
  1210. if (( model.getValue("/root/main/ennstinfo/nutreninfo/k")=="") || (model.getValue("/root/main/ennstinfo/nutreninfo/k")=="0")) {
  1211. prntRitem15 = prntRitem15 + "";
  1212. }else {
  1213. prntRitem15 = prntRitem15 + " K : " + model.getValue("/root/main/ennstinfo/nutreninfo/k");
  1214. }
  1215. if (( model.getValue("/root/main/ennstinfo/nutreninfo/cl")=="") || (model.getValue("/root/main/ennstinfo/nutreninfo/cl")=="0")) {
  1216. prntRitem15 = prntRitem15 + "";
  1217. }else {
  1218. prntRitem15 = prntRitem15 + " Cl : " + model.getValue("/root/main/ennstinfo/nutreninfo/cl");
  1219. }
  1220. if (( model.getValue("/root/main/ennstinfo/nutreninfo/bun")=="") || (model.getValue("/root/main/ennstinfo/nutreninfo/bun")=="0")) {
  1221. prntRitem15 = prntRitem15 + "";
  1222. }else {
  1223. prntRitem15 = prntRitem15 + "\nBUN : " + model.getValue("/root/main/ennstinfo/nutreninfo/bun");
  1224. }
  1225. if (( model.getValue("/root/main/ennstinfo/nutreninfo/cr")=="") || (model.getValue("/root/main/ennstinfo/nutreninfo/cr")=="0")) {
  1226. prntRitem15 = prntRitem15 + "";
  1227. }else {
  1228. prntRitem15 = prntRitem15 + " Cr : " + model.getValue("/root/main/ennstinfo/nutreninfo/cr");
  1229. }
  1230. if (( model.getValue("/root/main/ennstinfo/nutreninfo/chol")=="") || (model.getValue("/root/main/ennstinfo/nutreninfo/chol")=="0")) {
  1231. prntRitem15 = prntRitem15 + "";
  1232. }else {
  1233. prntRitem15 = prntRitem15 + " Chol : " + model.getValue("/root/main/ennstinfo/nutreninfo/chol");
  1234. }
  1235. if (( model.getValue("/root/main/ennstinfo/nutreninfo/tg")=="") || (model.getValue("/root/main/ennstinfo/nutreninfo/tg")=="0")) {
  1236. prntRitem15 = prntRitem15 + "";
  1237. }else {
  1238. prntRitem15 = prntRitem15 + " TG : " + model.getValue("/root/main/ennstinfo/nutreninfo/tg");
  1239. }
  1240. if (( model.getValue("/root/main/ennstinfo/nutreninfo/ca")=="") || (model.getValue("/root/main/ennstinfo/nutreninfo/ca")=="0")) {
  1241. prntRitem15 = prntRitem15 + "";
  1242. }else {
  1243. prntRitem15 = prntRitem15 + "\nCa : " + model.getValue("/root/main/ennstinfo/nutreninfo/ca");
  1244. }
  1245. if (( model.getValue("/root/main/ennstinfo/nutreninfo/p")=="") || (model.getValue("/root/main/ennstinfo/nutreninfo/p")=="0")) {
  1246. prntRitem15 = prntRitem15 + "";
  1247. }else {
  1248. prntRitem15 = prntRitem15 + " P : " + model.getValue("/root/main/ennstinfo/nutreninfo/p");
  1249. }
  1250. if (( model.getValue("/root/main/ennstinfo/nutreninfo/mg")=="") || (model.getValue("/root/main/ennstinfo/nutreninfo/mg")=="0")) {
  1251. prntRitem15 = prntRitem15 + "";
  1252. }else {
  1253. prntRitem15 = prntRitem15 + " Mg : " + model.getValue("/root/main/ennstinfo/nutreninfo/mg");
  1254. }
  1255. if (( model.getValue("/root/main/ennstinfo/nutreninfo/ins")=="") || (model.getValue("/root/main/ennstinfo/nutreninfo/ins")=="0")) {
  1256. prntRitem15 = prntRitem15 + "";
  1257. }else {
  1258. prntRitem15 = prntRitem15 + " INS : " + model.getValue("/root/main/ennstinfo/nutreninfo/ins");
  1259. }
  1260. if (( model.getValue("/root/main/ennstinfo/nutreninfo/nbcalval")=="") || (model.getValue("/root/main/ennstinfo/nutreninfo/nbcalval")=="0")) {
  1261. prntRitem15 = prntRitem15 + "";
  1262. }else {
  1263. prntRitem15 = prntRitem15 + " N-Balance : " + model.getValue("/root/main/ennstinfo/nutreninfo/nbcalval");
  1264. } //15. 검사결과
  1265. var prntRitem7 = "\n" + fSortWord(tab,splitChkBox(checkbox11),50,"N"); //7. 영양상태 판정
  1266. var prntRitem8 = "\n" + replcnts18+replcnts19+replcnts20 ; //8. 영양요구량
  1267. var prntRitem9 = "\n" + replcnts22+replcnts23+replcnts24 ; //9. 영양지원공급계획
  1268. var carePlanData = model.getValue("/root/main/ennstinfo/careplaninfo/problemcareplan");
  1269. if(carePlanData != "") {
  1270. var prntRitem10 = "\n";
  1271. // 로우 데이터 별로 나누기
  1272. carePlanData = carePlanData.split("§");
  1273. for(var i = 1; i <= carePlanData.length; ++i) {
  1274. var problemPlanData = carePlanData[i-1].split("▦");
  1275. prntRitem10 = prntRitem10 + problemPlanData[0] + " : " + problemPlanData[1] + "\n";
  1276. }
  1277. } //10. problem
  1278. var prntRitem11 = "\n" + model.getValue("/root/main/ennstinfo/nutreninfo/dieteroffr").replace(/\n/gi,"\n"); // 11. 영양사 제언
  1279. if (model.getValue("/root/main/ennstinfo/nutreninfo/droffr") !="") {
  1280. var prntRitem12= "\n" + model.getValue("/root/main/ennstinfo/nutreninfo/droffr")
  1281. }else{
  1282. var prntRitem12 = "";
  1283. } // 12. 의사 제언
  1284. if (model.getValue("/root/main/ennstinfo/nutreninfo/pharmstoffr") !="") {
  1285. var prntRitem13 = "\n" + model.getValue("/root/main/ennstinfo/nutreninfo/pharmstoffr")
  1286. }else{
  1287. var prntRitem13 = "";
  1288. } // 13. 약사 제언
  1289. if (model.getValue("/root/main/ennstinfo/nutreninfo/nurseoffr") !="") {
  1290. var prntRitem16 = "\n" + model.getValue("/root/main/ennstinfo/nutreninfo/nurseoffr")
  1291. }else{
  1292. var prntRitem16 = "";
  1293. } // 16. 간호사 제언
  1294. var prntRitem14 = "\n" + "의사 : " + input122.label + " " + "/ 영양사 : " + combo28.label + " " + "/ 약사 : " + input127.label + " " + "/ 간호사 : " + input129.label +" " + "/ NST 위원장 "
  1295. prntRitem14 += "(Dr." + model.getValue("/root/init/codelist/drid/codelist/cdnm") + ")" // 14. 마지막 문구
  1296. model.makeValue("/root/hidden/prntdata/prntRitem1", prntRitem1); //1. 영양관련 문제점
  1297. model.makeValue("/root/hidden/prntdata/prntRitem2", prntRitem2); //2. 활동정도
  1298. model.makeValue("/root/hidden/prntdata/prntRitem3", prntRitem3); //3. 투여경로
  1299. model.makeValue("/root/hidden/prntdata/prntRitem4", prntRitem4); //4. 식사섭취상태
  1300. model.makeValue("/root/hidden/prntdata/prntRitem5", prntRitem5); //5. 총섭취열량, 총단백질량
  1301. model.makeValue("/root/hidden/prntdata/prntRitem6", prntRitem6); //6. 신체계측
  1302. model.makeValue("/root/hidden/prntdata/prntRitem15", prntRitem15); //15. 검사결과
  1303. model.makeValue("/root/hidden/prntdata/prntRitem7", prntRitem7); //7. 영양상태 판정
  1304. model.makeValue("/root/hidden/prntdata/prntRitem8", prntRitem8); //8. 열량요구량
  1305. model.makeValue("/root/hidden/prntdata/prntRitem9", prntRitem9); //9. 영양지원공급계획
  1306. model.makeValue("/root/hidden/prntdata/prntRitem10", prntRitem10); //10. problem
  1307. model.makeValue("/root/hidden/prntdata/prntRitem11", prntRitem11); //11. 영양사 제언
  1308. model.makeValue("/root/hidden/prntdata/prntRitem12", prntRitem12); //12. 의사 제언
  1309. model.makeValue("/root/hidden/prntdata/prntRitem13", prntRitem13); //13. 약사 제언
  1310. model.makeValue("/root/hidden/prntdata/prntRitem16", prntRitem16); //16. 간호사 제언
  1311. model.makeValue("/root/hidden/prntdata/prntRitem14", prntRitem14); //14. 마지막 문구
  1312. }
  1313. }
  1314. /*
  1315. @ PN 회신내용 생성
  1316. */
  1317. function fCretReplCnts(sendflag){
  1318. var tmp_replcnts = model.getValue("/root/temp/replcntsinfo/replcnts");
  1319. //if(gv_sex == "M") 2010-01-14 ???? 이유가 뭘까요?
  1320. if( model.getValue("/root/main/nstinfo/nutrpninfo/needcalrflag") == "1") {
  1321. var needcaltotal = model.getValue("/root/main/nstinfo/nutrpninfo/corrcalr")+ "kcal/day";
  1322. }else if( model.getValue("/root/main/nstinfo/nutrpninfo/needcalrflag") == "2") {
  1323. var needcaltotal = model.getValue("/root/main/nstinfo/nutrpninfo/corrcalr")+ "kcal/day";
  1324. }else if( model.getValue("/root/main/nstinfo/nutrpninfo/needcalrflag") == "3") {
  1325. var needcaltotal =model.getValue("/root/main/nstinfo/nutrpninfo/corrcalr") + "( + T.F. : 20 ~ 30 %) ( + W.F. : 20%)";
  1326. }else if( model.getValue("/root/main/nstinfo/nutrpninfo/needcalrflag") == "4") {
  1327. var needcaltotal = model.getValue("/root/main/nstinfo/nutrpninfo/corrcalr") + "kcal/day (Ventilator care시)";
  1328. }else var needcaltotal = "";
  1329. var nstcodetext = "";
  1330. var kcalml = "";
  1331. for(i = 1; i <= cmb_nstcode.length; i++){
  1332. if(cmb_nstcode.value == model.getValue("/root/init/codelist/nstcode/codelist["+i+"]/cdnm")){
  1333. nstcodetext = model.getValue("/root/init/codelist/nstcode/codelist["+i+"]/cdnm"); //2014년 8월19일 김치국
  1334. // nstcodetext = model.getValue("/root/init/codelist/nstcode/codelist["+i+"]/nstcodetext");
  1335. kcalml = model.getValue("/root/init/codelist/nstcode/codelist["+i+"]/kcalml");
  1336. break;
  1337. }
  1338. }
  1339. /* 신체계측 정보*/
  1340. var ht = model.getValue("/root/main/nstinfo/nutrpninfo/ht");
  1341. var wt = model.getValue("/root/main/nstinfo/nutrpninfo/wt");
  1342. var ibw = model.getValue("/root/main/nstinfo/nutrpninfo/ibw");
  1343. //var ibwper = model.getValue("/root/temp/ibwper");
  1344. var ibwper = model.getValue("/root/temp/ibwper").toString().getRound(-2,"HALF_UP"); //소수점 둘째자리2010-01-13 까지 나오게 처리
  1345. var pibw = model.getValue("/root/main/nstinfo/nutrpninfo/pibw").toString().getRound(-2,"HALF_UP"); //소수점 둘째자리2010-01-13 까지 나오게 처리
  1346. var physMeas = ""
  1347. if(ht != ""){
  1348. if(physMeas != "") physMeas += ", ";
  1349. physMeas += caption244.value + " " + model.getValue("/root/main/nstinfo/nutrpninfo/ht") + " " + caption153.value;
  1350. }
  1351. if(wt != ""){
  1352. if(physMeas != "") physMeas += ", ";
  1353. physMeas += caption248.value + " " + wt + " " + caption160.value;
  1354. }
  1355. if(ibw != "" || ibwper != ""){
  1356. if(physMeas != "") physMeas += ", ";
  1357. physMeas += caption165.value + " " +ibw + " " + caption101.value + ibwper + caption103.value;
  1358. }
  1359. //2010-01-13 Wt Change 항목추가
  1360. var wtchngkg = model.getValue("/root/main/nstinfo/nutrpninfo/wtchngkg");
  1361. var wtchngprec = model.getValue("/root/main/nstinfo/nutrpninfo/wtchngprec");
  1362. var wtchngmm = model.getValue("/root/main/nstinfo/nutrpninfo/wtchngmm");
  1363. var physmeasetc = model.getValue("/root/main/nstinfo/nutrpninfo/physmeasetc");
  1364. if(wtchngkg != "" || wtchngprec != "" || wtchngmm != "" || physmeasetc != "" ){
  1365. if(physMeas != "") physMeas += ", ";
  1366. physMeas += "\n Wt Change " + wtchngkg + caption116.value + wtchngprec + caption123.value + wtchngmm + caption441.value + " " + physmeasetc; //2010-01-13 PIBW 계산 - iBW %와 동일처리한다 (Ibw %대신 PIBE 적용)
  1367. }
  1368. /* 검사결과 정보 */
  1369. var alb = model.getValue("/root/main/nstinfo/nutrpninfo/alb");
  1370. var tlc = model.getValue("/root/main/nstinfo/nutrpninfo/tlc");
  1371. var trf = model.getValue("/root/main/nstinfo/nutrpninfo/trf");
  1372. var rbp = model.getValue("/root/main/nstinfo/nutrpninfo/rbp");
  1373. var chol = model.getValue("/root/main/nstinfo/nutrpninfo/chol");
  1374. var tg = model.getValue("/root/main/nstinfo/nutrpninfo/tg");
  1375. var nbintake = model.getValue("/root/main/nstinfo/nutrpninfo/nbintake");
  1376. var uun = model.getValue("/root/main/nstinfo/nutrpninfo/uun");
  1377. var nbcalval = model.getValue("/root/main/nstinfo/nutrpninfo/nbcalval");
  1378. var nbalance = "";
  1379. var testrslt = "";
  1380. if(alb != ""){
  1381. if(testrslt != "") testrslt += ", ";
  1382. testrslt += caption137.value + " " + alb;
  1383. }
  1384. if(tlc != ""){
  1385. if(testrslt != "") testrslt += ", ";
  1386. testrslt += caption145.value + " " + tlc;
  1387. }
  1388. if(trf != "" || rbp != ""){
  1389. if(testrslt != "") testrslt += ", ";
  1390. testrslt += caption164.value + "/"+caption168.value+ " " + trf+"/"+rbp;
  1391. }
  1392. if(chol != "" || tg != "" ){
  1393. if(testrslt != "") testrslt += ", ";
  1394. testrslt += caption105.value + " " + chol + "/" + tg;
  1395. }
  1396. if(nbintake != "" || uun != "" || (nbcalval != "" && nbcalval != "-")){
  1397. if(testrslt != "") testrslt += ", ";
  1398. testrslt += caption104.value+" "+nbintake +" "+ caption316.value+uun+" "+caption319.value+" "+nbcalval;
  1399. }
  1400. var title = "\n정맥경장영양지원" + "\n\n";
  1401. var title1 = "\n병실 : " + model.getValue("/root/main/patinfo/baseinfo/roomcd") + " 등록번호 : " + model.getValue("/root/main/patinfo/baseinfo/pid");
  1402. var title2 = "\n진료과 : " + model.getValue("/root/main/patinfo/baseinfo/orddeptnm"); + " 성명 : " + model.getValue("/root/main/patinfo/baseinfo/hngnm");
  1403. var title3 = "\n의뢰의사 : " + model.getValue("/root/main/patinfo/baseinfo/orddrnm"); + " S/Age : " + model.getValue("/root/main/patinfo/baseinfo/sna");
  1404. // 회신내역
  1405. var repltitle = "\n\n[회신내용]";
  1406. //2010-01-07 추구관리 회신서(의사 화면의 협진 에서 확인되는 내용) 에서 추구관리임을 알리기 위한 문구
  1407. var repltitle1= "";
  1408. if ( model.getValue("/root/main/nstinfo/nutrpninfo/pursflag") == "PURS") {
  1409. // repltitle1 = "\n\n TPN 지속사용에 따른 추구관리 회신입니다.";
  1410. }
  1411. /*
  1412. var Ritem1 = "\n 1. 의뢰 TPN 제형 : ";
  1413. var Ritem2 = "\n 2. 현재영양상태 : " + chk_nutjudg.label;
  1414. var Ritem3 = "\n 3. 필요열량 : " + needcaltotal;
  1415. var Ritem4 = "\n 4. 수분요구량 : " + ipt_pnwaterreqvol.label + "ml/day <1500 + 20 x (현재체중 - 20)";
  1416. var Ritem5 = "\n 5. 당투여속도 : " + ipt_pndexwdrugspd.label + "mg/kg/min";
  1417. var Ritem6 = "\n 6. 아미노산 공급량 : " + ipt_pnprotsuplvol.label + "g/kg/day";
  1418. var Ritem7 = "\n 7. 투여계획 : \n" + txt_drugplan.label;
  1419. var Ritem8 = "\n 8. Nutrition Lab : \n" + model.getValue("/root/temp/nutritontext");
  1420. var Ritem9 = "\n 9. 기타 : \n" + txt_suplplanetc.label;
  1421. */
  1422. var Ritem1 = "\n\n< Nutritional assessment >";
  1423. var Ritem2 = "\n1. 현재영양상태 : " + fSortWord(tab,splitChkBox(chk_nutjudg),50,"N");
  1424. var Ritem3 = "\n2. 신체계측 : " + fSortWord(tab,physMeas,60,"Y") + "\n" + fSortWord(tab,"검사결과 : "+testrslt, 65);
  1425. //var Ritem4 = "\n3. 필요열량 : "+ fSortWord( (tab,model.getValue("/root/main/nstinfo/nutrpninfo/corrcalr")).toString().getRound(-3,"HALF_UP") + " kcal/day",65); // 보정열량값
  1426. var Ritem4 = "\n3. 필요열량 : "+ fSortWord(tab,input104.label + " kcal/day",65); // 보정열량값
  1427. var Ritem5 = "\n"+fSortWord(tab," BEE : " + chkBee(),70); // 보정열량값
  1428. var Ritem6 = "\n"+fSortWord(tab,"TCN : " + chkTcn(),80); // 보정열량값
  1429. var Ritem7 = "\n4. 수분요구량 : "+ipt_pnwaterreqvol.label+" ml/day" ;
  1430. var Ritem8 = "\n\n< Nutritional plan >";
  1431. var Ritem9 = "\n1. 추천 제형 : "+fSortWord(tab,"" + nstcodetext,60,"N") ;
  1432. var Ritem10 = "\n2. 추천공급량 : "+fSortWord(tab,"" + (ipt_prot1.value/24).toString().getRound(-1,"HALF_UP") + "cc/hr" + " ("+(ipt_recmdrugvol.label)+"kcal/"+ipt_prot1.value+"ml/day)",50,"N") ;
  1433. var Ritem11 = "\n"+fSortWord(tab,"당투여속도 : " + ipt_pndexwdrugspd.label+"mg/kg/min\t단백 공급량 : " + ipt_pnprotsuplvol.label + "g/kg/day",50);
  1434. var Ritem12 = "\n3. Rec) : \n" + fSortWord(tab, txt_drugplan.label,50); //txt_drugplan.label;
  1435. var Ritem13 = "\n4. 기타 : \n" + fSortWord(tab, txt_suplplanetc.label,50);
  1436. //////2014.9.2 김치국
  1437. var Ritem14 = "\n5. 제언 :" ;
  1438. var Ritem15 = "\n *의사: ";
  1439. var Ritem16 = "\n " + fSortWord(tab,textarea10.label,80);
  1440. var Ritem17 = "\n *영양사: ";
  1441. var Ritem18 = "\n " + fSortWord(tab,textarea8.label,80);
  1442. var Ritem19 = "\n *약사: ";
  1443. var Ritem20 = "\n " + fSortWord(tab,textarea9.label,80);
  1444. var Ritem21 = "\n *간호사: ";
  1445. var Ritem22 = "\n " + fSortWord(tab,textarea14.label,80);
  1446. ///////
  1447. var NutritionLab = "\n\n6. Nutrition lab : 다음의 lab을 확인하여 주십시오.\n" + fSortWord(tab,tar_nutritionlab.value,60);
  1448. var replnm = "";
  1449. if(model.getValue("/root/main/nstinfo/nutrpninfo/replnm") != ""){
  1450. replnm = model.getValue("/root/main/nstinfo/nutrpninfo/replnm");
  1451. }else replnm = getUserName();
  1452. // var Replinfo = "\n\n\n 담당약사 : " + model.getValue("/root/main/nstinfo/nutrpninfo/pharmstnm")+" / "+replnm+ "\t\t " + getCurrentDate().toDate().getDateFormat("YYYY/MM/DD") + "\t" + " / 영양집중지원팀 팀장 (Dr. " ; //2014.9.30 김치국
  1453. // var prntRitem14 = "\n" + "의사 : " + input122.label + " " + "/ 영양사 : " + combo28.label + " " + "/ 약사 : " + input127.label + " " + "/ 간호사 : " + input129.label +" " + "/ NST 위원장 "
  1454. // var Replinfo = "\n\n\n 담당약사 : " + model.getValue("/root/main/nstinfo/nutrpninfo/pharmstnm")+" / \t" + getCurrentDate().toDate().getDateFormat("YYYY/MM/DD") + "\t" + " / 영양집중지원팀 팀장 (Dr. " ;
  1455. var Replinfo = "\n" + "의사 : " + input153.label + " " + "/ 영양사 : " + input165.label + " " + "/ 약사 : " + model.getValue("/root/main/nstinfo/nutrpninfo/pharmstnm") + " " + "/ 간호사 : " + input164.label +" " + "/ NST 위원장 "
  1456. // Replinfo += model.getValue("/root/init/codelist/drid/codelist/cdnm") + ")";
  1457. Replinfo += model.getValue("/root/init/codelist/drid/codelist/cdnm") + " " + "| 회신일자 : " + getCurrentDate().toDate().getDateFormat("YYYY/MM/DD"); // 20141118 jmkim 날짜 추가
  1458. var Ritem = repltitle + repltitle1 + Ritem1 + Ritem2 + Ritem3 + Ritem4 + Ritem5 + Ritem6 + Ritem7 + Ritem8 + Ritem9 + Ritem10+Ritem11+Ritem12+Ritem13+Ritem14+Ritem15+Ritem16+Ritem17+Ritem18+Ritem19+Ritem20+Ritem21+Ritem22+NutritionLab;
  1459. var replcnts = title + title1 + title2 + title3 + Ritem+Replinfo;
  1460. gv_Ritem = title + title1 + title2 + title3 + Ritem;
  1461. if(!btn_rpl.selected){
  1462. model.makeNode("/root/main/nstinfo/nutrpninfo/replcnts"); // 회신내역 노드생성
  1463. model.setValue("/root/main/nstinfo/nutrpninfo/replcnts", replcnts); // 회신내역 변수설정
  1464. model.setValue("/root/main/nstreqinfo/data", replcnts);
  1465. }else{
  1466. if(tmp_replcnts != "" && tmp_replcnts != replcnts && sendflag == true){
  1467. var msg = messageBox("수정사항이 존재합니다. 수정된 사항을","Q009");
  1468. if(msg == 6){
  1469. model.makeNode("/root/main/nstinfo/nutrpninfo/replcnts"); // 회신내역 노드생성
  1470. model.setValue("/root/main/nstinfo/nutrpninfo/replcnts", tmp_replcnts); // 회신내역 변수설정
  1471. model.setValue("/root/main/nstreqinfo/data", tmp_replcnts );
  1472. replcnts = tmp_replcnts;
  1473. }else{
  1474. model.makeNode("/root/main/nstinfo/nutrpninfo/replcnts"); // 회신내역 노드생성
  1475. model.setValue("/root/main/nstinfo/nutrpninfo/replcnts", replcnts); // 회신내역 변수설정
  1476. model.setValue("/root/main/nstreqinfo/data", replcnts);
  1477. tmp_replcnts = "";
  1478. }
  1479. }else{
  1480. model.makeNode("/root/main/nstinfo/nutrpninfo/replcnts"); // 회신내역 노드생성
  1481. model.setValue("/root/main/nstinfo/nutrpninfo/replcnts", replcnts); // 회신내역 변수설정
  1482. model.setValue("/root/main/nstreqinfo/data", replcnts);
  1483. }
  1484. }
  1485. /*
  1486. model.makeNode("/root/main/nstinfo/nutrpninfo/replcnts"); // 회신내역 노드생성
  1487. model.setValue("/root/main/nstinfo/nutrpninfo/replcnts", replcnts); // 회신내역 변수설정
  1488. model.setValue("/root/main/nstreqinfo/data", replcnts);
  1489. */
  1490. model.refresh();
  1491. if(sendflag == true)
  1492. {
  1493. var sel = fSendReplForm(replcnts);
  1494. if(sel == "cfm"){
  1495. model.setValue("/root/main/nstinfo/nutrpninfo/replcnts",model.getValue("/root/temp/formdata/replinfo/replcnts"));
  1496. return true;
  1497. }else return false;
  1498. }
  1499. //2009-01-30 회신서 출력
  1500. if (sendflag =="prnt"){
  1501. /*
  1502. var replcnts1 = title1 + title2; //<Nutritional assessment>
  1503. var replcnts2 = Ritem1 + Ritem2 + Ritem3 + Ritem4 + Ritem5 + Ritem6; //Nutritional plan
  1504. var replcnts3 = Ritem8; //[ Nutrition lab ]
  1505. var replcnts4 = Ritem9;
  1506. model.makeValue("/root/hidden/prntdata/replcnts1", replcnts1); //<Nutritional assessment>
  1507. model.makeValue("/root/hidden/prntdata/replcnts2", replcnts2); //Nutritional plan
  1508. model.makeValue("/root/hidden/prntdata/replcnts3", replcnts3); //[ Nutrition lab ]
  1509. model.makeValue("/root/hidden/prntdata/replcnts4", replcnts4);
  1510. return true
  1511. */
  1512. //var prntRitem1 = "\n\n< Nutritional assessment >";
  1513. var prntRitem1 = repltitle1; //2010-01-07 추구관리 회신서(의사 화면의 협진 에서 확인되는 내용) 에서 추구관리임을 알리기 위한 문구
  1514. var prntRitem2 = "\n" + fSortWord(tab,splitChkBox(chk_nutjudg),50,"N"); //1. 현재영양상태 :
  1515. var prntRitem3 = "\n" + fSortWord(tab,physMeas,60,"N"); //2. 신체계측 :
  1516. var prntRitem4 = "\n" + fSortWord(tab,testrslt, 65); // 검사결과 :
  1517. var prntRitem5 = "\n" + fSortWord(tab,input104.label + " kcal/day",65); //3. 필요열량 : // 보정열량값
  1518. var prntRitem6 = "\n" + fSortWord(tab," BEE : " + chkBee(),70); // 보정열량값 - BEE
  1519. var prntRitem7 = "\n" + fSortWord(tab,"TCN : " + chkTcn(),80); // 보정열량값 - TCN
  1520. var prntRitem8 = "\n" + ipt_pnwaterreqvol.label+" ml/day" ; //4. 수분요구량 :
  1521. var prntRitem9 = "\n\n< Nutritional plan >";
  1522. var prntRitem10 = "\n" + fSortWord(tab,"" + nstcodetext,80,"N") ; //1. 추천 제형 :
  1523. var prntRitem11 = "\n" + fSortWord(tab,"" + (ipt_prot1.value/24).toString().getRound(-1,"HALF_UP") + "cc/hr" + " ("+(ipt_recmdrugvol.label)+"kcal/"+ipt_prot1.value+"ml/day)",50,"N") ; //2. 추천공급량 :
  1524. var prntRitem12 = "\n" + fSortWord(tab,"당투여속도 : " + ipt_pndexwdrugspd.label+"mg/kg/min\t단백 공급량 : " + ipt_pnprotsuplvol.label + "g/kg/day",50);
  1525. var prntRitem13 = "\n" + fSortWord(tab, txt_drugplan.label,50); //txt_drugplan.label; //3. Rec) : \n - Plan
  1526. var prntRitem14 = "\n" + fSortWord(tab, txt_suplplanetc.label,50); //4. 기타 : \n
  1527. //////2014.9.16 김치국
  1528. var prntRitem15 = "\n *의사: ";
  1529. var prntRitem16 = "\n " + fSortWord(tab,textarea10.label,80);
  1530. var prntRitem17 = "\n *영양사: ";
  1531. var prntRitem18 = "\n " + fSortWord(tab,textarea8.label,80);
  1532. var prntRitem19 = "\n *약사: ";
  1533. var prntRitem20 = "\n " + fSortWord(tab,textarea9.label,80);
  1534. var prntRitem21 = "\n *간호사: ";
  1535. var prntRitem22 = "\n " + fSortWord(tab,textarea14.label,80);
  1536. var prntNutritionLab = "\n\n" + fSortWord(tab,tar_nutritionlab.value,60); //5. Nutrition lab : 다음의 lab을 확인하여 주십시오.\n
  1537. var replnm = ""; //회신
  1538. if(model.getValue("/root/main/nstinfo/nutrpninfo/replnm") != ""){
  1539. replnm = model.getValue("/root/main/nstinfo/nutrpninfo/replnm");
  1540. }
  1541. // var Replinfo = "\n\n\n 담당약사 : " + model.getValue("/root/main/nstinfo/nutrpninfo/pharmstnm")+" / "+replnm+ "\t" + " / 영양집중지원팀 팀장 (Dr. " ;
  1542. //var Replinfo = "\n\n\n 담당약사 : " + model.getValue("/root/main/nstinfo/nutrpninfo/pharmstnm") + " / 영양집중지원팀 팀장 (Dr. " ; ///2014.9.17 김치국
  1543. var Replinfo = "\n" + "의사 : " + input153.label + " " + "/ 영양사 : " + input165.label + " " + "/ 약사 : " + model.getValue("/root/main/nstinfo/nutrpninfo/pharmstnm") + " " + "/ 간호사 : " + input164.label +" " + "/ NST 위원장 " ///2014.10.3 김치국
  1544. Replinfo += model.getValue("/root/init/codelist/drid/codelist/cdnm") ;
  1545. var ReplDate = model.getValue("/root/main/nstinfo/nutrpninfo/execdd");
  1546. var ReplDocDate = model.getValue("/root/main/nstinfo/nutrpninfo/execdd");
  1547. model.makeValue("/root/hidden/prntdata/prntRitem1", prntRitem1); //<Nutritional assessment>
  1548. model.makeValue("/root/hidden/prntdata/prntRitem2", prntRitem2); //1. 현재영양상태 :
  1549. model.makeValue("/root/hidden/prntdata/prntRitem3", prntRitem3); //2. 신체계측 :
  1550. model.makeValue("/root/hidden/prntdata/prntRitem4", prntRitem4); // 검사결과
  1551. model.makeValue("/root/hidden/prntdata/prntRitem5", prntRitem5); //3. 필요열량 :
  1552. model.makeValue("/root/hidden/prntdata/prntRitem6", prntRitem6); // 보정열량값 - BEE
  1553. model.makeValue("/root/hidden/prntdata/prntRitem7", prntRitem7); // 보정열량값 - TCN
  1554. model.makeValue("/root/hidden/prntdata/prntRitem8", prntRitem8); // 4. 수분요구량 :
  1555. model.makeValue("/root/hidden/prntdata/prntRitem9", prntRitem9); //
  1556. model.makeValue("/root/hidden/prntdata/prntRitem10", prntRitem10); //1. 추천 제형 :
  1557. model.makeValue("/root/hidden/prntdata/prntRitem11", prntRitem11); //2. 추천공급량 :
  1558. model.makeValue("/root/hidden/prntdata/prntRitem12", prntRitem12); // 당투여속도
  1559. model.makeValue("/root/hidden/prntdata/prntRitem13", prntRitem13); //3. Rec) : \n - Plan
  1560. model.makeValue("/root/hidden/prntdata/prntRitem14", prntRitem14); //4. 기타 : \n
  1561. model.makeValue("/root/hidden/prntdata/prntRitem15", prntRitem15); // 제언 2014.9.16 김치국
  1562. model.makeValue("/root/hidden/prntdata/prntRitem16", prntRitem16); // 제언의사
  1563. model.makeValue("/root/hidden/prntdata/prntRitem17", prntRitem17); // 제언 2014.9.16 김치국
  1564. model.makeValue("/root/hidden/prntdata/prntRitem18", prntRitem18); // 제언영양사
  1565. model.makeValue("/root/hidden/prntdata/prntRitem19", prntRitem19); // 제언 2014.9.16 김치국
  1566. model.makeValue("/root/hidden/prntdata/prntRitem20", prntRitem20); // 제언약사
  1567. model.makeValue("/root/hidden/prntdata/prntRitem21", prntRitem21); // 제언 2014.9.16 김치국
  1568. model.makeValue("/root/hidden/prntdata/prntRitem22", prntRitem22); // 제언간호사
  1569. model.makeValue("/root/hidden/prntdata/prntNutritionLab", prntNutritionLab); //5. Nutrition lab
  1570. model.makeValue("/root/hidden/prntdata/ReplDate", ReplDate); //회신일
  1571. model.makeValue("/root/hidden/prntdata/Replinfo", Replinfo); //담당약사/회신약사...
  1572. }
  1573. //2016-07-27 회신서 통합기록 김치국
  1574. if (sendflag =="doc"){
  1575. var replpid = model.getValue("/root/main/patinfo/baseinfo/pid");
  1576. var replpname = model.getValue("/root/main/patinfo/baseinfo/hngnm");
  1577. var replsexage = model.getValue("/root/main/patinfo/baseinfo/sna");
  1578. var prntRitem1 = repltitle1; //2010-01-07 추구관리 회신서(의사 화면의 협진 에서 확인되는 내용) 에서 추구관리임을 알리기 위한 문구
  1579. var prntRitem2 = "\n" + fSortWord(tab,splitChkBox(chk_nutjudg),50,"N"); //1. 현재영양상태 :
  1580. var prntRitem3 = "\n" + fSortWord(tab,physMeas,60,"N"); //2. 신체계측 :
  1581. var prntRitem4 = "\n" + fSortWord(tab,testrslt, 65); // 검사결과 :
  1582. var prntRitem5 = "\n" + fSortWord(tab,input104.label + " kcal/day",65); //3. 필요열량 : // 보정열량값
  1583. var prntRitem6 = "\n" + fSortWord(tab," BEE : " + chkBee(),70); // 보정열량값 - BEE
  1584. var prntRitem7 = "\n" + fSortWord(tab,"TCN : " + chkTcn(),80); // 보정열량값 - TCN
  1585. var prntRitem8 = "\n" + ipt_pnwaterreqvol.label+" ml/day" ; //4. 수분요구량 :
  1586. var prntRitem9 = "\n\n< Nutritional plan >";
  1587. var prntRitem10 = "\n" + fSortWord(tab,"" + nstcodetext,80,"N") ; //1. 추천 제형 :
  1588. var prntRitem11 = "\n" + fSortWord(tab,"" + (ipt_prot1.value/24).toString().getRound(-1,"HALF_UP") + "cc/hr" + " ("+(ipt_recmdrugvol.label)+"kcal/"+ipt_prot1.value+"ml/day)",50,"N") ; //2. 추천공급량 :
  1589. var prntRitem12 = "\n" + fSortWord(tab,"당투여속도 : " + ipt_pndexwdrugspd.label+"mg/kg/min\t단백 공급량 : " + ipt_pnprotsuplvol.label + "g/kg/day",50);
  1590. var prntRitem13 = "\n" + fSortWord(tab, txt_drugplan.label,50); //txt_drugplan.label; //3. Rec) : \n - Plan
  1591. var prntRitem14 = "\n" + fSortWord(tab, txt_suplplanetc.label,50); //4. 기타 : \n
  1592. //////2014.9.16 김치국
  1593. var prntRitem15 = "\n *의사: ";
  1594. var prntRitem16 = "\n " + fSortWord(tab,textarea10.label,80);
  1595. var prntRitem17 = "\n *영양사: ";
  1596. var prntRitem18 = "\n " + fSortWord(tab,textarea8.label,80);
  1597. var prntRitem19 = "\n *약사: ";
  1598. var prntRitem20 = "\n " + fSortWord(tab,textarea9.label,80);
  1599. var prntRitem21 = "\n *간호사: ";
  1600. var prntRitem22 = "\n " + fSortWord(tab,textarea14.label,80);
  1601. var prntNutritionLab = "\n\n" + fSortWord(tab,tar_nutritionlab.value,60); //5. Nutrition lab : 다음의 lab을 확인하여 주십시오.\n
  1602. var replnm = ""; //회신
  1603. if(model.getValue("/root/main/nstinfo/nutrpninfo/replnm") != ""){
  1604. replnm = model.getValue("/root/main/nstinfo/nutrpninfo/replnm");
  1605. }
  1606. var Replinfo = "\n" + "의사 : " + input153.label + " " + "/ 영양사 : " + input165.label + " " + "/ 약사 : " + model.getValue("/root/main/nstinfo/nutrpninfo/pharmstnm") + " " + "/ 간호사 : " + input164.label +" " + "/ NST 위원장 " ///2014.10.3 김치국
  1607. Replinfo += model.getValue("/root/init/codelist/drid/codelist/cdnm") ;
  1608. var ReplDate = model.getValue("/root/main/nstinfo/nutrpninfo/execdd");
  1609. var ReplDocDate = model.getValue("/root/main/nstinfo/nutrpninfo/execdd");
  1610. var Repldr = input153.label
  1611. var Repldiet = input165.label
  1612. var Replphmacy = model.getValue("/root/main/nstinfo/nutrpninfo/pharmstnm");
  1613. var Replnr = input164.label
  1614. var Replnstdr = model.getValue("/root/init/codelist/drid/codelist/cdnm");
  1615. model.makeValue("/root/hidden/prntdata/replpid", replpid);
  1616. model.makeValue("/root/hidden/prntdata/replpname", replpname);
  1617. model.makeValue("/root/hidden/prntdata/replsexage", replsexage);
  1618. model.makeValue("/root/hidden/prntdata/prntRitem1", prntRitem1); //<Nutritional assessment>
  1619. model.makeValue("/root/hidden/prntdata/prntRitem2", prntRitem2); //1. 현재영양상태 :
  1620. model.makeValue("/root/hidden/prntdata/prntRitem3", prntRitem3); //2. 신체계측 :
  1621. model.makeValue("/root/hidden/prntdata/prntRitem4", prntRitem4); // 검사결과
  1622. model.makeValue("/root/hidden/prntdata/prntRitem5", prntRitem5); //3. 필요열량 :
  1623. model.makeValue("/root/hidden/prntdata/prntRitem6", prntRitem6); // 보정열량값 - BEE
  1624. model.makeValue("/root/hidden/prntdata/prntRitem7", prntRitem7); // 보정열량값 - TCN
  1625. model.makeValue("/root/hidden/prntdata/prntRitem8", prntRitem8); // 4. 수분요구량 :
  1626. model.makeValue("/root/hidden/prntdata/prntRitem9", prntRitem9); //
  1627. model.makeValue("/root/hidden/prntdata/prntRitem10", prntRitem10); //1. 추천 제형 :
  1628. model.makeValue("/root/hidden/prntdata/prntRitem11", prntRitem11); //2. 추천공급량 :
  1629. model.makeValue("/root/hidden/prntdata/prntRitem12", prntRitem12); // 당투여속도
  1630. model.makeValue("/root/hidden/prntdata/prntRitem13", prntRitem13); //3. Rec) : \n - Plan
  1631. model.makeValue("/root/hidden/prntdata/prntRitem14", prntRitem14); //4. 기타 : \n
  1632. model.makeValue("/root/hidden/prntdata/prntRitem15", prntRitem15); // 제언 2014.9.16 김치국
  1633. model.makeValue("/root/hidden/prntdata/prntRitem16", prntRitem16); // 제언의사
  1634. model.makeValue("/root/hidden/prntdata/prntRitem17", prntRitem17); // 제언 2014.9.16 김치국
  1635. model.makeValue("/root/hidden/prntdata/prntRitem18", prntRitem18); // 제언영양사
  1636. model.makeValue("/root/hidden/prntdata/prntRitem19", prntRitem19); // 제언 2014.9.16 김치국
  1637. model.makeValue("/root/hidden/prntdata/prntRitem20", prntRitem20); // 제언약사
  1638. model.makeValue("/root/hidden/prntdata/prntRitem21", prntRitem21); // 제언 2014.9.16 김치국
  1639. model.makeValue("/root/hidden/prntdata/prntRitem22", prntRitem22); // 제언간호사
  1640. model.makeValue("/root/hidden/prntdata/prntNutritionLab", prntNutritionLab); //5. Nutrition lab
  1641. model.makeValue("/root/hidden/prntdata/ReplDate", ReplDate); //회신일
  1642. model.makeValue("/root/hidden/prntdata/Replinfo", Replinfo); //담당약사/회신약사...
  1643. model.makeValue("/root/hidden/prntdata/Repldr", Repldr);
  1644. model.makeValue("/root/hidden/prntdata/Repldiet", Repldiet);
  1645. model.makeValue("/root/hidden/prntdata/Replphmacy", Replphmacy);
  1646. model.makeValue("/root/hidden/prntdata/Replnr", Replnr);
  1647. model.makeValue("/root/hidden/prntdata/Replnstdr", Replnstdr);
  1648. model.makeValue("/root/hidden/prntdata/Replnstdocdate", ReplDate);
  1649. model.makeNode("/root/main/signSaveData");
  1650. model.copyNode("/root/main/signSaveData", "/root/hidden/prntdata");
  1651. }
  1652. }
  1653. /*
  1654. 추구관리 출력 생성 by 김금련 2014.04.29
  1655. */
  1656. function fCretReplCntsMngt(sendflag)
  1657. {
  1658. var ht = model.getValue("/root/main/pursnstinfo/nutrpursinfo/ht"); // 키
  1659. var ubw = model.getValue("/root/main/pursnstinfo/nutrpursinfo/ubw"); //UBW
  1660. var wt = model.getValue("/root/main/pursnstinfo/nutrpursinfo/wt"); //체중
  1661. var ibw = model.getValue("/root/main/pursnstinfo/nutrpursinfo/ibw"); //IBW
  1662. var pibw = model.getValue("/root/main/pursnstinfo/nutrpursinfo/pibw"); //pibw
  1663. var needcaltotal = model.getValue("/root/main/pursnstinfo/nutrpursinfo/corrcalr"); //필요열량
  1664. var waterreqvol = model.getValue("/root/main/pursnstinfo/nutrpursinfo/waterreqvol"); //수분요구량
  1665. var dexwdrugspd = model.getValue("/root/main/pursnstinfo/nutrpursinfo/dexwdrugspd"); //당투여속도
  1666. var protsuplvol = model.getValue("/root/main/pursnstinfo/nutrpursinfo/protcalc"); //아미노산 공급량
  1667. var suplplanetc = model.getValue("/root/main/pursnstinfo/nutrpursinfo/nutrreqvol"); //기타
  1668. if (sendflag =="prnt"){
  1669. var prntRitem1 = "\n" + fSortWord(tab,splitChkBox(checkbox8),50,"N"); //1. 영양관련 문제점
  1670. var prntRitem2 = "\n" + fSortWord(tab,splitChkBox(checkbox22),50,"N"); //2. 활동정도
  1671. var prntRitem3 = "\n" + fSortWord(tab,splitChkBox(checkbox23),50,"N"); //3. 투여경로
  1672. if (( model.getValue("/root/main/pursnstinfo/nutrpursinfo/etrlfd")=="") || (model.getValue("/root/main/pursnstinfo/nutrpursinfo/etrlfd")=="0")) {
  1673. var replcnts1 = "";
  1674. }else {
  1675. replcnts1 = "경구영양 " + model.getValue("/root/main/pursnstinfo/nutrpursinfo/etrlfd") + " kcal/d";
  1676. }
  1677. if (( model.getValue("/root/main/pursnstinfo/nutrpursinfo/tubfd")=="") || (model.getValue("/root/main/pursnstinfo/nutrpursinfo/tubfd")=="0")) {
  1678. var replcnts2 = "";
  1679. }else {
  1680. var replcnts2 = "\t 경관영양 " + model.getValue("/root/main/pursnstinfo/nutrpursinfo/tubfd") + " kcal/d";
  1681. }
  1682. if (( model.getValue("/root/main/pursnstinfo/nutrpursinfo/itvnfd")=="") || (model.getValue("/root/main/pursnstinfo/nutrpursinfo/itvnfd")=="0")) {
  1683. var replcnts3 = "";
  1684. }else {
  1685. var replcnts3 = "\t 정맥영양 " + model.getValue("/root/main/pursnstinfo/nutrpursinfo/itvnfd") + " kcal/d";
  1686. }
  1687. if (( model.getValue("/root/main/pursnstinfo/nutrpursinfo/totintkcalr")=="") || (model.getValue("/root/main/pursnstinfo/nutrpursinfo/totintkcalr")=="0")) {
  1688. var replcnts4 = "";
  1689. }else {
  1690. var replcnts4 = "\n총섭취열량 " + model.getValue("/root/main/pursnstinfo/nutrpursinfo/totintkcalr") + " kcal/d";
  1691. }
  1692. if (( model.getValue("/root/main/pursnstinfo/nutrpursinfo/totintkprot")=="") || (model.getValue("/root/main/pursnstinfo/nutrpursinfo/totintkprot")=="0")) {
  1693. var replcnts5 = "";
  1694. }else {
  1695. var replcnts5 = "\t 총단백질량 " + model.getValue("/root/main/pursnstinfo/nutrpursinfo/totintkprot") + " g/d";
  1696. }
  1697. var prntRitem4 = "\n" + replcnts1+replcnts2+replcnts3 ; //4. 식사섭취상태
  1698. var prntRitem5 = "\n" + replcnts4+replcnts5 ; //5. 총섭취열량, 총단백질량
  1699. var prntRitem6 = "\n" + "Ht : " + ht +"cm , Wt : " + wt + "kg , IBW : " + ibw + "kg , PIBW : "+ pibw + "% , Wt.change : "
  1700. + model.getValue("/root/main/pursnstinfo/nutrpursinfo/wtchngkg" ) +"kg "
  1701. + "( " + model.getValue("/root/main/pursnstinfo/nutrpursinfo/wtchngperc") + " )% / "
  1702. + model.getValue("/root/main/pursnstinfo/nutrpursinfo/wtchngmm") + " 개월 " + model.getValue("/root/main/pursnstinfo/nutrpursinfo/physmeasetc"); //6.신체계측
  1703. var prntRitem7 = "\n" ;
  1704. if (( model.getValue("/root/main/pursnstinfo/nutrpursinfo/alb")=="") || (model.getValue("/root/main/pursnstinfo/nutrpursinfo/alb")=="0")) {
  1705. prntRitem7 = prntRitem7 + "";
  1706. }else {
  1707. prntRitem7 = prntRitem7 + " Alb : " + model.getValue("/root/main/pursnstinfo/nutrpursinfo/alb");
  1708. }
  1709. if (( model.getValue("/root/main/pursnstinfo/nutrpursinfo/tlc")=="") || (model.getValue("/root/main/pursnstinfo/nutrpursinfo/tlc")=="0")) {
  1710. prntRitem7 = prntRitem7 + "";
  1711. }else {
  1712. prntRitem7 = prntRitem7 + " TLC : " + model.getValue("/root/main/pursnstinfo/nutrpursinfo/tlc");
  1713. }
  1714. if (( model.getValue("/root/main/pursnstinfo/nutrpursinfo/hb")=="") || (model.getValue("/root/main/pursnstinfo/nutrpursinfo/hb")=="0")) {
  1715. prntRitem7 = prntRitem7 + "";
  1716. }else {
  1717. prntRitem7 = prntRitem7 + " Hb : " + model.getValue("/root/main/pursnstinfo/nutrpursinfo/hb");
  1718. }
  1719. if (( model.getValue("/root/main/pursnstinfo/nutrpursinfo/hct")=="") || (model.getValue("/root/main/pursnstinfo/nutrpursinfo/hct")=="0")) {
  1720. prntRitem7 = prntRitem7 + "";
  1721. }else {
  1722. prntRitem7= prntRitem7+ " Hct : " + model.getValue("/root/main/pursnstinfo/nutrpursinfo/hct");
  1723. }
  1724. if (( model.getValue("/root/main/pursnstinfo/nutrpursinfo/trf")=="") || (model.getValue("/root/main/pursnstinfo/nutrpursinfo/trf")=="0")) {
  1725. prntRitem7 = prntRitem7 + "";
  1726. }else {
  1727. prntRitem7 = prntRitem7 + "\n\tTRF : " + model.getValue("/root/main/pursnstinfo/nutrpursinfo/trf");
  1728. }
  1729. if (( model.getValue("/root/main/pursnstinfo/nutrpursinfo/rbp")=="") || (model.getValue("/root/main/pursnstinfo/nutrpursinfo/rbp")=="0")) {
  1730. prntRitem7 = prntRitem7 + "";
  1731. }else {
  1732. prntRitem7 = prntRitem7 + " RBP : " + model.getValue("/root/main/pursnstinfo/nutrpursinfo/rbp");
  1733. }
  1734. if (( model.getValue("/root/main/pursnstinfo/nutrpursinfo/na")=="") || (model.getValue("/root/main/pursnstinfo/nutrpursinfo/na")=="0")) {
  1735. prntRitem7 = prntRitem7 + "";
  1736. }else {
  1737. prntRitem7 = prntRitem7 + " Na : " + model.getValue("/root/main/pursnstinfo/nutrpursinfo/na");
  1738. }
  1739. if (( model.getValue("/root/main/pursnstinfo/nutrpursinfo/k")=="") || (model.getValue("/root/main/pursnstinfo/nutrpursinfo/k")=="0")) {
  1740. prntRitem7 = prntRitem7+ "";
  1741. }else {
  1742. prntRitem7 = prntRitem7 + " K : " + model.getValue("/root/main/pursnstinfo/nutrpursinfo/k");
  1743. }
  1744. if (( model.getValue("/root/main/pursnstinfo/nutrpursinfo/cl")=="") || (model.getValue("/root/main/pursnstinfo/nutrpursinfo/cl")=="0")) {
  1745. prntRitem7 = prntRitem7 + "";
  1746. }else {
  1747. prntRitem7 = prntRitem7 + " Cl : " + model.getValue("/root/main/pursnstinfo/nutrpursinfo/cl");
  1748. }
  1749. if (( model.getValue("/root/main/pursnstinfo/nutrpursinfo/bun")=="") || (model.getValue("/root/main/pursnstinfo/nutrpursinfo/bun")=="0")) {
  1750. prntRitem7 = prntRitem7 + "";
  1751. }else {
  1752. prntRitem7 = prntRitem7 + "\nBUN : " + model.getValue("/root/main/pursnstinfo/nutrpursinfo/bun");
  1753. }
  1754. if (( model.getValue("/root/main/pursnstinfo/nutrpursinfo/cr")=="") || (model.getValue("/root/main/pursnstinfo/nutrpursinfo/cr")=="0")) {
  1755. prntRitem7 = prntRitem7 + "";
  1756. }else {
  1757. prntRitem7 = prntRitem7 + " Cr : " + model.getValue("/root/main/pursnstinfo/nutrpursinfo/cr");
  1758. }
  1759. if (( model.getValue("/root/main/pursnstinfo/nutrpursinfo/chol")=="") || (model.getValue("/root/main/pursnstinfo/nutrpursinfo/chol")=="0")) {
  1760. prntRitem7 = prntRitem7 + "";
  1761. }else {
  1762. prntRitem7 = prntRitem7 + " Chol : " + model.getValue("/root/main/pursnstinfo/nutrpursinfo/chol");
  1763. }
  1764. if (( model.getValue("/root/main/pursnstinfo/nutrpursinfo/tg")=="") || (model.getValue("/root/main/pursnstinfo/nutrpursinfo/tg")=="0")) {
  1765. prntRitem7 = prntRitem7 + "";
  1766. }else {
  1767. prntRitem7 = prntRitem7 + " TG : " + model.getValue("/root/main/pursnstinfo/nutrpursinfo/tg");
  1768. }
  1769. if (( model.getValue("/root/main/pursnstinfo/nutrpursinfo/ca")=="") || (model.getValue("/root/main/pursnstinfo/nutrpursinfo/ca")=="0")) {
  1770. prntRitem7 = prntRitem7 + "";
  1771. }else {
  1772. prntRitem7 = prntRitem7 + "\nCa : " + model.getValue("/root/main/pursnstinfo/nutrpursinfo/ca");
  1773. }
  1774. if (( model.getValue("/root/main/pursnstinfo/nutrpursinfo/p")=="") || (model.getValue("/root/main/pursnstinfo/nutrpursinfo/p")=="0")) {
  1775. prntRitem7 = prntRitem7 + "";
  1776. }else {
  1777. prntRitem7 = prntRitem7 + " P : " + model.getValue("/root/main/pursnstinfo/nutrpursinfo/p");
  1778. }
  1779. if (( model.getValue("/root/main/pursnstinfo/nutrpursinfo/mg")=="") || (model.getValue("/root/main/pursnstinfo/nutrpursinfo/mg")=="0")) {
  1780. prntRitem7 = prntRitem7 + "";
  1781. }else {
  1782. prntRitem7 = prntRitem7 + " Mg : " + model.getValue("/root/main/pursnstinfo/nutrpursinfo/mg");
  1783. }
  1784. if (( model.getValue("/root/main/pursnstinfo/nutrpursinfo/ins")=="") || (model.getValue("/root/main/pursnstinfo/nutrpursinfo/ins")=="0")) {
  1785. prntRitem7 = prntRitem7 + "";
  1786. }else {
  1787. prntRitem7 = prntRitem7 + " INS : " + model.getValue("/root/main/pursnstinfo/nutrpursinfo/ins");
  1788. }
  1789. if (( model.getValue("/root/main/pursnstinfo/nutrpursinfo/nbcalval")=="") || (model.getValue("/root/main/pursnstinfo/nutrpursinfo/nbcalval")=="0")) {
  1790. prntRitem7 = prntRitem7 + "";
  1791. }else {
  1792. prntRitem7 = prntRitem7 + " N-Balance : " + model.getValue("/root/main/pursnstinfo/nutrpursinfo/nbcalval");
  1793. } //7. 검사결과
  1794. var prntRitem8 = "\n" + fSortWord(tab,splitChkBox(checkbox4),50,"N"); //8. 영양상태 판정
  1795. var replcnts6 = "\n* 열량 : " + needcaltotal + " kcal/day ( BEE : " + model.getValue("/root/init/bee") ;
  1796. if (combo46.label !=""){
  1797. replcnts6= replcnts6 + ", AF : " + combo46.value ;
  1798. }else{
  1799. if (combo48.label !=""){
  1800. replcnts6= replcnts6 + ", AF : " + combo48.value ;
  1801. }else{
  1802. replcnts6= replcnts6 ;
  1803. }
  1804. }
  1805. if (combo42.label !=""){
  1806. replcnts6= replcnts6 + ", IF : " + combo42.value + " )";
  1807. }else{
  1808. replcnts6 = replcnts6 + ")";
  1809. }
  1810. var replcnts7 = "\n* 단백질 : " + protsuplvol + " g/day ( IBW * " + model.getValue("/root/main/pursnstinfo/nutrpursinfo/prot2") + " g/kg ) " ;
  1811. var replcnts8 = "\n* 수분요구량 : " + waterreqvol + "ml/d";
  1812. if ( model.getValue("/root/main/pursnstinfo/nutrpursinfo/nutrreqvol")=="") {
  1813. replcnts8 = replcnts8 + "";
  1814. }else {
  1815. replcnts8 = replcnts8 +"\n* 기타 : " + model.getValue("/root/main/pursnstinfo/nutrpursinfo/nutrreqvol") ;
  1816. }
  1817. var prntRitem9 = "\n" + replcnts6+replcnts7+replcnts8 ; //9. 영양요구량
  1818. var carePlanData = model.getValue("/root/main/pursnstinfo/careplaninfo/problemcareplan");
  1819. if(carePlanData != "") {
  1820. var prntRitem10 = "\n";
  1821. // 로우 데이터 별로 나누기
  1822. carePlanData = carePlanData.split("§");
  1823. for(var i = 1; i <= carePlanData.length; ++i) {
  1824. var problemPlanData = carePlanData[i-1].split("▦");
  1825. prntRitem10 = prntRitem10 + problemPlanData[0] + " : " + problemPlanData[1] + "\n";
  1826. }
  1827. } //10. problem
  1828. var prntRitem11 = "\n" + model.getValue("/root/main/pursnstinfo/nutrpursinfo/dieteroffr").replace(/\n/gi,"\n"); // 11. 영양사 제언
  1829. if (model.getValue("/root/main/pursnstinfo/nutrpursinfo/droffr") !="") {
  1830. var prntRitem12= "\n" + model.getValue("/root/main/pursnstinfo/nutrpursinfo/droffr")
  1831. }else{
  1832. var prntRitem12 = "";
  1833. } // 12. 의사 제언
  1834. if (model.getValue("/root/main/pursnstinfo/nutrpursinfo/pharmstoffr") !="") {
  1835. var prntRitem13 = "\n" + model.getValue("/root/main/pursnstinfo/nutrpursinfo/pharmstoffr")
  1836. }else{
  1837. var prntRitem13 = "";
  1838. } // 13. 약사 제언
  1839. if (model.getValue("/root/main/pursnstinfo/nutrpursinfo/nurseoffr") !="") {
  1840. var prntRitem16 = "\n" + model.getValue("/root/main/pursnstinfo/nutrpursinfo/nurseoffr")
  1841. }else{
  1842. var prntRitem16 = "";
  1843. } // 16. 간호사 제언
  1844. if (model.getValue("/root/main/pursnstinfo/nutrpursinfo/mntr") !="") {
  1845. var prntRitem15 = "\n" + model.getValue("/root/main/pursnstinfo/nutrpursinfo/mntr")
  1846. }else{
  1847. var prntRitem15 = "";
  1848. } // 15. 모니터링
  1849. var prntRitem14 = "\n" + "의사 : " + input136.label + " " + "/ 영양사 : " + combo1.label + " " + "/ 약사 : " + input142.label + " " + "/ 간호사 : " + input144.label +" " + "/ NST 위원장 "
  1850. prntRitem14 += "(Dr." + model.getValue("/root/init/codelist/drid/codelist/cdnm") + ")" // 14. 마지막 문구
  1851. model.makeValue("/root/hidden/prntdata/prntRitem1", prntRitem1); //1. 영양관련 문제점
  1852. model.makeValue("/root/hidden/prntdata/prntRitem2", prntRitem2); //2. 활동정도
  1853. model.makeValue("/root/hidden/prntdata/prntRitem3", prntRitem3); //3. 투여경로
  1854. model.makeValue("/root/hidden/prntdata/prntRitem4", prntRitem4); //4. 식사섭취상태
  1855. model.makeValue("/root/hidden/prntdata/prntRitem5", prntRitem5); //5. 총섭취열량, 총단백질량
  1856. model.makeValue("/root/hidden/prntdata/prntRitem6", prntRitem6); //6. 신체계측
  1857. model.makeValue("/root/hidden/prntdata/prntRitem7", prntRitem7); //7. 검사결과
  1858. model.makeValue("/root/hidden/prntdata/prntRitem8", prntRitem8); //8. 영양상태 판정
  1859. model.makeValue("/root/hidden/prntdata/prntRitem9", prntRitem9); //9. 열량요구량
  1860. model.makeValue("/root/hidden/prntdata/prntRitem10", prntRitem10); //10. problem
  1861. model.makeValue("/root/hidden/prntdata/prntRitem11", prntRitem11); //11. 영양사 제언
  1862. model.makeValue("/root/hidden/prntdata/prntRitem12", prntRitem12); //12. 의사 제언
  1863. model.makeValue("/root/hidden/prntdata/prntRitem13", prntRitem13); //13. 약사 제언
  1864. model.makeValue("/root/hidden/prntdata/prntRitem16", prntRitem16); //16. 간호사 제언
  1865. model.makeValue("/root/hidden/prntdata/prntRitem14", prntRitem14); //14. 마지막 문구
  1866. model.makeValue("/root/hidden/prntdata/prntRitem15", prntRitem15); //15. 모니터링
  1867. }
  1868. }
  1869. //추구관리 임시 막기 (2009-02-10)
  1870. function fCretReplCnts_NEW(sendflag){
  1871. // 필요열량(TCN)
  1872. if( model.getValue("/root/main/nstinfo/nutrpninfo/needcalrflag") == "1") {
  1873. var needcaltotal = "계수법 " + model.getValue ("/root/init/pninfo/needcalrlist/needcalr1") + " x "
  1874. + model.getValue("/root/init/pninfo/needcalrlist/needcalr2")
  1875. + " kcal/kg = " + model.getValue("/root/init/pninfo/needcalrlist/needcalr7").getRound(-3,"HALF_UP")
  1876. + " kcal/day";
  1877. }else if( model.getValue("/root/main/nstinfo/nutrpninfo/needcalrflag") == "2") {
  1878. var needcaltotal = model.getValue("/root/init/bee").getRound(-3,"HALF_UP") + "(BEE) x "
  1879. + model.getValue("/root/init/pninfo/needcalrlist/needcalr4") + "(AF) x "
  1880. + model.getValue("/root/init/pninfo/needcalrlist/needcalr5") + "(IF) = "
  1881. + model.getValue("/root/init/pninfo/needcalrlist/needcalr6").getRound(-3,"HALF_UP")
  1882. + " kcal/day" ;
  1883. }else if( model.getValue("/root/main/nstinfo/nutrpninfo/needcalrflag") == "3") {
  1884. var needcaltotal = model.getValue("/root/init/bee").getRound(-3,"HALF_UP") + "(BEE) x "
  1885. + model.getValue("/root/init/pninfo/needcalrlist/needcalr8") + "(AF) + "
  1886. + model.getValue("/root/init/bee").getRound(-3,"HALF_UP") + "(BEE) x "
  1887. + model.getValue("/root/init/pninfo/needcalrlist/needcalr10")
  1888. + " = " + model.getValue("/root/init/pninfo/needcalrlist/needcalr11").getRound(-3,"HALF_UP")
  1889. + "\n ( + T.F. : 20 ~ 30 %) (+ W. F. : 20%)" ;
  1890. }else if( model.getValue("/root/main/nstinfo/nutrpninfo/needcalrflag") == "4") {
  1891. var needcaltotal = "1784-11*(" + model.getValue("/root/init/pninfo/basembolinfolist/age") + ")+5*("
  1892. + model.getValue("/root/main/nstinfo/nutrpninfo/basewt") + ")+244*("
  1893. + model.getValue("/root/init/pninfo/needcalrlist/needcalr14") + ")+239* ("
  1894. + model.getValue("/root/init/pninfo/needcalrlist/needcalr15") + ")+804*("
  1895. + model.getValue("/root/init/pninfo/needcalrlist/needcalr16") + ")"
  1896. + " = " + model.getValue("/root/init/pninfo/needcalrlist/needcalr17").getRound(-3,"HALF_UP")
  1897. + "\n kcal/day(Ventilator care시)" ;
  1898. }
  1899. //기초대사량(BEE)
  1900. var basemboltitle ="" ;
  1901. if (model.getValue("/root/main/patinfo/baseinfo/sna").substr(0,1) == "F" ) { // 여
  1902. var basemboltitle = "655 + (9.6 x " + model.getValue("/root/main/nstinfo/nutrpninfo/basewt") + " Kg) + (1.9 x "
  1903. + model.getValue("/root/main/nstinfo/nutrpninfo/ht") + " cm) - (4.7 x "
  1904. + model.getValue("/root/init/pninfo/basembolinfolist/age") + " yr) = "
  1905. + model.getValue("/root/init/pninfo/basembolinfolist/wbasembolcalc").getRound(-3,"HALF_UP") ;
  1906. }else{
  1907. var basemboltitle = "66.5 + (13.7 x " + model.getValue("/root/main/nstinfo/nutrpninfo/basewt") + " Kg) + (5 x "
  1908. + model.getValue("/root/main/nstinfo/nutrpninfo/ht") + " cm) - (6.8 x "
  1909. + model.getValue("/root/init/pninfo/basembolinfolist/age") + " yr) = "
  1910. + model.getValue("/root/init/pninfo/basembolinfolist/mbasembolcalc").getRound(-3,"HALF_UP") ;
  1911. }
  1912. var title0 ="";
  1913. if (model.getValue("/root/send/srchinfo/rgstseqno").substr (8,3) != "001" && model.getValue("/root/send/srchinfo/rgstseqno").substr (8,3) != "" ) {
  1914. model.setValue("/root/send/modifysendsrc/pid", model.getValue("/root/main/patinfo/baseinfo/pid")); //등록번호
  1915. model.setValue("/root/send/modifysendsrc/formrecseq",model.getValue("/root/send/srchinfo/formrecseq")); //fomrecseq
  1916. model.setValue("/root/send/modifysendsrc/rgstseqno", model.getValue("/root/send/srchinfo/rgstseqno")); //rgstseqno
  1917. submit("TRADC02606"); // 기존데이타를 조회한다.
  1918. title0 = "\n\n----------------------------------------------------------------\n\n\n";
  1919. title0 = title0 + model.getValue("/root/hidden/redatalist/redata/replcnts");
  1920. }
  1921. if (model.getValue("/root/main/nstinfo/nutrpninfo/physmeasetc") == "Y") { // 변경작업이 있을 경우
  1922. // 기초대사량 (BEE)
  1923. var basembolcalc;
  1924. var wt = model.getValue("/root/hidden/redatalist/redata/basewt");
  1925. var ht = model.getValue("/root/hidden/redatalist/redata/ht");
  1926. var age = model.getValue("/root/hidden/redatalist/redata/age");
  1927. var OLD_basemboltitle="" ;
  1928. if (model.getValue("/root/hidden/redatalist/redata/sex") =="F" ) { // 여
  1929. basembolcalc = 655 + (9.6 * wt) + (1.9 * ht) - (4.7 * age) ;
  1930. basembolcalc = basembolcalc.toString().getRound(-3,"HALF_UP");
  1931. OLD_basemboltitle = "655 + (9.6 * " + wt + " Kg) + (1.9 x " + ht + " cm) - (4.7 x " + age + " yr) = " + basembolcalc;
  1932. }else{
  1933. basembolcalc = 66.5 + (13.7 * wt) + (5 * ht) - (6.8 * age);
  1934. basembolcalc = basembolcalc.toString().getRound(-3,"HALF_UP");
  1935. OLD_basemboltitle = "66.5 + (13.7 x " + wt + " Kg) + (5 x " + ht + " cm) - (6.8 x " + age + " yr) = " + basembolcalc;
  1936. }
  1937. //필요열량(TCN)
  1938. if( model.getValue("/root/hidden/redatalist/redata/needcalrflag") == "1") {
  1939. var OLD_needcaltotal = "계수법 " + model.getValue ("/root/hidden/redatalist/redata/needcalr1") + " x "
  1940. + model.getValue("/root/hidden/redatalist/redata/needcalr2") + " kcal/kg = "
  1941. + model.getValue("/root/hidden/redatalist/redata/needcalrcalc").getRound(-3,"HALF_UP")
  1942. + " kcal/day";
  1943. }else if( model.getValue("/root/hidden/redatalist/redata/needcalrflag") == "2") {
  1944. var OLD_needcaltotal = basembolcalc + " (BEE) x "
  1945. + model.getValue("/root/hidden/redatalist/redata/needcalr2") + "(AF) x "
  1946. + model.getValue("/root/hidden/redatalist/redata/needcalr3") + "(IF) = "
  1947. + model.getValue("/root/hidden/redatalist/redata/needcalrcalc").getRound(-3,"HALF_UP")
  1948. + " kcal/day" ;
  1949. }else if( model.getValue("/root/hidden/redatalist/redata/needcalrflag") == "3") {
  1950. var OLD_needcaltotal = basembolcalc + " (BEE) x "
  1951. + model.getValue("/root/hidden/redatalist/redata/needcalr2") + "(AF) + "
  1952. + basembolcalc + "(BEE) x "
  1953. + model.getValue("/root/hidden/redatalist/redata/needcalr4") + " = "
  1954. + model.getValue("/root/hidden/redatalist/redata/needcalrcalc").getRound(-3,"HALF_UP")
  1955. + "\n ( + T.F. : 20 ~ 30 %) (+ W. F. : 20%)" ;
  1956. }else if( model.getValue("/root/hidden/redatalist/redata/needcalrflag") == "4") {
  1957. var OLD_needcaltotal = "1784-11*(" + model.getValue("/root/hidden/redatalist/redata/age") + ")+5*("
  1958. + model.getValue("/root/hidden/redatalist/redata/basewt") + ")+244*("
  1959. + model.getValue("/root/hidden/redatalist/redata/needcalr3") + ")+239* ("
  1960. + model.getValue("/root/hidden/redatalist/redata/needcalr4") + ")+804*("
  1961. + model.getValue("/root/hidden/redatalist/redata/needcalr5") + ")"
  1962. + " = " + model.getValue("/root/hidden/redatalist/redata/needcalrcalc").getRound(-3,"HALF_UP")
  1963. + "\n kcal/day(Ventilator care시)" ;
  1964. }
  1965. // Nutritional assessment ( old + new)
  1966. var title = "\n<Nutritional assessment>" + "\n" ;
  1967. var title1 = "\n1. 현재 영양 상태 : \n\t(" + model.getValue("/root/hidden/redatalist/redata/repldd") + ") " + chk_nutjudgOLD.label;
  1968. title1 = title1 + "\n\t(" + model.getValue("/root/main/nstinfo/nutrpninfo/execdd") + ") " + chk_nutjudg.label ;
  1969. // var title2 = "\n2. 필요 열량 : ( 보정열량 : (" + model.getValue("/root/hidden/redatalist/redata/repldd") + ") "
  1970. // + model.getValue("/root/hidden/redatalist/redata/corrcalr") + " ("
  1971. // + model.getValue("/root/main/nstinfo/nutrpninfo/execdd") + ") "
  1972. // + model.getValue("/root/main/nstinfo/nutrpninfo/corrcalr").getRound(-3,"HALF_UP") + " ) ";
  1973. var title2 = "\n2. 필요 열량 : (" + model.getValue("/root/hidden/redatalist/redata/repldd") + ") "
  1974. + model.getValue("/root/hidden/redatalist/redata/corrcalr") + " kcal/day ("
  1975. + model.getValue("/root/main/nstinfo/nutrpninfo/execdd") + ") "
  1976. + model.getValue("/root/main/nstinfo/nutrpninfo/corrcalr").getRound(-3,"HALF_UP") + " kcal/day ) ";
  1977. title2 += "\n BEE : (" + model.getValue("/root/hidden/redatalist/redata/repldd") + ") " + OLD_basemboltitle ; //기초대사량OLD
  1978. title2 += "\n (" + model.getValue("/root/main/nstinfo/nutrpninfo/execdd") + ") " + basemboltitle ; // 기초대사량
  1979. title2 += "\n TCN : (" + model.getValue("/root/hidden/redatalist/redata/repldd") + ") " + OLD_needcaltotal.replace(/\n/gi,"\n\t") ; // 필요열량 OLD
  1980. title2 += "\n (" + model.getValue("/root/main/nstinfo/nutrpninfo/execdd") + ") " + needcaltotal.replace(/\n/gi,"\n\t") ; // 필요열량
  1981. }else{ // 현행유지 - 변경작업이 없을 경우
  1982. // Nutritional assessment ( new)
  1983. var title = "\n<Nutritional assessment>" + "\n" ;
  1984. var title1 = "\n1. 현재 영양 상태 : \n\t" + chk_nutjudg.label;
  1985. var title2 = "\n2. 필요 열량 : " + model.getValue("/root/main/nstinfo/nutrpninfo/corrcalr").getRound(-3,"HALF_UP") + " kcal/day" ;
  1986. title2 += "\n BEE : " + basemboltitle ; //기초대사량OLD
  1987. title2 += "\n TCN : " + needcaltotal.replace(/\n/gi,"\n\t") ; //필요열량
  1988. }
  1989. //Nutritional plan
  1990. var title3 = "\n\n\n<Nutritional plan>" ;
  1991. var repltitle = "";
  1992. var Ritem1 = "\n\n1. 추천 제형 : ";
  1993. var Ritem2 = "\n (당투여속도 : " + model.getValue("/root/main/nstinfo/nutrpninfo/dexwdrugspd") + " mg/kg/min "
  1994. + " / 단백 공급량 : " + model.getValue("/root/main/nstinfo/nutrpninfo/protsuplvol") + " g/kg/day )" ;
  1995. var Ritem3 = "\n\n2. Rec) \n";
  1996. var Ritem4 = "\t" + model.getValue("/root/main/nstinfo/nutrpninfo/drugplan").replace(/\n/gi,"\n\t");
  1997. var Ritem5 = "\n\n3. 기타 : \n" ;
  1998. var Ritem6 = "\t" + model.getValue("/root/main/nstinfo/nutrpninfo/suplplanetc").replace(/\n/gi,"\n\t");
  1999. var Ritem7 = "\n\n [ Nutrition lab ] \n" ;
  2000. var Ritem8 = model.getValue("/root/temp/nutritontext").replace(/\n/gi,"\n\t") ;
  2001. var Ritem9 = "\n\n\n 담당약사 : " + model.getValue("/root/main/nstinfo/nutrpninfo/pharmstnm")+ "\t\t " + getCurrentDate().toDate().getDateFormat("YYYY/MM/DD") + "\t" + " / 영양집중지원팀 팀장 (Dr. " ;
  2002. Ritem9 += model.getValue("/root/init/codelist/drid/codelist/cdnm") + ")";
  2003. var Ritem = repltitle + Ritem1 + Ritem2 + Ritem3 + Ritem4 + Ritem5 + Ritem6 + Ritem7 + Ritem8 + Ritem9 ;
  2004. var replcnts = title + title1 + title2 + title3 + Ritem + title0 ; // 2009-01-22 title0 기존 회신내역 추구(추구관리때문) - 최신의뢰(추구관리) 먼저 조회되도록...
  2005. model.makeNode("/root/main/nstinfo/nutrpninfo/replcnts"); // 회신내역 노드생성
  2006. model.setValue("/root/main/nstinfo/nutrpninfo/replcnts", replcnts); // 회신내역 변수설정
  2007. model.setValue("/root/main/nstreqinfo/data", replcnts);
  2008. model.refresh();
  2009. //2009-01-30 회신서 출력
  2010. if (sendflag =="prnt"){
  2011. var replcnts1 = title1 + title2; //<Nutritional assessment>
  2012. var replcnts2 = Ritem1 + Ritem2 + Ritem3 + Ritem4 + Ritem5 + Ritem6; //Nutritional plan
  2013. var replcnts3 = Ritem8; //[ Nutrition lab ]
  2014. var replcnts4 = Ritem9;
  2015. model.makeValue("/root/hidden/prntdata/replcnts1", replcnts1); //<Nutritional assessment>
  2016. model.makeValue("/root/hidden/prntdata/replcnts2", replcnts2); //Nutritional plan
  2017. model.makeValue("/root/hidden/prntdata/replcnts3", replcnts3); //[ Nutrition lab ]
  2018. model.makeValue("/root/hidden/prntdata/replcnts4", replcnts4);
  2019. return true
  2020. }
  2021. if(sendflag == true)
  2022. {
  2023. //2009-01-22 PN에 대해서 회신내용 수정가능하도록 처리. formflag : PN -> NST 변경
  2024. // var sel = fSendReplForm(replcnts);
  2025. var sel = fSendReplForm(replcnts,"NST");
  2026. if(sel == "cfm"){
  2027. model.setValue("/root/main/nstinfo/nutrpninfo/replcnts",model.getValue("/root/temp/formdata/replinfo/replcnts"));
  2028. return true;
  2029. }else return false;
  2030. }
  2031. }
  2032. /* ================================= 이하 계산 함수 ================================= */
  2033. /*
  2034. @ 키와 몸무게에 대한 ibw와 기준체중 계산
  2035. - 키와 몸무게 변경시 자동 계산 반영항목
  2036. 1) IBW
  2037. 2) PIBW
  2038. 3) ABW
  2039. 4) 수분요구량
  2040. */
  2041. /* PN - 키와 몸무게에 대한 ibw 계산*/
  2042. function fCalcWeight()
  2043. {
  2044. var wt = model.getValue("/root/main/nstinfo/nutrpninfo/wt");
  2045. var ht = model.getValue("/root/main/nstinfo/nutrpninfo/ht");
  2046. //var abw = model.getValue("/root/main/nstinfo/nutrpninfo/abw");
  2047. if(ht == "")
  2048. {
  2049. return false;
  2050. }
  2051. input108.attribute("editable") = false;
  2052. var ibw = 0;
  2053. var htsqare = eval(ht / 100)
  2054. if(gv_sex == "M")
  2055. {
  2056. ibw = (22 * htsqare * htsqare).toString().getRound( -3,"HALF_UP");
  2057. }
  2058. else
  2059. {
  2060. ibw = (21 * htsqare * htsqare).toString().getRound( -3,"HALF_UP");
  2061. }
  2062. model.setValue("/root/main/nstinfo/nutrpninfo/ibw", ibw);
  2063. fCalcWeightEx();
  2064. }
  2065. /* EN - 키와 몸무게에 대한 ibw 계산*/
  2066. function fCalcWeightEn()
  2067. {
  2068. var wt = model.getValue("/root/main/ennstinfo/nutreninfo/wt");
  2069. var ht = model.getValue("/root/main/ennstinfo/nutreninfo/ht");
  2070. //var abw = model.getValue("/root/main/ennstinfo/nutreninfo/adw");
  2071. if(ht == "")
  2072. {
  2073. return false;
  2074. }
  2075. input108.attribute("editable") = false;
  2076. var ibw = 0;
  2077. var htsqare = eval(ht / 100);
  2078. if(gv_sex == "M")
  2079. {
  2080. ibw = ( 22 * htsqare * htsqare ).toString().getRound( -2,"HALF_UP");
  2081. }
  2082. else
  2083. {
  2084. ibw = ( 21 * htsqare * htsqare ).toString().getRound( -2,"HALF_UP");
  2085. }
  2086. model.setValue("/root/main/ennstinfo/nutreninfo/ibw", ibw );
  2087. fCalcWeightEx();
  2088. }
  2089. /*
  2090. @ PN/EN 기준체중 선택값 설정, 수분요구량 계산
  2091. - 함수호출시
  2092. 1) abw값 계산/설정
  2093. 2) 기준체중 선택값 설정
  2094. 3) 수분요구량 계산/설정
  2095. 4) BEE 계산/설정 함수호출
  2096. 5) 필요열량 계산/설정 함수 호출
  2097. */
  2098. function fCalcWeightEx(){
  2099. if(gv_CnstType == "PN"){
  2100. var wt = parseFloat(model.getValue("/root/main/nstinfo/nutrpninfo/wt"));
  2101. var ht = parseFloat(model.getValue("/root/main/nstinfo/nutrpninfo/ht"));
  2102. var ibw = parseFloat(model.getValue("/root/main/nstinfo/nutrpninfo/ibw"));
  2103. model.setValue("/root/temp/ibwper", (wt / ibw * 100).toString().getRound( -2,"HALF_UP"));
  2104. model.setValue("/root/main/nstinfo/nutrpninfo/pibw", (wt / ibw * 100).toString().getRound( -2,"HALF_UP")); //2010-01-13 PIBW 계산 - iBW %와 동일처리한다
  2105. // ABW 계산식 추가
  2106. var abw = (ibw + (( wt - ibw )*0.25)).toString().getRound( -3,"HALF_UP");
  2107. model.setValue("/root/main/nstinfo/nutrpninfo/abw", abw);
  2108. if(model.getValue("/root/main/nstinfo/nutrpninfo/basewtflag") == "1")
  2109. {
  2110. model.setValue("/root/main/nstinfo/nutrpninfo/basewt", ibw);
  2111. }
  2112. else if(model.getValue("/root/main/nstinfo/nutrpninfo/basewtflag") == "2")
  2113. {
  2114. model.setValue("/root/main/nstinfo/nutrpninfo/basewt", abw);
  2115. //input108.attribute("editable") = true;
  2116. }
  2117. else if(model.getValue("/root/main/nstinfo/nutrpninfo/basewtflag") == "3")
  2118. {
  2119. model.setValue("/root/main/nstinfo/nutrpninfo/basewt", wt);
  2120. }
  2121. var waterreq = (1500 + (20 * (wt - 20))).toString().getRound( -3,"HALF_UP");
  2122. model.setValue("/root/main/nstinfo/nutrpninfo/waterreqvol", waterreq);
  2123. fCalcBee();
  2124. fCalcNeedCal();
  2125. }else if(gv_CnstType == "EN"){
  2126. var wt = parseFloat(model.getValue("/root/main/ennstinfo/nutreninfo/wt"));
  2127. var ht = parseFloat(model.getValue("/root/main/ennstinfo/nutreninfo/ht"));
  2128. var ibw = parseFloat(model.getValue("/root/main/ennstinfo/nutreninfo/ibw"));
  2129. //2009-02-09 IBW => 단백질 로 Setting
  2130. model.setValue( "/root/main/ennstinfo/nutreninfo/prot1", ibw);
  2131. //2008-11-17 전예나 영양사 요청: IBW의 percent -> PIBW로 보여져야 한다고 함.
  2132. // model.setValue("/root/temp/ibwper", wt / ibw * 100);
  2133. model.setValue("/root/main/ennstinfo/nutreninfo/pibw", (wt / ibw * 100).toString().getRound( -2,"HALF_UP"));
  2134. // ABW 계산식 추가
  2135. //2008-11-17 전예나 영양사 요청: PIBW가 120이상일경우만 ABW보여준다
  2136. //var abw = ( ibw + ( wt - ibw )*0.25 ).toString().getRound( -2,"HALF_UP");
  2137. //2009-02-09 전예나 영양사 요청: PIBW가 120이상일경우만 ABW보여준다 (계산방법 바뀜)
  2138. var ubw = parseFloat(model.getValue("/root/main/ennstinfo/nutreninfo/ubw"));
  2139. var abw = (ibw + (( ubw - ibw) * 0.25)).toString().getRound( -2,"HALF_UP");
  2140. if (parseFloat(model.getValue("/root/main/ennstinfo/nutreninfo/pibw")) >= 120 ) {
  2141. model.setValue("/root/main/ennstinfo/nutreninfo/abw", abw);
  2142. }else{
  2143. model.setValue("/root/main/ennstinfo/nutreninfo/abw", "");
  2144. }
  2145. if(model.getValue("/root/main/ennstinfo/nutreninfo/basewtflag") == "1")
  2146. {
  2147. model.setValue("/root/main/ennstinfo/nutreninfo/basewt", ibw);
  2148. }
  2149. else if(model.getValue("/root/main/ennstinfo/nutreninfo/basewtflag") == "2")
  2150. {
  2151. if (model.getValue("/root/main/ennstinfo/nutreninfo/pibw") >= 120 ) {
  2152. model.setValue("/root/main/ennstinfo/nutreninfo/basewt", abw);
  2153. }
  2154. //input108.attribute("editable") = true;
  2155. }
  2156. else if(model.getValue("/root/main/ennstinfo/nutreninfo/basewtflag") == "3")
  2157. {
  2158. model.setValue("/root/main/ennstinfo/nutreninfo/basewt", wt);
  2159. }
  2160. var waterreq = (1500 + (20 * (wt - 20)) ).toString().getRound( -2,"HALF_UP");
  2161. model.setValue("/root/main/ennstinfo/nutreninfo/waterreqvol", waterreq);
  2162. fCalcBeeEn();
  2163. fCalcNeedCalEn();
  2164. }
  2165. }
  2166. /*
  2167. @기초대사량 (Basal Energy Expenditure : BEE) 계산
  2168. - 수식 필요 입력값 (체중, 신장, 나이)
  2169. */
  2170. /* PN - BEE계산*/
  2171. function fCalcBee()
  2172. {
  2173. var manbee;
  2174. var womenbee;
  2175. var wt = model.getValue("/root/main/nstinfo/nutrpninfo/basewt");
  2176. var ht = model.getValue("/root/main/nstinfo/nutrpninfo/ht");
  2177. var age = model.getValue("/root/init/pninfo/basembolinfolist/age");
  2178. if(wt == "" || ht == "") return false;
  2179. manbee = (66.5 + (13.7 * wt) + (5 * ht) - (6.8 * age)).toString().getRound( -3,"HALF_UP");
  2180. womenbee = (655 + (9.6 * wt) + (1.9 * ht) - (4.7 * age)).toString().getRound( -2,"HALF_UP");;
  2181. model.setValue("/root/init/pninfo/basembolinfolist/mbasembolcalc", manbee);
  2182. model.setValue("/root/init/pninfo/basembolinfolist/wbasembolcalc", womenbee);
  2183. if(gv_sex == "M")
  2184. {
  2185. model.setValue("/root/init/bee", manbee);
  2186. }
  2187. else
  2188. {
  2189. model.setValue("/root/init/bee", womenbee);
  2190. }
  2191. }
  2192. /* EN - BEE계산*/
  2193. function fCalcBeeEn()
  2194. {
  2195. var manbee;
  2196. var womenbee;
  2197. var wt = model.getValue("/root/main/ennstinfo/nutreninfo/basewt");
  2198. var ht = model.getValue("/root/main/ennstinfo/nutreninfo/ht");
  2199. var age = model.getValue("/root/init/eninfo/basembolinfolist/age");
  2200. if(wt == "" || ht == "") return false;
  2201. manbee = ( 66.5 + (13.7 * wt) + (5 * ht) - (6.8 * age) ).toString().getRound( -2,"HALF_UP");
  2202. womenbee = ( 655 + (9.6 * wt) + (1.9 * ht) - (4.7 * age) ).toString().getRound( -2,"HALF_UP");
  2203. model.setValue("/root/init/eninfo/basembolinfolist/mbasembolcalc", manbee);
  2204. model.setValue("/root/init/eninfo/basembolinfolist/wbasembolcalc", womenbee);
  2205. if(gv_sex == "M")
  2206. {
  2207. model.setValue("/root/init/bee", manbee);
  2208. }
  2209. else
  2210. {
  2211. model.setValue("/root/init/bee", womenbee);
  2212. }
  2213. }
  2214. //==================================== PN 필요열량 계산========================================
  2215. function fCalcNeedCal(calcflag)
  2216. {
  2217. var bee = model.getValue("/root/init/bee");
  2218. var tcn;
  2219. model.setValue("/root/init/pninfo/needcalrlist/needcalr6", "");
  2220. model.setValue("/root/init/pninfo/needcalrlist/needcalr7", "");
  2221. model.setValue("/root/init/pninfo/needcalrlist/needcalr11", "");
  2222. model.setValue("/root/init/pninfo/needcalrlist/needcalr17", "");
  2223. // #1 => 계수법
  2224. if(model.getValue("/root/main/nstinfo/nutrpninfo/needcalrflag") == "1")
  2225. {
  2226. var need1 = model.getValue("/root/init/pninfo/needcalrlist/needcalr1");
  2227. var need2 = model.getValue("/root/init/pninfo/needcalrlist/needcalr2");
  2228. tcn = need1 * need2;
  2229. model.setValue("/root/init/pninfo/needcalrlist/needcalr7", tcn);
  2230. // #2 => BEE * AF * IF
  2231. }else if(model.getValue("/root/main/nstinfo/nutrpninfo/needcalrflag") == "2"){
  2232. var af = model.getValue("/root/init/pninfo/needcalrlist/needcalr4");
  2233. var ifv = model.getValue("/root/init/pninfo/needcalrlist/needcalr5");
  2234. tcn = bee*af*ifv;
  2235. model.setValue("/root/init/pninfo/needcalrlist/needcalr6", tcn);
  2236. // #3 => BEE * AF * BEE
  2237. }else if(model.getValue("/root/main/nstinfo/nutrpninfo/needcalrflag") == "3"){
  2238. var af = model.getValue("/root/init/pninfo/needcalrlist/needcalr8");
  2239. var ifv = model.getValue("/root/init/pninfo/needcalrlist/needcalr10");
  2240. var question = model.getValue("/root/init/pninfo/needcalrlist/needcalr10");
  2241. tcn = (bee*af) + (bee*question);
  2242. model.setValue("/root/init/pninfo/needcalrlist/needcalr11", tcn);
  2243. // #4
  2244. }else if(model.getValue("/root/main/nstinfo/nutrpninfo/needcalrflag") == "4"){
  2245. var wt = model.getValue("/root/main/nstinfo/nutrpninfo/basewt");
  2246. var ht = model.getValue("/root/main/nstinfo/nutrpninfo/ht");
  2247. var age = model.getValue("/root/init/pninfo/basembolinfolist/age");
  2248. var wmflag = model.getValue("/root/init/pninfo/needcalrlist/needcalr14");
  2249. var preflag = model.getValue("/root/init/pninfo/needcalrlist/needcalr15");
  2250. var preflag2 = model.getValue("/root/init/pninfo/needcalrlist/needcalr16");
  2251. tcn = 1784 - (11 * age) + (5 * wt) + (244 * wmflag) + (239 * preflag) + (804 * preflag2)
  2252. model.setValue("/root/init/pninfo/needcalrlist/needcalr17", tcn);
  2253. }
  2254. if(calcflag != true) model.setValue("/root/main/nstinfo/nutrpninfo/corrcalr", tcn);
  2255. }
  2256. function fCalcNeedCalEn(calcflag)
  2257. {
  2258. var bee = model.getValue("/root/init/bee");
  2259. var tcn;
  2260. model.setValue("/root/init/eninfo/needcalrlist/needcalr6", "");
  2261. model.setValue("/root/init/eninfo/needcalrlist/needcalr7", "");
  2262. model.setValue("/root/init/eninfo/needcalrlist/needcalr11", "");
  2263. model.setValue("/root/init/eninfo/needcalrlist/needcalr17", "");
  2264. if(model.getValue("/root/main/ennstinfo/nutreninfo/needcalrflag") == "1")
  2265. {
  2266. var need1 = model.getValue("/root/init/eninfo/needcalrlist/needcalr1");
  2267. var need2 = model.getValue("/root/init/eninfo/needcalrlist/needcalr2");
  2268. tcn = ( need1 * need2).toString().getRound(-2,"HALF_UP");
  2269. model.setValue("/root/init/eninfo/needcalrlist/needcalr7", tcn);
  2270. }
  2271. else if(model.getValue("/root/main/ennstinfo/nutreninfo/needcalrflag") == "2")
  2272. {
  2273. var af = model.getValue("/root/init/eninfo/needcalrlist/needcalr4");
  2274. var ifv = model.getValue("/root/init/eninfo/needcalrlist/needcalr5");
  2275. tcn = (bee*af*ifv ).toString().getRound(-2,"HALF_UP");
  2276. model.setValue("/root/init/eninfo/needcalrlist/needcalr6", tcn);
  2277. }
  2278. else if(model.getValue("/root/main/ennstinfo/nutreninfo/needcalrflag") == "3")
  2279. {
  2280. var af = model.getValue("/root/init/eninfo/needcalrlist/needcalr8");
  2281. var ifv = model.getValue("/root/init/eninfo/needcalrlist/needcalr10");
  2282. var question = model.getValue("/root/init/eninfo/needcalrlist/needcalr10");
  2283. tcn = ( (bee*af) + (bee*question) ).toString().getRound(-2,"HALF_UP");
  2284. model.setValue("/root/init/eninfo/needcalrlist/needcalr11", tcn);
  2285. }
  2286. else if(model.getValue("/root/main/ennstinfo/nutreninfo/needcalrflag") == "4")
  2287. {
  2288. var wt = model.getValue("/root/main/ennstinfo/nutreninfo/basewt");
  2289. var ht = model.getValue("/root/main/ennstinfo/nutreninfo/ht");
  2290. var age = model.getValue("/root/init/eninfo/basembolinfolist/age");
  2291. var wmflag = model.getValue("/root/init/eninfo/needcalrlist/needcalr14");
  2292. var preflag = model.getValue("/root/init/eninfo/needcalrlist/needcalr15");
  2293. var preflag2 = model.getValue("/root/init/eninfo/needcalrlist/needcalr16");
  2294. tcn = (1784 - (11 * age) + (5 * wt) + (244 * wmflag) + (239 * preflag) + (804 * preflag2) ).toString().getRound(-2,"HALF_UP");
  2295. model.setValue("/root/init/eninfo/needcalrlist/needcalr17", tcn);
  2296. }
  2297. if(calcflag != true) model.setValue("/root/main/ennstinfo/nutreninfo/corrcalr", tcn);
  2298. }
  2299. function fCalcFPN()
  2300. {
  2301. var ov = model.getValue("/root/main/nstinfo/nutrpninfo/prot1");
  2302. var ov2 = model.getValue("/root/main/nstinfo/nutrpninfo/prot2")*0.01;
  2303. var wt = model.getValue("/root/main/nstinfo/nutrpninfo/wt");
  2304. model.setValue("/root/main/nstinfo/nutrpninfo/protcalc1", ov*(ov2));
  2305. model.setValue("/root/main/nstinfo/nutrpninfo/protcalc2", ov * (ov2)/ 6.25);
  2306. //var protcalc2 = model.getValue("/root/main/nstinfo/nutrpninfo/protcalc2"); //2008-10-01 protcalc2 -> protcalc1 이라고 하심(김은희약사)
  2307. var protcalc1 = model.getValue("/root/main/nstinfo/nutrpninfo/protcalc1");
  2308. var protsupl = (protcalc1 / wt);
  2309. model.setValue("/root/main/nstinfo/nutrpninfo/protsuplvol", protsupl);
  2310. //fCalDexwDrugSpd(); //계산식에 의한 계산.
  2311. fCalDexwDrugSpdTPNCD(); //2010-02-23 NST 마스터의 항목(혼합후 dextrose)으로 계산 << 당투여속도 = (혼합후 dextrose %) * ordervolume* 10 / (1440*현재 체중) >>
  2312. fCalRecmDrugVol(); //추천공급량 계산
  2313. }
  2314. /*
  2315. @ 추천공급량 계산
  2316. - 추천공급량 = OrderVolume / 24hr
  2317. */
  2318. function fCalRecmDrugVol(){
  2319. var ov = model.getValue("/root/main/nstinfo/nutrpninfo/prot1");
  2320. var kcalml = "";
  2321. for(i = 1; i <= cmb_nstcode.length; i++){
  2322. if(cmb_nstcode.value == model.getValue("/root/init/codelist/nstcode/codelist["+i+"]/cdnm")){
  2323. nstcodetext = model.getValue("/root/init/codelist/nstcode/codelist["+i+"]/nstcodetext");
  2324. kcalml = model.getValue("/root/init/codelist/nstcode/codelist["+i+"]/kcalml");
  2325. break;
  2326. }
  2327. }
  2328. model.makeValue("/root/main/nstinfo/nutrpninfo/recmdrugvol",(ov*kcalml).toString().getRound(-1,"HALF_UP"));
  2329. }
  2330. function fNstExam()
  2331. {
  2332. //PN LAB 결과값 가져오기 Start
  2333. // model.setValue("/root/send/srchinfo/formrecseq", model.getValue("/root/temp/cnstinfo/formrecseq"));
  2334. // model.setValue("/root/send/srchinfo/pid", model.getValue("/root/temp/cnstinfo/pid"));
  2335. // model.setValue("/root/send/srchinfo/cretno", model.getValue("/root/temp/cnstinfo/cretno"));
  2336. // model.setValue("/root/send/srchinfo/orddd", model.getValue("/root/temp/cnstinfo/orddd"));
  2337. // model.setValue("/root/send/srchinfo/prcpgenrflag", model.getValue("/root/temp/cnstinfo/prcpgenrflag"));
  2338. // model.setValue("/root/send/srchinfo/rgstseqno", model.getValue("/root/temp/cnstinfo/rgstseqno"));
  2339. //2010-02-02 회신 및 임시저장상태일경우 검사결과를 가져오지 않는다.
  2340. var tmpstatflag = model.getValue("/root/main/nstinfo/nutrpninfo/statflag"); //상태
  2341. if (tmpstatflag == "Z" || tmpstatflag == "D" ){ //회신 - 임시저장 상태
  2342. //검사결과 가져오지 않는다
  2343. //alert("검사결과 가져오지 않는다");
  2344. }else{
  2345. submit("TRADC02605");
  2346. if (model.getValue("/root/main/nstinfo/nutrpninfo/alb") =="" ) {
  2347. model.setValue("/root/main/nstinfo/nutrpninfo/alb", model.getValue("/root/init/examrslt/alb"));
  2348. //2010-02-19 NST-PN 검사결과값 없을경우는 [-] 표시
  2349. if (model.getValue("/root/main/nstinfo/nutrpninfo/alb") =="") model.setValue("/root/main/nstinfo/nutrpninfo/alb", "-");
  2350. }
  2351. if (model.getValue("/root/main/nstinfo/nutrpninfo/trf") =="" ) {
  2352. model.setValue("/root/main/nstinfo/nutrpninfo/trf", model.getValue("/root/init/examrslt/trf"));
  2353. //2010-02-19 NST-PN 검사결과값 없을경우는 [-] 표시
  2354. if (model.getValue("/root/main/nstinfo/nutrpninfo/trf") =="") model.setValue("/root/main/nstinfo/nutrpninfo/trf", "-");
  2355. }
  2356. if (model.getValue("/root/main/nstinfo/nutrpninfo/hb") =="" ) {
  2357. model.setValue("/root/main/nstinfo/nutrpninfo/hb", model.getValue("/root/init/examrslt/hb"));
  2358. //2010-02-19 NST-PN 검사결과값 없을경우는 [-] 표시
  2359. if (model.getValue("/root/main/nstinfo/nutrpninfo/hb") =="") model.setValue("/root/main/nstinfo/nutrpninfo/hb", "-");
  2360. }
  2361. if (model.getValue("/root/main/nstinfo/nutrpninfo/na") =="" ) {
  2362. model.setValue("/root/main/nstinfo/nutrpninfo/na", model.getValue("/root/init/examrslt/na"));
  2363. //2010-02-19 NST-PN 검사결과값 없을경우는 [-] 표시
  2364. if (model.getValue("/root/main/nstinfo/nutrpninfo/na") =="") model.setValue("/root/main/nstinfo/nutrpninfo/na", "-");
  2365. }
  2366. if (model.getValue("/root/main/nstinfo/nutrpninfo/k") =="" ) {
  2367. model.setValue("/root/main/nstinfo/nutrpninfo/k", model.getValue("/root/init/examrslt/k"));
  2368. //2010-02-19 NST-PN 검사결과값 없을경우는 [-] 표시
  2369. if (model.getValue("/root/main/nstinfo/nutrpninfo/k") =="") model.setValue("/root/main/nstinfo/nutrpninfo/k", "-");
  2370. }
  2371. if (model.getValue("/root/main/nstinfo/nutrpninfo/cl") =="" ) {
  2372. model.setValue("/root/main/nstinfo/nutrpninfo/cl", model.getValue("/root/init/examrslt/cl"));
  2373. //2010-02-19 NST-PN 검사결과값 없을경우는 [-] 표시
  2374. if (model.getValue("/root/main/nstinfo/nutrpninfo/cl") =="") model.setValue("/root/main/nstinfo/nutrpninfo/cl", "-");
  2375. }
  2376. //2010-02-04 검사결과 항목추가
  2377. if (model.getValue("/root/main/nstinfo/nutrpninfo/tlc") =="" ) {
  2378. //2010-02-10 TLC 결과값 변경(=WBC count (LHR100) * Lymphocytes(LHR10503) /1000*100 변경)
  2379. var wbc = model.getValue("/root/init/examrslt/wbc");
  2380. var tlc = model.getValue("/root/init/examrslt/tlc");
  2381. if ((wbc!="")&& (tlc!="")) {
  2382. var calc_tlc = (wbc * tlc * 10 ).toString().getRound(-3,"HALF_UP")
  2383. model.setValue("/root/main/nstinfo/nutrpninfo/tlc", calc_tlc);
  2384. }
  2385. //2010-02-19 NST-PN 검사결과값 없을경우는 [-] 표시
  2386. if (model.getValue("/root/main/nstinfo/nutrpninfo/tlc") =="") model.setValue("/root/main/nstinfo/nutrpninfo/tlc", "-");
  2387. }
  2388. if (model.getValue("/root/main/nstinfo/nutrpninfo/hct") =="" ) {
  2389. model.setValue("/root/main/nstinfo/nutrpninfo/hct", model.getValue("/root/init/examrslt/hct"));
  2390. //2010-02-19 NST-PN 검사결과값 없을경우는 [-] 표시
  2391. if (model.getValue("/root/main/nstinfo/nutrpninfo/hct") =="") model.setValue("/root/main/nstinfo/nutrpninfo/hct", "-");
  2392. }
  2393. if (model.getValue("/root/main/nstinfo/nutrpninfo/rbp") =="" ) {
  2394. model.setValue("/root/main/nstinfo/nutrpninfo/rbp", model.getValue("/root/init/examrslt/rbp"));
  2395. //2010-02-19 NST-PN 검사결과값 없을경우는 [-] 표시
  2396. if (model.getValue("/root/main/nstinfo/nutrpninfo/rbp") =="") model.setValue("/root/main/nstinfo/nutrpninfo/rbp", "-");
  2397. }
  2398. if (model.getValue("/root/main/nstinfo/nutrpninfo/bun") =="" ) {
  2399. model.setValue("/root/main/nstinfo/nutrpninfo/bun", model.getValue("/root/init/examrslt/bun"));
  2400. //2010-02-19 NST-PN 검사결과값 없을경우는 [-] 표시
  2401. if (model.getValue("/root/main/nstinfo/nutrpninfo/bun") =="") model.setValue("/root/main/nstinfo/nutrpninfo/bun", "-");
  2402. }
  2403. if (model.getValue("/root/main/nstinfo/nutrpninfo/cr") =="" ) {
  2404. model.setValue("/root/main/nstinfo/nutrpninfo/cr", model.getValue("/root/init/examrslt/cr"));
  2405. //2010-02-19 NST-PN 검사결과값 없을경우는 [-] 표시
  2406. if (model.getValue("/root/main/nstinfo/nutrpninfo/cr") =="") model.setValue("/root/main/nstinfo/nutrpninfo/cr", "-");
  2407. }
  2408. if (model.getValue("/root/main/nstinfo/nutrpninfo/chol") =="" ) {
  2409. model.setValue("/root/main/nstinfo/nutrpninfo/chol", model.getValue("/root/init/examrslt/chol"));
  2410. //2010-02-19 NST-PN 검사결과값 없을경우는 [-] 표시
  2411. if (model.getValue("/root/main/nstinfo/nutrpninfo/chol") =="") model.setValue("/root/main/nstinfo/nutrpninfo/chol", "-");
  2412. }
  2413. if (model.getValue("/root/main/nstinfo/nutrpninfo/tg") =="" ) {
  2414. model.setValue("/root/main/nstinfo/nutrpninfo/tg", model.getValue("/root/init/examrslt/tg"));
  2415. //2010-02-19 NST-PN 검사결과값 없을경우는 [-] 표시
  2416. if (model.getValue("/root/main/nstinfo/nutrpninfo/tg") =="") model.setValue("/root/main/nstinfo/nutrpninfo/tg", "-");
  2417. }
  2418. if (model.getValue("/root/main/nstinfo/nutrpninfo/ca") =="" ) {
  2419. model.setValue("/root/main/nstinfo/nutrpninfo/ca", model.getValue("/root/init/examrslt/ca"));
  2420. //2010-02-19 NST-PN 검사결과값 없을경우는 [-] 표시
  2421. if (model.getValue("/root/main/nstinfo/nutrpninfo/ca") =="") model.setValue("/root/main/nstinfo/nutrpninfo/ca", "-");
  2422. }
  2423. if (model.getValue("/root/main/nstinfo/nutrpninfo/p") =="" ) {
  2424. model.setValue("/root/main/nstinfo/nutrpninfo/p", model.getValue("/root/init/examrslt/p"));
  2425. //2010-02-19 NST-PN 검사결과값 없을경우는 [-] 표시
  2426. if (model.getValue("/root/main/nstinfo/nutrpninfo/p") =="") model.setValue("/root/main/nstinfo/nutrpninfo/p", "-");
  2427. }
  2428. if (model.getValue("/root/main/nstinfo/nutrpninfo/mg") =="" ) {
  2429. model.setValue("/root/main/nstinfo/nutrpninfo/mg", model.getValue("/root/init/examrslt/mg"));
  2430. //2010-02-19 NST-PN 검사결과값 없을경우는 [-] 표시
  2431. if (model.getValue("/root/main/nstinfo/nutrpninfo/mg") =="") model.setValue("/root/main/nstinfo/nutrpninfo/mg", "-");
  2432. }
  2433. if (model.getValue("/root/main/nstinfo/nutrpninfo/uun") =="" ) {
  2434. if (model.getValue("/root/init/examrslt/uun") !="") {
  2435. model.setValue("/root/main/nstinfo/nutrpninfo/uun", (model.getValue("/root/init/examrslt/uun") * 0.476));
  2436. }
  2437. //2010-02-19 NST-PN 검사결과값 없을경우는 [-] 표시 - UUN은 Null일경우는 nbcalval(계산값) ='-'
  2438. if (model.getValue("/root/main/nstinfo/nutrpninfo/uun") =="") model.setValue("/root/main/nstinfo/nutrpninfo/nbcalval", "-");
  2439. }
  2440. fNstPatHtWt(); // 2010-05-10 임상관찰기록지 or 간호정보조사지 키와 체중 가져오기
  2441. }
  2442. //LAB 결과값 조회 End
  2443. }
  2444. function fNstExamEn()
  2445. {
  2446. // EN LAB 결과값 가져오기 Start
  2447. // model.setValue("/root/send/srchinfo/formrecseq", model.getValue("/root/temp/cnstinfo/formrecseq"));
  2448. // model.setValue("/root/send/srchinfo/pid", model.getValue("/root/temp/cnstinfo/pid"));
  2449. // model.setValue("/root/send/srchinfo/cretno", model.getValue("/root/temp/cnstinfo/cretno"));
  2450. // model.setValue("/root/send/srchinfo/orddd", model.getValue("/root/temp/cnstinfo/orddd"));
  2451. // model.setValue("/root/send/srchinfo/prcpgenrflag", model.getValue("/root/temp/cnstinfo/prcpgenrflag"));
  2452. // model.setValue("/root/send/srchinfo/rgstseqno", model.getValue("/root/temp/cnstinfo/rgstseqno"));
  2453. //2010-02-02 회신 및 임시저장상태일경우 검사결과를 가져오지 않는다.
  2454. var tmpstatflag = model.getValue("/root/main/ennstinfo/nutreninfo/statflag"); //상태
  2455. if (tmpstatflag == "Z" || tmpstatflag == "D" ){ //회신 - 임시저장 상태
  2456. //검사결과 가져오지 않는다
  2457. //alert("검사결과 가져오지 않는다");
  2458. }else{
  2459. submit("TRADC02605");
  2460. if (model.getValue("/root/main/ennstinfo/nutreninfo/alb") =="" ) {
  2461. model.setValue("/root/main/ennstinfo/nutreninfo/alb", model.getValue("/root/init/examrslt/alb"));
  2462. }
  2463. if (model.getValue("/root/main/ennstinfo/nutreninfo/trf") =="" ) {
  2464. model.setValue("/root/main/ennstinfo/nutreninfo/trf", model.getValue("/root/init/examrslt/trf"));
  2465. }
  2466. if (model.getValue("/root/main/ennstinfo/nutreninfo/hb") =="" ) {
  2467. model.setValue("/root/main/ennstinfo/nutreninfo/hb", model.getValue("/root/init/examrslt/hb"));
  2468. }
  2469. if (model.getValue("/root/main/ennstinfo/nutreninfo/na") =="" ) {
  2470. model.setValue("/root/main/ennstinfo/nutreninfo/na", model.getValue("/root/init/examrslt/na"));
  2471. }
  2472. if (model.getValue("/root/main/ennstinfo/nutreninfo/k") =="" ) {
  2473. model.setValue("/root/main/ennstinfo/nutreninfo/k", model.getValue("/root/init/examrslt/k"));
  2474. }
  2475. if (model.getValue("/root/main/ennstinfo/nutreninfo/cl") =="" ) {
  2476. model.setValue("/root/main/ennstinfo/nutreninfo/cl", model.getValue("/root/init/examrslt/cl"));
  2477. }
  2478. //2010-02-04 검사결과 항목추가
  2479. if (model.getValue("/root/main/ennstinfo/nutreninfo/tlc") =="" ) {
  2480. //2010-02-10 TLC 결과값 변경(=WBC count (LHR100) * Lymphocytes(LHR10503) /1000*100 변경)
  2481. var wbc = model.getValue("/root/init/examrslt/wbc");
  2482. var tlc = model.getValue("/root/init/examrslt/tlc");
  2483. if ((wbc!="")&& (tlc!="")) {
  2484. var calc_tlc = (wbc * tlc * 10 ).toString().getRound(-3,"HALF_UP")
  2485. model.setValue("/root/main/ennstinfo/nutreninfo/tlc", calc_tlc);
  2486. }
  2487. }
  2488. if (model.getValue("/root/main/ennstinfo/nutreninfo/hct") =="" ) {
  2489. model.setValue("/root/main/ennstinfo/nutreninfo/hct", model.getValue("/root/init/examrslt/hct"));
  2490. }
  2491. if (model.getValue("/root/main/ennstinfo/nutreninfo/rbp") =="" ) {
  2492. model.setValue("/root/main/ennstinfo/nutreninfo/rbp", model.getValue("/root/init/examrslt/rbp"));
  2493. }
  2494. if (model.getValue("/root/main/ennstinfo/nutreninfo/bun") =="" ) {
  2495. model.setValue("/root/main/ennstinfo/nutreninfo/bun", model.getValue("/root/init/examrslt/bun"));
  2496. }
  2497. if (model.getValue("/root/main/ennstinfo/nutreninfo/cr") =="" ) {
  2498. model.setValue("/root/main/ennstinfo/nutreninfo/cr", model.getValue("/root/init/examrslt/cr"));
  2499. }
  2500. if (model.getValue("/root/main/ennstinfo/nutreninfo/chol") =="" ) {
  2501. model.setValue("/root/main/ennstinfo/nutreninfo/chol", model.getValue("/root/init/examrslt/chol"));
  2502. }
  2503. if (model.getValue("/root/main/ennstinfo/nutreninfo/tg") =="" ) {
  2504. model.setValue("/root/main/ennstinfo/nutreninfo/tg", model.getValue("/root/init/examrslt/tg"));
  2505. }
  2506. if (model.getValue("/root/main/ennstinfo/nutreninfo/ca") =="" ) {
  2507. model.setValue("/root/main/ennstinfo/nutreninfo/ca", model.getValue("/root/init/examrslt/ca"));
  2508. }
  2509. if (model.getValue("/root/main/ennstinfo/nutreninfo/p") =="" ) {
  2510. model.setValue("/root/main/ennstinfo/nutreninfo/p", model.getValue("/root/init/examrslt/p"));
  2511. }
  2512. if (model.getValue("/root/main/ennstinfo/nutreninfo/mg") =="" ) {
  2513. model.setValue("/root/main/ennstinfo/nutreninfo/mg", model.getValue("/root/init/examrslt/mg"));
  2514. }
  2515. fNstPatHtWt(); // 2010-05-10 임상관찰기록지 or 간호정보조사지 키와 체중 가져오기
  2516. }
  2517. // LAB 결과값 가져오기 End
  2518. }
  2519. // 2010-05-10 임상관찰기록지 or 간호정보조사지 키와 체중 가져오기
  2520. function fNstPatHtWt(tmpNstNodepath)
  2521. {
  2522. submit("TRADC02614"); //임상관찰기록지에 없을경우 간호정보사지의 키와체중가져온다 //nstnoedpath
  2523. if(gv_CnstType == "PN") {
  2524. if (model.getValue("/root/main/nstinfo/nutrpninfo/ht") =="" ) { //키
  2525. model.setValue("/root/main/nstinfo/nutrpninfo/ht", model.getValue("/root/init/pathtwtlist/patbdht"));
  2526. }
  2527. if (model.getValue("/root/main/nstinfo/nutrpninfo/wt") =="" ) { //체중
  2528. model.setValue("/root/main/nstinfo/nutrpninfo/wt", model.getValue("/root/init/pathtwtlist/patbdwt"));
  2529. }
  2530. input82.dispatch("DOMFocusOut");
  2531. }else if(gv_CnstType == "EN") {
  2532. if (model.getValue("/root/main/ennstinfo/nutreninfo/ht") =="" ) { //키
  2533. model.setValue("/root/main/ennstinfo/nutreninfo/ht", model.getValue("/root/init/pathtwtlist/patbdht"));
  2534. }
  2535. if (model.getValue("/root/main/ennstinfo/nutreninfo/wt") =="" ) { //체중
  2536. model.setValue("/root/main/ennstinfo/nutreninfo/wt", model.getValue("/root/init/pathtwtlist/patbdwt"));
  2537. }
  2538. input1.dispatch("DOMFocusOut");
  2539. }else if(gv_CnstType == "EDU") {
  2540. if (model.getValue(tmpNstNodepath + "ht") =="" ) { //키
  2541. model.setValue(tmpNstNodepath + "ht", model.getValue("/root/init/pathtwtlist/patbdht"));
  2542. }
  2543. if (model.getValue(tmpNstNodepath + "wt") =="" ) { //체중
  2544. model.setValue(tmpNstNodepath + "wt", model.getValue("/root/init/pathtwtlist/patbdwt"));
  2545. }
  2546. input155.dispatch("DOMFocusOut");
  2547. }else {
  2548. if (model.getValue(tmpNstNodepath + "ht") =="" ) { //키
  2549. model.setValue(tmpNstNodepath + "ht", model.getValue("/root/init/pathtwtlist/patbdht"));
  2550. }
  2551. if (model.getValue(tmpNstNodepath + "wt") =="" ) { //체중
  2552. model.setValue(tmpNstNodepath + "wt", model.getValue("/root/init/pathtwtlist/patbdwt"));
  2553. }
  2554. input175.dispatch("DOMFocusOut");
  2555. }
  2556. }
  2557. function fCalcNbalance()
  2558. {
  2559. var intake = model.getValue("/root/main/nstinfo/nutrpninfo/nbintake");
  2560. var uun = model.getValue("/root/main/nstinfo/nutrpninfo/uun");
  2561. var nbalance = intake - (uun * 1.2 + 2);
  2562. model.setValue("/root/main/nstinfo/nutrpninfo/nbcalval", nbalance);
  2563. }
  2564. //2009-02-10 Wt Change kg / % 구하기 추가
  2565. function fCalcWtChangeEn() {
  2566. var wt = model.getValue("/root/main/ennstinfo/nutreninfo/wt");
  2567. var ubw = model.getValue("/root/main/ennstinfo/nutreninfo/ubw");
  2568. var wtchngkg;
  2569. var wtchngperc;
  2570. wtchngkg = ( wt - ubw ).toString().getRound(-2,"HALF_UP") ;
  2571. wtchngperc = ( ( wt - ubw ) / ubw *100 ).toString().getRound(-2,"HALF_UP");
  2572. model.setValue("/root/main/ennstinfo/nutreninfo/wtchngkg", wtchngkg ); // Wt Change - kg
  2573. model.setValue("/root/main/ennstinfo/nutreninfo/wtchngperc", wtchngperc ); // Wt Change %
  2574. fCalcWeightEn();
  2575. }
  2576. //2010-01-11 Wt Change kg / % 구하기 추가
  2577. function fCalcWtChange() {
  2578. var wt = model.getValue("/root/main/nstinfo/nutrpninfo/wt");
  2579. var wtchngkg = model.getValue("/root/main/nstinfo/nutrpninfo/wtchngkg");
  2580. var wtchngperc;
  2581. if (wt !="") {
  2582. wtchngperc = (wtchngkg /(wt-wtchngkg) * 100).toString().getRound(-2,"HALF_UP"); // Change %
  2583. model.setValue("/root/main/nstinfo/nutrpninfo/wtchngprec", wtchngperc ) // Wt
  2584. if (wtchngperc == '0') model.setValue("/root/main/nstinfo/nutrpninfo/wtchngprec", "" ); //2010-01-26 0일경우 Null 처리 (0-> 회신내역에 출력됨)
  2585. }else{
  2586. model.setValue("/root/main/nstinfo/nutrpninfo/wtchngprec", "" ); // Wt
  2587. }
  2588. }
  2589. function fCalcFPNEn()
  2590. {
  2591. var ov = model.getValue("/root/main/ennstinfo/nutreninfo/prot1");
  2592. var ov2 = model.getValue("/root/main/ennstinfo/nutreninfo/prot2");
  2593. model.setValue("/root/main/ennstinfo/nutreninfo/protcalc", ( ov*ov2).toString().getRound(-2,"HALF_UP"));
  2594. var wt = model.getValue("/root/main/ennstinfo/nutreninfo/wt");
  2595. }
  2596. function fCalcNbalanceEn()
  2597. {
  2598. var intake = model.getValue("/root/main/ennstinfo/nutreninfo/nbintake");
  2599. var uun = model.getValue("/root/main/ennstinfo/nutreninfo/uun");
  2600. var nbalance = ( intake - (uun * 1.2 + 2) ).toString().getRound(-2,"HALF_UP");
  2601. model.setValue("/root/main/ennstinfo/nutreninfo/nbcalval", nbalance);
  2602. }
  2603. /*
  2604. @ 미의뢰 회신 - 조회된 환자정보 변수 설정
  2605. */
  2606. function fCretCnstinfo(){
  2607. orddd = model.getValue("/root/main/patinfo/baseinfo/orddd");
  2608. cretno = model.getValue("/root/main/patinfo/baseinfo/cretno");
  2609. chosflag = model.getValue("/root/main/patinfo/baseinfo/prcpgenrflag");
  2610. reqdeptcd = getUserInfo("dutplcecd"); // 미의뢰회신 : 의뢰과를 로그인 사용자의 부서로..
  2611. requserid = getUserId(); // 미의뢰회신 : 의뢰자를 로그인 사용자로..
  2612. //reqdeptcd = model.getValue("/root/main/patinfo/baseinfo/orddeptcd"); //2009-01-22 미의뢰회신 : 주치의 부서로..
  2613. //requserid = model.getValue("/root/main/patinfo/baseinfo/orddrcd"); //2009-01-22 미의뢰회신 : 주치의로..
  2614. }
  2615. // 미의뢰 회신 - mmrchcnstinfo, adchcnstinfo 테이블 정보생성
  2616. function fSetCnstinfo(){
  2617. model.makeValue("/root/main/nstinfo/nutrpninfo/cnstkind", cnstkind);
  2618. model.makeValue("/root/main/nstinfo/nutrpninfo/orddd", orddd);
  2619. model.makeValue("/root/main/nstinfo/nutrpninfo/cretno", cretno);
  2620. model.makeValue("/root/main/nstinfo/nutrpninfo/chosflag", chosflag);
  2621. model.makeValue("/root/main/nstinfo/nutrpninfo/cnstflag", cnstflag);
  2622. model.makeValue("/root/main/nstinfo/nutrpninfo/formcd", formcd);
  2623. model.makeValue("/root/main/nstinfo/nutrpninfo/eryn", eryn);
  2624. model.makeValue("/root/main/nstinfo/nutrpninfo/reqdeptcd", reqdeptcd);
  2625. model.makeValue("/root/main/nstinfo/nutrpninfo/requserid", requserid);
  2626. model.makeValue("/root/main/nstinfo/nutrpninfo/reqdd", reqdd);
  2627. model.makeValue("/root/main/nstinfo/nutrpninfo/reqhm", reqhm);
  2628. model.makeValue("/root/main/nstinfo/nutrpninfo/prcpno", prcpno);
  2629. model.makeValue("/root/main/nstinfo/nutrpninfo/prcpcd", prcpcd);
  2630. }
  2631. // 미의뢰 회신 - mmrchcnstinfo, adchcnstinfo 테이블 정보생성 ( EN )
  2632. function fSetCnstinfo_EN(tmpNstNodepath){
  2633. model.makeValue(tmpNstNodepath + "cnstkind" ,cnstkind);
  2634. model.makeValue(tmpNstNodepath + "orddd" ,orddd);
  2635. model.makeValue(tmpNstNodepath + "cretno" ,cretno);
  2636. model.makeValue(tmpNstNodepath + "chosflag" ,chosflag);
  2637. model.makeValue(tmpNstNodepath + "cnstflag" ,cnstflag);
  2638. model.makeValue(tmpNstNodepath + "formcd" ,formcd);
  2639. model.makeValue(tmpNstNodepath + "eryn" ,eryn);
  2640. model.makeValue(tmpNstNodepath + "reqdeptcd" ,reqdeptcd);
  2641. model.makeValue(tmpNstNodepath + "requserid" ,requserid);
  2642. model.makeValue(tmpNstNodepath + "reqdd" ,reqdd);
  2643. model.makeValue(tmpNstNodepath + "reqhm" ,reqhm);
  2644. model.makeValue(tmpNstNodepath + "prcpno" ,prcpno);
  2645. model.makeValue(tmpNstNodepath + "prcpcd" ,prcpcd);
  2646. }
  2647. // 추구관리 회신 - mmrchcnstinfo, adchcnstinfo 테이블 정보생성
  2648. function fSetCnstinfoPurs(tmpNstNodepath,tmpNewFlag){
  2649. if (tmpNewFlag == "Y") {
  2650. model.makeValue(tmpNstNodepath + "cnstseqno" ,""); // 추구관리-의뢰구분
  2651. model.makeValue(tmpNstNodepath + "formrecseq" ,""); // 추구관리-formrecseq
  2652. model.makeValue(tmpNstNodepath + "rgstseqno" ,""); // 추구관리-"rgstseqno"
  2653. }
  2654. model.makeValue(tmpNstNodepath + "cnstkind" ,"A");
  2655. model.makeValue(tmpNstNodepath + "orddd" ,model.getValue("/root/main/patinfo/baseinfo/orddd"));
  2656. model.makeValue(tmpNstNodepath + "cretno" ,model.getValue("/root/main/patinfo/baseinfo/cretno"));
  2657. model.makeValue(tmpNstNodepath + "chosflag" ,model.getValue("/root/main/patinfo/baseinfo/prcpgenrflag"));
  2658. model.makeValue(tmpNstNodepath + "cnstflag" ,cnstflag);
  2659. model.makeValue(tmpNstNodepath + "formcd" ,formcd);
  2660. model.makeValue(tmpNstNodepath + "eryn" ,eryn);
  2661. model.makeValue(tmpNstNodepath + "reqdeptcd" ,model.getValue("/root/main/patinfo/baseinfo/orddeptcd"));
  2662. model.makeValue(tmpNstNodepath + "requserid" ,model.getValue("/root/main/patinfo/baseinfo/orddrcd"));
  2663. model.makeValue(tmpNstNodepath + "reqdd" ,model.getValue("/root/main/patinfo/baseinfo/cnstdd").substring(0, 8));
  2664. model.makeValue(tmpNstNodepath + "reqhm" ,model.getValue("/root/main/patinfo/baseinfo/cnstdd").substring(9,12));
  2665. model.makeValue(tmpNstNodepath + "prcpno" ,model.getValue("/root/main/patinfo/baseinfo/prcpno"));
  2666. model.makeValue(tmpNstNodepath + "prcpcd" ,model.getValue("/root/main/patinfo/baseinfo/prcpcd"));
  2667. }
  2668. function fGetCodeList(submitID, code, targetNode){
  2669. if(submitID == "TRADC02607"){
  2670. model.setValue("/root/send/srchinfo/code", code);
  2671. submit("TRADC02607");
  2672. }else{
  2673. submit("TRADC02608");
  2674. }
  2675. if(getNodesetCount("/root/temp/code/codelist") != 0){
  2676. model.copyNode(targetNode, "/root/temp/code");
  2677. }
  2678. }
  2679. function fGetNstDrCode(submitID, code,reqdd, targetNode){
  2680. if(submitID == "TRADC02616"){
  2681. model.setValue("/root/send/srchinfo/code", code);
  2682. model.makeValue("/root/send/srchinfo/reqdd", reqdd);
  2683. submit("TRADC02616");
  2684. }
  2685. if(getNodesetCount("/root/temp/code/codelist") != 0){
  2686. model.copyNode(targetNode, "/root/temp/code");
  2687. }
  2688. }
  2689. /*
  2690. @ 기초대사량 설정 (Basal Energy Expenditure : BEE)
  2691. - 성별에 의해 설정되어지는 변수가 다름
  2692. */
  2693. function fSetBee(NstFlag){
  2694. if(NstFlag == "PN"){
  2695. if( isSearchString(gv_sex,"M")) {
  2696. ipt_mbasembolkg.disabled = false; // M : kg
  2697. ipt_mbasembolcm.disabled = false; // M : cm
  2698. ipt_mbasembolyy.disabled = false; // M : yr
  2699. ipt_mbasembolcalc.disabled = false; // M : 기초대사량
  2700. ipt_wbasembolkg.disabled = true; // W : kg
  2701. ipt_wbasembolcm.disabled = true; // W : cm
  2702. ipt_wbasembolyy.disabled = true; // W : yr
  2703. ipt_wbasembolcalc.disabled = true; // W : 기초대사량
  2704. ipt_wbasembolcalc.visible = false; // W : 기초대사량
  2705. model.setValue("/root/init/pninfo/basembolinfolist/wbasembolkg", "");
  2706. model.setValue("/root/init/pninfo/basembolinfolist/wbasembolcm", "");
  2707. model.setValue("/root/init/pninfo/basembolinfolist/wbasembolyy", "");
  2708. model.setValue("/root/init/pninfo/basembolinfolist/wbasembolcalc", "");
  2709. model.setValue("/root/init/pninfo/basembolinfolist/mbasembolkg", model.getValue("/root/main/nstinfo/nutrpninfo/basembolkg"));
  2710. model.setValue("/root/init/pninfo/basembolinfolist/mbasembolcm", model.getValue("/root/main/nstinfo/nutrpninfo/basembolcm"));
  2711. model.setValue("/root/init/pninfo/basembolinfolist/mbasembolyy", model.getValue("/root/main/nstinfo/nutrpninfo/basembolyy"));
  2712. model.setValue("/root/init/pninfo/basembolinfolist/mbasembolcalc", model.getValue("/root/main/nstinfo/nutrpninfo/basembolcalc"));
  2713. }
  2714. if( isSearchString(gv_sex,"F")) {
  2715. ipt_mbasembolkg.disabled = true;
  2716. ipt_mbasembolcm.disabled = true;
  2717. ipt_mbasembolyy.disabled = true;
  2718. ipt_mbasembolcalc.disabled = true;
  2719. ipt_wbasembolkg.disabled = false;
  2720. ipt_wbasembolcm.disabled = false;
  2721. ipt_wbasembolyy.disabled = false;
  2722. ipt_wbasembolcalc.disabled = false;
  2723. ipt_mbasembolcalc.visible = false;
  2724. model.setValue("/root/init/pninfo/basembolinfolist/wbasembolkg", model.getValue("/root/main/nstinfo/nutrpninfo/basembolkg"));
  2725. model.setValue("/root/init/pninfo/basembolinfolist/wbasembolcm", model.getValue("/root/main/nstinfo/nutrpninfo/basembolcm"));
  2726. model.setValue("/root/init/pninfo/basembolinfolist/wbasembolyy", model.getValue("/root/main/nstinfo/nutrpninfo/basembolyy"));
  2727. model.setValue("/root/init/pninfo/basembolinfolist/wbasembolcalc", model.getValue("/root/main/nstinfo/nutrpninfo/basembolcalc"));
  2728. model.setValue("/root/init/pninfo/basembolinfolist/mbasembolkg", "");
  2729. model.setValue("/root/init/pninfo/basembolinfolist/mbasembolcm", "");
  2730. model.setValue("/root/init/pninfo/basembolinfolist/mbasembolyy", "");
  2731. model.setValue("/root/init/pninfo/basembolinfolist/mbasembolcalc", "");
  2732. }
  2733. }else if (NstFlag == "EN"){
  2734. if( isSearchString(gv_sex,"M")) {
  2735. ipt_mkg.disabled = false;
  2736. ipt_mcm.disabled = false;
  2737. ipt_myr.disabled = false;
  2738. ipt_mtotal.disabled = false;
  2739. ipt_wkg.disabled = true;
  2740. ipt_wcm.disabled = true;
  2741. ipt_wyr.disabled = true;
  2742. ipt_wtotal.disabled = true;
  2743. ipt_wtotal.visible = false;
  2744. model.setValue("/root/init/eninfo/basembolinfolist/wbasembolkg", "");
  2745. model.setValue("/root/init/eninfo/basembolinfolist/wbasembolcm", "");
  2746. model.setValue("/root/init/eninfo/basembolinfolist/wbasembolyy", "");
  2747. model.setValue("/root/init/eninfo/basembolinfolist/wbasembolcalc", "");
  2748. model.setValue("/root/init/eninfo/basembolinfolist/mbasembolkg", model.getValue("/root/main/ennstinfo/nutreninfo/basembolkg"));
  2749. model.setValue("/root/init/eninfo/basembolinfolist/mbasembolcm", model.getValue("/root/main/ennstinfo/nutreninfo/basembolcm"));
  2750. model.setValue("/root/init/eninfo/basembolinfolist/mbasembolyy", model.getValue("/root/main/ennstinfo/nutreninfo/basembolyy"));
  2751. model.setValue("/root/init/eninfo/basembolinfolist/mbasembolcalc", model.getValue("/root/main/ennstinfo/nutreninfo/basembolcalc"));
  2752. }
  2753. if( isSearchString(gv_sex,"F")) {
  2754. ipt_mkg.disabled = true;
  2755. ipt_mcm.disabled = true;
  2756. ipt_myr.disabled = true;
  2757. ipt_mtotal.disabled = true;
  2758. ipt_wkg.disabled = false;
  2759. ipt_wcm.disabled = false;
  2760. ipt_wyr.disabled = false;
  2761. ipt_wtotal.disabled = false;
  2762. ipt_mtotal.visible = false;
  2763. model.setValue("/root/init/eninfo/basembolinfolist/wbasembolkg", model.getValue("/root/main/ennstinfo/nutreninfo/basembolkg"));
  2764. model.setValue("/root/init/eninfo/basembolinfolist/wbasembolcm", model.getValue("/root/main/ennstinfo/nutreninfo/basembolcm"));
  2765. model.setValue("/root/init/eninfo/basembolinfolist/wbasembolyy", model.getValue("/root/main/ennstinfo/nutreninfo/basembolyy"));
  2766. model.setValue("/root/init/eninfo/basembolinfolist/wbasembolcalc", model.getValue("/root/main/ennstinfo/nutreninfo/basembolcalc"));
  2767. model.setValue("/root/init/eninfo/basembolinfolist/mbasembolkg", "");
  2768. model.setValue("/root/init/eninfo/basembolinfolist/mbasembolcm", "");
  2769. model.setValue("/root/init/eninfo/basembolinfolist/mbasembolyy", "");
  2770. model.setValue("/root/init/eninfo/basembolinfolist/mbasembolcalc", "");
  2771. }
  2772. }
  2773. }
  2774. /*
  2775. @ 필요열량 설정 (Total Caloric Need : TCN)
  2776. - 기존에 선택된 항목에 의해 설정되는 변수가 상이함
  2777. */
  2778. function fSetTCN(NstFlag){
  2779. if( NstFlag == "PN"){
  2780. // 노드 초기화
  2781. model.resetInstanceNode("/root/init/pninfo/needcalrlist");
  2782. /*
  2783. 필요열량 선택값 (radio button) - /root/main/nstinfo/nutrpninfo/needcalrflag
  2784. */
  2785. if( model.getValue("/root/main/nstinfo/nutrpninfo/needcalrflag") == "1" ) {
  2786. model.setValue("/root/init/pninfo/needcalrlist/needcalr1", model.getValue("/root/main/nstinfo/nutrpninfo/needcalr1"));
  2787. model.setValue("/root/init/pninfo/needcalrlist/needcalr2", model.getValue("/root/main/nstinfo/nutrpninfo/needcalr2"));
  2788. }
  2789. if( model.getValue("/root/main/nstinfo/nutrpninfo/needcalrflag") == "2" ) {
  2790. model.setValue("/root/init/pninfo/needcalrlist/needcalr3", model.getValue("/root/main/nstinfo/nutrpninfo/needcalr1"));
  2791. model.setValue("/root/init/pninfo/needcalrlist/needcalr4", model.getValue("/root/main/nstinfo/nutrpninfo/needcalr2"));
  2792. model.setValue("/root/init/pninfo/needcalrlist/needcalr5", model.getValue("/root/main/nstinfo/nutrpninfo/needcalr3"));
  2793. model.setValue("/root/init/pninfo/needcalrlist/needcalr6", model.getValue("/root/main/nstinfo/nutrpninfo/needcalrcalc"));
  2794. }
  2795. if( model.getValue("/root/main/nstinfo/nutrpninfo/needcalrflag") == "3" ) {
  2796. model.setValue("/root/init/pninfo/needcalrlist/needcalr7", model.getValue("/root/main/nstinfo/nutrpninfo/needcalr1"));
  2797. model.setValue("/root/init/pninfo/needcalrlist/needcalr8", model.getValue("/root/main/nstinfo/nutrpninfo/needcalr2"));
  2798. model.setValue("/root/init/pninfo/needcalrlist/needcalr9", model.getValue("/root/main/nstinfo/nutrpninfo/needcalr3"));
  2799. model.setValue("/root/init/pninfo/needcalrlist/needcalr10", model.getValue("/root/main/nstinfo/nutrpninfo/needcalr4"));
  2800. model.setValue("/root/init/pninfo/needcalrlist/needcalr11", model.getValue("/root/main/nstinfo/nutrpninfo/needcalrcalc"));
  2801. }
  2802. if( model.getValue("/root/main/nstinfo/nutrpninfo/needcalrflag") == "4" ) {
  2803. model.setValue("/root/init/pninfo/needcalrlist/needcalr12", model.getValue("/root/main/nstinfo/nutrpninfo/needcalr1"));
  2804. model.setValue("/root/init/pninfo/needcalrlist/needcalr13", model.getValue("/root/main/nstinfo/nutrpninfo/needcalr2"));
  2805. model.setValue("/root/init/pninfo/needcalrlist/needcalr14", model.getValue("/root/main/nstinfo/nutrpninfo/needcalr3"));
  2806. model.setValue("/root/init/pninfo/needcalrlist/needcalr15", model.getValue("/root/main/nstinfo/nutrpninfo/needcalr4"));
  2807. model.setValue("/root/init/pninfo/needcalrlist/needcalr16", model.getValue("/root/main/nstinfo/nutrpninfo/needcalr5"));
  2808. model.setValue("/root/init/pninfo/needcalrlist/needcalr17", model.getValue("/root/main/nstinfo/nutrpninfo/needcalrcalc"));
  2809. }
  2810. }else if (NstFlag == "EN"){
  2811. // 노드 초기화
  2812. model.resetInstanceNode("/root/init/eninfo/needcalrlist");
  2813. /*
  2814. 필요열량 선택값 (radio button) - /root/main/nstinfo/nutrpninfo/needcalrflag
  2815. */
  2816. if( model.getValue("/root/main/ennstinfo/nutreninfo/needcalrflag") == "1" ) {
  2817. model.setValue("/root/init/eninfo/needcalrlist/needcalr1", model.getValue("/root/main/ennstinfo/nutreninfo/needcalr1"));
  2818. model.setValue("/root/init/eninfo/needcalrlist/needcalr2", model.getValue("/root/main/ennstinfo/nutreninfo/needcalr2"));
  2819. }
  2820. if( model.getValue("/root/main/ennstinfo/nutreninfo/needcalrflag") == "2" ) {
  2821. model.setValue("/root/init/eninfo/needcalrlist/needcalr3", model.getValue("/root/main/ennstinfo/nutreninfo/needcalr1"));
  2822. model.setValue("/root/init/eninfo/needcalrlist/needcalr4", model.getValue("/root/main/ennstinfo/nutreninfo/needcalr2"));
  2823. model.setValue("/root/init/eninfo/needcalrlist/needcalr5", model.getValue("/root/main/ennstinfo/nutreninfo/needcalr3"));
  2824. model.setValue("/root/init/eninfo/needcalrlist/needcalr6", model.getValue("/root/main/ennstinfo/nutreninfo/needcalrcalc"));
  2825. }
  2826. if( model.getValue("/root/main/ennstinfo/nutreninfo/needcalrflag") == "3" ) {
  2827. model.setValue("/root/init/eninfo/needcalrlist/needcalr7", model.getValue("/root/main/ennstinfo/nutreninfo/needcalr1"));
  2828. model.setValue("/root/init/eninfo/needcalrlist/needcalr8", model.getValue("/root/main/ennstinfo/nutreninfo/needcalr2"));
  2829. model.setValue("/root/init/eninfo/needcalrlist/needcalr9", model.getValue("/root/main/ennstinfo/nutreninfo/needcalr3"));
  2830. model.setValue("/root/init/eninfo/needcalrlist/needcalr10", model.getValue("/root/main/ennstinfo/nutreninfo/needcalr4"));
  2831. model.setValue("/root/init/eninfo/needcalrlist/needcalr11", model.getValue("/root/main/ennstinfo/nutreninfo/needcalrcalc"));
  2832. }
  2833. if( model.getValue("/root/main/ennstinfo/nutreninfo/needcalrflag") == "4" ) {
  2834. model.setValue("/root/init/eninfo/needcalrlist/needcalr12", model.getValue("/root/main/ennstinfo/nutreninfo/needcalr1"));
  2835. model.setValue("/root/init/eninfo/needcalrlist/needcalr13", model.getValue("/root/main/ennstinfo/nutreninfo/needcalr2"));
  2836. model.setValue("/root/init/eninfo/needcalrlist/needcalr14", model.getValue("/root/main/ennstinfo/nutreninfo/needcalr3"));
  2837. model.setValue("/root/init/eninfo/needcalrlist/needcalr15", model.getValue("/root/main/ennstinfo/nutreninfo/needcalr4"));
  2838. model.setValue("/root/init/eninfo/needcalrlist/needcalr16", model.getValue("/root/main/ennstinfo/nutreninfo/needcalr5"));
  2839. model.setValue("/root/init/eninfo/needcalrlist/needcalr17", model.getValue("/root/main/ennstinfo/nutreninfo/needcalrcalc"));
  2840. }
  2841. }
  2842. }
  2843. /*
  2844. @ 기타 항목 설정
  2845. */
  2846. function fSetEtc(NstFlag){
  2847. if(NstFlag == "PN"){
  2848. // 기준체중 설정
  2849. if(model.getValue("/root/main/nstinfo/nutrpninfo/basewtflag") == "")
  2850. {
  2851. model.setValue("/root/main/nstinfo/nutrpninfo/basewtflag", "1");
  2852. }
  2853. // 필요열량 기본값 설정
  2854. /* 필요열량 기본값 설정 막음 - 2009-11-13 - 안혜진약사 요청
  2855. if(model.getValue("/root/main/nstinfo/nutrpninfo/needcalrflag") == "")
  2856. {
  2857. model.setValue("/root/main/nstinfo/nutrpninfo/needcalrflag", "1");
  2858. }
  2859. */
  2860. // 의뢰일자 설정
  2861. var reqddstr = model.getValue("/root/main/patinfo/baseinfo/reqdd");
  2862. if(reqddstr == "" || reqddstr == null){
  2863. //2010-02-01 미의뢰시 의뢰일자 없음 . 회신일자 기준. 회신일자 없을경우 오늘일자로 계산처리.(변경전:reqddstr = getCurrentDate();)
  2864. reqddstr = model.getValue("/root/main/patinfo/baseinfo/repldd"); //회신일자
  2865. if(reqddstr == "" || reqddstr == null) reqddstr = getCurrentDate();
  2866. }
  2867. var brthddstr = model.getValue("/root/main/patinfo/baseinfo/brthdd");
  2868. var age = parseInt(reqddstr.substring(0, 4)) - parseInt(brthddstr.substring(0, 4));
  2869. if(reqddstr.substr(4, 7) <= brthddstr.substring(4, 7))
  2870. {
  2871. age = parseInt(age) - 1;
  2872. }
  2873. model.setValue("/root/init/pninfo/basembolinfolist/age", age);
  2874. if(model.getValue("/root/main/nstinfo/nutrpninfo/execdd") == ""){
  2875. model.setValue("/root/main/nstinfo/nutrpninfo/execdd", getCurrentDate());
  2876. }
  2877. var wt = model.getValue("/root/main/nstinfo/nutrpninfo/wt");
  2878. var ibw = model.getValue("/root/main/nstinfo/nutrpninfo/ibw");
  2879. model.setValue("/root/temp/ibwper", wt / ibw * 100);
  2880. if (wt !=""){
  2881. model.setValue("/root/main/nstinfo/nutrpninfo/pibw", wt / ibw * 100); //2010-01-13 PIBW 계산 - iBW %와 동일처리한다
  2882. }else{
  2883. model.setValue("/root/main/nstinfo/nutrpninfo/pibw", ""); //2010-01-13 PIBW 계산 - iBW %와 동일처리한다
  2884. }
  2885. }else if(NstFlag == "EN"){
  2886. if(model.getValue("/root/main/ennstinfo/nutreninfo/basewtflag") == "")
  2887. {
  2888. model.setValue("/root/main/ennstinfo/nutreninfo/basewtflag", "1");
  2889. }
  2890. if(model.getValue("/root/main/ennstinfo/nutreninfo/needcalrflag") == "")
  2891. {
  2892. model.setValue("/root/main/ennstinfo/nutreninfo/needcalrflag", "1");
  2893. }
  2894. var brthddstr = model.getValue("/root/main/patinfo/baseinfo/brthdd");
  2895. var reqddstr = model.getValue("/root/main/patinfo/baseinfo/reqdd");
  2896. //2010-02-01 미의뢰시 의뢰일자 없음 . 회신일자 기준. 회신일자 없을경우 오늘일자로 계산처리.
  2897. if(reqddstr == "" || reqddstr == null){
  2898. reqddstr = model.getValue("/root/main/patinfo/baseinfo/repldd"); //회신일자
  2899. if(reqddstr == "" || reqddstr == null) reqddstr = getCurrentDate();
  2900. }
  2901. var age = parseInt(reqddstr.substring(0, 4)) - parseInt(brthddstr.substring(0, 4));
  2902. if(reqddstr.substr(4, 7) <= brthddstr.substring(4, 7))
  2903. {
  2904. age = parseInt(age) - 1;
  2905. }
  2906. model.setValue("/root/init/eninfo/basembolinfolist/age", age);
  2907. if(model.getValue("/root/main/ennstinfo/nutreninfo/execdd") == "") model.setValue("/root/main/ennstinfo/nutreninfo/execdd", getCurrentDate());
  2908. if(model.getValue("/root/main/ennstinfo/nutreninfo/dieterid") == "" || model.getValue("/root/main/ennstinfo/nutreninfo/dieterid") == "1")
  2909. {
  2910. model.setValue("/root/main/ennstinfo/nutreninfo/dieterid", getUserId());
  2911. }
  2912. var wt = model.getValue("/root/main/ennstinfo/nutreninfo/wt");
  2913. var ibw = model.getValue("/root/main/ennstinfo/nutreninfo/ibw");
  2914. model.setValue("/root/temp/ibwper", wt / ibw * 100);
  2915. }
  2916. }
  2917. /*
  2918. @ 당투여속도량 계산 (계산식에 의한 계산)
  2919. */
  2920. function fCalDexwDrugSpd(){
  2921. //var vol = model.getValue("/root/main/nstinfo/nutrpninfo/waterreqvol"); //2008-10-01 김은희약사 ( Vol = 수분요구량이 아닌 Order Volume 이라고 함)
  2922. var vol =model.getValue("/root/main/nstinfo/nutrpninfo/prot1");
  2923. var wt = model.getValue("/root/main/nstinfo/nutrpninfo/wt");
  2924. switch(model.getValue("/root/init/calc"))
  2925. {
  2926. case "1" :
  2927. {
  2928. var drugspd = ((250 * vol) / (1440 * wt)).toString().getRound( -3,"HALF_UP");
  2929. model.setValue("/root/main/nstinfo/nutrpninfo/dexwdrugspd", drugspd);
  2930. break;
  2931. }
  2932. case "2" :
  2933. {
  2934. var drugspd = ((150 * vol) / (1440 * wt)).toString().getRound( -3,"HALF_UP");
  2935. model.setValue("/root/main/nstinfo/nutrpninfo/dexwdrugspd", drugspd);
  2936. break;
  2937. }
  2938. case "3" :
  2939. {
  2940. var drugspd = ((100 * vol) / (1440 * wt)).toString().getRound( -3,"HALF_UP");
  2941. model.setValue("/root/main/nstinfo/nutrpninfo/dexwdrugspd", drugspd);
  2942. break;
  2943. }
  2944. case "4" :
  2945. {
  2946. var drugspd = ((135 * vol) / (1440 * wt)).toString().getRound( -3,"HALF_UP");
  2947. model.setValue("/root/main/nstinfo/nutrpninfo/dexwdrugspd", drugspd);
  2948. break;
  2949. }
  2950. case "5" :
  2951. {
  2952. var drugspd = ((120 * vol) / (1440 * wt)).toString().getRound( -3,"HALF_UP");
  2953. model.setValue("/root/main/nstinfo/nutrpninfo/dexwdrugspd", drugspd);
  2954. break;
  2955. }
  2956. case "6" :
  2957. {
  2958. var drugspd = ((160 * vol) / (1440 * wt)).toString().getRound( -3,"HALF_UP");
  2959. model.setValue("/root/main/nstinfo/nutrpninfo/dexwdrugspd", drugspd);
  2960. break;
  2961. }
  2962. case "7" :
  2963. {
  2964. var drugspd = ((200 * vol) / (1440 * wt)).toString().getRound( -3,"HALF_UP");
  2965. model.setValue("/root/main/nstinfo/nutrpninfo/dexwdrugspd", drugspd);
  2966. break;
  2967. }
  2968. case "8" :
  2969. {
  2970. var drugspd = ((160 * vol) / (1440 * wt)).toString().getRound( -3,"HALF_UP");
  2971. model.setValue("/root/main/nstinfo/nutrpninfo/dexwdrugspd", drugspd);
  2972. break;
  2973. }
  2974. case "9" :
  2975. {
  2976. var drugspd = ((67 * vol) / (1440 * wt)).toString().getRound( -3,"HALF_UP");
  2977. model.setValue("/root/main/nstinfo/nutrpninfo/dexwdrugspd", drugspd);
  2978. break;
  2979. }
  2980. case "10" :
  2981. {
  2982. var drugspd = ((65* vol) / (1440 * wt)).toString().getRound( -3,"HALF_UP");
  2983. model.setValue("/root/main/nstinfo/nutrpninfo/dexwdrugspd", drugspd);
  2984. break;
  2985. }
  2986. case "11" :
  2987. {
  2988. var drugspd = ((120 * vol) / (1440 * wt)).toString().getRound( -3,"HALF_UP");
  2989. model.setValue("/root/main/nstinfo/nutrpninfo/dexwdrugspd", drugspd);
  2990. break;
  2991. }
  2992. }
  2993. }
  2994. /*
  2995. @ 당투여속도량 계산 (NST 마스터(ast.adbmtpncd-혼합후 dextrose)에 의한 계산) 201-02-23
  2996. 당투여속도 = (혼합후 dextrose %) * ordervolume* 10 / (1440*현재 체중)
  2997. */
  2998. function fCalDexwDrugSpdTPNCD(){
  2999. var dexrate = "";
  3000. for(i = 1; i <= cmb_nstcode.length; i++){
  3001. if(cmb_nstcode.value == model.getValue("/root/init/codelist/nstcode/codelist["+i+"]/cdnm")){
  3002. dexrate = model.getValue("/root/init/codelist/nstcode/codelist["+i+"]/dexrate");
  3003. var vol = model.getValue("/root/main/nstinfo/nutrpninfo/prot1"); //OrderVolume
  3004. var wt = model.getValue("/root/main/nstinfo/nutrpninfo/wt"); //현재체중
  3005. var drugspd = (dexrate * vol * 10 / (1440 * wt)).toString().getRound( -3,"HALF_UP");
  3006. model.setValue("/root/main/nstinfo/nutrpninfo/dexwdrugspd", drugspd);
  3007. break;
  3008. }
  3009. }
  3010. }
  3011. /*
  3012. @체크박스의 값을 분리하여 쉼표(,) 삽입
  3013. */
  3014. function splitChkBox(ctrlid){
  3015. var value= "";
  3016. var sep = ctrlid.attribute("sep");
  3017. var tmp_value = ctrlid.label.split(sep);
  3018. for(var i = 0; i < tmp_value.length; i++){
  3019. if(value != "") value += ", ";
  3020. value += tmp_value[i];
  3021. }
  3022. return value;
  3023. }
  3024. /*
  3025. @ 성별을 체크하여 BEE 계산수식을 반환한다.
  3026. */
  3027. function chkBee(){
  3028. if(gv_sex == "M"){
  3029. var manbee = caption270.label + " " + ipt_mbasembolkg.label+ caption268.label +" " + ipt_mbasembolcm.label +caption140.label+" " + ipt_mbasembolyy.label+caption81.label+" " +ipt_mbasembolcalc.label ;
  3030. return manbee;
  3031. }else if(gv_sex == "F"){
  3032. var womenbee = caption275.label + " " + ipt_wbasembolkg.label + caption276.label + " " + ipt_wbasembolcm.label + caption282.label + " " + ipt_wbasembolyy.label + caption69.label+ " " +ipt_wbasembolcalc.label;
  3033. return womenbee;
  3034. }
  3035. }
  3036. /*
  3037. @ 체크구분값을 판별하여 TCN값을 반환한다.
  3038. */
  3039. function chkTcn(){
  3040. var TCN = "";
  3041. if(rdo_needcalrflag.value == "1"){
  3042. TCN = ipt_needcalr1.label +" "+ caption261.label + input5.label + caption263.label+" "+ caption234.label+" "+ input16.label + caption232.label;
  3043. }else if(rdo_needcalrflag.value == "2"){
  3044. TCN = ipt_needcalr3.label + caption133.label+caption182.label +cmb_needcalr4.value + caption162.label + cmb_needcalr5.value +" "+ caption108.label+" "+ipt_needcalr6.label+caption157.label;
  3045. }else if(rdo_needcalrflag.value == "3"){
  3046. if(cmb_needcalr10.value == "0.2"){
  3047. TCN = ipt_needcalr7.label + caption285.label+" "+caption257.label +" "+ cmb_needcalr8.value + caption323.label + ipt_needcalr9.label + caption324.label+" "+caption225.label+" "+cmb_needcalr10.value+"(TF) "+caption211.label+" "+ipt_needcalr11.label+caption195.label+caption210.label;
  3048. }else{
  3049. TCN = ipt_needcalr7.label + caption285.label+" "+caption257.label +" "+ cmb_needcalr8.value + caption323.label + ipt_needcalr9.label + caption324.label+" "+caption225.label+" "+cmb_needcalr10.value+"(WF) "+caption211.label+" "+ipt_needcalr11.label+caption195.label+caption210.label;
  3050. }
  3051. }else if(rdo_needcalrflag.value == "4"){
  3052. TCN = caption149.label + ipt_needcalr12.label + caption89.label + ipt_needcal13.label + caption269.label + cmb_needcalr14.label+caption148.label+cmb_needcalr15.label+caption226.label+cmb_needcalr16.label+" "+caption326.label+" "+ipt_needcalr17.label+caption44.label;
  3053. }
  3054. return TCN;
  3055. }
  3056. /*
  3057. @ 소아기준표 팝업
  3058. */
  3059. function popChildBaseTable(){
  3060. modal("SPANC00305");
  3061. if(gv_CnstType == "PN"){
  3062. input90.value = model.getValue("/root/main/maindata/nutrstatjudg/physmeasibw");
  3063. input90.refresh();
  3064. fCalcWeightEx();
  3065. }else if(gv_CnstType == "EN"){
  3066. input203.value = model.getValue("/root/main/maindata/nutrstatjudg/physmeasibw");
  3067. input203.refresh();
  3068. fCalcWeightEx();
  3069. }else if(gv_CnstType == "EDU"){ //2010-01-14 교육의뢰
  3070. input151.value = model.getValue("/root/main/maindata/nutrstatjudg/physmeasibw");
  3071. input151.refresh();
  3072. fCalcWeightEx_EduPurs(gv_CnstType,NstNodepathINIT, NstNodepath);
  3073. }else { //2010-01-14 추구관리
  3074. input116.value = model.getValue("/root/main/maindata/nutrstatjudg/physmeasibw");
  3075. input116.refresh();
  3076. fCalcWeightEx_EduPurs(gv_CnstType,pursNstNodepathINIT, pursNstNodepath);
  3077. }
  3078. //fCalcWeightEx(); //2010-01-014 교육의뢰/추구관리 추가 각각 부분별로 이동
  3079. model.refresh();
  3080. }
  3081. /*
  3082. @ 문단 정렬 (들여쓰기)
  3083. fSrotWord
  3084. - tab : tab 길이
  3085. - word : 정렬하고자 하는 문장
  3086. - maxlength : 문장최대길이
  3087. - tabyn : 들여쓰기 여부
  3088. */
  3089. function fSortWord(tab, word, maxlength,tabyn){
  3090. // 1.엔터 구분자로 분리
  3091. var wordRow = word.split("\n");
  3092. var returnStr = "";
  3093. if(maxlength == "" || maxlength == null) maxlength = "70";
  3094. if(tabyn == "" || tabyn == null) tabyn = "Y";
  3095. for(var i = 0; i < wordRow.length; i++){
  3096. // 2. 해당 row가 null이면 다음 row로 넘어감
  3097. if(wordRow[i] == "") continue;
  3098. var tempStr = "";
  3099. var index = "0";
  3100. var breakflag = true;
  3101. while(breakflag){
  3102. // 3-1. 해당 row가 최대 글자수를 넘었을 때
  3103. if((wordRow[i].length > maxlength) && (wordRow[i]!= "")){
  3104. var tmprow = wordRow[i].substr(0,maxlength);
  3105. var nextIndex = "";
  3106. /*
  3107. 4. 단어 완성 (최대글자수에서 우측의 공백을 조사하여 index설정)
  3108. - 우측에 공백이 존재할땐 최대길이만큼 문자열을 자름
  3109. - 우측에 공백이 존재하지 않을땐 이전의 공백까지 문자열을 자름
  3110. */
  3111. if(wordRow[i].substr(maxlength,1) != "") {
  3112. nextIndex = getSearchStringRight(tmprow, " ");
  3113. if(nextIndex <= 0) { // 공백이 존재 하지 않을때 최대길이만큼 문자열을 자름
  3114. nextIndex = maxlength;
  3115. }
  3116. }else{
  3117. nextIndex = maxlength;
  3118. }
  3119. var row = wordRow[i].substr(0,nextIndex).getTrim();
  3120. wordRow[i] = wordRow[i].substr(nextIndex, wordRow[i].length);
  3121. if(tempStr != "") tempStr += "\n";
  3122. if(tabyn == "Y") tempStr += tab;
  3123. tempStr += row;
  3124. // 3-2. 해당 row가 최대 글자수를 넘지 않았을때 (종료)
  3125. }else{
  3126. if(tempStr != "" && wordRow[i]!= "") tempStr += "\n";
  3127. if(tabyn == "Y") tempStr += tab;
  3128. tempStr += wordRow[i].getTrim();
  3129. breakflag = false;
  3130. }
  3131. }
  3132. if(returnStr != "") returnStr += "\n";
  3133. returnStr += tempStr;
  3134. }
  3135. return(returnStr);
  3136. }
  3137. /*
  3138. @ NST PN 추구관리 [+] 버튼 클릭시 - 2009-12-18
  3139. #parameter
  3140. - tmpflag : pn(=PN)/en(=EN)/교육의뢰(=EDU) 구분
  3141. - pursflag : PURS 추구관리
  3142. */
  3143. function fPursuit(tmpflag, pursflag, tmpNstNodepathMain, tmpNstNodepath){
  3144. model.setValue("/root/send/srchrgstseqnoinfo/pid" , model.getValue("/root/temp/cnstinfo/pid")); //pid
  3145. model.setValue("/root/send/srchrgstseqnoinfo/formrecseq" , gv_formrecseq); //formrecseq
  3146. model.setValue("/root/send/srchrgstseqnoinfo/nstgubun" , tmpflag);
  3147. submit("TRADC02610");
  3148. if (getNodesetCount("/root/hidden/rgstseqnolist") == "0" ) {
  3149. messageBox("[추구관리] 진행불가 상태입니다. 상태를 ","I007");
  3150. return;
  3151. }
  3152. var rgstseqno = model.getValue("/root/main/patinfo/rgstseqnolist[1]/rgstseqno");
  3153. var node_cnt = getNodesetCount("/root/main/patinfo/rgstseqnolist");
  3154. node_cnt++;
  3155. model.makeNode("/root/main/patinfo/rgstseqnolist["+node_cnt+"]");
  3156. model.makeNode("/root/main/patinfo/rgstseqnolist["+node_cnt+"]/rgstseqno");
  3157. while(node_cnt != "1"){
  3158. var tmp_nodecnt = node_cnt - 1;
  3159. model.copyNode("/root/main/patinfo/rgstseqnolist["+node_cnt+"]", "/root/main/patinfo/rgstseqnolist["+tmp_nodecnt+"]");
  3160. node_cnt--;
  3161. }
  3162. model.makeValue("/root/main/patinfo/rgstseqnolist[1]/rgstseqno", model.getValue("/root/hidden/rgstseqnolist/pursseqret/rgstseqno"));
  3163. model.setValue("/root/send/srchinfo/rgstseqno", model.getValue("/root/hidden/rgstseqnolist/pursseqret/rgstseqno"));
  3164. //2009-12-17 추구관리 조회시 [추구관리 표시]/ 조회 adchcnstinfo - cnstcnts10 = 'PURS'
  3165. model.removeNodeset(tmpNstNodepathMain + "nutrpninfo/pursflag");
  3166. model.makeValue(tmpNstNodepathMain + "nutrpninfo/cnstkind","A"); // 추구관리 Set
  3167. model.makeValue(tmpNstNodepathMain + "nutrpninfo/pursflag","PURS"); // 추구관리 Set
  3168. model.makeValue(tmpNstNodepathMain + "nutrpninfo/pursseq",model.getValue("/root/hidden/rgstseqnolist/pursseqret/pursseq")) ; // 추구관리 Set
  3169. if (tmpflag == "PN") out_pn_purs.attribute("text")="[ 추구관리 : " + model.getValue("/root/hidden/rgstseqnolist/pursseqret/pursseq") + " ]";
  3170. else out_en_purs.attribute("text")="[ 추구관리 : " + model.getValue("/root/hidden/rgstseqnolist/pursseqret/pursseq") + " ]";
  3171. model.setValue(tmpNstNodepathMain + "nutrpninfo/execdd", getCurrentDate()); // 수행일자 오늘일자로
  3172. model.setValue("/root/hidden/cnststatinfo/cnststat",""); // 의뢰건의 consult 상태 체크
  3173. /*
  3174. * 추구관리 신규발생시
  3175. * ast.adchcnstinfo에 정보 저장 하기 ( cnstcnts10(추구관리-구분) cnstcnts11(추구관리-원Formrecseq) cnstcnts12(추구관리-순번))
  3176. */
  3177. model.makeValue(tmpNstNodepathMain + "nutrpninfo/cnstseqno", ""); // 추구관리-의뢰구분
  3178. model.makeValue(tmpNstNodepathMain + "nutrpninfo/formrecseq", ""); // 추구관리-formrecseq
  3179. model.makeValue(tmpNstNodepathMain + "adchcnstinfo/cnstcnts10" , "PURS"); // 추구관리-구분
  3180. model.makeValue(tmpNstNodepathMain + "adchcnstinfo/cnstcnts11" , gv_formrecseq); // 추구관리-원Formrecseq
  3181. model.makeValue(tmpNstNodepathMain + "adchcnstinfo/cnstnewflag", "Y"); // 추구관리-신규여부 확인
  3182. /* @ 약사 이름 설정 */
  3183. model.setValue(tmpNstNodepathMain + "nutrpninfo/pharmstnm" , getUserName()); //작성자이름
  3184. model.setValue(tmpNstNodepathMain + "nutrpninfo/pharmstid" , getUserId()); //작성자 ID
  3185. /* @ 회신약사 이름 설정 */
  3186. //fSetReplNm();
  3187. model.setValue(tmpNstNodepathMain + "nutrpninfo/replnm", ""); //회신자이름
  3188. model.setValue(tmpNstNodepathMain + "nutrpninfo/replid", ""); //회신자 ID
  3189. // 회신자 id 전역변수 설정
  3190. /* gv_replid = model.getValue(NstNodepathMain + "nutrpninfo/replid");
  3191. */
  3192. model.setValue(tmpNstNodepathMain + "nutrpninfo/drugplan",""); // 투여계획
  3193. model.setValue(tmpNstNodepathMain + "nutrpninfo/suplplanetc",""); // 기타
  3194. model.setValue(tmpNstNodepathMain + "nutrpninfo/statflag",""); // 상태
  3195. // 2010-02-19 추구관리 NEW 버튼 클릭시 최신검사결과값 가져오기 START (clear후 submit("TRADC02605")Call)
  3196. model.setValue(tmpNstNodepathMain + "nutrpninfo/alb" ,"");
  3197. model.setValue(tmpNstNodepathMain + "nutrpninfo/tlc" ,"");
  3198. model.setValue(tmpNstNodepathMain + "nutrpninfo/hb" ,"");
  3199. model.setValue(tmpNstNodepathMain + "nutrpninfo/hct" ,"");
  3200. model.setValue(tmpNstNodepathMain + "nutrpninfo/trf" ,"");
  3201. model.setValue(tmpNstNodepathMain + "nutrpninfo/rbp" ,"");
  3202. model.setValue(tmpNstNodepathMain + "nutrpninfo/na" ,"");
  3203. model.setValue(tmpNstNodepathMain + "nutrpninfo/k" ,"");
  3204. model.setValue(tmpNstNodepathMain + "nutrpninfo/cl" ,"");
  3205. model.setValue(tmpNstNodepathMain + "nutrpninfo/bun" ,"");
  3206. model.setValue(tmpNstNodepathMain + "nutrpninfo/cr" ,"");
  3207. model.setValue(tmpNstNodepathMain + "nutrpninfo/chol" ,"");
  3208. model.setValue(tmpNstNodepathMain + "nutrpninfo/tg" ,"");
  3209. model.setValue(tmpNstNodepathMain + "nutrpninfo/ca" ,"");
  3210. model.setValue(tmpNstNodepathMain + "nutrpninfo/p" ,"");
  3211. model.setValue(tmpNstNodepathMain + "nutrpninfo/mg" ,"");
  3212. model.setValue(tmpNstNodepathMain + "nutrpninfo/nbintake" ,"");
  3213. model.setValue(tmpNstNodepathMain + "nutrpninfo/uun" ,"");
  3214. model.setValue(tmpNstNodepathMain + "nutrpninfo/nbcalval" ,"");
  3215. /* @ 처방order유무 체크 */
  3216. // 2016년 8월 24일 김치국;
  3217. model.makeValue(tmpNstNodepathMain + "nutrpninfo/order", "");
  3218. model.setValue("/root/send/srchinfo/orderyn","") ;
  3219. chk_orderyn.disabled = false;
  3220. //////
  3221. fNstExam(); //검사결과값
  3222. // 2010-02-19 추구관리 NEW 버튼 클릭시 최신검사결과값 가져오기 END
  3223. btn_save.disabled = false;
  3224. btn_repl.disabled = false;
  3225. btn_del.disabled = false;
  3226. model.refresh();
  3227. }
  3228. /*
  3229. @ NST EN 추구관리 [NEW] 버튼 클릭시 - 2009-12-18
  3230. #parameter
  3231. - tmpflag : pn(=PN)/en(=EN)/교육의뢰(=EDU) 구분
  3232. - pursflag : PURS 추구관리
  3233. */
  3234. function fPursuit_EN(tmpflag, pursflag, tmpNstNodepathMain, tmpNstNodepath){
  3235. var pursseq = Number( getNodesetCount("/root/main/patinfo/purshistinfo/formrecseq")) + 1;
  3236. var pursseq = String(pursseq).getLeftPad(3, "0");
  3237. //2009-12-17 추구관리 조회시 [추구관리 표시]/ 조회 adchcnstinfo - cnstcnts10 = 'PURS'
  3238. model.removeNodeset(tmpNstNodepath + "pursflag");
  3239. model.makeValue(tmpNstNodepath + "cnstkind" ,"A"); // 추구관리 Set
  3240. model.makeValue(tmpNstNodepath + "pursflag" ,"PURS"); // 추구관리 Set
  3241. model.makeValue(tmpNstNodepath + "pursseq" , pursseq); // 추구관리 Set
  3242. out_en_purs.attribute("text")="[ 추구관리 : " + pursseq + " ]";
  3243. model.setValue(tmpNstNodepath + "execdd", getCurrentDate()); // 수행일자 오늘일자로
  3244. model.makeValue("/root/hidden/cnststatinfo/cnststat",""); // 의뢰건의 consult 상태 체크
  3245. /*
  3246. * 추구관리 신규발생시
  3247. * ast.adchcnstinfo에 정보 저장 하기 ( cnstcnts10(추구관리-구분) cnstcnts11(추구관리-원Formrecseq) cnstcnts12(추구관리-순번))
  3248. */
  3249. model.makeValue("/root/send/srchinfo/rgstseqno" , ""); // 추구관리-의뢰구분
  3250. model.makeValue(tmpNstNodepath + "cnstseqno" , ""); // 추구관리-의뢰구분
  3251. model.makeValue(tmpNstNodepath + "formrecseq" , ""); // 추구관리-formrecseq
  3252. model.makeValue(tmpNstNodepathMain + "adchcnstinfo/cnstcnts10" , "PURS"); // 추구관리-구분
  3253. model.makeValue(tmpNstNodepathMain + "adchcnstinfo/cnstcnts11" , gv_formrecseq); // 추구관리-원Formrecseq
  3254. model.makeValue(tmpNstNodepathMain + "adchcnstinfo/cnstnewflag", "Y"); // 추구관리-신규여부 확인
  3255. // 2014-12-22 추구관리 NEW 버튼 클릭시 최신검사결과값 가져오기 START (clear후 submit("TRADC02605")Call)
  3256. model.setValue(tmpNstNodepath + "alb" ,"");
  3257. model.setValue(tmpNstNodepath + "tlc" ,"");
  3258. model.setValue(tmpNstNodepath + "hb" ,"");
  3259. model.setValue(tmpNstNodepath + "hct" ,"");
  3260. model.setValue(tmpNstNodepath + "trf" ,"");
  3261. model.setValue(tmpNstNodepath + "rbp" ,"");
  3262. model.setValue(tmpNstNodepath + "na" ,"");
  3263. model.setValue(tmpNstNodepath + "k" ,"");
  3264. model.setValue(tmpNstNodepath + "cl" ,"");
  3265. model.setValue(tmpNstNodepath + "bun" ,"");
  3266. model.setValue(tmpNstNodepath + "cr" ,"");
  3267. model.setValue(tmpNstNodepath + "chol" ,"");
  3268. model.setValue(tmpNstNodepath + "tg" ,"");
  3269. model.setValue(tmpNstNodepath + "ca" ,"");
  3270. model.setValue(tmpNstNodepath + "p" ,"");
  3271. model.setValue(tmpNstNodepath + "mg" ,"");
  3272. model.setValue(tmpNstNodepath + "nbintake" ,"");
  3273. model.setValue(tmpNstNodepath + "uun" ,"");
  3274. model.setValue(tmpNstNodepath + "nbcalval" ,"");
  3275. model.setValue(tmpNstNodepath + "ins" ,"");
  3276. // fNstExamEn_EduPurs(pursflag,"",tmpNstNodepath); //검사결과값
  3277. submit("TRADC02605");
  3278. if (model.getValue(tmpNstNodepath + "alb") =="" ) {
  3279. model.setValue(tmpNstNodepath + "alb", model.getValue("/root/init/examrslt/alb"));
  3280. }
  3281. if (model.getValue(tmpNstNodepath + "trf") =="" ) {
  3282. model.setValue(tmpNstNodepath + "trf", model.getValue("/root/init/examrslt/trf"));
  3283. }
  3284. if (model.getValue(tmpNstNodepath + "hb") =="" ) {
  3285. model.setValue(tmpNstNodepath + "hb", model.getValue("/root/init/examrslt/hb"));
  3286. }
  3287. if (model.getValue(tmpNstNodepath + "na") =="" ) {
  3288. model.setValue(tmpNstNodepath + "na", model.getValue("/root/init/examrslt/na"));
  3289. }
  3290. if (model.getValue(tmpNstNodepath + "k") =="" ) {
  3291. model.setValue(tmpNstNodepath + "k", model.getValue("/root/init/examrslt/k"));
  3292. }
  3293. if (model.getValue(tmpNstNodepath + "cl") =="" ) {
  3294. model.setValue(tmpNstNodepath + "cl", model.getValue("/root/init/examrslt/cl"));
  3295. }
  3296. //2010-02-04 검사결과 항목추가
  3297. if (model.getValue(tmpNstNodepath + "tlc") =="" ) {
  3298. //2010-02-10 TLC 결과값 변경(=WBC count (LHR100) * Lymphocytes(LHR10503) /1000*100 변경)
  3299. var wbc = model.getValue("/root/init/examrslt/wbc");
  3300. var tlc = model.getValue("/root/init/examrslt/tlc");
  3301. if ((wbc!="")&& (tlc!="")) {
  3302. var calc_tlc = (wbc * tlc * 10 ).toString().getRound(-3,"HALF_UP")
  3303. model.setValue(tmpNstNodepath + "tlc", calc_tlc);
  3304. }
  3305. }
  3306. if (model.getValue(tmpNstNodepath + "hct") =="" ) {
  3307. model.setValue(tmpNstNodepath + "hct", model.getValue("/root/init/examrslt/hct"));
  3308. }
  3309. if (model.getValue(tmpNstNodepath + "rbp") =="" ) {
  3310. model.setValue(tmpNstNodepath + "rbp", model.getValue("/root/init/examrslt/rbp"));
  3311. }
  3312. if (model.getValue(tmpNstNodepath + "bun") =="" ) {
  3313. model.setValue(tmpNstNodepath + "bun", model.getValue("/root/init/examrslt/bun"));
  3314. }
  3315. if (model.getValue(tmpNstNodepath + "cr") =="" ) {
  3316. model.setValue(tmpNstNodepath + "cr", model.getValue("/root/init/examrslt/cr"));
  3317. }
  3318. if (model.getValue(tmpNstNodepath + "chol") =="" ) {
  3319. model.setValue(tmpNstNodepath + "chol", model.getValue("/root/init/examrslt/chol"));
  3320. }
  3321. if (model.getValue(tmpNstNodepath + "tg") =="" ) {
  3322. model.setValue(tmpNstNodepath + "tg", model.getValue("/root/init/examrslt/tg"));
  3323. }
  3324. if (model.getValue(tmpNstNodepath + "ca") =="" ) {
  3325. model.setValue(tmpNstNodepath + "ca", model.getValue("/root/init/examrslt/ca"));
  3326. }
  3327. if (model.getValue(tmpNstNodepath + "p") =="" ) {
  3328. model.setValue(tmpNstNodepath + "p", model.getValue("/root/init/examrslt/p"));
  3329. }
  3330. if (model.getValue(tmpNstNodepath + "mg") =="" ) {
  3331. model.setValue(tmpNstNodepath + "mg", model.getValue("/root/init/examrslt/mg"));
  3332. }
  3333. // 2010-02-19 추구관리 NEW 버튼 클릭시 최신검사결과값 가져오기 END
  3334. btn_save.disabled = false;
  3335. btn_repl.disabled = false;
  3336. btn_del.disabled = false;
  3337. model.refresh();
  3338. }
  3339. /*
  3340. @ 총섭취열량 계산 = 경구영양 + 경관영양 + 정맥영양
  3341. #parameter
  3342. - NstFlag : 교육의뢰=EDU / 추구관리=PURS 구분
  3343. - tmpNstNodepathINIT : 교육의뢰=EDU / 추구관리=PURS 구분별 Node Path
  3344. 교육의뢰= "/root/init/eduinfo/"
  3345. 추구관리= "/root/init/pursinfo/"
  3346. - tmpNstNodepath : 교육의뢰=EDU / 추구관리=PURS 구분별 Node Path
  3347. 교육의뢰= "/root/main/edunstinfo/nutreduinfo/"
  3348. 추구관리= "/root/main/pursnstinfo/nutrpursinfo/"
  3349. */
  3350. function fCalcintkcalr(NstFlag,tmpNstNodepathINIT,tmpNstNodepath)
  3351. {
  3352. var etrlfd = Number(model.getValue(tmpNstNodepath + "etrlfd")); //경구영양
  3353. var tubfd = Number(model.getValue(tmpNstNodepath + "tubfd")); //경관영양
  3354. var itvnfd = Number(model.getValue(tmpNstNodepath + "itvnfd")); //정맥영양
  3355. model.setValue(tmpNstNodepath + "totintkcalr", ( etrlfd + tubfd + itvnfd ).toString().getRound(-2,"HALF_UP"));
  3356. }
  3357. /*
  3358. * =======================================================================================================
  3359. * =======================================================================================================
  3360. * ===================== 여기서 부터 NST -EN의 교육관리 와 추구관리 부분 추가 입니다 =====================
  3361. * =======================================================================================================
  3362. * =======================================================================================================
  3363. */
  3364. /*
  3365. @ 기초대사량 설정 (Basal Energy Expenditure : BEE)
  3366. - 성별에 의해 설정되어지는 변수가 다름
  3367. - NstFlag : 교육의뢰=EDU / 추구관리=PURS 구분
  3368. - tmpNstNodepathINIT : 교육의뢰=EDU / 추구관리=PURS 구분별 Node Path
  3369. 교육의뢰= "/root/init/eduinfo/"
  3370. 추구관리= "/root/init/pursinfo/"
  3371. - tmpNstNodepath : 교육의뢰=EDU / 추구관리=PURS 구분별 Node Path
  3372. 교육의뢰= "/root/main/edunstinfo/nutreduinfo/"
  3373. 추구관리= "/root/main/pursnstinfo/nutrpursinfo/"
  3374. */
  3375. function fSetBee_EduPurs(NstFlag,tmpNstNodepathINIT,tmpNstNodepath)
  3376. {
  3377. if( isSearchString(gv_sex,"M")) {
  3378. if ( NstFlag == "EDU" ) { //교육의뢰
  3379. ipt_mkg_edu.disabled = false;
  3380. ipt_mcm_edu.disabled = false;
  3381. ipt_myr_edu.disabled = false;
  3382. ipt_mtotal_edu.disabled = false;
  3383. ipt_wkg_edu.disabled = true;
  3384. ipt_wcm_edu.disabled = true;
  3385. ipt_wyr_edu.disabled = true;
  3386. ipt_wtotal_edu.disabled = true;
  3387. ipt_wtotal_edu.visible = false;
  3388. }else{ //추구관리
  3389. ipt_mkg_purs.disabled = false;
  3390. ipt_mcm_purs.disabled = false;
  3391. ipt_myr_purs.disabled = false;
  3392. ipt_mtotal_purs.disabled = false;
  3393. ipt_wkg_purs.disabled = true;
  3394. ipt_wcm_purs.disabled = true;
  3395. ipt_wyr_purs.disabled = true;
  3396. ipt_wtotal_purs.disabled = true;
  3397. ipt_wtotal_purs.visible = false;
  3398. }
  3399. model.setValue(tmpNstNodepathINIT + "basembolinfolist/wbasembolkg" , "");
  3400. model.setValue(tmpNstNodepathINIT + "basembolinfolist/wbasembolcm" , "");
  3401. model.setValue(tmpNstNodepathINIT + "basembolinfolist/wbasembolyy" , "");
  3402. model.setValue(tmpNstNodepathINIT + "basembolinfolist/wbasembolcalc" , "");
  3403. model.setValue(tmpNstNodepathINIT + "basembolinfolist/mbasembolkg" , model.getValue(tmpNstNodepath + "basembolkg"));
  3404. model.setValue(tmpNstNodepathINIT + "basembolinfolist/mbasembolcm" , model.getValue(tmpNstNodepath + "basembolcm"));
  3405. model.setValue(tmpNstNodepathINIT + "basembolinfolist/mbasembolyy" , model.getValue(tmpNstNodepath + "basembolyy"));
  3406. model.setValue(tmpNstNodepathINIT + "basembolinfolist/mbasembolcalc" , model.getValue(tmpNstNodepath + "basembolcalc"));
  3407. }
  3408. if( isSearchString(gv_sex,"F")) {
  3409. if ( NstFlag == "EDU" ) { //교육의뢰
  3410. ipt_mkg_edu.disabled = true;
  3411. ipt_mcm_edu.disabled = true;
  3412. ipt_myr_edu.disabled = true;
  3413. ipt_mtotal_edu.disabled = true;
  3414. ipt_wkg_edu.disabled = false;
  3415. ipt_wcm_edu.disabled = false;
  3416. ipt_wyr_edu.disabled = false;
  3417. ipt_wtotal_edu.disabled = false;
  3418. ipt_mtotal_edu.visible = false;
  3419. }else{ //추구관리
  3420. ipt_mkg_purs.disabled = true;
  3421. ipt_mcm_purs.disabled = true;
  3422. ipt_myr_purs.disabled = true;
  3423. ipt_mtotal_purs.disabled = true;
  3424. ipt_wkg_purs.disabled = false;
  3425. ipt_wcm_purs.disabled = false;
  3426. ipt_wyr_purs.disabled = false;
  3427. ipt_wtotal_purs.disabled = false;
  3428. ipt_mtotal_purs.visible = false;
  3429. }
  3430. model.setValue(tmpNstNodepathINIT + "basembolinfolist/wbasembolkg" , model.getValue(tmpNstNodepath + "basembolkg"));
  3431. model.setValue(tmpNstNodepathINIT + "basembolinfolist/wbasembolcm" , model.getValue(tmpNstNodepath + "basembolcm"));
  3432. model.setValue(tmpNstNodepathINIT + "basembolinfolist/wbasembolyy" , model.getValue(tmpNstNodepath + "basembolyy"));
  3433. model.setValue(tmpNstNodepathINIT + "basembolinfolist/wbasembolcalc" , model.getValue(tmpNstNodepath + "basembolcalc"));
  3434. model.setValue(tmpNstNodepathINIT + "basembolinfolist/mbasembolkg" , "");
  3435. model.setValue(tmpNstNodepathINIT + "basembolinfolist/mbasembolcm" , "");
  3436. model.setValue(tmpNstNodepathINIT + "basembolinfolist/mbasembolyy" , "");
  3437. model.setValue(tmpNstNodepathINIT + "basembolinfolist/mbasembolcalc" , "");
  3438. }
  3439. }
  3440. /*
  3441. @ 회신시 기초대사량 Set (Basal Energy Expenditure : BEE)
  3442. - 성별에 의해 설정되어지는 변수가 다름
  3443. - NstFlag : 교육의뢰=EDU / 추구관리=PURS 구분
  3444. - tmpNstNodepathINIT : 교육의뢰=EDU / 추구관리=PURS 구분별 Node Path
  3445. 교육의뢰= "/root/init/eduinfo/"
  3446. 추구관리= "/root/init/pursinfo/"
  3447. - tmpNstNodepath : 교육의뢰=EDU / 추구관리=PURS 구분별 Node Path
  3448. 교육의뢰= "/root/main/edunstinfo/nutreduinfo/"
  3449. 추구관리= "/root/main/pursnstinfo/nutrpursinfo/"
  3450. */
  3451. function fSetBeeTot_EduPurs(NstFlag,tmpNstNodepathINIT,tmpNstNodepath)
  3452. {
  3453. if( gv_sex == "M") {
  3454. model.setValue(tmpNstNodepath + "basembolkg", model.getValue(tmpNstNodepathINIT + "basembolinfolist/mbasembolkg"));
  3455. model.setValue(tmpNstNodepath + "basembolcm", model.getValue(tmpNstNodepathINIT + "basembolinfolist/mbasembolcm"));
  3456. model.setValue(tmpNstNodepath + "basembolyy", model.getValue(tmpNstNodepathINIT + "basembolinfolist/mbasembolyy"));
  3457. model.refresh();
  3458. var basembolcalc = 66 + 13.7 * Number(model.getValue(tmpNstNodepath + "basembolkg")) + 5 * Number( model.getValue(tmpNstNodepath + "basembolcm")) - 6.8 * Number( model.getValue(tmpNstNodepath + "basembolyy"));
  3459. model.setValue(tmpNstNodepath + "basembolcalc", basembolcalc);
  3460. }
  3461. if( gv_sex == "F") {
  3462. model.setValue(tmpNstNodepath + "basembolkg", model.getValue(tmpNstNodepath + "wbasembolkg"));
  3463. model.setValue(tmpNstNodepath + "basembolcm", model.getValue(tmpNstNodepath + "wbasembolcm"));
  3464. model.setValue(tmpNstNodepath + "basembolyy", model.getValue(tmpNstNodepath + "wbasembolyy"));
  3465. model.refresh();
  3466. var basembolcalc = 655 + 9.6 * Number(model.getValue(tmpNstNodepath + "basembolkg")) + 1.8 * Number( model.getValue(tmpNstNodepath + "basembolcm")) - 4.7 * Number( model.getValue(tmpNstNodepath + "basembolyy"));
  3467. model.setValue(tmpNstNodepath + "basembolcalc", basembolcalc );
  3468. }
  3469. //필요열량
  3470. if( model.getValue(tmpNstNodepath + "needcalrflag") == "1" ) {
  3471. model.setValue(tmpNstNodepath + "needcalr1", model.getValue(tmpNstNodepathINIT + "needcalrlist/needcalr1"));
  3472. model.setValue(tmpNstNodepath + "needcalr2", model.getValue(tmpNstNodepathINIT + "needcalrlist/needcalr2"));
  3473. }
  3474. if( model.getValue(tmpNstNodepath + "needcalrflag") == "2" ) {
  3475. model.setValue(tmpNstNodepath + "needcalr1", model.getValue(tmpNstNodepathINIT + "needcalrlist/needcalr3"));
  3476. model.setValue(tmpNstNodepath + "needcalr2", model.getValue(tmpNstNodepathINIT + "needcalrlist/needcalr4"));
  3477. model.setValue(tmpNstNodepath + "needcalr3", model.getValue(tmpNstNodepathINIT + "needcalrlist/needcalr5"));
  3478. model.refresh();
  3479. var needcalrcalc = Number(model.getValue(tmpNstNodepathINIT + "needcalrlist/needcalr3")) * Number(model.getValue(tmpNstNodepathINIT + "needcalrlist/needcalr4")) * Number(model.getValue(tmpNstNodepathINIT + "needcalrlist/needcalr5"));
  3480. model.setValue(tmpNstNodepath + "needcalrcalc", needcalrcalc);
  3481. }
  3482. if( model.getValue(tmpNstNodepath + "needcalrflag") == "3" ) {
  3483. model.setValue(tmpNstNodepath + "needcalr1", model.getValue(tmpNstNodepathINIT + "needcalrlist/needcalr7"));
  3484. model.setValue(tmpNstNodepath + "needcalr2", model.getValue(tmpNstNodepathINIT + "needcalrlist/needcalr8"));
  3485. model.setValue(tmpNstNodepath + "needcalr3", model.getValue(tmpNstNodepathINIT + "needcalrlist/needcalr9"));
  3486. model.setValue(tmpNstNodepath + "needcalr4", model.getValue(tmpNstNodepathINIT + "needcalrlist/needcalr10"));
  3487. model.refresh();
  3488. var needcalrcalc = Number(model.getValue(tmpNstNodepathINIT + "needcalrlist/needcalr7")) * Number(model.getValue(tmpNstNodepathINIT + "needcalrlist/needcalr8")) + Number(model.getValue(tmpNstNodepathINIT + "needcalrlist/needcalr9")) * Number(model.getValue(tmpNstNodepathINIT + "needcalrlist/needcalr10"));
  3489. model.setValue(NstNodepath + "needcalrcalc", needcalrcalc);
  3490. }
  3491. if( model.getValue(tmpNstNodepath + "needcalrflag") == "4" ) {
  3492. model.setValue(tmpNstNodepath + "needcalr1", model.getValue(tmpNstNodepathINIT + "needcalrlist/needcalr12"));
  3493. model.setValue(tmpNstNodepath + "needcalr2", model.getValue(tmpNstNodepathINIT + "needcalrlist/needcalr13"));
  3494. model.setValue(tmpNstNodepath + "needcalr3", model.getValue(tmpNstNodepathINIT + "needcalrlist/needcalr14"));
  3495. model.setValue(tmpNstNodepath + "needcalr4", model.getValue(tmpNstNodepathINIT + "needcalrlist/needcalr15"));
  3496. model.setValue(tmpNstNodepath + "needcalr5", model.getValue(tmpNstNodepathINIT + "needcalrlist/needcalr16"));
  3497. model.refresh();
  3498. var needcalrcalc = 1784-11*Number(model.getValue(tmpNstNodepathINIT + "needcalrlist/needcalr12")) +5* Number(model.getValue(tmpNstNodepathINIT + "needcalrlist/needcalr13"))+244* Number(model.getValue(tmpNstNodepathINIT + "needcalrlist/needcalr14"))+239 * Number(model.getValue(tmpNstNodepathINIT + "needcalrlist/needcalr15"))+804 * Number(model.getValue(tmpNstNodepathINIT + "needcalrlist/needcalr16"));
  3499. model.setValue(tmpNstNodepath + "needcalrcalc", needcalrcalc);
  3500. }
  3501. }
  3502. /*
  3503. @ 필요열량 설정 (Total Caloric Need : TCN)
  3504. - 기존에 선택된 항목에 의해 설정되는 변수가 상이함
  3505. #parameter
  3506. - NstFlag : 교육의뢰=EDU / 추구관리=PURS 구분
  3507. - tmpNstNodepathINIT : 교육의뢰=EDU / 추구관리=PURS 구분별 Node Path
  3508. 교육의뢰= "/root/init/eduinfo/"
  3509. 추구관리= "/root/init/pursinfo/"
  3510. - tmpNstNodepath : 교육의뢰=EDU / 추구관리=PURS 구분별 Node Path
  3511. 교육의뢰= "/root/main/edunstinfo/nutreduinfo/"
  3512. 추구관리= "/root/main/pursnstinfo/nutrpursinfo/"
  3513. */
  3514. function fSetTCN_EduPurs(NstFlag,tmpNstNodepathINIT,tmpNstNodepath)
  3515. {
  3516. // 노드 초기화
  3517. model.resetInstanceNode(tmpNstNodepathINIT + "needcalrlist");
  3518. /*
  3519. 필요열량 선택값 (radio button) - /root/main/nstinfo/nutrpninfo/needcalrflag
  3520. */
  3521. if( model.getValue(tmpNstNodepath + "needcalrflag") == "1" ) {
  3522. model.setValue(tmpNstNodepathINIT + "needcalrlist/needcalr1" , model.getValue(tmpNstNodepath + "needcalr1"));
  3523. model.setValue(tmpNstNodepathINIT + "needcalrlist/needcalr2" , model.getValue(tmpNstNodepath + "needcalr2"));
  3524. }
  3525. if( model.getValue(tmpNstNodepath + "needcalrflag") == "2" ) {
  3526. model.setValue(tmpNstNodepathINIT + "needcalrlist/needcalr3" , model.getValue(tmpNstNodepath + "needcalr1"));
  3527. model.setValue(tmpNstNodepathINIT + "needcalrlist/needcalr4" , model.getValue(tmpNstNodepath + "needcalr2"));
  3528. model.setValue(tmpNstNodepathINIT + "needcalrlist/needcalr5" , model.getValue(tmpNstNodepath + "needcalr3"));
  3529. model.setValue(tmpNstNodepathINIT + "needcalrlist/needcalr6" , model.getValue(tmpNstNodepath + "needcalrcalc"));
  3530. }
  3531. if( model.getValue(tmpNstNodepath + "needcalrflag") == "3" ) {
  3532. model.setValue(tmpNstNodepathINIT + "needcalrlist/needcalr7" , model.getValue(tmpNstNodepath + "needcalr1"));
  3533. model.setValue(tmpNstNodepathINIT + "needcalrlist/needcalr8" , model.getValue(tmpNstNodepath + "needcalr2"));
  3534. model.setValue(tmpNstNodepathINIT + "needcalrlist/needcalr9" , model.getValue(tmpNstNodepath + "needcalr3"));
  3535. model.setValue(tmpNstNodepathINIT + "needcalrlist/needcalr10" , model.getValue(tmpNstNodepath + "needcalr4"));
  3536. model.setValue(tmpNstNodepathINIT + "needcalrlist/needcalr11" , model.getValue(tmpNstNodepath + "needcalrcalc"));
  3537. }
  3538. if( model.getValue(tmpNstNodepath + "needcalrflag") == "4" ) {
  3539. model.setValue(tmpNstNodepathINIT + "needcalrlist/needcalr12" , model.getValue(tmpNstNodepath + "needcalr1"));
  3540. model.setValue(tmpNstNodepathINIT + "needcalrlist/needcalr13" , model.getValue(tmpNstNodepath + "needcalr2"));
  3541. model.setValue(tmpNstNodepathINIT + "needcalrlist/needcalr14" , model.getValue(tmpNstNodepath + "needcalr3"));
  3542. model.setValue(tmpNstNodepathINIT + "needcalrlist/needcalr15" , model.getValue(tmpNstNodepath + "needcalr4"));
  3543. model.setValue(tmpNstNodepathINIT + "needcalrlist/needcalr16" , model.getValue(tmpNstNodepath + "needcalr5"));
  3544. model.setValue(tmpNstNodepathINIT + "needcalrlist/needcalr17" , model.getValue(tmpNstNodepath + "needcalrcalc"));
  3545. }
  3546. }
  3547. /*
  3548. @ 기타 항목 설정
  3549. #parameter
  3550. - NstFlag : 교육의뢰=EDU / 추구관리=PURS 구분
  3551. - tmpNstNodepathINIT : 교육의뢰=EDU / 추구관리=PURS 구분별 Node Path
  3552. 교육의뢰= "/root/init/eduinfo/"
  3553. 추구관리= "/root/init/pursinfo/"
  3554. - tmpNstNodepath : 교육의뢰=EDU / 추구관리=PURS 구분별 Node Path
  3555. 교육의뢰= "/root/main/edunstinfo/nutreduinfo/"
  3556. 추구관리= "/root/main/pursnstinfo/nutrpursinfo/"
  3557. */
  3558. function fSetEtc_EduPurs(NstFlag,tmpNstNodepathINIT,tmpNstNodepath)
  3559. {
  3560. if(model.getValue(tmpNstNodepath + "basewtflag") == "")
  3561. {
  3562. model.setValue(tmpNstNodepath + "basewtflag", "1");
  3563. }
  3564. if(model.getValue(tmpNstNodepath + "needcalrflag") == "")
  3565. {
  3566. model.setValue(tmpNstNodepath + "needcalrflag", "1");
  3567. }
  3568. var brthddstr = model.getValue("/root/main/patinfo/baseinfo/brthdd");
  3569. var reqddstr = model.getValue("/root/main/patinfo/baseinfo/reqdd");
  3570. //2010-02-01 미의뢰시 의뢰일자 없음 . 오늘일자로 계산처리
  3571. if(reqddstr == "" || reqddstr == null){
  3572. reqddstr = model.getValue("/root/main/patinfo/baseinfo/repldd");
  3573. if(reqddstr == "" || reqddstr == null) reqddstr = getCurrentDate();
  3574. }
  3575. var age = parseInt(reqddstr.substring(0, 4)) - parseInt(brthddstr.substring(0, 4));
  3576. if(reqddstr.substr(4, 7) <= brthddstr.substring(4, 7))
  3577. {
  3578. age = parseInt(age) - 1;
  3579. }
  3580. model.setValue(tmpNstNodepathINIT + "basembolinfolist/age", age);
  3581. if(model.getValue(tmpNstNodepath + "execdd") == "") model.setValue(tmpNstNodepath + "execdd", getCurrentDate());
  3582. if(model.getValue(tmpNstNodepath + "dieterid") == "" || model.getValue(tmpNstNodepath + "dieterid") == "1")
  3583. {
  3584. model.setValue(tmpNstNodepath + "dieterid", getUserId());
  3585. }
  3586. var wt = model.getValue(tmpNstNodepath + "wt");
  3587. var ibw = model.getValue(tmpNstNodepath + "ibw");
  3588. model.setValue("/root/temp/ibwper", wt / ibw * 100);
  3589. }
  3590. /*
  3591. @ BEE계산
  3592. #parameter
  3593. - NstFlag : 교육의뢰=EDU / 추구관리=PURS 구분
  3594. - tmpNstNodepathINIT : 교육의뢰=EDU / 추구관리=PURS 구분별 Node Path
  3595. 교육의뢰= "/root/init/eduinfo/"
  3596. 추구관리= "/root/init/pursinfo/"
  3597. - tmpNstNodepath : 교육의뢰=EDU / 추구관리=PURS 구분별 Node Path
  3598. 교육의뢰= "/root/main/edunstinfo/nutreduinfo/"
  3599. 추구관리= "/root/main/pursnstinfo/nutrpursinfo/"
  3600. */
  3601. function fCalcBeeEn_EduPurs(NstFlag,tmpNstNodepathINIT,tmpNstNodepath)
  3602. {
  3603. var manbee;
  3604. var womenbee;
  3605. var wt = model.getValue(tmpNstNodepath + "basewt");
  3606. var ht = model.getValue(tmpNstNodepath + "ht");
  3607. var age = model.getValue(tmpNstNodepathINIT + "basembolinfolist/age");
  3608. if(wt == "" || ht == "") return false;
  3609. manbee = ( 66.5 + (13.7 * wt) + (5 * ht) - (6.8 * age) ).toString().getRound( -2,"HALF_UP");
  3610. womenbee = ( 655 + (9.6 * wt) + (1.9 * ht) - (4.7 * age) ).toString().getRound( -2,"HALF_UP");
  3611. model.setValue(tmpNstNodepathINIT + "basembolinfolist/mbasembolcalc", manbee);
  3612. model.setValue(tmpNstNodepathINIT + "basembolinfolist/wbasembolcalc", womenbee);
  3613. if(gv_sex == "M")
  3614. {
  3615. model.setValue("/root/init/bee", manbee);
  3616. }
  3617. else
  3618. {
  3619. model.setValue("/root/init/bee", womenbee);
  3620. }
  3621. }
  3622. /*
  3623. @필요열량계산
  3624. #parameter
  3625. - calcflag :
  3626. - NstFlag : 교육의뢰=EDU / 추구관리=PURS 구분
  3627. - tmpNstNodepathINIT : 교육의뢰=EDU / 추구관리=PURS 구분별 Node Path
  3628. 교육의뢰= "/root/init/eduinfo/"
  3629. 추구관리= "/root/init/pursinfo/"
  3630. - tmpNstNodepath : 교육의뢰=EDU / 추구관리=PURS 구분별 Node Path
  3631. 교육의뢰= "/root/main/edunstinfo/nutreduinfo/"
  3632. 추구관리= "/root/main/pursnstinfo/nutrpursinfo/"
  3633. */
  3634. function fCalcNeedCalEn_EduPurs(NstFlag,tmpNstNodepathINIT,tmpNstNodepath,calcflag)
  3635. {
  3636. var bee = model.getValue("/root/init/bee");
  3637. var tcn;
  3638. model.setValue(tmpNstNodepathINIT + "needcalrlist/needcalr6", "");
  3639. model.setValue(tmpNstNodepathINIT + "needcalrlist/needcalr7", "");
  3640. model.setValue(tmpNstNodepathINIT + "needcalrlist/needcalr11", "");
  3641. model.setValue(tmpNstNodepathINIT + "needcalrlist/needcalr17", "");
  3642. if(model.getValue(tmpNstNodepath + "needcalrflag") == "1")
  3643. {
  3644. var need1 = model.getValue(tmpNstNodepathINIT + "needcalrlist/needcalr1");
  3645. var need2 = model.getValue(tmpNstNodepathINIT + "needcalrlist/needcalr2");
  3646. tcn = ( need1 * need2).toString().getRound(-2,"HALF_UP");
  3647. model.setValue(tmpNstNodepathINIT + "needcalrlist/needcalr7", tcn);
  3648. }
  3649. else if(model.getValue(tmpNstNodepath + "needcalrflag") == "2")
  3650. {
  3651. var af = model.getValue(tmpNstNodepathINIT + "needcalrlist/needcalr4");
  3652. var ifv = model.getValue(tmpNstNodepathINIT + "needcalrlist/needcalr5");
  3653. tcn = (bee*af*ifv ).toString().getRound(-2,"HALF_UP");
  3654. model.setValue(tmpNstNodepathINIT + "needcalrlist/needcalr6", tcn);
  3655. }
  3656. else if(model.getValue(tmpNstNodepath + "needcalrflag") == "3")
  3657. {
  3658. var af = model.getValue(tmpNstNodepathINIT + "needcalrlist/needcalr8");
  3659. var ifv = model.getValue(tmpNstNodepathINIT + "needcalrlist/needcalr10");
  3660. var question = model.getValue(tmpNstNodepathINIT + "needcalrlist/needcalr10");
  3661. tcn = ( (bee*af) + (bee*question) ).toString().getRound(-2,"HALF_UP");
  3662. model.setValue(tmpNstNodepathINIT + "needcalrlist/needcalr11", tcn);
  3663. }
  3664. else if(model.getValue(tmpNstNodepath + "needcalrflag") == "4")
  3665. {
  3666. var wt = model.getValue(tmpNstNodepath + "basewt");
  3667. var ht = model.getValue(tmpNstNodepath + "ht");
  3668. var age = model.getValue(tmpNstNodepathINIT + "basembolinfolist/age");
  3669. var wmflag = model.getValue(tmpNstNodepathINIT + "needcalrlist/needcalr14");
  3670. var preflag = model.getValue(tmpNstNodepathINIT + "needcalrlist/needcalr15");
  3671. var preflag2= model.getValue(tmpNstNodepathINIT + "needcalrlist/needcalr16");
  3672. tcn = (1784 - (11 * age) + (5 * wt) + (244 * wmflag) + (239 * preflag) + (804 * preflag2) ).toString().getRound(-2,"HALF_UP");
  3673. model.setValue(tmpNstNodepathINIT + "needcalrlist/needcalr17", tcn);
  3674. }
  3675. if(calcflag != true) model.setValue(tmpNstNodepath + "corrcalr", tcn);
  3676. }
  3677. /*
  3678. @
  3679. #parameter
  3680. - NstFlag : 교육의뢰=EDU / 추구관리=PURS 구분
  3681. - tmpNstNodepathINIT : 교육의뢰=EDU / 추구관리=PURS 구분별 Node Path
  3682. 교육의뢰= "/root/init/eduinfo/"
  3683. 추구관리= "/root/init/pursinfo/"
  3684. - tmpNstNodepath : 교육의뢰=EDU / 추구관리=PURS 구분별 Node Path
  3685. 교육의뢰= "/root/main/edunstinfo/nutreduinfo/"
  3686. 추구관리= "/root/main/pursnstinfo/nutrpursinfo/"
  3687. */
  3688. function fCalcFPNEn_EduPurs(NstFlag,tmpNstNodepathINIT,tmpNstNodepath)
  3689. {
  3690. var ov = model.getValue(tmpNstNodepath + "prot1");
  3691. var ov2 = model.getValue(tmpNstNodepath + "prot2");
  3692. model.setValue(tmpNstNodepath + "protcalc", ( ov*ov2).toString().getRound(-2,"HALF_UP"));
  3693. var wt = model.getValue(tmpNstNodepath + "wt");
  3694. }
  3695. /*
  3696. @
  3697. #parameter
  3698. - NstFlag : 교육의뢰=EDU / 추구관리=PURS 구분
  3699. - tmpNstNodepathINIT : 교육의뢰=EDU / 추구관리=PURS 구분별 Node Path
  3700. 교육의뢰= "/root/init/eduinfo/"
  3701. 추구관리= "/root/init/pursinfo/"
  3702. - tmpNstNodepath : 교육의뢰=EDU / 추구관리=PURS 구분별 Node Path
  3703. 교육의뢰= "/root/main/edunstinfo/nutreduinfo/"
  3704. 추구관리= "/root/main/pursnstinfo/nutrpursinfo/"
  3705. */
  3706. function fNstExamEn_EduPurs(NstFlag,tmpNstNodepathINIT,tmpNstNodepath)
  3707. {
  3708. //2010-02-02 회신 및 임시저장상태일경우 검사결과를 가져오지 않는다.
  3709. var tmpstatflag = model.getValue(tmpNstNodepath + "statflag"); //상태
  3710. if (tmpstatflag == "Z" || tmpstatflag == "D" ){ //회신 - 임시저장 상태
  3711. //검사결과 가져오지 않는다
  3712. //alert("검사결과 가져오지 않는다");
  3713. }else{
  3714. submit("TRADC02605");
  3715. if (model.getValue(tmpNstNodepath + "alb") =="" ) {
  3716. model.setValue(tmpNstNodepath + "alb", model.getValue("/root/init/examrslt/alb"));
  3717. }
  3718. if (model.getValue(tmpNstNodepath + "trf") =="" ) {
  3719. model.setValue(tmpNstNodepath + "trf", model.getValue("/root/init/examrslt/trf"));
  3720. }
  3721. if (model.getValue(tmpNstNodepath + "hb") =="" ) {
  3722. model.setValue(tmpNstNodepath + "hb", model.getValue("/root/init/examrslt/hb"));
  3723. }
  3724. if (model.getValue(tmpNstNodepath + "na") =="" ) {
  3725. model.setValue(tmpNstNodepath + "na", model.getValue("/root/init/examrslt/na"));
  3726. }
  3727. if (model.getValue(tmpNstNodepath + "k") =="" ) {
  3728. model.setValue(tmpNstNodepath + "k", model.getValue("/root/init/examrslt/k"));
  3729. }
  3730. if (model.getValue(tmpNstNodepath + "cl") =="" ) {
  3731. model.setValue(tmpNstNodepath + "cl", model.getValue("/root/init/examrslt/cl"));
  3732. }
  3733. //2010-02-04 검사결과 항목추가
  3734. if (model.getValue(tmpNstNodepath + "tlc") =="" ) {
  3735. //2010-02-10 TLC 결과값 변경(=WBC count (LHR100) * Lymphocytes(LHR10503) /1000*100 변경)
  3736. var wbc = model.getValue("/root/init/examrslt/wbc");
  3737. var tlc = model.getValue("/root/init/examrslt/tlc");
  3738. if ((wbc!="")&& (tlc!="")) {
  3739. var calc_tlc = (wbc * tlc * 10 ).toString().getRound(-3,"HALF_UP")
  3740. model.setValue(tmpNstNodepath + "tlc", calc_tlc);
  3741. }
  3742. }
  3743. if (model.getValue(tmpNstNodepath + "hct") =="" ) {
  3744. model.setValue(tmpNstNodepath + "hct", model.getValue("/root/init/examrslt/hct"));
  3745. }
  3746. if (model.getValue(tmpNstNodepath + "rbp") =="" ) {
  3747. model.setValue(tmpNstNodepath + "rbp", model.getValue("/root/init/examrslt/rbp"));
  3748. }
  3749. if (model.getValue(tmpNstNodepath + "bun") =="" ) {
  3750. model.setValue(tmpNstNodepath + "bun", model.getValue("/root/init/examrslt/bun"));
  3751. }
  3752. if (model.getValue(tmpNstNodepath + "cr") =="" ) {
  3753. model.setValue(tmpNstNodepath + "cr", model.getValue("/root/init/examrslt/cr"));
  3754. }
  3755. if (model.getValue(tmpNstNodepath + "chol") =="" ) {
  3756. model.setValue(tmpNstNodepath + "chol", model.getValue("/root/init/examrslt/chol"));
  3757. }
  3758. if (model.getValue(tmpNstNodepath + "tg") =="" ) {
  3759. model.setValue(tmpNstNodepath + "tg", model.getValue("/root/init/examrslt/tg"));
  3760. }
  3761. if (model.getValue(tmpNstNodepath + "ca") =="" ) {
  3762. model.setValue(tmpNstNodepath + "ca", model.getValue("/root/init/examrslt/ca"));
  3763. }
  3764. if (model.getValue(tmpNstNodepath + "p") =="" ) {
  3765. model.setValue(tmpNstNodepath + "p", model.getValue("/root/init/examrslt/p"));
  3766. }
  3767. if (model.getValue(tmpNstNodepath + "mg") =="" ) {
  3768. model.setValue(tmpNstNodepath + "mg", model.getValue("/root/init/examrslt/mg"));
  3769. }
  3770. fNstPatHtWt(tmpNstNodepath); // 2010-05-10 임상관찰기록지 or 간호정보조사지 키와 체중 가져오기
  3771. }
  3772. // LAB 결과값 가져오기 End
  3773. }
  3774. /*
  3775. @ 키와 몸무게에 대한 ibw 계산
  3776. #parameter
  3777. - NstFlag : 교육의뢰=EDU / 추구관리=PURS 구분
  3778. - tmpNstNodepathINIT : 교육의뢰=EDU / 추구관리=PURS 구분별 Node Path
  3779. 교육의뢰= "/root/init/eduinfo/"
  3780. 추구관리= "/root/init/pursinfo/"
  3781. - tmpNstNodepath : 교육의뢰=EDU / 추구관리=PURS 구분별 Node Path
  3782. 교육의뢰= "/root/main/edunstinfo/nutreduinfo/"
  3783. 추구관리= "/root/main/pursnstinfo/nutrpursinfo/"
  3784. */
  3785. function fCalcWeightEn_EduPurs(NstFlag,tmpNstNodepathINIT,tmpNstNodepath)
  3786. {
  3787. var wt = model.getValue(tmpNstNodepath + "wt");
  3788. var ht = model.getValue(tmpNstNodepath + "ht");
  3789. if(ht == "")
  3790. {
  3791. return false;
  3792. }
  3793. //input108.attribute("editable") = false; // 왜 사용하였을까요???
  3794. var ibw = 0;
  3795. var htsqare = eval(ht / 100);
  3796. if(gv_sex == "M")
  3797. {
  3798. ibw = ( 22 * htsqare * htsqare ).toString().getRound( -2,"HALF_UP");
  3799. }
  3800. else
  3801. {
  3802. ibw = ( 21 * htsqare * htsqare ).toString().getRound( -2,"HALF_UP");
  3803. }
  3804. model.setValue(tmpNstNodepath + "ibw", ibw );
  3805. fCalcWeightEx_EduPurs(NstFlag,tmpNstNodepathINIT,tmpNstNodepath);
  3806. }
  3807. /*
  3808. @ PN/EN 기준체중 선택값 설정, 수분요구량 계산
  3809. - 함수호출시
  3810. 1) abw값 계산/설정
  3811. 2) 기준체중 선택값 설정
  3812. 3) 수분요구량 계산/설정
  3813. 4) BEE 계산/설정 함수호출
  3814. 5) 필요열량 계산/설정 함수 호출
  3815. #parameter
  3816. - NstFlag : 교육의뢰=EDU / 추구관리=PURS 구분
  3817. - tmpNstNodepathINIT : 교육의뢰=EDU / 추구관리=PURS 구분별 Node Path
  3818. 교육의뢰= "/root/init/eduinfo/"
  3819. 추구관리= "/root/init/pursinfo/"
  3820. - tmpNstNodepath : 교육의뢰=EDU / 추구관리=PURS 구분별 Node Path
  3821. 교육의뢰= "/root/main/edunstinfo/nutreduinfo/"
  3822. 추구관리= "/root/main/pursnstinfo/nutrpursinfo/"
  3823. */
  3824. function fCalcWeightEx_EduPurs(NstFlag,tmpNstNodepathINIT,tmpNstNodepath)
  3825. {
  3826. var wt = parseFloat(model.getValue(tmpNstNodepath + "wt"));
  3827. var ht = parseFloat(model.getValue(tmpNstNodepath + "ht"));
  3828. var ibw = parseFloat(model.getValue(tmpNstNodepath + "ibw"));
  3829. model.setValue( tmpNstNodepath + "prot1", ibw);
  3830. model.setValue(tmpNstNodepath + "pibw", (wt / ibw * 100).toString().getRound( -2,"HALF_UP"));
  3831. var ubw = parseFloat(model.getValue(tmpNstNodepath + "ubw"));
  3832. var abw = (ibw + (( ubw - ibw) * 0.25)).toString().getRound( -2,"HALF_UP");
  3833. if (parseFloat(model.getValue(tmpNstNodepath + "pibw")) >= 120 ) {
  3834. model.setValue(tmpNstNodepath + "abw", abw);
  3835. }else{
  3836. model.setValue(tmpNstNodepath + "abw", "");
  3837. }
  3838. if(model.getValue(tmpNstNodepath + "basewtflag") == "1")
  3839. {
  3840. model.setValue(tmpNstNodepath + "basewt", ibw);
  3841. }
  3842. else if(model.getValue(tmpNstNodepath + "basewtflag") == "2")
  3843. {
  3844. if (model.getValue(tmpNstNodepath + "pibw") >= 120 ) {
  3845. model.setValue(tmpNstNodepath + "basewt", abw);
  3846. }
  3847. //input108.attribute("editable") = true;
  3848. }
  3849. else if(model.getValue(tmpNstNodepath + "basewtflag") == "3")
  3850. {
  3851. model.setValue(tmpNstNodepath + "basewt", wt);
  3852. }
  3853. var waterreq = (1500 + (20 * (wt - 20)) ).toString().getRound( -2,"HALF_UP");
  3854. model.setValue(tmpNstNodepath + "waterreqvol", waterreq);
  3855. fCalcBeeEn_EduPurs(NstFlag,tmpNstNodepathINIT,tmpNstNodepath); //BEE계산
  3856. fCalcNeedCalEn_EduPurs(NstFlag,tmpNstNodepathINIT,tmpNstNodepath); //필요열량
  3857. }
  3858. /*
  3859. @ Wt Change kg / % 구하기 추가
  3860. #parameter
  3861. - NstFlag : 교육의뢰=EDU / 추구관리=PURS 구분
  3862. - tmpNstNodepathINIT : 교육의뢰=EDU / 추구관리=PURS 구분별 Node Path
  3863. 교육의뢰= "/root/init/eduinfo/"
  3864. 추구관리= "/root/init/pursinfo/"
  3865. - tmpNstNodepath : 교육의뢰=EDU / 추구관리=PURS 구분별 Node Path
  3866. 교육의뢰= "/root/main/edunstinfo/nutreduinfo/"
  3867. 추구관리= "/root/main/pursnstinfo/nutrpursinfo/"
  3868. */
  3869. function fCalcWtChangeEn_EduPurs(NstFlag, tmpNstNodepathINIT, tmpNstNodepath)
  3870. {
  3871. var wt = model.getValue(tmpNstNodepath + "wt");
  3872. var ubw = model.getValue(tmpNstNodepath + "ubw");
  3873. var wtchngkg;
  3874. var wtchngperc;
  3875. wtchngkg = ( wt - ubw ).toString().getRound(-2,"HALF_UP") ;
  3876. wtchngperc = ( ( wt - ubw ) / ubw *100 ).toString().getRound(-2,"HALF_UP");
  3877. model.setValue(tmpNstNodepath + "wtchngkg", wtchngkg ); // Wt Change - kg
  3878. model.setValue(tmpNstNodepath + "wtchngperc", wtchngperc ); // Wt Change %
  3879. fCalcWeightEn_EduPurs(NstFlag,tmpNstNodepathINIT,tmpNstNodepath);
  3880. }
  3881. /*
  3882. @
  3883. #parameter
  3884. - NstFlag : 교육의뢰=EDU / 추구관리=PURS 구분
  3885. - tmpNstNodepathINIT : 교육의뢰=EDU / 추구관리=PURS 구분별 Node Path
  3886. 교육의뢰= "/root/init/eduinfo/"
  3887. 추구관리= "/root/init/pursinfo/"
  3888. - tmpNstNodepath : 교육의뢰=EDU / 추구관리=PURS 구분별 Node Path
  3889. 교육의뢰= "/root/main/edunstinfo/nutreduinfo/"
  3890. 추구관리= "/root/main/pursnstinfo/nutrpursinfo/"
  3891. */
  3892. function fCalcNbalanceEn_EduPurs(NstFlag,tmpNstNodepathINIT,tmpNstNodepath)
  3893. {
  3894. var intake = model.getValue(tmpNstNodepath + "nbintake");
  3895. var uun = model.getValue(tmpNstNodepath + "uun");
  3896. var nbalance = ( intake - (uun * 1.2 + 2) ).toString().getRound(-2,"HALF_UP");
  3897. model.setValue(tmpNstNodepath + "nbcalval", nbalance);
  3898. }
  3899. //8888888888888888888888888888888888888888888888888888888888888
  3900. //8888888888888888888888888888888888888888888888888888888888888
  3901. //8888888888888888888888888888888888888888888888888888888888888
  3902. //8888888888888888888888888888888888888888888888888888888888888
  3903. /*
  3904. @ NST EN 교육관리 - 2009-12-23 NST-EN 교육의뢰추가 - 의뢰유형 (1:영양평가 2:영양교육)
  3905. #parameter
  3906. - sendflag : 회신내용 수정가능여부
  3907. */
  3908. function fCretReplCntsEn_Edu(sendflag)
  3909. {
  3910. //sendflag : 회신내용 수정가능여부
  3911. //tmpNstNodepath : EN-교육의뢰 / EN-추구관리 기본 노드 path
  3912. //tmpNstNodepathMAIN : EN-교육의뢰 / EN-추구관리 기본 노드 path
  3913. //NstEnGubun : EN 구분 (교육관리=EDU / 추구관리= PURS )
  3914. var tmpNstNodepath = "/root/main/edunstinfo/nutreduinfo/";
  3915. var tmpNstNodepathMAIN = "/root/main/edunstinfo/";
  3916. fCretReplCntsEn_EduPurs(sendflag,tmpNstNodepath,tmpNstNodepathMAIN ,"EDU");
  3917. }
  3918. /*
  3919. @ NST EN 추구관리 - 2009-12-23 NST-EN 추구관리추가
  3920. #parameter
  3921. - sendflag : 회신내용 수정가능여부
  3922. */
  3923. function fCretReplCntsEn_Purs(sendflag)
  3924. {
  3925. //sendflag : 회신내용 수정가능여부
  3926. //tmpNstNodepath : EN-교육의뢰 / EN-추구관리 기본 노드 path
  3927. //tmpNstNodepathMAIN : EN-교육의뢰 / EN-추구관리 기본 노드 path
  3928. //NstEnGubun : EN 구분 (교육관리=EDU / 추구관리= PURS )
  3929. var tmpNstNodepath = "/root/main/pursnstinfo/nutrpursinfo/";
  3930. var tmpNstNodepathMAIN = "/root/main/pursnstinfo/nutrpursinfo/";
  3931. fCretReplCntsEn_EduPurs(sendflag,tmpNstNodepath,tmpNstNodepathMAIN ,"PURS");
  3932. }
  3933. /*
  3934. @ NST EN 교육관리/ 추구관리 회신내용 가져오기 - 2009-12-23
  3935. #parameter
  3936. - sendflag : 회신내용 수정가능여부
  3937. - tmpNstNodepath : EN-교육의뢰 / EN-추구관리 기본 노드 path
  3938. - tmpNstNodepathMain : EN-교육의뢰 / EN-추구관리 기본 노드 path
  3939. - NstEnGubun : EN 구분 (교육관리=EDU / 추구관리= PURS )
  3940. */
  3941. function fCretReplCntsEn_EduPurs(sendflag,tmpNstNodepath,tmpNstNodepathMain,NstEnGubun)
  3942. {
  3943. //값 세팅
  3944. var roomcd = model.getValue("/root/main/patinfo/baseinfo/roomcd"); //병실
  3945. var orddeptnm = model.getValue("/root/main/patinfo/baseinfo/orddeptnm"); //진료과
  3946. var orddrnm = model.getValue("/root/main/patinfo/baseinfo/orddrnm"); // 의뢰의사
  3947. var reqdd = model.getValue("/root/main/patinfo/baseinfo/reqdd"); //의뢰일
  3948. var diagengnm = model.getValue("/root/main/patinfo/diaginfo[1]/diagengnm"); //상병명
  3949. var orddrnm = model.getValue("/root/main/patinfo/baseinfo/orddrnm"); //진료과
  3950. var tmpreqdd = model.getValue("/root/main/patinfo/baseinfo/reqdd") //의뢰일
  3951. var ht = model.getValue(tmpNstNodepath + "ht"); // 키
  3952. var ubw = model.getValue(tmpNstNodepath + "ubw"); //UBW
  3953. var wt = model.getValue(tmpNstNodepath + "wt"); //체중
  3954. var ibw = model.getValue(tmpNstNodepath + "ibw"); //IBW
  3955. var pibw = model.getValue(tmpNstNodepath + "pibw"); //pibw
  3956. var lost = model.getValue(tmpNstNodepath + "ht");
  3957. var per = model.getValue("/root/temp/ibwper");
  3958. var hb = model.getValue(tmpNstNodepath + "hb");
  3959. var na = model.getValue(tmpNstNodepath + "na");
  3960. var k = model.getValue(tmpNstNodepath + "k");
  3961. var cl = model.getValue(tmpNstNodepath + "cl");
  3962. var alb = model.getValue(tmpNstNodepath + "alb");
  3963. var tlc = model.getValue(tmpNstNodepath + "tlc");
  3964. var trf = model.getValue(tmpNstNodepath + "trf");
  3965. var ins = model.getValue(tmpNstNodepath + "ins");
  3966. var uun = model.getValue(tmpNstNodepath + "uun");
  3967. var needcalrflag = model.getValue(tmpNstNodepath + "needcalrflag"); //2010-02-01 필요열량 계산법
  3968. var needcaltotal = model.getValue(tmpNstNodepath + "corrcalr"); //보정열량
  3969. var waterreqvol = model.getValue(tmpNstNodepath + "waterreqvol"); //수분요구량
  3970. var dexwdrugspd = model.getValue(tmpNstNodepath + "dexwdrugspd"); //당투여속도
  3971. var protsuplvol = model.getValue(tmpNstNodepath + "protcalc"); //아미노산 공급량
  3972. var suplplanetc = model.getValue(tmpNstNodepath + "nutrreqvol"); //기타
  3973. var nlab = "============================\n==============================";
  3974. if (NstEnGubun == "EDU") { //EN - 교육의뢰일경우
  3975. var nutrprob = splitChkBox(checkbox7); // 영양관련 문제점
  3976. var actgrde = splitChkBox(checkbox14); // 활동정도
  3977. var drugpath = splitChkBox(checkbox20); // 투여경로
  3978. var nutrjudg = splitChkBox(checkbox5); // 영양상태 판정
  3979. var needcalr1 = model.getValue("/root/init/eduinfo/needcalrlist/needcalr1"); // 2010-02-01 필요열량-계수법 1
  3980. var needcalr2 = model.getValue("/root/init/eduinfo/needcalrlist/needcalr2"); // 2010-02-01 필요열량-계수법 2
  3981. var needcalr8 = combo33.value; // AF
  3982. var needcalr4 = combo35.value; // AF
  3983. var needcalr5 = combo30.value; // IF
  3984. var dietedustandard = cmb_cnstcd.label; // 영양교육내용 - 상용구
  3985. var dietedurslt = model.getValue(tmpNstNodepath + "dietedurslt"); // 영양교육내용
  3986. var dieteroffr = model.getValue(tmpNstNodepath + "dieteroffr"); // 영양사의견
  3987. var dieterid = combo38.label; //영양사
  3988. }else { //EN - 추구관리
  3989. var nutrprob = splitChkBox(checkbox8); // 영양관련 문제점 checkbox22
  3990. var actgrde = splitChkBox(checkbox22); // 활동정도 checkbox22
  3991. var drugpath = splitChkBox(checkbox23); // 투여경로
  3992. var nutrjudg = splitChkBox(checkbox4); // 영양상태 판정
  3993. var needcalr1 = model.getValue("/root/init/pursinfo/needcalrlist/needcalr1"); // 2010-02-01 필요열량-계수법 1
  3994. var needcalr2 = model.getValue("/root/init/pursinfo/needcalrlist/needcalr2"); // 2010-02-01 필요열량-계수법 2
  3995. var needcalr8 = combo46.value; // AF
  3996. var needcalr4 = combo48.value; // AF
  3997. var needcalr5 = combo42.value; // IF
  3998. var dietedustandard = ""; // 영양교육내용 - 상용구
  3999. var dietedurslt = ""; // 영양교육내용
  4000. var dieteroffr = model.getValue(tmpNstNodepath + "dieteroffr"); // 영양사제언 2010-04-20 NST-EN 추구관리 회신내역에 영양사의견 및 모니터링 조회안됨
  4001. var dieterid = combo1.label; // 영양사
  4002. var drnm = input136.label; // 제언의사성명 2014-09-03
  4003. var pharmstnm = input142.label; // 제언약사성명 2014-09-03
  4004. var nursenm = input144.label; // 제언간호사성명 2014-09-03
  4005. var nurseoffr = model.getValue(tmpNstNodepath + "nurseoffr"); // 간호사제언 2014-09-03
  4006. var droffr = model.getValue(tmpNstNodepath + "droffr"); // 의사제언 2014-05-26
  4007. var pharmstoffr = model.getValue(tmpNstNodepath + "pharmstoffr"); // 약사제언 2014-05-26
  4008. }
  4009. var replcnts1 = "\n병실 :"+ roomcd +"호 \t\t의뢰일 :"+ tmpreqdd + " " ;
  4010. var replcnts2 = "\n진료과 :"+ orddeptnm +" \t\t상병명 :" +" ";
  4011. var replcnts3 = "\n의뢰의사 : " + orddrnm + " \t\t "+diagengnm + " " ;
  4012. var replcnts4 = "\n\nS : 영양관련 문제점";
  4013. var replcnts5 = "\nο 식사시 문제점 : " + nutrprob + " " + model.getValue(tmpNstNodepath + "nutrprobetc"); //2009-02-09 영양관련문제점 - 기타 (입력내용) 회신조회
  4014. var replcnts6 = "\nο 활동정도 : " + actgrde + " " + model.getValue(tmpNstNodepath + "actgrdeetc"); //2010-04-27 NST-EN 추구관리 ( 영양관련문제점/활동정도 기타사항 저장오류)-회신내역추가
  4015. var replcnts7 = "\nο 투여경로 : " + drugpath;
  4016. var replcnts8 = "\nο 식사섭취상태 : ";
  4017. if (( model.getValue(tmpNstNodepath + "etrlfd")=="") || (model.getValue(tmpNstNodepath + "etrlfd")=="0")) {
  4018. var replcnts8add = "";
  4019. }else {
  4020. replcnts8add = "경구영양 " + model.getValue(tmpNstNodepath + "etrlfd") + " kcal/d";
  4021. }
  4022. if (( model.getValue(tmpNstNodepath + "tubfd")=="") || (model.getValue(tmpNstNodepath + "tubfd")=="0")) {
  4023. var replcnts9 = "";
  4024. }else {
  4025. var replcnts9 = "\t 경관영양 " + model.getValue(tmpNstNodepath + "tubfd") + " kcal/d";
  4026. }
  4027. if (( model.getValue(tmpNstNodepath + "itvnfd")=="") || (model.getValue(tmpNstNodepath + "itvnfd")=="0")) {
  4028. var replcnts10 = "";
  4029. }else {
  4030. var replcnts10 = "\t 정맥영양 " + model.getValue(tmpNstNodepath + "itvnfd") + " kcal/d";
  4031. }
  4032. if (( model.getValue(tmpNstNodepath + "totintkcalr")=="") || (model.getValue(tmpNstNodepath + "totintkcalr")=="0")) {
  4033. var replcnts11 = "";
  4034. }else {
  4035. var replcnts11 = "\n총섭취열량 " + model.getValue(tmpNstNodepath + "totintkcalr") + " kcal/d";
  4036. }
  4037. if (( model.getValue(tmpNstNodepath + "totintkprot")=="") || (model.getValue(tmpNstNodepath + "totintkprot")=="0")) {
  4038. var replcnts12 = "";
  4039. }else {
  4040. var replcnts12 = "\t 총단백질량 " + model.getValue(tmpNstNodepath + "totintkprot") + " g/d";
  4041. }
  4042. var replcnts13 = "\n\nO : ";
  4043. var replcnts14 = "\nο Ht : " + ht +"cm , Wt : " + wt + "kg , IBW : " + ibw + "kg , PIBW : "+ pibw + "%" ;
  4044. var replcnts15 = "\nο Wt.change : " + model.getValue(tmpNstNodepath + "wtchngkg" ) +"kg "
  4045. + "( " + model.getValue(tmpNstNodepath + "wtchngperc") + " )% / "
  4046. + model.getValue(tmpNstNodepath + "wtchngmm") + " 개월 " + model.getValue(tmpNstNodepath + "physmeasetc")
  4047. + "\nο 검사결과";
  4048. if (( model.getValue(tmpNstNodepath + "alb")=="") || (model.getValue(tmpNstNodepath + "/alb")=="0")) {
  4049. replcnts15 = replcnts15 + "";
  4050. }else {
  4051. replcnts15 = replcnts15 + " Alb : " + model.getValue(tmpNstNodepath + "alb");
  4052. }
  4053. if (( model.getValue(tmpNstNodepath + "tlc")=="") || (model.getValue(tmpNstNodepath + "tlc")=="0")) {
  4054. replcnts15 = replcnts15 + "";
  4055. }else {
  4056. replcnts15 = replcnts15 + " TLC : " + model.getValue(tmpNstNodepath + "tlc");
  4057. }
  4058. if (( model.getValue(tmpNstNodepath + "hb")=="") || (model.getValue(tmpNstNodepath + "hb")=="0")) {
  4059. replcnts15 = replcnts15 + "";
  4060. }else {
  4061. replcnts15 = replcnts15 + " Hb : " + model.getValue(tmpNstNodepath + "hb");
  4062. }
  4063. if (( model.getValue(tmpNstNodepath + "hct")=="") || (model.getValue(tmpNstNodepath + "hct")=="0")) {
  4064. replcnts15 = replcnts15 + "";
  4065. }else {
  4066. replcnts15 = replcnts15 + " Hct : " + model.getValue(tmpNstNodepath + "hct");
  4067. }
  4068. if (( model.getValue(tmpNstNodepath + "trf")=="") || (model.getValue(tmpNstNodepath + "trf")=="0")) {
  4069. replcnts15 = replcnts15 + "";
  4070. }else {
  4071. replcnts15 = replcnts15 + "\n\tTRF : " + model.getValue(tmpNstNodepath + "trf");
  4072. }
  4073. if (( model.getValue(tmpNstNodepath + "rbp")=="") || (model.getValue(tmpNstNodepath + "rbp")=="0")) {
  4074. replcnts15 = replcnts15 + "";
  4075. }else {
  4076. replcnts15 = replcnts15 + " RBP : " + model.getValue(tmpNstNodepath + "rbp");
  4077. }
  4078. if (( model.getValue(tmpNstNodepath + "na")=="") || (model.getValue(tmpNstNodepath + "na")=="0")) {
  4079. replcnts15 = replcnts15 + "";
  4080. }else {
  4081. replcnts15 = replcnts15 + " Na : " + model.getValue(tmpNstNodepath + "na");
  4082. }
  4083. if (( model.getValue(tmpNstNodepath + "k")=="") || (model.getValue(tmpNstNodepath + "k")=="0")) {
  4084. replcnts15 = replcnts15 + "";
  4085. }else {
  4086. replcnts15 = replcnts15 + " K : " + model.getValue(tmpNstNodepath + "k");
  4087. }
  4088. if (( model.getValue(tmpNstNodepath + "cl")=="") || (model.getValue(tmpNstNodepath + "cl")=="0")) {
  4089. replcnts15 = replcnts15 + "";
  4090. }else {
  4091. replcnts15 = replcnts15 + " Cl : " + model.getValue(tmpNstNodepath + "cl");
  4092. }
  4093. if (( model.getValue(tmpNstNodepath + "bun")=="") || (model.getValue(tmpNstNodepath + "bun")=="0")) {
  4094. replcnts15 = replcnts15 + "";
  4095. }else {
  4096. replcnts15 = replcnts15 + "\n\tBUN : " + model.getValue(tmpNstNodepath + "bun");
  4097. }
  4098. if (( model.getValue(tmpNstNodepath + "cr")=="") || (model.getValue(tmpNstNodepath + "cr")=="0")) {
  4099. replcnts15 = replcnts15 + "";
  4100. }else {
  4101. replcnts15 = replcnts15 + " Cr : " + model.getValue(tmpNstNodepath + "cr");
  4102. }
  4103. if (( model.getValue(tmpNstNodepath + "chol")=="") || (model.getValue(tmpNstNodepath + "chol")=="0")) {
  4104. replcnts15 = replcnts15 + "";
  4105. }else {
  4106. replcnts15 = replcnts15 + " Chol : " + model.getValue(tmpNstNodepath + "chol");
  4107. }
  4108. if (( model.getValue(tmpNstNodepath + "tg")=="") || (model.getValue(tmpNstNodepath + "tg")=="0")) {
  4109. replcnts15 = replcnts15 + "";
  4110. }else {
  4111. replcnts15 = replcnts15 + " TG : " + model.getValue(tmpNstNodepath + "tg");
  4112. }
  4113. if (( model.getValue(tmpNstNodepath + "ca")=="") || (model.getValue(tmpNstNodepath + "ca")=="0")) {
  4114. replcnts15 = replcnts15 + "";
  4115. }else {
  4116. replcnts15 = replcnts15 + "\n\tCa : " + model.getValue(tmpNstNodepath + "ca");
  4117. }
  4118. if (( model.getValue(tmpNstNodepath + "p")=="") || (model.getValue(tmpNstNodepath + "p")=="0")) {
  4119. replcnts15 = replcnts15 + "";
  4120. }else {
  4121. replcnts15 = replcnts15 + " P : " + model.getValue(tmpNstNodepath + "p");
  4122. }
  4123. if (( model.getValue(tmpNstNodepath + "mg")=="") || (model.getValue(tmpNstNodepath + "mg")=="0")) {
  4124. replcnts15 = replcnts15 + "";
  4125. }else {
  4126. replcnts15 = replcnts15 + " Mg : " + model.getValue(tmpNstNodepath + "mg");
  4127. }
  4128. if (( model.getValue(tmpNstNodepath + "ins")=="") || (model.getValue(tmpNstNodepath + "ins")=="0")) {
  4129. replcnts15 = replcnts15 + "";
  4130. }else {
  4131. replcnts15 = replcnts15 + " INS : " + model.getValue(tmpNstNodepath + "ins");
  4132. }
  4133. if (( model.getValue(tmpNstNodepath + "nbcalval")=="") || (model.getValue(tmpNstNodepath + "nbcalval")=="0")) {
  4134. replcnts15 = replcnts15 + "";
  4135. }else {
  4136. replcnts15 = replcnts15 + " N-Balance : " + model.getValue(tmpNstNodepath + "nbcalval");
  4137. }
  4138. var replcnts16 = "\n\nA : "
  4139. + "\nο 영양상태 판정 : " + nutrjudg ;
  4140. var replcnts17 = "\nο 영양요구량 " ;
  4141. var replcnts18 = "\n * 열량 : " + needcaltotal + " kcal/day" ;
  4142. //계수법
  4143. if ( needcalrflag == "1") {
  4144. // replcnts18= replcnts18 + " ( " + needcalr1+ " x " + needcalr2 + " kcal/kg )";
  4145. }else{
  4146. if (needcalr8 !=""){
  4147. replcnts18= replcnts18 + " ( BEE : " + model.getValue("/root/init/bee") + ", AF : " + needcalr8 ;
  4148. }else{
  4149. if (needcalr4 !=""){
  4150. replcnts18= replcnts18 + " ( BEE : " + model.getValue("/root/init/bee") + ", AF : " + needcalr4 ;
  4151. }else{
  4152. replcnts18= replcnts18 ;
  4153. }
  4154. }
  4155. //2009-02-09 IF 추가
  4156. if (needcalr5 !=""){
  4157. replcnts18= replcnts18 + ", IF : " + needcalr5 + " )";
  4158. }else{
  4159. replcnts18 = replcnts18 + ")";
  4160. }
  4161. }
  4162. // 2010-05-07 추구관리 단백질/수분요구량 회신내역 추가
  4163. var replcnts181 =""; //단백질
  4164. var replcnts182 =""; //수분요구량
  4165. replcnts181 = "\n * 단백질 : " + protsuplvol + " g/day ( IBW * " + model.getValue(tmpNstNodepath + "prot2") + " g/kg ) " ;
  4166. replcnts182 = "\n * 수분요구량 : " + waterreqvol + "ml/d";
  4167. if ( model.getValue(tmpNstNodepath + "nutrreqvol")=="") {
  4168. replcnts182 = replcnts182 + "";
  4169. }else {
  4170. replcnts182 = replcnts182 +"\n * 기타 : " + model.getValue(tmpNstNodepath + "nutrreqvol") ;
  4171. }
  4172. var replcnts19 ="";
  4173. var replcnts20 ="";
  4174. var replcnts21 ="";
  4175. var replcnts22="";
  4176. var replcnts23="";
  4177. if (NstEnGubun == "EDU") { //EN - 교육의뢰일경우만 해당됨
  4178. replcnts19 = "\n\nP : "
  4179. + "\nο 영양교육내용 : " + dietedustandard
  4180. + "\n " + dietedurslt ;
  4181. //2009-12-30 CarePaln회신내용 추가 Start
  4182. var carePlanData = model.getValue(tmpNstNodepathMain + "careplaninfo/problemcareplan");
  4183. if(carePlanData != "") {
  4184. replcnts20 = "\nο Problem : Plan "+ "\n";
  4185. // 로우 데이터 별로 나누기
  4186. carePlanData = carePlanData.split("§");
  4187. for(var i = 1; i <= carePlanData.length; ++i) {
  4188. var problemPlanData = carePlanData[i-1].split("▦");
  4189. replcnts20 = replcnts20 + " " + problemPlanData[0] + " : " + problemPlanData[1] + "\n";
  4190. }
  4191. }
  4192. //2009-12-30 CarePaln회신내용 추가 End
  4193. if (dieteroffr !="") {
  4194. var replcnts21 = "\nο 영양사 의견 : " + dieteroffr ;
  4195. }
  4196. //2014-05-26 의사제언 추가
  4197. if (droffr !="") {
  4198. var replcnts40 = "\nο 의사 의견 : " + droffr ;
  4199. }
  4200. //2014-05-26 약사제언 추가
  4201. if (pharmstoffr !="") {
  4202. var replcnts41 = "\nο 약사 의견 : " + pharmstoffr ;
  4203. }
  4204. }
  4205. //EN-교육/추구관리 해당없음
  4206. if (NstEnGubun == "PURS") {
  4207. replcnts19 = "\n\nP : "
  4208. if (dieteroffr !="") {
  4209. var replcnts21 = "\nο 영양사 제언 : " + "\n" + fSortWord(tab,dieteroffr,60) ; //영양사제언
  4210. }
  4211. if (droffr !="") {
  4212. var replcnts40 = "\nο 의사 제언 : " + "\n" + fSortWord(tab,droffr,60) ; //의사제언
  4213. }
  4214. if (pharmstoffr !="") {
  4215. var replcnts41 = "\nο 약사 제언 : " + "\n" + fSortWord(tab,pharmstoffr,60) ; //약사제언
  4216. }
  4217. //2014-09-03 간호사제언 추가
  4218. if (nurseoffr !="") {
  4219. var replcnts55 = "\nο 간호사 의견 : " + "\n" + fSortWord(tab,nurseoffr,60) ; //간호사제언
  4220. }
  4221. if (model.getValue(tmpNstNodepath + "mntr") !="") {
  4222. var replcnts22 = "\nο 모니터링 : " + "\n" + fSortWord(tab,model.getValue(tmpNstNodepath + "mntr"),60) ; //모니터링
  4223. }
  4224. }
  4225. var replcnts29 = "\n\n\n" + getCurrentDate().toDate().getDateFormat("YYYY/MM/DD") + " 의사 : " + drnm + " " + "/영양사 : " + dieterid + " " + "/약사 : " + pharmstnm + " " + "/간호사 : "+ nursenm ;
  4226. replcnts29 += "\n\t\t\tNST 위원장 : " +model.getValue("/root/init/codelist/drid/codelist/cdnm");
  4227. var RitemEN1 = replcnts1+replcnts2+replcnts3+replcnts4+replcnts5+replcnts6+replcnts7+replcnts8+replcnts8add+replcnts9+replcnts10;
  4228. var RitemEN2 = replcnts11+replcnts12+replcnts13+replcnts14+replcnts15+replcnts16+replcnts17+replcnts18+replcnts181+replcnts182+replcnts19+replcnts20;
  4229. var RitemEN3 = replcnts21+replcnts40+replcnts41+replcnts55+replcnts22+replcnts23+ replcnts29;
  4230. var replcnts = RitemEN1 + RitemEN2 + RitemEN3;
  4231. model.makeNode(tmpNstNodepath + "replcnts"); // 회신내역 노드생성
  4232. model.setValue(tmpNstNodepath + "replcnts", replcnts); // 회신내역 변수설정
  4233. model.setValue("/root/main/nstreqinfo/data", replcnts);
  4234. model.refresh();
  4235. if(sendflag == true)
  4236. {
  4237. //2008-11-17 EN에 대해서 회신내용 수정가능하도록 처리.
  4238. //2009-01-22 PN에 대해서 회신내용 수정가능하도록 처리. formflag : EN -> NST 변경
  4239. var sel = fSendReplForm(replcnts,"NST");
  4240. if(sel == "cfm"){
  4241. model.setValue(tmpNstNodepath + "replcnts",model.getValue("/root/temp/formdata/replinfo/replcnts"));
  4242. return true;
  4243. }else return false;
  4244. }
  4245. }
  4246. /*
  4247. * =========================================================================================================
  4248. * =========================================================================================================
  4249. * ====================== Care Plan 및 환자교육통합기록조호(다학제)관려부분입니다 ========================
  4250. * =========================================================================================================
  4251. * =========================================================================================================
  4252. */
  4253. /*
  4254. * Care Plan 관련 ENR 데이터 전송
  4255. */
  4256. function sendENRCAREPLANData(tmpNstNodepathMain) {
  4257. if (model.getValue("/root/hidden/sendENRCAREPLANData/nodesendYN") !="Y") return true; //2010-01-04 임시-추후 반드시 삭제처리
  4258. // Care Plan 전송 필수 데이터 체크
  4259. if(!checkENRCAREPLANData(tmpNstNodepathMain)) {
  4260. return false;
  4261. }
  4262. var sendCheck = "N";
  4263. var sColSep = "▦";
  4264. var sRowSep = "▩";
  4265. // 그리드 헤더값 생성
  4266. var rCSV = "m▦instcd▦careplanseq▦pid▦orddd▦cretno▦workflag▦problem▦careplan▦rgstdd▦rgsttm";
  4267. var m = "";
  4268. var instcd = "";
  4269. var careplanseq = "";
  4270. var pid = "";
  4271. var orddd = "";
  4272. var cretno = "";
  4273. var workflag = "";
  4274. var problem = "";
  4275. var careplan = "";
  4276. var rgstdd = "";
  4277. var rgsttm = "";
  4278. var problemcareplan = "";
  4279. m = "i";
  4280. instcd = getUserInfo("dutplceinstcd");
  4281. pid = model.getValue("/root/main/patinfo/baseinfo/pid");
  4282. orddd = model.getValue("/root/main/patinfo/baseinfo/orddd");
  4283. cretno = model.getValue("/root/main/patinfo/baseinfo/cretno");
  4284. workflag = "004" //model.getValue(tmpNstNodepathMain + "careplaninfo/workflag");
  4285. problemcareplan = model.getValue(tmpNstNodepathMain + "careplaninfo/problemcareplan");
  4286. rgstdd = model.getValue(tmpNstNodepathMain + "careplaninfo/rgstdd");
  4287. rgsttm = model.getValue(tmpNstNodepathMain + "careplaninfo/rgsttm");
  4288. // problem, careplan 데이터 나누기
  4289. var splitData = problemcareplan.split("§");
  4290. for(var i = 0; i < splitData.length; ++i) {
  4291. rCSV +=
  4292. sRowSep +
  4293. m + sColSep +
  4294. instcd + sColSep +
  4295. careplanseq + sColSep +
  4296. pid + sColSep +
  4297. orddd + sColSep +
  4298. cretno + sColSep +
  4299. workflag + sColSep +
  4300. splitData[i] + sColSep +
  4301. rgstdd + sColSep +
  4302. rgsttm;
  4303. }
  4304. // Care Plan 관련 전송 데이터 세팅
  4305. model.makeValue("/root/send/data/careplan/listdata", rCSV);
  4306. if(submit("TXANC00357")) {
  4307. //2010-02-24 NST-PN에 대해서는 회신시 전송되는 것이 아니라
  4308. // 회신후 [CarePlan전송]버튼 클릭시 전송되므로 별도의 전송정보를 저장한다.
  4309. if (gv_CnstType =="PN") {
  4310. model.makeValue ("/root/send/data/careplan/nstpndata/pid" ,pid) //등록번호
  4311. model.makeValue ("/root/send/data/careplan/nstpndata/formcd" ,"0000000770") //FormCD
  4312. model.makeValue ("/root/send/data/careplan/nstpndata/rgstseqno" ,model.getValue("/root/main/nstinfo/nutrpninfo/rgstseqno")) //저장순번
  4313. model.makeValue ("/root/send/data/careplan/nstpndata/replyn" ,"Y") //전송여부
  4314. model.makeValue ("/root/send/data/careplan/nstpndata/workflag" ,workflag) //작업구분
  4315. model.makeValue ("/root/send/data/careplan/nstpndata/problemcareplan" ,problemcareplan) //CarePlan 내용
  4316. model.makeValue ("/root/send/data/careplan/nstpndata/jcirgstdd" ,rgstdd) //전송일자
  4317. model.makeValue ("/root/send/data/careplan/nstpndata/jcirgsttm" ,rgsttm) //전송시간
  4318. if (submit("TXADC00905")) {; //TDM 데이타 저장 //NST 데이타 저장
  4319. //2010-03-08 NST-PN JCI CarePlan전송후 CarePlan 메인 화면 띄우기
  4320. //messageBox("정상적으로 [CarePlan 전송]이 ", "I002");
  4321. model.makeValue (tmpNstNodepathMain + "careplaninfo/replyn" ,"Y") //전송여부
  4322. //JCI Care Plan 통합조회 화면 개발 연동
  4323. var pid= model.getValue("/root/main/patinfo/baseinfo/pid")
  4324. setParameter("SMMRJ00100_pid", pid);
  4325. modal("SMMRJ00100"); // CarePlan 연동
  4326. }
  4327. }
  4328. return true;
  4329. } else {
  4330. messageBox("Care Plan 전송 처리 오류!! 시스템 담당자에게 문의", "I008");
  4331. return false;
  4332. }
  4333. }
  4334. /*
  4335. * Care Plan 전송 필수 데이터 체크
  4336. */
  4337. function checkENRCAREPLANData(tmpNstNodepathMain) {
  4338. var instcd = "";
  4339. var careplanseq = "";
  4340. var pid = "";
  4341. var orddd = "";
  4342. var cretno = "";
  4343. var workflag = "";
  4344. var problem = "";
  4345. var careplan = "";
  4346. var rgstdd = "";
  4347. var rgsttm = "";
  4348. var problemcareplan = "";
  4349. // 데이터 세팅
  4350. instcd = getUserInfo("dutplceinstcd");
  4351. pid = model.getValue("/root/main/patinfo/baseinfo/pid");
  4352. orddd = model.getValue("/root/main/patinfo/baseinfo/orddd");
  4353. cretno = model.getValue("/root/main/patinfo/baseinfo/cretno");
  4354. workflag = model.getValue(tmpNstNodepathMain + "careplaninfo/workflag");
  4355. problemcareplan = model.getValue(tmpNstNodepathMain + "careplaninfo/problemcareplan");
  4356. rgstdd = model.getValue(tmpNstNodepathMain + "careplaninfo/rgstdd");
  4357. rgsttm = model.getValue(tmpNstNodepathMain + "careplaninfo/rgsttm");
  4358. // Care Plan 전송 필수 데이터 체크
  4359. if(instcd == "" || pid == "" || orddd == "" || cretno == "" ||
  4360. workflag == "" || problemcareplan == "" || rgstdd == "" ||
  4361. rgsttm == "") {
  4362. messageBox("Care Plan 전송 항목인 'problem', 'plan', '등록일자', '등록시간' 은", "I003");
  4363. return false;
  4364. }
  4365. return true;
  4366. }
  4367. /*
  4368. * Care Plan 관련 ENR 데이터 전송
  4369. * NST -PN [CarePlan전송]버튼 클릭시 전송데이타를 만들어 전송처리한다.
  4370. */
  4371. function sendENRCAREPLANDataPN(tmpNstNodepathMain) {
  4372. //2010-03-08 머리말 넣기 (TPN)
  4373. //var problem = fSortWord(tab,splitChkBox(chk_nutjudg),50,"N"); //영양상태 판정
  4374. var problem = "";
  4375. if ( fSortWord(tab,splitChkBox(chk_nutjudg),50,"N") !="") {
  4376. problem = "[TPN]\n" + fSortWord(tab,splitChkBox(chk_nutjudg),50,"N"); //영양상태 판정
  4377. }
  4378. var careplan="";
  4379. if ( fSortWord(tab,input104.label + " kcal/day",65) !="") {
  4380. careplan += "필요열량 : "+ fSortWord(tab,input104.label + " kcal/day",65) +"\n"; // 보정열량값
  4381. }
  4382. if (fSortWord(tab,"" + nstcodetext,60,"N") !="") {
  4383. careplan += "추천제형 : "+ cmb_nstcode.value + "\n"; //추천 제형 //2010-03-08 ()내용제외 : fSortWord(tab,"" + nstcodetext,60,"N")+"\n";
  4384. }
  4385. if (ipt_prot1.value!="") {
  4386. careplan += "추천공급량 : "+fSortWord(tab,"" + (ipt_prot1.value/24).toString().getRound(-1,"HALF_UP") + "cc/hr" + " ("+(ipt_recmdrugvol.label)+"kcal/"+ipt_prot1.value+"ml/day)",50,"N")+"\n";
  4387. }
  4388. if(problem == "" || careplan=="" ) {
  4389. messageBox("Care Plan 전송 항목인 'problem', 'care plan & goal' 은", "I003");
  4390. return false;
  4391. }else{
  4392. careplan += "(자세한사항은 Consult관리- 정맥영양지원(NST) 회신내용을 참고하십시오.)" ;
  4393. }
  4394. var problemcareplan = problem + "▦" + careplan ;
  4395. model.setValue(tmpNstNodepathMain + "careplaninfo/problemcareplan" ,problemcareplan); //problemcareplan
  4396. model.setValue(tmpNstNodepathMain + "careplaninfo/rgstdd" ,getCurrentDate()); //등록일자
  4397. model.setValue(tmpNstNodepathMain + "careplaninfo/rgsttm" ,getCurrentTime()); //등록시간
  4398. sendENRCAREPLANData(tmpNstNodepathMain); //Care Plan 관련 ENR 데이터 전송
  4399. }
  4400. /*
  4401. * 다학제간 관련 ENR 데이터 전송
  4402. */
  4403. function sendENREDUData(tmpNstNodepathMain) {
  4404. if (model.getValue("/root/hidden/sendENREDUData/nodesendYN") !="Y") return true; //2010-01-04 임시-추후 반드시 삭제처리
  4405. // 다학제간 전송 필수 데이터 체크
  4406. if(!checkENREDUData(tmpNstNodepathMain)) {
  4407. return false;
  4408. }
  4409. var sColSep = "▦";
  4410. var sRowSep = "▩";
  4411. // 그리드 헤더값 생성
  4412. var rCSV = "m▦instcd▦pid▦orddd▦cretno▦histno▦delyn▦educd▦educnts▦eduprepyn▦eduwho▦eduway▦edurslt▦edudd▦edutm▦eduid▦fstrgstrid▦fstrgstdt▦lastupdtrid▦lastupdtdt";
  4413. var m = "";
  4414. var instcd = "";
  4415. var pid = "";
  4416. var orddd = "";
  4417. var cretno = "";
  4418. var histno = "";
  4419. var delyn = "";
  4420. var educd = "";
  4421. var educnts = "";
  4422. var eduprepyn = "";
  4423. var eduwho = "";
  4424. var eduway = "";
  4425. var edurslt = "";
  4426. var edudd = "";
  4427. var edutm = "";
  4428. var eduid = "";
  4429. var fstrgstrid = "";
  4430. var fstrgstdt = "";
  4431. var lastupdtrid = "";
  4432. var lastupdtdt = "";
  4433. // 데이터 세팅
  4434. m = "i";
  4435. instcd = getUserInfo("dutplceinstcd");
  4436. pid = model.getValue("/root/main/patinfo/baseinfo/pid");
  4437. orddd = model.getValue("/root/main/patinfo/baseinfo/orddd");
  4438. cretno = model.getValue("/root/main/patinfo/baseinfo/cretno");
  4439. histno = "";
  4440. delyn = model.getValue(tmpNstNodepathMain + "enreduinfo/delyn"); // 삭제유무
  4441. educd = model.getValue(tmpNstNodepathMain + "enreduinfo/educd"); // 교육항목코드
  4442. educnts = model.getValue(tmpNstNodepathMain + "enreduinfo/educnts"); // 교육내용
  4443. eduprepyn = model.getValue(tmpNstNodepathMain + "enreduinfo/eduprepyn"); // 학습준비도(Y/N)
  4444. eduwho = model.getValue(tmpNstNodepathMain + "enreduinfo/eduwho"); // 교육대상자(환자, 보호자, 기타)
  4445. eduway = model.getValue(tmpNstNodepathMain + "enreduinfo/eduway"); // 교육방법
  4446. edurslt = model.getValue(tmpNstNodepathMain + "enreduinfo/edurslt"); // 교육결과
  4447. edudd = model.getValue(tmpNstNodepathMain + "enreduinfo/edudd"); // 교육일자
  4448. edutm = model.getValue(tmpNstNodepathMain + "enreduinfo/edutm"); // 교육시간
  4449. eduid = "";
  4450. fstrgstrid = "";
  4451. fstrgstdt = "";
  4452. lastupdtrid = "";
  4453. lastupdtdt = "";
  4454. // ENR 전송 데이터 생성
  4455. rCSV +=
  4456. sRowSep +
  4457. m + sColSep +
  4458. instcd + sColSep +
  4459. pid + sColSep +
  4460. orddd + sColSep +
  4461. cretno + sColSep +
  4462. histno + sColSep +
  4463. delyn + sColSep +
  4464. educd + sColSep +
  4465. educnts + sColSep +
  4466. eduprepyn + sColSep +
  4467. eduwho + sColSep +
  4468. eduway + sColSep +
  4469. edurslt + sColSep +
  4470. edudd + sColSep +
  4471. edutm + sColSep +
  4472. eduid + sColSep +
  4473. fstrgstrid + sColSep +
  4474. fstrgstdt + sColSep +
  4475. lastupdtrid + sColSep +
  4476. lastupdtdt;
  4477. // 다학제간 관련 전송 데이터 세팅
  4478. model.makeValue("/root/send/data/mrjhedu/listdata", rCSV);
  4479. if(submit("TXANC00356")) {
  4480. return true;
  4481. } else {
  4482. messageBox("다학제간 전송 처리 오류!! 시스템 담당자에게 문의", "I008");
  4483. return false;
  4484. }
  4485. }
  4486. /*
  4487. * 다학제간 전송 필수 데이터 체크
  4488. */
  4489. function checkENREDUData(tmpNstNodepathMain) {
  4490. var m = "";
  4491. var instcd = "";
  4492. var pid = "";
  4493. var orddd = "";
  4494. var cretno = "";
  4495. var histno = "";
  4496. var delyn = "";
  4497. var educd = "";
  4498. var educnts = "";
  4499. var eduprepyn = "";
  4500. var eduwho = "";
  4501. var eduway = "";
  4502. var edurslt = "";
  4503. var edudd = "";
  4504. var edutm = "";
  4505. var eduid = "";
  4506. var fstrgstrid = "";
  4507. var fstrgstdt = "";
  4508. var lastupdtrid = "";
  4509. var lastupdtdt = "";
  4510. /*
  4511. var cnts = cmb_cnstcd.label; // 상용구선택
  4512. var cnstcnts = model.getValue("/root/main/maindata/cnstreq/cnstcnts"); // 상용구 아래 텍스트 박스 내용
  4513. var cnstpsn1 = chk_cnstpsn.label; // 피상담자
  4514. // 피상담자
  4515. cnstpsn1 = cnstpsn1.replace("▩", ", ");
  4516. // 교육내용
  4517. if(cnts == "" && cnstcnts == "") {
  4518. cnts = "";
  4519. }
  4520. */
  4521. // 데이터 세팅
  4522. instcd = getUserInfo("dutplceinstcd");
  4523. pid = model.getValue("/root/main/patinfo/baseinfo/pid");
  4524. orddd = model.getValue("/root/main/patinfo/baseinfo/orddd");
  4525. cretno = model.getValue("/root/main/patinfo/baseinfo/cretno");
  4526. histno = "";
  4527. delyn = model.getValue(tmpNstNodepathMain + "enreduinfo/delyn"); // 삭제유무
  4528. educd = model.getValue(tmpNstNodepathMain + "enreduinfo/educd"); // 교육항목코드
  4529. educnts = model.getValue(tmpNstNodepathMain + "enreduinfo/educnts"); // 교육내용
  4530. eduprepyn = model.getValue(tmpNstNodepathMain + "enreduinfo/eduprepyn"); // 학습준비도(Y/N)
  4531. eduwho = model.getValue(tmpNstNodepathMain + "enreduinfo/eduwho"); // 교육대상자(환자, 보호자, 기타)
  4532. eduway = model.getValue(tmpNstNodepathMain + "enreduinfo/eduway"); // 교육방법
  4533. edurslt = model.getValue(tmpNstNodepathMain + "enreduinfo/edurslt"); // 교육결과
  4534. edudd = model.getValue(tmpNstNodepathMain + "enreduinfo/edudd"); // 교육일자
  4535. edutm = model.getValue(tmpNstNodepathMain + "enreduinfo/edutm"); // 교육시간
  4536. eduid = "";
  4537. fstrgstrid = "";
  4538. fstrgstdt = "";
  4539. lastupdtrid = "";
  4540. lastupdtdt = "";
  4541. // 다학제간 전송 필수 데이터 체크
  4542. if(instcd == "" || pid == "" || orddd == "" || cretno == "" ||
  4543. delyn == "" || educd == "" || educnts == "" || eduprepyn == "" ||
  4544. eduwho == "" || eduway == "" || edurslt == "" || edudd == "" ||
  4545. edutm == "") {
  4546. messageBox(" 다학제 전송 항목인 '영양상담내용', '학습준비도', '교육대상자', '교육방법', '교육결과' 는", "I003");
  4547. return false;
  4548. }
  4549. // 다학제간 전송 필수 데이터 체크
  4550. if(edudd == "" || edutm == "") {
  4551. messageBox("다학제간 전송 필수 항목인 '교육일자', '교육시간' 은", "I003");
  4552. return false;
  4553. }
  4554. return true;
  4555. }