SMMNR02500_혈당간호기록.xrw 262 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  3. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  4. <xhtml:head>
  5. <xhtml:title>혈당간호기록</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <cond>
  11. <srchflag/>
  12. <wardcd/>
  13. <settingrnid/>
  14. <ordfromdd/>
  15. <orddd/>
  16. <reforddeptcd/>
  17. <medispclid/>
  18. <atdoctid/>
  19. <patinhistcd/>
  20. <bstyn/>
  21. <userid/>
  22. <roomcd/>
  23. <pid/>
  24. <patnm/>
  25. <sexage/>
  26. <indd/>
  27. <cretno/>
  28. <instcd/>
  29. <ordtype/>
  30. <orddeptcd/>
  31. <orddrid/>
  32. <chrgorddrid/>
  33. <indschacptstat/>
  34. <userflag/>
  35. <bsonly>Y</bsonly>
  36. <rectype2/>
  37. <zonecd/>
  38. </cond>
  39. <patinfo>
  40. <patinhistinfo>
  41. <pid/>
  42. <indd/>
  43. <cretno/>
  44. <dschdd/>
  45. <orddeptcd/>
  46. <medispclid/>
  47. <atdoctid/>
  48. <wardcd/>
  49. <rownum/>
  50. <histlist/>
  51. </patinhistinfo>
  52. <rsltflag>
  53. <rtnflag/>
  54. </rsltflag>
  55. </patinfo>
  56. <wardpatinfo>
  57. <wardpatlist>
  58. <roomcd/>
  59. <patnm/>
  60. <pid/>
  61. <indd/>
  62. <cretno/>
  63. <instcd/>
  64. <sexage/>
  65. <ordtype/>
  66. <orddeptcd/>
  67. <orddrid/>
  68. <bstyn/>
  69. </wardpatlist>
  70. </wardpatinfo>
  71. <bsrecinfo>
  72. <bsreclist>
  73. <recdd/>
  74. <graph/>
  75. <delyn/>
  76. <rectm/>
  77. <recrslt/>
  78. <rem/>
  79. <prcpyn/>
  80. <signno/>
  81. <bfrectm/>
  82. <bfrecrslt/>
  83. <bfrem/>
  84. <prcpissflag/>
  85. <eqmtyn/>
  86. <suretestdt/>
  87. <carerecno/>
  88. <dnar/>
  89. <stmtspec/>
  90. <recnm/>
  91. <refflag/>
  92. </bsreclist>
  93. </bsrecinfo>
  94. <nursingrecordinfo>
  95. <nursingrecordlist>
  96. <recdd/>
  97. <rectm/>
  98. <dnar/>
  99. <stmtspec/>
  100. <signno/>
  101. <fstrgstrnm/>
  102. <stmtcd/>
  103. <origincd/>
  104. <recoriginflag/>
  105. <carerecno/>
  106. <recflag/>
  107. <reclnkkey/>
  108. <interprecyn/>
  109. <fstrgstrid/>
  110. <certselyn/>
  111. <recverno/>
  112. <dnarflag/>
  113. </nursingrecordlist>
  114. </nursingrecordinfo>
  115. <prcp>
  116. <prcplist>
  117. <status>I</status>
  118. <prcpkindcd>20</prcpkindcd>
  119. <prcpcd/>
  120. <prcpnm/>
  121. <prcphopedd/>
  122. </prcplist>
  123. </prcp>
  124. <bfprcp>
  125. <prcplist>
  126. <status/>
  127. <prcpkindcd/>
  128. <prcpdd/>
  129. <prcpnm/>
  130. <prcphopedd/>
  131. <rgstrnm/>
  132. <prcpno/>
  133. <prcphistno/>
  134. <pampkspec/>
  135. <prcppkspec/>
  136. <selfprcpflag/>
  137. </prcplist>
  138. </bfprcp>
  139. <paminfo/>
  140. <popupmenu>
  141. <recdelyn>
  142. <item>
  143. <name>기록삭제</name>
  144. <func>fDelBSRecInfo</func>
  145. </item>
  146. </recdelyn>
  147. <issprcppop>
  148. <item>
  149. <name>추가</name>
  150. <func>fAddDoctorPrcp</func>
  151. </item>
  152. <item>
  153. <name>삭제</name>
  154. <func>fDelDoctorPrcp</func>
  155. </item>
  156. </issprcppop>
  157. <bfprcppop>
  158. <item>
  159. <name>D/C</name>
  160. <func>fDelBfPrcp</func>
  161. </item>
  162. </bfprcppop>
  163. </popupmenu>
  164. </main>
  165. <main_om>
  166. <ominfo>
  167. <prcpddinfo>
  168. <prcpappddlist>
  169. <prcphopedd/>
  170. </prcpappddlist>
  171. </prcpddinfo>
  172. <prcpinfo>
  173. <prcplist>
  174. <flag/>
  175. <dr/>
  176. <nursupdt/>
  177. <chk/>
  178. <prcpcd/>
  179. <prcpnm/>
  180. <prcpvol/>
  181. <prcpvolunitflag/>
  182. <prcpqty/>
  183. <prcpqtyunitflag/>
  184. <prcptims/>
  185. <prcpdayno/>
  186. <abbrnm/>
  187. <payflagcd/>
  188. <prcpdelivefact/>
  189. <prcphopedd/>
  190. <drugno/>
  191. <prcpstat/>
  192. <drugcnfm/>
  193. <prcpdt/>
  194. <carecnfmdt/>
  195. <dcprcpdt/>
  196. <dcprcpcnfmdt/>
  197. <prnissdt/>
  198. <execdt/>
  199. <prcpexecdeptcd/>
  200. <rsrvdt/>
  201. <spcldrug/>
  202. <prcpno/>
  203. <prcphistno/>
  204. <execprcpno/>
  205. <instcd/>
  206. <prcpstatcd/>
  207. <prcpclscd/>
  208. <prcpkindcd/>
  209. <prcpkindnm/>
  210. <nmprcpkindcd/>
  211. <nmprcpkindnm/>
  212. <hscttempprcpflag/>
  213. <hsctlnkno/>
  214. <hsctdelivepos/>
  215. <inclprcpcd/>
  216. <inclprcpno/>
  217. <prcpsetcd/>
  218. <etcprcpflag/>
  219. <erprcpflag/>
  220. <powdflag/>
  221. <precureprcpflag/>
  222. <prnprcpflag/>
  223. <careprnexecflag/>
  224. <powdimpsi/>
  225. <tootfact/>
  226. <prcpdd/>
  227. <dccomcountyn/>
  228. <dccountyn/>
  229. <sortdt/>
  230. <narcstat/>
  231. <prcphistcd/>
  232. <prcpflag/>
  233. <spcno/>
  234. <drugmthdspccd/>
  235. <flagchk/>
  236. </prcplist>
  237. </prcpinfo>
  238. </ominfo>
  239. </main_om>
  240. <send>
  241. </send>
  242. <init>
  243. <prcpkindcd>
  244. <M0003>
  245. <cdid/>
  246. <cdnm/>
  247. </M0003>
  248. </prcpkindcd>
  249. <dnarinfo>
  250. <dnarflagnurs>
  251. <itemset>
  252. <itemcd>%</itemcd>
  253. <itemnm>전체</itemnm>
  254. </itemset>
  255. <itemset>
  256. <itemcd>1D</itemcd>
  257. <itemnm>D</itemnm>
  258. </itemset>
  259. <itemset>
  260. <itemcd>2N</itemcd>
  261. <itemnm>N</itemnm>
  262. </itemset>
  263. <itemset>
  264. <itemcd>3A</itemcd>
  265. <itemnm>A</itemnm>
  266. </itemset>
  267. <itemset>
  268. <itemcd>4R</itemcd>
  269. <itemnm>R</itemnm>
  270. </itemset>
  271. <itemset>
  272. <itemcd>1DF</itemcd>
  273. <itemnm>(D)</itemnm>
  274. </itemset>
  275. <itemset>
  276. <itemcd>2NF</itemcd>
  277. <itemnm>(N)</itemnm>
  278. </itemset>
  279. <itemset>
  280. <itemcd>3AF</itemcd>
  281. <itemnm>(A)</itemnm>
  282. </itemset>
  283. <itemset>
  284. <itemcd>4RF</itemcd>
  285. <itemnm>(R)</itemnm>
  286. </itemset>
  287. </dnarflagnurs>
  288. </dnarinfo>
  289. <cond>
  290. <wardinfo>
  291. <ward>
  292. <wardcd/>
  293. <wardnm/>
  294. </ward>
  295. <dept>
  296. <deptcd/>
  297. <depthngnm/>
  298. </dept>
  299. <settingrn>
  300. <settingrnid/>
  301. <settingrnnm/>
  302. </settingrn>
  303. </wardinfo>
  304. <doctlist>
  305. <medispcl>
  306. <usercombo>
  307. <userid/>
  308. <usernm/>
  309. </usercombo>
  310. </medispcl>
  311. <atdoct>
  312. <usercombo>
  313. <userid/>
  314. <usernm/>
  315. </usercombo>
  316. </atdoct>
  317. </doctlist>
  318. </cond>
  319. <scrollinfo>
  320. <scrollvalue>0</scrollvalue>
  321. </scrollinfo>
  322. <issprcpinfo>
  323. <calcscorcd/>
  324. <prcpinfo/>
  325. <drugmthdspccd/>
  326. </issprcpinfo>
  327. <prcpinfolist/>
  328. </init>
  329. <hidden/>
  330. <result>
  331. <prcperrlist/>
  332. <signprcplist/>
  333. <savedrprcplist/>
  334. <saveexecprcplist/>
  335. <savepamlist/>
  336. </result>
  337. <viewtemp>
  338. <nursingdd/>
  339. <viewinfo/>
  340. </viewtemp>
  341. <save>
  342. <saveflaginfo>
  343. <savedataflag/>
  344. <saveflag/>
  345. <prcpflag/>
  346. <inptflag/>
  347. <deptcd/>
  348. <deptnm/>
  349. <userid/>
  350. <usernm/>
  351. <signyn/>
  352. <prcpdd/>
  353. <divyn/>
  354. <pseuacptflag/>
  355. <admininfo/>
  356. </saveflaginfo>
  357. </save>
  358. <temp>
  359. <result/>
  360. <prtinfo/>
  361. </temp>
  362. <codeinfo/>
  363. </root>
  364. </instance>
  365. <script type="javascript" ev:event="xforms-ready">
  366. <![CDATA[
  367. fInitialize("init");
  368. ]]>
  369. </script>
  370. <script type="javascript" ev:event="xforms-close">
  371. <![CDATA[
  372. var rtnmsg="";
  373. if ( model.getValue("/root/main/cond/rectype2") == "Y" ){
  374. rtnmsg = messageBox("혈당간호기록 TYPE || 의 변경내용이 있습니다. 인증저장을 하여 최종 저장하십시오","Q002");//" 저장 하시겠습니까?"
  375. if ( rtnmsg == "6" ){
  376. fMakeViewData();
  377. model.setValue("/root/main/cond/rectype2","");
  378. messageBox("기록이 저장되었습니다.", "I");
  379. }
  380. }
  381. ]]>
  382. </script>
  383. <script type="javascript">
  384. <![CDATA[
  385. var ViewFunc = "sign"; //sign : 기록인증용, view : view인증용
  386. var NursingDD = "";
  387. var flag="1";
  388. function fInitialize(RefFlag)
  389. {
  390. if(RefFlag == "init"){
  391. grd_bsreclist.dataHeight = 32;
  392. //응급의료센터 부서코드 조회
  393. fGetNursHardCdInfo("'002'", getCurrentDate()); //CareCom.js, 20090415_SMY
  394. //사용자구분 설정
  395. var jobkindcd = getUserInfo("jobkindcd"); // 직급코드
  396. //---------(20101204) 경북대
  397. //추가
  398. var ssflag = "";
  399. if(getUserInfo("dutplceinstcd") != '032' && getUserInfo("dutplceinstcd") != '031') {
  400. //경북대가 아니면
  401. if( jobkindcd == "0330" || jobkindcd == "0332"){
  402. ssflag = "Y";
  403. }else{
  404. ssflag = "N";
  405. }
  406. } else if(getUserInfo("dutplceinstcd") == '032' || getUserInfo("dutplceinstcd") == '031') {
  407. //경북대이면 03%로 체크한다.
  408. if( jobkindcd.substring(0, 2) == "03"){
  409. ssflag = "Y";
  410. }else{
  411. ssflag = "N";
  412. }
  413. }
  414. //원본:의사의 경우만
  415. //if(jobkindcd == "0330" || jobkindcd == "0332"){ //의사
  416. if(ssflag=="Y") {
  417. //---------(20101204) 경북대
  418. //의사발행 지시처방코드 조회_20090415_SMY
  419. model.removeNodeset("/root/send");
  420. model.makeValue("/root/send/baseflag", "F"); //혈당기록 발행 지시처방
  421. model.makeValue("/root/send/ordtype", "I");
  422. model.makeValue("/root/send/orddeptcd", "ALL");
  423. model.makeValue("/root/send/refprcpcd", "Y"); //지시처방은 수가코드값에 '-'가 들어가므로 처방코드로 검색한다.(처방마스터 테이블 검색시 필요)
  424. submit("TRMNR02507");
  425. model.setValue("/root/main/cond/srchflag", "2");
  426. model.setValue("/root/main/cond/userflag", "2");
  427. grp_ward.visible = false;
  428. grp_ord.visible = true;
  429. btn_add.disabled = true;
  430. btn_save.disabled = true;
  431. btn_type2.disabled = true;
  432. //지시처방발행 인증저장버튼
  433. btn_issprcp.visible = true;
  434. btn_bfprcp.visible = true;
  435. btn_type2.visible = false;
  436. //btn_doctorprcp.visible = true;
  437. //btn_doctorprcp.attribute("top") = "50px";
  438. zbcfGetCodeList( new Array ("M0003"), new Array ("/root/init/prcpkindcd")); //처방종류
  439. }else if(jobkindcd == "1140" || ( getSystemCd().length > 6 && getUserInfo("dutplcecd")== "1000000000" ) ){ //간호사 또는 교육에서 병원으로 로긴시
  440. model.setValue("/root/main/cond/srchflag", "1");
  441. model.setValue("/root/main/cond/userflag", "1");
  442. grp_ward.visible = true;
  443. grp_ord.visible = false;
  444. //지시처방발행 인증저장버튼
  445. btn_issprcp.visible = false;
  446. btn_bfprcp.visible = false;
  447. btn_type2.visible = true;
  448. //btn_doctorprcp.visible = false;
  449. }else if(jobkindcd == "1320"){ //영양사(1320)
  450. model.setValue("/root/main/cond/srchflag", "1");
  451. model.setValue("/root/main/cond/userflag", "3");
  452. grp_ward.visible = true;
  453. grp_ord.visible = false;
  454. btn_add.disabled = true;
  455. btn_save.disabled = true;
  456. btn_type2.disabled = true;
  457. //지시처방발행 인증저장버튼
  458. btn_issprcp.visible = false;
  459. btn_bfprcp.visible = false;
  460. btn_type2.visible = true;
  461. //btn_doctorprcp.visible = false;
  462. }else{
  463. model.setValue("/root/main/cond/srchflag", "1");
  464. model.setValue("/root/main/cond/userflag", "4");
  465. grp_ward.visible = true;
  466. grp_ord.visible = false;
  467. //지시처방발행 인증저장버튼
  468. btn_issprcp.visible = false;
  469. btn_bfprcp.visible = false;
  470. btn_type2.visible = true;
  471. //btn_doctorprcp.visible = false;
  472. }
  473. model.setValue("/root/main/cond/pid", "등록번호");
  474. model.setValue("/root/main/cond/roomcd", "병실");
  475. model.setValue("/root/main/cond/sexage", "S/A");
  476. model.setValue("/root/main/cond/patnm", "환자명");
  477. model.setValue("/root/main/cond/userid", getUserId());
  478. model.setValue("/root/main/cond/wardcd", getUserInfo("dutplcecd"));
  479. model.setValue("/root/main/cond/settingrnid", "");
  480. model.setValue("/root/main/cond/ordfromdd", getCurrentDate());
  481. model.setValue("/root/main/cond/orddd", getCurrentDate());
  482. btn_refterm.attribute("text") = "4일";
  483. }else{
  484. if (model.getValue("/root/main/cond/ordfromdd") == "") {
  485. model.setValue("/root/main/cond/ordfromdd", getCurrentDate());
  486. }
  487. if (model.getValue("/root/main/cond/orddd") == "") {
  488. model.setValue("/root/main/cond/orddd", getCurrentDate());
  489. }
  490. }
  491. // 그리드 초기화
  492. model.removeNodeset("/root/main/bsrecinfo");
  493. model.removeNodeset("/root/main/nursingrecordinfo");
  494. model.removeNodeset("/root/main_om/ominfo/prcpddinfo");
  495. model.removeNodeset("/root/main_om/ominfo/prcpinfo");
  496. model.removeNodeset("/root/main/prcp");
  497. model.removeNodeset("/root/main/bfprcp");
  498. for(i=0; i < grd_wardpatlist.cols; i++) {
  499. grd_wardpatlist.mergeCol(i) = false;
  500. }
  501. grd_wardpatlist.mergeCol(grd_wardpatlist.colRef("roomcd") ) = true;
  502. for(i=0; i < grd_bsreclist.cols; i++) {
  503. grd_bsreclist.mergeCol(i) = false;
  504. }
  505. grd_bsreclist.mergeCol(grd_bsreclist.colRef("recdd")) = true;
  506. grd_bsreclist.mergeCol(grd_bsreclist.colRef("rectm")) = true;
  507. // grd_bsreclist.mergeCol(grd_bsreclist.colRef("recrslt")) = true;
  508. // grd_bsreclist.mergeCol(grd_bsreclist.colRef("rem")) = true;
  509. // grd_bsreclist.mergeCol(grd_bsreclist.colRef("prcpyn")) = true;
  510. /*
  511. model.setValue("/root/main/cond/pid", "등록번호");
  512. model.setValue("/root/main/cond/roomcd", "병실");
  513. model.setValue("/root/main/cond/sexage", "S/A");
  514. model.setValue("/root/main/cond/patnm", "환자명");
  515. model.setValue("/root/main/cond/userid", getUserId());
  516. model.setValue("/root/main/cond/wardcd", getUserInfo("dutplcecd"));
  517. model.setValue("/root/main/cond/settingrnid", "");
  518. //////20081230
  519. /*
  520. if (model.getValue("/root/main/cond/ordfromdd") == "") {
  521. model.setValue("/root/main/cond/ordfromdd", getCurrentDate());
  522. }
  523. if (model.getValue("/root/main/cond/orddd") == "") {
  524. model.setValue("/root/main/cond/orddd", getCurrentDate());
  525. }
  526. */
  527. //차트 초기화
  528. fInitChart();
  529. //상단정보 받아옴
  530. var paminfo = getGlobalVariable("paminfo");
  531. var pid = "";
  532. if(paminfo.length > 0) { //원무 정보(기본 정보)가 있는 경우
  533. //설정된 상단정보를 불러옴
  534. model.removenode("/root/main/paminfo");
  535. model.makeNode("/root/main/paminfo");
  536. setCSVToNode("/root/main/paminfo", paminfo);
  537. //상단 정보를 이용하여 프로그램 수행
  538. pid = model.getValue("/root/main/paminfo/list/pid");
  539. if(RefFlag == "init"){
  540. //재원이력정보 재조회
  541. fGetInHistInfo(RefFlag, pid);
  542. }
  543. }
  544. model.removenode("/root/send");
  545. model.makeValue("/root/send/wardcd", model.getValue("/root/main/cond/wardcd"));
  546. model.makeValue("/root/send/deptlistopt", "N");
  547. submit("TRMNR02501", false);
  548. model.setValue("/root/main/cond/settingrnid", "");
  549. for(i = 1; i <= getNodesetCount("/root/init/wardinfo/settingrn"); i++ ) {
  550. if (model.getValue("/root/main/cond/userid") == model.getValue("/root/init/wardinfo/settingrn["+ i +"]/settingrnid")) {
  551. model.setValue("/root/main/cond/settingrnid", model.getValue("/root/main/cond/userid"));
  552. }
  553. }
  554. //20110215 이선경 : 경북대 - 응급실일 경우 구역정보를 조회
  555. fGetZoneList();
  556. fnZoneDisp();
  557. //환자리스트조회
  558. fGetWardPatList();
  559. //상단환자세팅
  560. if (pid != "") {
  561. if(model.getValue("/root/main/paminfo/list/ioflag") != "E" && model.getValue("/root/main/paminfo/list/careinrmdd") == "-"){
  562. messageBox("아직 입실확인하지 않은 환자입니다.", "I");
  563. //return;
  564. }
  565. grd_wardpatlist.row = grd_wardpatlist.findRow(pid, 1, grd_wardpatlist.colRef("pid"));
  566. grd_wardpatlist.topRow = grd_wardpatlist.findRow(pid, 1, grd_wardpatlist.colRef("pid"))-1;
  567. //선택환자정보조회(혈당기록,간호기록,처방적용일자)
  568. fGetSelectdPatRecInfo(RefFlag);
  569. }
  570. model.removeNodeset("/root/send");
  571. model.makeValue("/root/send/baseflag", "I"); //혈당기록 발행 검사처방
  572. model.makeValue("/root/send/ordtype", "I");
  573. model.makeValue("/root/send/orddeptcd", "ALL");
  574. if(submit("TRMNR02514")){
  575. }
  576. }
  577. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  578. function fInitialize_________이전함수(RefFlag)
  579. {
  580. if(RefFlag == "init"){
  581. //사용자구분 설정
  582. var jobkindcd = getUserInfo("jobkindcd"); // 직급코드
  583. //---------(20101204) 경북대
  584. //추가
  585. var ssflag = "";
  586. if(getUserInfo("dutplceinstcd") != '032' && getUserInfo("dutplceinstcd") != '031') {
  587. //경북대가 아니면
  588. if( jobkindcd == "0330" || jobkindcd == "0332"){
  589. ssflag = "Y";
  590. }else{
  591. ssflag = "N";
  592. }
  593. } else if(getUserInfo("dutplceinstcd") == '032' || getUserInfo("dutplceinstcd") == '031') {
  594. //경북대이면 03%로 체크한다.
  595. if( jobkindcd.substring(0, 2) == "03"){
  596. ssflag = "Y";
  597. }else{
  598. ssflag = "N";
  599. }
  600. }
  601. //원본:의사의 경우만
  602. //if(jobkindcd == "0330" || jobkindcd == "0332"){ //의사
  603. if(ssflag=="Y") {
  604. //---------(20101204) 경북대
  605. model.setValue("/root/main/cond/srchflag", "2");
  606. model.setValue("/root/main/cond/userflag", "2");
  607. grp_ward.visible = false;
  608. grp_ord.visible = true;
  609. btn_add.disabled = true;
  610. btn_save.disabled = true;
  611. btn_type2.disabled = true;
  612. }else{ //간호사(1140)
  613. model.setValue("/root/main/cond/srchflag", "1");
  614. model.setValue("/root/main/cond/userflag", "1");
  615. grp_ward.visible = true;
  616. grp_ord.visible = false;
  617. }
  618. }
  619. // 그리드 초기화
  620. model.removeNodeset("/root/main_om/ominfo/prcpddinfo");
  621. model.removeNodeset("/root/main_om/ominfo/prcpinfo");
  622. model.removeNodeset("/root/main/bsrecinfo");
  623. model.removeNodeset("/root/main/nursingrecordinfo");
  624. for(i=0; i < grd_wardpatlist.cols; i++) {
  625. grd_wardpatlist.mergeCol(i) = false;
  626. }
  627. grd_wardpatlist.mergeCol(grd_wardpatlist.colRef("roomcd") ) = true;
  628. for(i=0; i < grd_bsreclist.cols; i++) {
  629. grd_bsreclist.mergeCol(i) = false;
  630. }
  631. grd_bsreclist.mergeCol(grd_bsreclist.colRef("recdd")) = true;
  632. model.setValue("/root/main/cond/pid", "등록번호");
  633. model.setValue("/root/main/cond/roomcd", "병실");
  634. model.setValue("/root/main/cond/sexage", "S/A");
  635. model.setValue("/root/main/cond/patnm", "환자명");
  636. model.setValue("/root/main/cond/userid", getUserId());
  637. model.setValue("/root/main/cond/wardcd", getUserInfo("dutplcecd"));
  638. model.setValue("/root/main/cond/settingrnid", "");
  639. if (model.getValue("/root/main/cond/ordfromdd") == "") {
  640. model.setValue("/root/main/cond/ordfromdd", getCurrentDate());
  641. }
  642. if (model.getValue("/root/main/cond/orddd") == "") {
  643. model.setValue("/root/main/cond/orddd", getCurrentDate());
  644. }
  645. //차트 초기화
  646. fInitChart();
  647. //상단정보 받아옴
  648. var paminfo = getGlobalVariable("paminfo");
  649. var pid = "";
  650. var ioflag = "";
  651. if(paminfo.length > 0) { //원무 정보(기본 정보)가 있는 경우
  652. //설정된 상단정보를 불러옴
  653. model.removenode("/root/main/paminfo");
  654. model.makeNode("/root/main/paminfo");
  655. setCSVToNode("/root/main/paminfo", paminfo);
  656. //상단 정보를 이용하여 프로그램 수행
  657. pid = model.getValue("/root/main/paminfo/list/pid");
  658. ioflag = model.getValue("/root/main/paminfo/list/ioflag");
  659. //퇴원환자조회
  660. if(model.getValue("/root/main/paminfo/list/indschacptstat") == "D" || model.getValue("/root/main/paminfo/list/indschacptstat") == "T"){
  661. model.setValue("/root/main/cond/wardcd", model.getValue("/root/main/paminfo/list/wardcd"));
  662. model.setValue("/root/main/cond/reforddeptcd", model.getValue("/root/main/paminfo/list/orddeptcd"));
  663. fChgOrddeptcd();
  664. model.setValue("/root/main/cond/medispclid", model.getValue("/root/main/paminfo/list/medispclid"));
  665. model.setValue("/root/main/cond/atdoctid", model.getValue("/root/main/paminfo/list/atdoctid"));
  666. if(model.getValue("/root/main/cond/atdoctid") == '-'){
  667. model.setValue("/root/main/cond/atdoctid", "");
  668. }
  669. if(RefFlag == "init"){
  670. model.setValue("/root/main/cond/ordfromdd", model.getValue("/root/main/paminfo/list/dschdd").toDate().getAddDate(-3,"D").getDateFormat());
  671. model.setValue("/root/main/cond/orddd", model.getValue("/root/main/paminfo/list/dschdd"));
  672. btn_refterm.attribute("text") = "1일"
  673. }
  674. //컨트롤 비활성화
  675. // rdo_srchflag.disabled = true;
  676. // cmb_ward.disabled = true;
  677. // cmb_dept.disabled = true;
  678. // cmb_medispclid.disabled = true;
  679. // cmb_atdoctid.disabled = true;
  680. btn_add.disabled = true;
  681. btn_save.disabled = true;
  682. btn_type2.disabled = true;
  683. }else{
  684. cmb_ward.disabled = false;
  685. if(model.getValue("/root/main/cond/userflag") == "1"){ //간호사일 경우 기록추가, 인증저장, TYPE2 버튼 활성화
  686. model.setValue("/root/main/cond/wardcd", model.getValue("/root/main/paminfo/list/wardcd"));
  687. btn_add.disabled = false;
  688. btn_save.disabled = false;
  689. btn_type2.disabled = false;
  690. }else{ //의사일 경우 비활성화
  691. model.setValue("/root/main/cond/reforddeptcd", model.getValue("/root/main/paminfo/list/orddeptcd"));
  692. //주치의, 담당의 조회
  693. mmbfGetUserComboList("/root/send/reqdata", "/root/init/cond/doctlist/medispcl", cmb_dept.value, "0330", "", "M");
  694. mmbfGetUserComboList("/root/send/reqdata", "/root/init/cond/doctlist/atdoct", cmb_dept.value, "0330", "", "A");
  695. addComboInstance("/root/init/cond/doctlist/medispcl", "userid^usernm", "^전체", "usercombo"); //의사콤보 전체항목 추가
  696. addComboInstance("/root/init/cond/doctlist/atdoct", "userid^usernm", "^전체", "usercombo"); //의사콤보 전체항목 추가
  697. //model.setValue("/root/main/cond/medispclid", model.getValue("/root/main/paminfo/list/medispclid"));
  698. //model.setValue("/root/main/cond/atdoctid", model.getValue("/root/main/paminfo/list/atdoctid"));
  699. btn_add.disabled = true;
  700. btn_save.disabled = true;
  701. btn_type2.disabled = true;
  702. }
  703. }
  704. }
  705. model.removenode("/root/send");
  706. model.makeValue("/root/send/wardcd", model.getValue("/root/main/cond/wardcd"));
  707. model.makeValue("/root/send/deptlistopt", "N");
  708. submit("TRMNR02501", false);
  709. model.setValue("/root/main/cond/settingrnid", "");
  710. for(i = 1; i <= getNodesetCount("/root/init/wardinfo/settingrn"); i++ ) {
  711. if (model.getValue("/root/main/cond/userid") == model.getValue("/root/init/wardinfo/settingrn["+ i +"]/settingrnid")) {
  712. model.setValue("/root/main/cond/settingrnid", model.getValue("/root/main/cond/userid"));
  713. }
  714. }
  715. //삭제예정임*********************************************************************************************
  716. //진료과 정보 조회 ==> TRMNR02501에서 같이 조회함
  717. // mmbfGetDeptCodeComboList("/root/send/reqdata", "/root/init/cond/deptgrup/deptgruplist" , "D"); //부서코드 콤보
  718. // addComboInstance("/root/init/cond/deptgrup/deptgruplist", "deptcd^depthngnm", "^전체", "dept"); //의사콤보 전체항목 추가
  719. /*********************
  720. if(RefFlag == "init"){
  721. model.setValue("/root/main/cond/reforddeptcd", "");
  722. }
  723. *********************/
  724. //******************************************************************************************************
  725. //환자리스트조회
  726. fGetWardPatList();
  727. //상단환자세팅
  728. if (pid != "") {
  729. if(model.getValue("/root/main/paminfo/list/ioflag") != "E" && model.getValue("/root/main/paminfo/list/careinrmdd") == "-"){
  730. messageBox("아직 입실확인하지 않은 환자입니다.", "I");
  731. return;
  732. }
  733. grd_wardpatlist.row = grd_wardpatlist.findRow(pid, 1, grd_wardpatlist.colRef("pid"));
  734. grd_wardpatlist.topRow = grd_wardpatlist.findRow(pid, 1, grd_wardpatlist.colRef("pid"))-1;
  735. //선택환자정보조회(혈당기록,간호기록,처방적용일자)
  736. fGetSelectdPatRecInfo();
  737. }
  738. }
  739. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  740. //사용자 구분에 따른 버튼활성화
  741. function fChgBtnAble(){
  742. // //간호사일 경우 기록추가, 인증저장, TYPE2 버튼 활성화
  743. // if(model.getValue("/root/main/cond/userflag") == "1"){
  744. // btn_add.disabled = false;
  745. // btn_save.disabled = false;
  746. // btn_type2.disabled = false;
  747. //
  748. // }else{ //의사일 경우 비활성화
  749. if(model.getValue("/root/main/cond/userflag") == "2"){
  750. btn_add.disabled = true;
  751. btn_save.disabled = true;
  752. btn_type2.disabled = true;
  753. // if(model.getValue("/root/main/cond/patinhistcd") == "" || model.getValue("/root/main/patinfo/patinhistinfo[rownum = '" + model.getValue("/root/main/cond/patinhistcd") + "']/dschdd") == "99991231"){
  754. // btn_doctorprcp.disabled = false;
  755. // }else{
  756. // btn_doctorprcp.disabled = true;
  757. // }
  758. }
  759. }
  760. //진료과 콤보변경
  761. function fChgOrddeptcd(RefFlag){
  762. //주치의, 담당의 조회
  763. mmbfGetUserComboList("/root/send/reqdata", "/root/init/cond/doctlist/medispcl", cmb_dept.value, "0330", "", "M");
  764. mmbfGetUserComboList("/root/send/reqdata", "/root/init/cond/doctlist/atdoct", cmb_dept.value, "0330", "", "A");
  765. addComboInstance("/root/init/cond/doctlist/medispcl", "userid^usernm", "^전체", "usercombo"); //의사콤보 전체항목 추가
  766. addComboInstance("/root/init/cond/doctlist/atdoct", "userid^usernm", "^전체", "usercombo"); //의사콤보 전체항목 추가
  767. if(cmb_dept.value == getUserInfo("dutplcecd")){
  768. model.setValue("/root/main/cond/medispclid", getUserInfo("userid"));
  769. }else{
  770. model.setValue("/root/main/cond/medispclid", "");
  771. }
  772. model.setValue("/root/main/cond/atdoctid", "");
  773. /*
  774. model.setValue("/root/main/cond/medispclid", "");
  775. model.setValue("/root/main/cond/atdoctid", "");
  776. model.removenode("/root/send");
  777. model.makeValue("/root/send/orddd", model.getValue("/root/main/cond/orddd"));
  778. model.makeValue("/root/send/orddeptcd", model.getValue("/root/main/cond/reforddeptcd"));
  779. submit("TRMNR02508");
  780. */
  781. if(RefFlag != "init"){
  782. fGetWardPatList();
  783. }
  784. }
  785. //재원이력조회
  786. function fGetInHistInfo(RefFlag, pid){
  787. model.removenode("/root/send");
  788. model.makeValue("/root/send/pid", pid);
  789. //재원이력조회(외래환자인 경우 입원시 혈당기록 내역을 조회하기 위해 수진이력을 조회한다.)
  790. if(submit("TRMNR02510", false)){
  791. if(RefFlag == "init"){
  792. if(model.getValue("/root/main/patinfo/patinhistinfo/pid") == ""){
  793. messageBox("재원이력정보가 존재하지 않습니다.", "I");
  794. return;
  795. }
  796. /*
  797. else{
  798. model.setValue("/root/main/cond/patinhistcd", model.getValue("/root/main/patinfo/patinhistinfo/rownum")); /////////////////////20081229추가
  799. }
  800. model.setValue("/root/main/cond/wardcd", model.getValue("/root/main/patinfo/patinhistinfo/wardcd"));
  801. model.setValue("/root/main/cond/reforddeptcd", model.getValue("/root/main/patinfo/patinhistinfo/orddeptcd"));
  802. fChgOrddeptcd("init");
  803. model.setValue("/root/main/cond/medispclid", model.getValue("/root/main/patinfo/patinhistinfo/medispclid"));
  804. model.setValue("/root/main/cond/atdoctid", model.getValue("/root/main/patinfo/patinhistinfo/atdoctid"));
  805. */
  806. var pid = opener.javascript.getParameter("SMMNR02500_pid");
  807. var dschdd = opener.javascript.getParameter("SMMNR02500_dschdd");
  808. var wardcd = opener.javascript.getParameter("SMMNR02500_wardcd");
  809. if(pid != "") {
  810. btn_add.disabled = true;
  811. btn_save.disabled = true;
  812. btn_type2.disabled = true;
  813. //btn_doctorprcp.disabled = true;
  814. model.setValue("/root/main/cond/ordfromdd", dschdd.toDate().getAddDate(-3,"D").getDateFormat());
  815. model.setValue("/root/main/cond/orddd", dschdd);
  816. model.setValue("/root/main/cond/wardcd", wardcd);
  817. btn_refterm.attribute("text") = "1일"
  818. } else {
  819. //퇴원환자인 경우
  820. if(model.getValue("/root/main/patinfo/patinhistinfo/dschdd") != "99991231"){
  821. model.setValue("/root/main/cond/patinhistcd", model.getValue("/root/main/patinfo/patinhistinfo/rownum"));
  822. model.setValue("/root/main/cond/ordfromdd", model.getValue("/root/main/patinfo/patinhistinfo[rownum = '" + cmb_inhistlist.value +"']/dschdd").toDate().getAddDate(-3,"D").getDateFormat());
  823. model.setValue("/root/main/cond/orddd", model.getValue("/root/main/patinfo/patinhistinfo[rownum = '" + cmb_inhistlist.value +"']/dschdd"));
  824. btn_refterm.attribute("text") = "1일"
  825. //model.setValue("/root/main/cond/ordfromdd", model.getValue("/root/main/paminfo/list/dschdd"));
  826. //model.setValue("/root/main/cond/orddd", model.getValue("/root/main/paminfo/list/dschdd"));
  827. //컨트롤 비활성화
  828. // rdo_srchflag.disabled = true;
  829. // cmb_ward.disabled = true;
  830. // cmb_dept.disabled = true;
  831. // cmb_medispclid.disabled = true;
  832. // cmb_atdoctid.disabled = true;
  833. btn_add.disabled = true;
  834. btn_save.disabled = true;
  835. btn_type2.disabled = true;
  836. //btn_doctorprcp.disabled = true;
  837. }else{ //재원환자인 경우
  838. //현재 재원이지만 과거 퇴원정보를 상단 올려서 화면을 열었을 경우
  839. if(model.getValue("/root/main/paminfo/list/dschdd") != '99991231'){
  840. model.setValue("/root/main/cond/patinhistcd", model.getValue("/root/main/patinfo/patinhistinfo[dschdd = '"+ model.getValue("/root/main/paminfo/list/dschdd") + "']/rownum"));
  841. model.setValue("/root/main/cond/ordfromdd", model.getValue("/root/main/patinfo/patinhistinfo[rownum = '" + cmb_inhistlist.value +"']/dschdd").toDate().getAddDate(-3,"D").getDateFormat());
  842. model.setValue("/root/main/cond/orddd", model.getValue("/root/main/patinfo/patinhistinfo[rownum = '" + cmb_inhistlist.value +"']/dschdd"));
  843. btn_refterm.attribute("text") = "1일"
  844. }else{
  845. model.setValue("/root/main/cond/patinhistcd", model.getValue("/root/main/patinfo/patinhistinfo/rownum")); /////////////////////20081229추가
  846. }
  847. cmb_ward.disabled = false;
  848. //btn_doctorprcp.disabled = false;
  849. fChgBtnAble();
  850. }
  851. model.setValue("/root/main/cond/wardcd", model.getValue("/root/main/patinfo/patinhistinfo[rownum = '" + cmb_inhistlist.value +"']/wardcd"));
  852. }
  853. model.setValue("/root/main/cond/reforddeptcd", model.getValue("/root/main/patinfo/patinhistinfo[rownum = '" + cmb_inhistlist.value +"']/orddeptcd"));
  854. fChgOrddeptcd("init");
  855. model.setValue("/root/main/cond/medispclid", model.getValue("/root/main/patinfo/patinhistinfo[rownum = '" + cmb_inhistlist.value +"']/medispclid"));
  856. model.setValue("/root/main/cond/atdoctid", model.getValue("/root/main/patinfo/patinhistinfo[rownum = '" + cmb_inhistlist.value +"']/atdoctid"));
  857. if(model.getValue("/root/main/cond/atdoctid") == '-'){
  858. model.setValue("/root/main/cond/atdoctid", "");
  859. }
  860. }
  861. }
  862. }
  863. //병동별 환자리스트 조회 (내환자 및 BST만 포함)
  864. function fGetWardPatList()
  865. {
  866. model.setValue("/root/main/cond/pid", "등록번호");
  867. model.setValue("/root/main/cond/roomcd", "병실");
  868. model.setValue("/root/main/cond/sexage", "S/A");
  869. model.setValue("/root/main/cond/patnm", "환자명");
  870. model.removeNodeset("/root/main/bsrecinfo/bsreclist");
  871. model.removeNodeset("/root/main/nursingrecordinfo/nursingrecordlist");
  872. model.removeNodeset("/root/main_om/ominfo/prcpddinfo");
  873. model.removeNodeset("/root/main_om/ominfo/prcpinfo");
  874. model.removeNodeset("/root/main/prcp/prcplist");
  875. fMakeChart_init(); //그래프 초기화 용도로 사용
  876. model.removenode("/root/send");
  877. model.makeValue("/root/send/srchflag", model.getValue("/root/main/cond/srchflag"));
  878. model.makeValue("/root/send/wardcd", model.getValue("/root/main/cond/wardcd"));
  879. model.makeValue("/root/send/orddd", model.getValue("/root/main/cond/orddd"));
  880. model.makeValue("/root/send/settingrnid", model.getValue("/root/main/cond/settingrnid"));
  881. model.makeValue("/root/send/orddeptcd", model.getValue("/root/main/cond/reforddeptcd"));
  882. //20081230추가_ 주치의아이디가 '-'이거나 현재 리스트에 없는 경우
  883. if(model.getValue("/root/init/cond/doctlist/medispcl/usercombo[userid = '" + model.getValue("/root/main/cond/medispclid") + "']/usernm") == ""){
  884. model.makeValue("/root/send/medispclid", "");
  885. }else{
  886. model.makeValue("/root/send/medispclid", model.getValue("/root/main/cond/medispclid"));
  887. }
  888. if(model.getValue("/root/init/cond/doctlist/atdoct/usercombo[userid = '" + model.getValue("/root/main/cond/atdoctid") + "']/usernm") == ""){
  889. model.makeValue("/root/send/atdoctid", "");
  890. }else{
  891. model.makeValue("/root/send/atdoctid", model.getValue("/root/main/cond/atdoctid"));
  892. }
  893. //20110215 이선경 : 경북대
  894. model.makeValue("/root/send/zonecd", model.getValue("/root/main/cond/zonecd"));
  895. var pid = opener.javascript.getParameter("SMMNR02500_pid");
  896. var dschdd = opener.javascript.getParameter("SMMNR02500_dschdd");
  897. var wardcd = opener.javascript.getParameter("SMMNR02500_wardcd");
  898. if(pid != "") {
  899. model.makeValue("/root/send/pid", pid);
  900. model.setValue("/root/send/orddd", dschdd);
  901. } else {
  902. //퇴원환자조회
  903. if(model.getValue("/root/main/cond/patinhistcd") != ""){
  904. if(model.getValue("/root/main/patinfo/patinhistinfo[rownum = '" + cmb_inhistlist.value +"']/dschdd") != "99991231"){
  905. model.makeValue("/root/send/pid", model.getValue("/root/main/patinfo/patinhistinfo[rownum = '" + cmb_inhistlist.value +"']/pid"));
  906. model.setValue("/root/send/orddd", model.getValue("/root/main/patinfo/patinhistinfo[rownum = '" + cmb_inhistlist.value +"']/dschdd"));
  907. }
  908. }
  909. }
  910. //응급의료센터 구분_20090415_SMY
  911. if(model.getValue("/root/main/cond/wardcd") == model.getValue("/root/codeinfo/codeinfo/codelist/cdid")){
  912. model.makeValue("/root/send/emcflag", "Y");
  913. }
  914. if (submit("TRMNR02502")) {
  915. if (model.getValue("/root/main/cond/bstyn") == "Y") {
  916. for (i = 1; i <= getNodesetCount("/root/main/wardpatinfo/wardpatlist"); i++) {
  917. var bstyn = model.getValue("/root/main/wardpatinfo/wardpatlist[" + i + "]/bstyn");
  918. if ( bstyn == "" ) {
  919. grd_wardpatlist.rowHidden(i) = true;
  920. }
  921. }
  922. }
  923. }
  924. }
  925. //혈당기록내역 추가
  926. function fAddRow()
  927. {
  928. grd_bsreclist.addRow(true);
  929. grd_bsreclist.row = grd_bsreclist.rows;
  930. grd_bsreclist.topRow = grd_bsreclist.rows;
  931. model.setValue("/root/main/bsrecinfo/bsreclist[" + grd_bsreclist.row + "]/recdd", model.getValue("/root/main/cond/orddd"));
  932. model.refresh();
  933. }
  934. //혈당기록내역 조회
  935. function fGetBSRecList()
  936. {
  937. grd_bsreclist.rebuildStyle();
  938. grd_bsreclist.rebuild();
  939. model.removenode("/root/send");
  940. model.makeValue("/root/send/pid", model.getValue("/root/main/cond/pid"));
  941. model.makeValue("/root/send/indd", model.getValue("/root/main/cond/indd"));
  942. model.makeValue("/root/send/cretno", model.getValue("/root/main/cond/cretno"));
  943. model.makeValue("/root/send/instcd", model.getValue("/root/main/cond/instcd"));
  944. model.makeValue("/root/send/ordfromdd", model.getValue("/root/main/cond/ordfromdd"));
  945. model.makeValue("/root/send/orddd", model.getValue("/root/main/cond/orddd"));
  946. //초기화
  947. grd_bsreclist.colDisabled(grd_bsreclist.colRef("delyn")) = false;
  948. grd_bsreclist.colDisabled(grd_bsreclist.colRef("rectm")) = false;
  949. grd_bsreclist.colDisabled(grd_bsreclist.colRef("recrslt")) = false;
  950. grd_bsreclist.colDisabled(grd_bsreclist.colRef("prcpyn")) = false;
  951. // 혈당간호기록 조회
  952. if (submit("TRMNR02503")){
  953. for (i = 1; i <= getNodesetCount("/root/main/bsrecinfo/bsreclist"); i++) {
  954. //처방발행여부
  955. if(model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/drugprcpissflag") == "true"){
  956. grd_bsreclist.isReadOnly(i, grd_bsreclist.colRef("delyn")) = true;
  957. grd_bsreclist.isReadOnly(i, grd_bsreclist.colRef("rectm")) = true;
  958. grd_bsreclist.isReadOnly(i, grd_bsreclist.colRef("recrslt")) = true;
  959. grd_bsreclist.isReadOnly(i, grd_bsreclist.colRef("drugprcpyn")) = true;
  960. grd_bsreclist.isReadOnly(i, grd_bsreclist.colRef("prcpvol")) = true;
  961. //grd_bsreclist.isReadOnly(i, grd_bsreclist.colRef("lnkrecyn")) = true;
  962. }
  963. if(model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/prcpissflag") == "true"){
  964. grd_bsreclist.isReadOnly(i, grd_bsreclist.colRef("delyn")) = true;
  965. grd_bsreclist.isReadOnly(i, grd_bsreclist.colRef("rectm")) = true;
  966. grd_bsreclist.isReadOnly(i, grd_bsreclist.colRef("recrslt")) = true;
  967. grd_bsreclist.isReadOnly(i, grd_bsreclist.colRef("prcpyn")) = true;
  968. }
  969. //장비연동여부
  970. if(model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/eqmtyn") == "Y"){
  971. grd_bsreclist.isReadOnly(i, grd_bsreclist.colRef("rectm")) = true;
  972. grd_bsreclist.isReadOnly(i, grd_bsreclist.colRef("recrslt")) = true;
  973. if (model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/bfrectm") == ""){ //저장전
  974. grd_bsreclist.rowStyle(i, "data", "background-color") = "#ffffcc";
  975. }else{ //저장후
  976. grd_bsreclist.cellStyle("color", i, grd_bsreclist.colRef("rectm"), i, grd_bsreclist.colRef("prcpyn")) = "#FF0000";
  977. }
  978. }
  979. //기록연동여부
  980. if(model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/lnkrecyn") == "Y"){
  981. grd_bsreclist.isReadOnly(i, grd_bsreclist.colRef("lnkrecyn")) = true;
  982. }
  983. }
  984. }
  985. model.refresh();
  986. // 그래프내역 갱신
  987. fMakeChart();
  988. }
  989. //간호일지내역조회
  990. function fGetNursingrRcordInfo(){
  991. model.removenode("/root/send");
  992. /*
  993. //TRMNR00707
  994. var sSrchHeader = "pid▦fromdd▦todd▦dnarflag▦sortseq▩";
  995. var sSrchData = model.getValue("/root/main/cond/pid")
  996. +"▦"+ model.getValue("/root/main/cond/ordfromdd")
  997. +"▦"+ model.getValue("/root/main/cond/orddd")
  998. +"▦"+ "%"
  999. +"▦"+ "A"
  1000. +"▩";
  1001. */
  1002. var sSrchHeader = "pid▦indd▦orddd▦cretno▦ioflag▦fromdd▦todd▦dnarflag▦sortseq▦recflag▦reclnkkey▩";
  1003. var sSrchData = model.getValue("/root/main/cond/pid")
  1004. +"▦"+ model.getValue("/root/main/cond/indd")
  1005. +"▦"+ "-"
  1006. +"▦"+ model.getValue("/root/main/cond/cretno")
  1007. +"▦"+ "O"
  1008. +"▦"+ model.getValue("/root/main/cond/ordfromdd")
  1009. +"▦"+ model.getValue("/root/main/cond/orddd")
  1010. +"▦"+ "%"
  1011. +"▦"+ "A"
  1012. +"▦"+ "B"
  1013. +"▦"+ model.getValue("/root/main/cond/pid")
  1014. + "," + model.getValue("/root/main/cond/indd")
  1015. + "," + model.getValue("/root/main/cond/cretno")
  1016. + "," + model.getValue("/root/main/cond/instcd")
  1017. + "," + "B" + "," + "015"
  1018. +"▩";
  1019. model.makeValue("/root/send/srchinfo",sSrchHeader+sSrchData );
  1020. submit("TRMNR03402");
  1021. }
  1022. //혈당기록&간호일지 조회
  1023. function fGetBSNursingRecList(){
  1024. grd_bsreclist.rebuildStyle();
  1025. grd_bsreclist.rebuild();
  1026. model.removenode("/root/send");
  1027. model.makeValue("/root/send/pid", model.getValue("/root/main/cond/pid"));
  1028. model.makeValue("/root/send/indd", model.getValue("/root/main/cond/indd"));
  1029. model.makeValue("/root/send/cretno", model.getValue("/root/main/cond/cretno"));
  1030. model.makeValue("/root/send/instcd", model.getValue("/root/main/cond/instcd"));
  1031. model.makeValue("/root/send/ordfromdd", model.getValue("/root/main/cond/ordfromdd"));
  1032. model.makeValue("/root/send/orddd", model.getValue("/root/main/cond/orddd"));
  1033. model.makeValue("/root/send/dnarflag", "%");
  1034. model.makeValue("/root/send/recflag", "B");
  1035. model.makeValue("/root/send/reclnkkey", model.getValue("/root/main/cond/pid")
  1036. + "," + model.getValue("/root/main/cond/indd")
  1037. + "," + model.getValue("/root/main/cond/cretno")
  1038. + "," + model.getValue("/root/main/cond/instcd")
  1039. + "," + "B" + "," + "015");
  1040. model.makeValue("/root/send/bsonly", model.getValue("/root/main/cond/bsonly"));
  1041. //초기화
  1042. grd_bsreclist.colDisabled(grd_bsreclist.colRef("delyn")) = false;
  1043. grd_bsreclist.colDisabled(grd_bsreclist.colRef("rectm")) = false;
  1044. grd_bsreclist.colDisabled(grd_bsreclist.colRef("recrslt")) = false;
  1045. grd_bsreclist.colDisabled(grd_bsreclist.colRef("rem")) = false;
  1046. grd_bsreclist.colDisabled(grd_bsreclist.colRef("prcpyn")) = false;
  1047. // 16.05.11_AYS_추가
  1048. grd_bsreclist.colDisabled(grd_bsreclist.colRef("prcpcd")) = false;
  1049. grd_bsreclist.colDisabled(grd_bsreclist.colRef("prcpnm")) = false;
  1050. grd_bsreclist.colDisabled(grd_bsreclist.colRef("prcpvol")) = false;
  1051. grd_bsreclist.colDisabled(grd_bsreclist.colRef("drugprcpyn")) = false;
  1052. grd_bsreclist.colDisabled(grd_bsreclist.colRef("lnkrecyn")) = false;
  1053. // 혈당간호기록 조회
  1054. if (submit("TRMNR02503")){
  1055. var bfrecdd = "";
  1056. var bfrectm = "";
  1057. var bfrecrslt = "";
  1058. var bfrem = "";
  1059. var bfprcpissflag = "";
  1060. var prestrecdd = "";
  1061. var prestrectm = "";
  1062. var prestrecrslt = "";
  1063. var prestrem = "";
  1064. var prestprcpissflag = "";
  1065. /********* 기본보기 옵션에 따른 조회 **************/
  1066. //기본보기
  1067. if(model.getValue("/root/main/cond/bsonly") == "Y"){
  1068. // grd_bsreclist.attribute("width") = "518";
  1069. grd_bsreclist.colHidden(grd_bsreclist.colRef("dnar")) = true;
  1070. grd_bsreclist.colHidden(grd_bsreclist.colRef("stmtspec")) = true;
  1071. grd_bsreclist.colHidden(grd_bsreclist.colRef("recnm")) = true;
  1072. //간호일지 조회
  1073. fGetNursingrRcordInfo();
  1074. }else{
  1075. // grd_bsreclist.attribute("width") = "989";
  1076. grd_bsreclist.colHidden(grd_bsreclist.colRef("dnar")) = false;
  1077. grd_bsreclist.colHidden(grd_bsreclist.colRef("stmtspec")) = false;
  1078. grd_bsreclist.colHidden(grd_bsreclist.colRef("recnm")) = false;
  1079. model.toggle("case_rec"); //혈당간호기록조회 화면으로 변경
  1080. btn_carerec.dispatch("onclick");
  1081. model.removeNodeset("/root/main/nursingrecordinfo");
  1082. }
  1083. for (i = 1; i <= getNodesetCount("/root/main/bsrecinfo/bsreclist"); i++) {
  1084. /*
  1085. //결과, 비고, 발행컬럼이 같은 경우 머지하기 위해 데이터 셋팅(결과, 비고, 발행)
  1086. if(model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/refflag") == "C"){
  1087. model.setValue("/root/main/bsrecinfo/bsreclist[" + i + "]/bfrectm",
  1088. model.getValue("/root/main/bsrecinfo/bsreclist[refflag != 'C' and recdd = '"+model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/recdd")+"' and rectm = '"+model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/rectm")+"]/bfrectm"));
  1089. model.setValue("/root/main/bsrecinfo/bsreclist[" + i + "]/recrslt",
  1090. model.getValue("/root/main/bsrecinfo/bsreclist[refflag != 'C' and recdd = '"+model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/recdd")+"' and rectm = '"+model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/rectm")+"']/recrslt"));
  1091. model.setValue("/root/main/bsrecinfo/bsreclist[" + i + "]/rem",
  1092. model.getValue("/root/main/bsrecinfo/bsreclist[refflag != 'C' and recdd = '"+model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/recdd")+"' and rectm = '"+model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/rectm")+"']/rem"));
  1093. model.setValue("/root/main/bsrecinfo/bsreclist[" + i + "]/prcpyn",
  1094. model.getValue("/root/main/bsrecinfo/bsreclist[refflag != 'C' and recdd = '"+model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/recdd")+"' and rectm = '"+model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/rectm")+"']/prcpyn"));
  1095. }
  1096. */
  1097. prcpstatcd = grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("prcpstatcd"));
  1098. if(prcpstatcd == "730") {
  1099. grd_bsreclist.cellstyle("background-color", i, grd_bsreclist.colRef("prcpyn"), i, grd_bsreclist.colRef("prcpyn")) = "#f0f0f0";
  1100. }
  1101. //처방발행여부
  1102. if(model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/drugprcpissflag") == "true"){
  1103. grd_bsreclist.isReadOnly(i, grd_bsreclist.colRef("delyn")) = true;
  1104. grd_bsreclist.isReadOnly(i, grd_bsreclist.colRef("rectm")) = true;
  1105. grd_bsreclist.isReadOnly(i, grd_bsreclist.colRef("recrslt")) = true;
  1106. grd_bsreclist.isReadOnly(i, grd_bsreclist.colRef("drugprcpyn")) = true;
  1107. grd_bsreclist.isReadOnly(i, grd_bsreclist.colRef("prcpcd")) = true;
  1108. grd_bsreclist.isReadOnly(i, grd_bsreclist.colRef("prcpnm")) = true;
  1109. grd_bsreclist.isReadOnly(i, grd_bsreclist.colRef("prcpqty")) = true;
  1110. grd_bsreclist.isReadOnly(i, grd_bsreclist.colRef("prcpvol")) = true;
  1111. //grd_bsreclist.isReadOnly(i, grd_bsreclist.colRef("lnkrecyn")) = true;
  1112. }
  1113. if(model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/prcpissflag") == "true"){
  1114. grd_bsreclist.isReadOnly(i, grd_bsreclist.colRef("delyn")) = true;
  1115. grd_bsreclist.isReadOnly(i, grd_bsreclist.colRef("rectm")) = true;
  1116. grd_bsreclist.isReadOnly(i, grd_bsreclist.colRef("recrslt")) = true;
  1117. grd_bsreclist.isReadOnly(i, grd_bsreclist.colRef("prcpyn")) = true;
  1118. }
  1119. if(model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/refflag") == "C"){
  1120. grd_bsreclist.isReadOnly(i, grd_bsreclist.colRef("delyn")) = true;
  1121. grd_bsreclist.isReadOnly(i, grd_bsreclist.colRef("rectm")) = true;
  1122. grd_bsreclist.isReadOnly(i, grd_bsreclist.colRef("recrslt")) = true;
  1123. grd_bsreclist.isReadOnly(i, grd_bsreclist.colRef("rem")) = true;
  1124. grd_bsreclist.isReadOnly(i, grd_bsreclist.colRef("prcpyn")) = true;
  1125. //간호일지 데이터 배경색 표시
  1126. grd_bsreclist.cellstyle("background-color", i, grd_bsreclist.colRef("rectm"), i, grd_bsreclist.colRef("recnm")) = "#f0f0f0";
  1127. }
  1128. //장비연동여부
  1129. if(model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/eqmtyn") == "Y"){
  1130. grd_bsreclist.isReadOnly(i, grd_bsreclist.colRef("rectm")) = true;
  1131. grd_bsreclist.isReadOnly(i, grd_bsreclist.colRef("recrslt")) = true;
  1132. if (model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/bfrectm") == ""){ //저장전
  1133. //grd_bsreclist.rowStyle(i, "data", "background-color") = "#ffffcc";
  1134. grd_bsreclist.cellstyle("background-color", i, grd_bsreclist.colRef("rectm"), i, grd_bsreclist.colRef("recnm")) = "#ffffcc";
  1135. }else{ //저장후
  1136. grd_bsreclist.cellStyle("color", i, grd_bsreclist.colRef("rectm"), i, grd_bsreclist.colRef("prcpyn")) = "#FF0000";
  1137. }
  1138. }
  1139. // 기록연동 여부 2012.10.17 KJS
  1140. if(model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/lnkrecyn") == "Y"){
  1141. grd_bsreclist.isReadOnly(i, grd_bsreclist.colRef("lnkrecyn")) = true;
  1142. }
  1143. }
  1144. }
  1145. grd_bsreclist.rowHeightMin = 23; //그리드에 autoresize설정시 row높이가 줄어듬
  1146. grd_bsreclist.rebuild();
  1147. //view용 기록조회
  1148. model.removeNodeset("/root/viewinfo/bsviewinfo");
  1149. model.removenode("/root/send");
  1150. model.makeValue("/root/send/pid", model.getValue("/root/main/cond/pid"));
  1151. model.makeValue("/root/send/indd", model.getValue("/root/main/cond/indd"));
  1152. model.makeValue("/root/send/cretno", model.getValue("/root/main/cond/cretno"));
  1153. model.makeValue("/root/send/instcd", model.getValue("/root/main/cond/instcd"));
  1154. model.makeValue("/root/send/ordfromdd", model.getValue("/root/main/cond/ordfromdd"));
  1155. model.makeValue("/root/send/orddd", model.getValue("/root/main/cond/orddd"));
  1156. model.makeValue("/root/send/viewflag", "N");
  1157. model.makeValue("/root/send/dnarflag", "%");
  1158. model.makeValue("/root/send/recflag", "B");
  1159. model.makeValue("/root/send/reclnkkey", model.getValue("/root/main/cond/pid")
  1160. + "," + model.getValue("/root/main/cond/indd")
  1161. + "," + model.getValue("/root/main/cond/cretno")
  1162. + "," + model.getValue("/root/main/cond/instcd")
  1163. + "," + "B" + "," + "015");
  1164. model.makeValue("/root/send/bsonly", "Y");
  1165. if(submit("TRMNR02509")){ //view용 기록조회
  1166. // 그래프내역 갱신
  1167. fMakeChart();
  1168. }
  1169. }
  1170. //환자별 처방적용일 조회
  1171. function fGetPrcpddInfo()
  1172. {
  1173. //의사처방조회일경우 처방적용일 조회
  1174. if (swt_recprcp.selectedIndex == "1") {
  1175. //grd_bsreclist.attribute("width") = "507";
  1176. model.removeNodeset("/root/main_om/ominfo/prcpddinfo");
  1177. model.removenode("/root/send");
  1178. model.makeValue("/root/send/pid", model.getValue("/root/main/cond/pid"));
  1179. model.makeValue("/root/send/indd", model.getValue("/root/main/cond/indd"));
  1180. model.makeValue("/root/send/cretno", model.getValue("/root/main/cond/cretno"));
  1181. model.makeValue("/root/send/instcd", model.getValue("/root/main/cond/instcd"));
  1182. //환자별 처방적용일 조회
  1183. if (model.getValue("/root/main/cond/pid") != "" && model.getValue("/root/main/cond/pid") != "등록번호" ) {
  1184. submit("TRMNR02505");
  1185. }
  1186. }
  1187. }
  1188. //혈당기록내역 수정/저장 (app에서 신규기록은 처방발생)
  1189. function fSetBSRecInfo()
  1190. {
  1191. grd_bsreclist.mergeCells = "bycol";
  1192. //발행가능 처방 조회
  1193. if(grd_bsreclist.findRow("true", 1, grd_bsreclist.colRef("prcpyn")) != -1
  1194. || grd_bsreclist.findRow("true", 1, grd_bsreclist.colRef("drugprcpyn")) != -1){
  1195. model.removeNodeset("/root/send");
  1196. model.makeValue("/root/send/baseflag", "E"); //혈당기록 발행 검사처방
  1197. model.makeValue("/root/send/ordtype", "I");
  1198. model.makeValue("/root/send/orddeptcd", "ALL");
  1199. if(submit("TRMNR02507")){
  1200. if(model.getValue("/root/init/issprcpinfo/prcpinfo/prcpcd") == ""){
  1201. messageBox("발행할 처방이 존재하지 않습니다.", "I");
  1202. return;
  1203. }
  1204. }
  1205. }
  1206. model.removeNodeset("/root/send");
  1207. model.makeNode("/root/send/bsrecInfo"); //혈당기록정보
  1208. model.makeNode("/root/send/saveflaginfo"); //저장구분정보(saveFlagInfoVO)
  1209. model.makeNode("/root/send/savergstinfo"); //저장등록정보(saveRgstInfoVO)
  1210. model.makeNode("/root/send/saveprcpinfo"); //저장처방정보(savePrcpInfoVO)
  1211. model.makeNode("/root/send/savesigninfo"); //저장인증정보(saveSignInfoVO)
  1212. model.makeNode("/root/send/savesignrecinfo"); //간호일지TypeII자동연동정보(signRecVO)
  1213. model.makeNode("/root/send/nursrecinfo"); //간호일지TypeII자동연동정보(signRecVO)
  1214. model.makeNode("/root/temp/result"); //에러 팝업
  1215. var BSRecInfoHeader = "setflag▦pid▦indd▦cretno▦instcd▦ordfromdd▦orddd▦recdd▦rectm▦recrslt▦rem▦signno▦bfrectm▦bfrecrslt▦insprcpyn▦suretestdt▦prcpcd▦prcpnm▦prcpvol▦prcpqty▦lnkrecyn▩";
  1216. var BSRecInfoData = "";
  1217. var FlagInfoHeader = "savedataflag▦saveflag▦prcpflag▦inptflag▦pamflag▦diagflag▦prcperrflag▦deptcd▦deptnm▦userid▦usernm▦signyn▩";
  1218. var RgstInfoHeader = "pid▦orddd▦indd▦cretno▦orddeptcd▦orddrid▦instcd▩";
  1219. var PrcpInfoHeader = "status▦rowno▦prcpdd▦prcpno▦prcphistno▦instcd▦pid▦orddd▦cretno▦orddeptcd▦orddrid▦prcpgenrflag▦prcpstatcd▦prcpkindcd▦prcpcd▦calcscorcd▦inclprcpcd▦"
  1220. +"inclprcpno▦prcpexecdeptcd▦prcphopedd▦prcpvol▦prcpqty▦prcpqtyunitflag▦prcptims▦prcpdayno▦payflagcd▦erprcpflag▦precureprcpflag▦nigtprcpflag▦portprcpflag▦fixprcpflag▦"
  1221. +"choiordflag▦anamneflag▦prcpdirecflag▦angioflagcd▦opansflagcd▦ansttm▦offictourhealexamflag▦stemcellflag▦hosinhosoutflag▦hosinprcpresncd▦issdeptcd▦prcpauthflag▦"
  1222. +"prcpinptflag▦prcpsignflag▦oprsrvno▦clincstdyflag▦clincstdycd▦drugmthdspccd▦prcpdelivefact▦tootfact▦matrsetprcpspec▦calcflag▦rsrvflag▦rsrvdd▦rsrvtm▦rsrvrid▦execdd▦"
  1223. +"exectm▦execrid▦direcprcplnkdd▦direcprcplnkno▦ordreqlnkno▦testreqlnkno▦aftcertflag▦aftcertdrid▦tempcol21▦drprcpetc7▦drprcpetc8▩"; //aftcertflag▦aftcertdrid▦추가(20081216,SMY)
  1224. //var SignInfoHeader = "signdd▦signno▦instcd▦pid▦orddd▦cretno▦signflag▦signgenrflag▦rgstdeptcd▦rgstdd▦rgsttm▦rgstrid▦updtdeptcd▦updtdd▦updttm▦updtrid▦fstrgstrid▦fstrgstdt▦lastupdtrid▦"
  1225. // +"lastupdtdt▦signbfcnts▦signaftcnts▩";
  1226. var SignInfoHeader = "pid▦orddd▦signno▦cretno▦recdd▦rectm▦recsaveflag▦signflag▦signgenrflag▦formcd▦orddeptcd▦orddrid▦signbfcnts▦signaftcnts▦dispyn▩";
  1227. var sRecInfoHeader = "stmtspec▦attrinfo▦status▦origincd▦stmtcd▦dnarflag▦recoriginflag▦recdtflag▦recdt▦"
  1228. +"pid▦indd▦cretno▦instcd▦ioflag▦orddeptcd▦recflag▦reclnkkey▦diagstmtcd▦orddd▦dnarnm▦usernm▦deptflagnm▩"; // 간호일지TypeII 저장 정보
  1229. var NursRecInfoHeader = "stmtspec▦status▦attrinfo▦origincd▦stmtcd▦dnarflag▦recoriginflag▦recdtflag▦recdt▦pid▦indd▦cretno▦instcd▦ioflag▦orddeptcd▦recflag▦reclnkkey▦diagstmtcd▦orddd▦dnarnm▦usernm▦deptflagnm▩";
  1230. var FlagInfoData = "";
  1231. var RgstInfoData = "";
  1232. var PrcpInfoData = "";
  1233. var SignInfoData = "";
  1234. var SignInfoData2 = "";
  1235. var NursInfoData = "";
  1236. var pid = model.getValue("/root/main/cond/pid");
  1237. var indd = model.getValue("/root/main/cond/indd");
  1238. var cretno = model.getValue("/root/main/cond/cretno");
  1239. var instcd = model.getValue("/root/main/cond/instcd");
  1240. var ordfromdd = model.getValue("/root/main/cond/ordfromdd");
  1241. var orddd = model.getValue("/root/main/cond/orddd");
  1242. var ordtype = model.getValue("/root/main/cond/ordtype");
  1243. var orddeptcd = model.getValue("/root/main/cond/orddeptcd");
  1244. var orddrid = model.getValue("/root/main/cond/orddrid");
  1245. var deptcd = getUserInfo("dutplcecd");
  1246. var deptnm = getUserInfo("dutplcenm");
  1247. if ( !isNull(model.getValue("/root/codeinfo/codeinfo/codelist[cdgrupid ='002' and cdid ='"+cmb_ward.value+"']/cdid")) ) {
  1248. deptcd = grd_wardpatlist.valueMatrix(grd_wardpatlist.row, grd_wardpatlist.colRef("grupcd"));
  1249. }
  1250. //후인증대상은 담당의 → 주치의 순
  1251. var aftcertdrid = "";
  1252. var medispclid = model.getValue("/root/main/cond/orddrid");
  1253. var atdoctid = model.getValue("/root/main/cond/chrgorddrid");
  1254. if(atdoctid == "" || atdoctid == "-" || orddeptcd == "2240200000" ){ //17.04.13_AYS_진료과가 구강악안면외과 이면 주치교수로 식이처방 발행)
  1255. aftcertdrid = medispclid;
  1256. }else{
  1257. aftcertdrid = atdoctid;
  1258. }
  1259. for (i = 1; i <= getNodesetCount("/root/main/bsrecinfo/bsreclist"); i++) {
  1260. var recdd = model.getValue("/root/main/bsrecinfo/bsreclist["+ i +"]/recdd");
  1261. var rectm = model.getValue("/root/main/bsrecinfo/bsreclist["+ i +"]/rectm");
  1262. var recrslt = model.getValue("/root/main/bsrecinfo/bsreclist["+ i +"]/recrslt");
  1263. var signno = model.getValue("/root/main/bsrecinfo/bsreclist["+ i +"]/signno");
  1264. var bfrectm = model.getValue("/root/main/bsrecinfo/bsreclist["+ i +"]/bfrectm");
  1265. var bfrecrslt = model.getValue("/root/main/bsrecinfo/bsreclist["+ i +"]/bfrecrslt");
  1266. var bfrem = model.getValue("/root/main/bsrecinfo/bsreclist["+ i +"]/bfrem");
  1267. var bfprcpvol = model.getValue("/root/main/bsrecinfo/bsreclist["+ i +"]/bfprcpvol");
  1268. var recrslt = model.getValue("/root/main/bsrecinfo/bsreclist["+ i +"]/recrslt");
  1269. var rem = model.getValue("/root/main/bsrecinfo/bsreclist["+ i +"]/rem");
  1270. var prcpyn = model.getValue("/root/main/bsrecinfo/bsreclist["+ i +"]/prcpyn");
  1271. var drugprcpyn = model.getValue("/root/main/bsrecinfo/bsreclist["+ i +"]/drugprcpyn"); //처방발행여부
  1272. var prcpissflag = model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/prcpissflag"); //기존처방발행여부
  1273. var drugprcpissflag = model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/drugprcpissflag"); //기존약처방발행여부
  1274. var suretestdt = model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/suretestdt"); //장비테이블 PK정보
  1275. var refflag = model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/refflag");
  1276. //연동정보 추가
  1277. var prcpcd = model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/prcpcd");
  1278. var bfprcpcd = model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/bfprcpcd");
  1279. var prcpnm = model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/prcpnm2");
  1280. var prcpqty = model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/prcpqty");
  1281. var prcpvol = model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/prcpvol");
  1282. var bfprcpvol = model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/bfprcpvol");
  1283. var lnkrecyn = model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/lnkrecyn");
  1284. var bflnkrecyn = model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/bflnkrecyn");
  1285. var prcpcd = model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/prcpcd");
  1286. var formcd = "0000002459";
  1287. var insprcpyn = "";
  1288. var setflag = ""; //status
  1289. var prcpclscd="";
  1290. //기기록된 정보는 기록연동 제외
  1291. var recyn = "N";
  1292. // if (grd_bsreclist.isReadOnly(i, grd_bsreclist.colRef("lnkrecyn")) == true) {
  1293. // recyn = "Y";
  1294. // //bflnkrecyn = "N";
  1295. // }
  1296. //간호일지 기록 제외
  1297. if (refflag != "C"){
  1298. //처방발행정보
  1299. //약처방발행정보도 있으면 처방 인터페이스 타도록 수정.
  1300. if((prcpyn == "true" && prcpissflag != "true") || (drugprcpyn == "true" && drugprcpissflag != "true")){
  1301. insprcpyn = "true";
  1302. }
  1303. //기록시간수정가능
  1304. if(bfrectm == ""){
  1305. setflag = "i";
  1306. }else {
  1307. if(rectm != bfrectm){ //시간수정
  1308. setflag = "tu";
  1309. }else{ //시간이외수정
  1310. setflag = "u";
  1311. }
  1312. }
  1313. //기록저장
  1314. //if (recyn == "N") {
  1315. if(rectm != bfrectm || recrslt != bfrecrslt || rem != bfrem || bfprcpvol != prcpvol || lnkrecyn != bflnkrecyn|| (prcpyn == "true" && prcpissflag != "true")
  1316. || (drugprcpyn == "true" && drugprcpissflag != "true") ) {
  1317. BSRecInfoData += setflag
  1318. //BSRecInfoData += "i"
  1319. + "▦" + pid
  1320. + "▦" + indd
  1321. + "▦" + cretno
  1322. + "▦" + instcd
  1323. + "▦" + ordfromdd
  1324. + "▦" + orddd
  1325. + "▦" + recdd
  1326. + "▦" + rectm
  1327. + "▦" + recrslt
  1328. + "▦" + rem
  1329. + "▦" + signno
  1330. + "▦" + bfrectm
  1331. + "▦" + bfrecrslt
  1332. + "▦" + insprcpyn //처방발행정보
  1333. + "▦" + suretestdt
  1334. + "▦" + prcpcd
  1335. + "▦" + prcpnm
  1336. + "▦" + prcpvol
  1337. + "▦" + prcpqty
  1338. + "▦" + lnkrecyn
  1339. + "▩";
  1340. //인증저장
  1341. SignInfoData += pid
  1342. + "▦" + indd
  1343. + "▦" + signno
  1344. + "▦" + cretno
  1345. + "▦" + recdd
  1346. + "▦" + rectm
  1347. + "▦" + "Y"
  1348. + "▦" + "02"
  1349. + "▦" + ordtype
  1350. + "▦" + formcd
  1351. + "▦" + orddeptcd
  1352. + "▦" + orddrid
  1353. + "▦" + Sign.signedInfos[1]
  1354. + "▦" + Sign.signedInfos[2]
  1355. + "▦" + "N"
  1356. + "▩";
  1357. }
  1358. //}
  1359. //처방발행
  1360. if( (prcpyn == "true" && prcpissflag != "true") || (drugprcpyn == "true" && drugprcpissflag != "true") ){
  1361. //***** 저장구분정보(saveFlagInfoVO)
  1362. FlagInfoData = '2' +"▦" //저장자료구분 (2:처방)
  1363. + ordtype +"▦" //저장구분 (O:외래, I:입원, E:응급, S:건진)
  1364. + '1' +"▦" //처방구분(M0035 처방권한에 대한 구분종류)
  1365. + '09' +"▦" //입력구분(M0034 처방입력에 대한 구분종류) //간호처방 : 확인필요 --> prcpauthflag = 2 이고 prcpinptflag = 09일 경우 간호처방 조회됨
  1366. + 'Y' +"▦" //원무정보 처리구분 (Y/N)
  1367. + 'N' +"▦" //진단정보 처리구분 (Y/N)
  1368. + 'Y' +"▦" //처방오류구분(Y/N) -> Y일 경우 의사처방과 동일하게 오류리스트를 반환, N이면 오류를 확인하지 않음
  1369. + deptcd +"▦" //부서코드 (입력자 또는 로그인한 사용자의 부서코드)
  1370. + deptnm +"▦" //부서명 (입력자 또는 로그인한 사용자의 부서명)
  1371. + getUserId() +"▦" //사용자ID (입력자 또는 로그인한 사용자ID)
  1372. + getUserName() +"▦" //사용자명 (입력자 또는 로그인한 사용자명)
  1373. + 'N' +"▩"; //전자서명여부 (Y/N)
  1374. //***** 저장등록정보(saveRgstInfoVO)
  1375. RgstInfoData = pid +"▦"
  1376. + "-" +"▦"
  1377. + indd +"▦"
  1378. + cretno +"▦"
  1379. + orddeptcd +"▦"
  1380. + orddrid +"▦"
  1381. + instcd +"▩";
  1382. //***** 저장처방정보(savePrcpInfoVO)
  1383. for (k = 1; k <= getNodesetCount("/root/init/issprcpinfo/prcpinfo"); k++) {
  1384. prcpclscd = model.getValue("/root/init/issprcpinfo/prcpinfo[" + k + "]/prcpclscd");
  1385. if(prcpyn == "true" && prcpissflag != "true" && prcpclscd == "B2") {
  1386. PrcpInfoData += "I" +"▦" //신규(I), DC(C)
  1387. + k +"▦" //줄번호 (병리 요구)
  1388. + getCurrentDate() +"▦" //처방일자(외래/종건은 orddd와 동일, 입원은 처방일자)
  1389. + 0 +"▦" //처방번호 (status가 'I'일 경우 0)
  1390. + 0 +"▦" //처방이력번호 (status가 'I'일 경우 0)
  1391. + instcd +"▦" //기관코드
  1392. + pid +"▦" //등록번호(원무Key)
  1393. + indd +"▦" //진료일자(원무Key) - 입원환자일 경우 indd
  1394. + cretno +"▦" //생성번호(원무Key)
  1395. + orddeptcd +"▦" //진료과(원무)
  1396. + orddrid +"▦" //진료의ID(원무)
  1397. + ordtype +"▦" //처방발생구분(원무) - O:외래, I:입원, E:응급, S:건진
  1398. + '000' +"▦" //처방상태 : '000'
  1399. + '20' +"▦" //처방종류 : '20'
  1400. + model.getValue("/root/init/issprcpinfo/prcpinfo[" + k + "]/prcpcd") +"▦" //처방코드
  1401. + model.getValue("/root/init/issprcpinfo/prcpinfo[" + k + "]/calcscorcd") +"▦" //수가코드
  1402. +"-" +"▦" //종속처방코드 ('-') => default : '-'
  1403. + 0 +"▦" //종속처방번호 (일련번호 - 종속처방코드별로 생성) => default : 0
  1404. + deptcd +"▦" //처방실시부서코드 (수가의 접수부서를 넣어 주거나, 접수하는 부서코드, 없을 경우 '-'로 처리)
  1405. + getCurrentDate() +"▦" //처방희망일자 (처방일자 이전으로 발생불가)
  1406. + '1' +"▦" //처방용량 (1) (약품일 경우 반드시 포장단위 수량을 넣어 주어야 됨) => default : 1
  1407. + '1' +"▦" //처방수량 (1) (약품일 경우 반드시 포장단위 수량을 넣어 주어야 됨) => default : 1
  1408. + '-' +"▦" //처방수량단위 (약품일 경우 '3', 그렇지 않을경우 '-') => default : '-'
  1409. + 1 +"▦" //처방횟수 (1) (입원일 경우 횟수에 따라 풀림) => default : 1
  1410. + 1 +"▦" //처방일수 (1) (지원부서에서는 주사처방에 대하여 일수를 넣으면 안됨, 넣으면 자료가 문제가 생김) => default : 1
  1411. + '-' +"▦" //급여구분코드 (M0029 참조) -> '-'로 넣으주면 환자의 보험유형에 따라 자동 발생
  1412. + "N" +"▦" //응급처방구분 (Y/N) ==> default : 'N'
  1413. + "N" +"▦" //선처치처방구분 (Y/N) ==> default : 'N'
  1414. + "N" +"▦" //야간처방구분 (Y/N) : 야간가산에 해당 될 경우 ==> default : 'N'
  1415. + "N" +"▦" //포터블처방구분 (Y/N) ==> default : 'N'
  1416. + "N" +"▦" //정액처방구분 (Y/N) ==> default : 'N'
  1417. + "N" +"▦" //선택처방구분 (Y/N) -> 만약 '-'일 경우 원무정보 기준으로 처리 ==> default : 'N'
  1418. + "N" +"▦" //기왕력(증)구분 (Y/N) ==> default : 'N'
  1419. + "-" +"▦" //처방방향구분 (코드정의서 M0041 참조), 재활은 위치구분으로 사용 : '-' => default : '-'
  1420. + "-" +"▦" //Angio구분 (코드정의서 M0006 참조) : '-' => default : '-'
  1421. + "-" +"▦" //수술마취구분 (코드정의서 M0007, M0008 참조) : '-' => default : '-'
  1422. + "0000" +"▦" //마취처방에 대한 마취적용시간 - 분을 4자리로 표현, 연속검사 검사간격 => default : '0000'
  1423. + "N" +"▦" //출장검진구분 (Y/N) => default : 'N'
  1424. + "00NNN" +"▦" //'00NNN' 건진청구구분, 조혈모(줄기)세포 구분 - Stem Cell Source 여부 ,Cryo여부, CD34 채집여부, 해동여부의 조합으로 구성 => default : '00NNN'
  1425. + "-" +"▦" //원내외구분(건진은 'I', 약이 아닐경우 '-') => default : '-'
  1426. + "00" +"▦" //원내처방사유 (건진에 해당하는 사유 - 정의, 약이 아닐경우 '00') => default : '00'
  1427. + deptcd +"▦" //발행부서코드 (집계가 타부서일 경우 타과코드, 입원은 기본이 병동) -> '-' 로 처리하면 자동 처리(기본은 처방입력부서이나 입원은 해당 병동으로 처리) => default : '-'
  1428. + "1" +"▦" //처방권한구분(0:의사처방화면, 1:의사및간호사공유처방, 2:순수간호처방, 3:지원부서의사처방, 4:기타처방 - 기타 지원부서 추가, 5:계산용원무처방, 6:건진처방 ==> 0,1만 의사처방화면에 보임, 단 3은 추후에 결정)
  1429. + "09" +"▦" //처방입력구분(저장구분정보의 inptflag와 동일하게 처리)
  1430. //+ "0" +"▦" //처방서명구분(0:인증안됨, 1:의사가 후인증, 2:인증완료) => default : '2'
  1431. + "1" +"▦" //처방서명구분(0:인증안됨, 1:의사가 후인증, 2:인증완료) => default : '2'
  1432. + "-" +"▦" //수술예약번호(0) => default : '-'
  1433. + "N" +"▦" //임상연구구분 (Y/N)
  1434. + "-" +"▦" //임상연구코드 ('-') -> 임상연구구분이 'Y'일 경우 임상연구코드를 등록 => default : '-'
  1435. + model.getValue("/root/init/issprcpinfo/prcpinfo[" + k + "]/drugmthdspccd") +"▦" //투여방법및검체코드(약일 경우 복용방법, 진검 및 병리일 경우 검체코드, Default '-') => default : '-'
  1436. + "-" +"▦" //처방전달사항
  1437. + "-" +"▦" //치식 (병리만 사용, 나머지는 '-') => default : '-'
  1438. + "-" +"▦" //재료처방내용 ('-') -> 추후정의
  1439. + "N" +"▦" //계산구분 (Y/N)
  1440. + "N" +"▦" //예약구분 (Y/N)
  1441. + "00000000" +"▦" //예약일자 ('N'일 경우 '00000000')
  1442. + "000000" +"▦" //예약시간 ('N'일 경우 '000000')
  1443. + "-" +"▦" //예약자ID ('-')
  1444. + recdd +"▦" //실시일자 ('00000000')
  1445. + rectm + "01" +"▦" //실시시간 ('000000')
  1446. + getUserId() +"▦" //실시자ID ('-')
  1447. + '00000000' +"▦" //지시처방연계일자 (00000000) -> 지원부서에서 사용 - 원지시처방의 처방일자
  1448. + '0' +"▦" //지시처방연계번호 (0) -> 지원부서에서 사용 - 원지시처방의 실시처방유일번호
  1449. + '0' +"▦" //진료의뢰연계번호 (0)
  1450. + '0' +"▦" //검사의뢰연계번호 (0) -> 병리와 진단검사 사용
  1451. + "11" +"▦" // 후인증구분(M0483)
  1452. + aftcertdrid +"▦" // 후인증의사ID
  1453. + recrslt +"▦" // 후인증의사ID
  1454. + '1' +"▦" // 후인증의사ID
  1455. + '1' +"▩" ; //tempcol21 : 현장검사 입력시 결과값 필요
  1456. }
  1457. if (drugprcpyn == "true" && drugprcpissflag != "true" && prcpclscd=="A6") {
  1458. if(prcpcd == "") {
  1459. messageBox("발행할 인슐린 처방을 선택하십시오.", "E");
  1460. return;
  1461. }
  1462. PrcpInfoData += "I" +"▦" //신규(I), DC(C)
  1463. + k +"▦" //줄번호 (병리 요구)
  1464. + getCurrentDate() +"▦" //처방일자(외래/종건은 orddd와 동일, 입원은 처방일자)
  1465. + 0 +"▦" //처방번호 (status가 'I'일 경우 0)
  1466. + 0 +"▦" //처방이력번호 (status가 'I'일 경우 0)
  1467. + instcd +"▦" //기관코드
  1468. + pid +"▦" //등록번호(원무Key)
  1469. + indd +"▦" //진료일자(원무Key) - 입원환자일 경우 indd
  1470. + cretno +"▦" //생성번호(원무Key)
  1471. + orddeptcd +"▦" //진료과(원무)
  1472. + orddrid +"▦" //진료의ID(원무)
  1473. + ordtype +"▦" //처방발생구분(원무) - O:외래, I:입원, E:응급, S:건진
  1474. + '000' +"▦" //처방상태 : '000'
  1475. + '20' +"▦" //처방종류 : '20'
  1476. + prcpcd +"▦" //처방코드
  1477. + prcpcd +"▦" //수가코드
  1478. +"-" +"▦" //종속처방코드 ('-') => default : '-'
  1479. + 0 +"▦" //종속처방번호 (일련번호 - 종속처방코드별로 생성) => default : 0
  1480. + deptcd +"▦" //처방실시부서코드 (수가의 접수부서를 넣어 주거나, 접수하는 부서코드, 없을 경우 '-'로 처리)
  1481. + getCurrentDate() +"▦" //처방희망일자 (처방일자 이전으로 발생불가)
  1482. + prcpvol +"▦" //처방수량 (1) (약품일 경우 반드시 포장단위 수량을 넣어 주어야 됨) => default : 1
  1483. + prcpqty +"▦" //처방수량 (1) (약품일 경우 반드시 포장단위 수량을 넣어 주어야 됨) => default : 1
  1484. + '3' +"▦" //처방수량단위 (약품일 경우 '3', 그렇지 않을경우 '-') => default : '-'
  1485. + 1 +"▦" //처방횟수 (1) (입원일 경우 횟수에 따라 풀림) => default : 1
  1486. + 1 +"▦" //처방일수 (1) (지원부서에서는 주사처방에 대하여 일수를 넣으면 안됨, 넣으면 자료가 문제가 생김) => default : 1
  1487. + '-' +"▦" //급여구분코드 (M0029 참조) -> '-'로 넣으주면 환자의 보험유형에 따라 자동 발생
  1488. + "N" +"▦" //응급처방구분 (Y/N) ==> default : 'N'
  1489. + "N" +"▦" //선처치처방구분 (Y/N) ==> default : 'N'
  1490. + "N" +"▦" //야간처방구분 (Y/N) : 야간가산에 해당 될 경우 ==> default : 'N'
  1491. + "N" +"▦" //포터블처방구분 (Y/N) ==> default : 'N'
  1492. + "N" +"▦" //정액처방구분 (Y/N) ==> default : 'N'
  1493. + "N" +"▦" //선택처방구분 (Y/N) -> 만약 '-'일 경우 원무정보 기준으로 처리 ==> default : 'N'
  1494. + "N" +"▦" //기왕력(증)구분 (Y/N) ==> default : 'N'
  1495. + "-" +"▦" //처방방향구분 (코드정의서 M0041 참조), 재활은 위치구분으로 사용 : '-' => default : '-'
  1496. + "-" +"▦" //Angio구분 (코드정의서 M0006 참조) : '-' => default : '-'
  1497. + "-" +"▦" //수술마취구분 (코드정의서 M0007, M0008 참조) : '-' => default : '-'
  1498. + "0000" +"▦" //마취처방에 대한 마취적용시간 - 분을 4자리로 표현, 연속검사 검사간격 => default : '0000'
  1499. + "N" +"▦" //출장검진구분 (Y/N) => default : 'N'
  1500. + "00NNN" +"▦" //'00NNN' 건진청구구분, 조혈모(줄기)세포 구분 - Stem Cell Source 여부 ,Cryo여부, CD34 채집여부, 해동여부의 조합으로 구성 => default : '00NNN'
  1501. + "-" +"▦" //원내외구분(건진은 'I', 약이 아닐경우 '-') => default : '-'
  1502. + "00" +"▦" //원내처방사유 (건진에 해당하는 사유 - 정의, 약이 아닐경우 '00') => default : '00'
  1503. + deptcd +"▦" //발행부서코드 (집계가 타부서일 경우 타과코드, 입원은 기본이 병동) -> '-' 로 처리하면 자동 처리(기본은 처방입력부서이나 입원은 해당 병동으로 처리) => default : '-'
  1504. + "1" +"▦" //처방권한구분(0:의사처방화면, 1:의사및간호사공유처방, 2:순수간호처방, 3:지원부서의사처방, 4:기타처방 - 기타 지원부서 추가, 5:계산용원무처방, 6:건진처방 ==> 0,1만 의사처방화면에 보임, 단 3은 추후에 결정)
  1505. + "09" +"▦" //처방입력구분(저장구분정보의 inptflag와 동일하게 처리)
  1506. //+ "0" +"▦" //처방서명구분(0:인증안됨, 1:의사가 후인증, 2:인증완료) => default : '2'
  1507. + "1" +"▦" //처방서명구분(0:인증안됨, 1:의사가 후인증, 2:인증완료) => default : '2'
  1508. + "-" +"▦" //수술예약번호(0) => default : '-'
  1509. + "N" +"▦" //임상연구구분 (Y/N)
  1510. + "-" +"▦" //임상연구코드 ('-') -> 임상연구구분이 'Y'일 경우 임상연구코드를 등록 => default : '-'
  1511. + model.getValue("/root/init/issprcpinfo/prcpinfo[" + k + "]/drugmthdspccd") +"▦" //투여방법및검체코드(약일 경우 복용방법, 진검 및 병리일 경우 검체코드, Default '-') => default : '-'
  1512. + "-" +"▦" //처방전달사항
  1513. + "-" +"▦" //치식 (병리만 사용, 나머지는 '-') => default : '-'
  1514. + "-" +"▦" //재료처방내용 ('-') -> 추후정의
  1515. + "N" +"▦" //계산구분 (Y/N)
  1516. + "N" +"▦" //예약구분 (Y/N)
  1517. + "00000000" +"▦" //예약일자 ('N'일 경우 '00000000')
  1518. + "000000" +"▦" //예약시간 ('N'일 경우 '000000')
  1519. + "-" +"▦" //예약자ID ('-')
  1520. + recdd +"▦" //실시일자 ('00000000')
  1521. + rectm + "01" +"▦" //실시시간 ('000000')
  1522. + getUserId() +"▦" //실시자ID ('-')
  1523. + '00000000' +"▦" //지시처방연계일자 (00000000) -> 지원부서에서 사용 - 원지시처방의 처방일자
  1524. + '0' +"▦" //지시처방연계번호 (0) -> 지원부서에서 사용 - 원지시처방의 실시처방유일번호
  1525. + '0' +"▦" //진료의뢰연계번호 (0)
  1526. + '0' +"▦" //검사의뢰연계번호 (0) -> 병리와 진단검사 사용
  1527. + "11" +"▦" // 후인증구분(M0483)
  1528. + aftcertdrid +"▦" // 후인증의사ID
  1529. + recrslt +"▦" // 후인증의사ID
  1530. + prcpvol +"▦" // 후인증의사ID
  1531. + prcpqty +"▩" ; //tempcol21 : 현장검사 입력시 결과값 필요
  1532. }
  1533. }
  1534. }
  1535. }
  1536. }
  1537. setParameter("pid" , pid );
  1538. setParameter("indd" , indd );
  1539. setParameter("signno" , signno );
  1540. setParameter("cretno" , cretno );
  1541. setParameter("recdd" , recdd );
  1542. setParameter("rectm" , rectm );
  1543. setParameter("ordtype" , ordtype );
  1544. setParameter("orddeptcd", orddeptcd);
  1545. setParameter("orddrid" , orddrid );
  1546. setParameter("orddd" , orddd );
  1547. //20120312_KNUH_Start 간호기록연동 체크한것이. 1개 이상일 경우에만..
  1548. var node = instance1.selectNodes(grd_bsreclist.nodeset + "[lnkrecyn='Y' and lnkrecyn!=bflnkrecyn]");
  1549. if(node.length > 0) {
  1550. model.makeNode("/root/send/nursrecinfo");
  1551. model.makeNode("/root/temp/recinfo/reclist");
  1552. model.makeNode("/root/temp/recinfo/nursreclist");
  1553. copyNodesetType("/root/temp/recinfo/reclist", grd_bsreclist.nodeset + "[lnkrecyn='Y' and lnkrecyn!=bflnkrecyn]");
  1554. copyNodesetType("/root/temp/recinfo/nursreclist", grd_carerecspec.nodeset);
  1555. modal("SPMNR02501","","","","", "/root/temp/recinfo", "/root/main/recinfo");
  1556. SignInfoData2 += pid
  1557. + "▦" + indd
  1558. + "▦" + ''
  1559. + "▦" + cretno
  1560. + "▦" + recdd
  1561. + "▦" + rectm
  1562. + "▦" + "Y"
  1563. + "▦" + "02"
  1564. + "▦" + ordtype
  1565. + "▦" + '0000002432'
  1566. + "▦" + orddeptcd
  1567. + "▦" + orddrid
  1568. + "▦" + getParameter("signbfcnts")
  1569. + "▦" + getParameter("signaftcnts")
  1570. + "▦" + "Y"
  1571. + "▩";
  1572. model.makeValue("/root/send/savesignrecinfo", SignInfoHeader+SignInfoData2);
  1573. model.makeValue("/root/send/nursrecinfo", getParameter("nodeinfo"));
  1574. } else {
  1575. model.makeValue("/root/send/nursrecinfo", NursRecInfoHeader);
  1576. }
  1577. if (BSRecInfoData != "" || PrcpInfoData != "") {
  1578. if (getNodesetCount ("/root/temp/result/prcperrlist") > 0 ) { //에러리스트
  1579. var xpt = window.screenleft + 100;
  1580. var ypt = window.screenTop + 50;
  1581. var coord = getRelativeCoordinate ( xpt, ypt );
  1582. var mon = coord[0];
  1583. xpt = coord[1];
  1584. ypt = coord[2];
  1585. open ( "SPMNW11000", mon, xpt, ypt, "prcpdetl", "/root/temp/result", "/root/result", "", false );
  1586. model.removeNodeset("/root/temp");
  1587. } else {
  1588. //기록정보
  1589. model.setValue("/root/send/bsrecInfo", BSRecInfoHeader + BSRecInfoData);
  1590. //처방정보
  1591. model.setValue("/root/send/saveflaginfo", FlagInfoHeader+FlagInfoData);
  1592. model.setValue("/root/send/savergstinfo", RgstInfoHeader+RgstInfoData);
  1593. model.setValue("/root/send/saveprcpinfo", PrcpInfoHeader+PrcpInfoData);
  1594. //기록인증정보
  1595. model.setValue("/root/send/savesigninfo", SignInfoHeader+SignInfoData);
  1596. model.setValue("/root/send/savesignrecinfo", SignInfoHeader+SignInfoData2);
  1597. /*
  1598. model.makeValue("/root/send/recsigninfo/pid", pid);
  1599. model.makeValue("/root/send/recsigninfo/orddd", indd);
  1600. model.makeValue("/root/send/recsigninfo/signno", model.getValue("/root/main/bsrecinfo/bsreclist/signno"));
  1601. model.makeValue("/root/send/recsigninfo/cretno", cretno);
  1602. model.makeValue("/root/send/recsigninfo/recdd", getCurrentDate());
  1603. model.makeValue("/root/send/recsigninfo/rectm", getCurrentTime());
  1604. model.makeValue("/root/send/recsigninfo/recsaveflag", "Y");
  1605. model.makeValue("/root/send/recsigninfo/signflag", "02");
  1606. model.makeValue("/root/send/recsigninfo/signgenrflag", model.getValue("/root/main/cond/ordtype"));
  1607. model.makeValue("/root/send/recsigninfo/formcd", "0000002459");
  1608. model.makeValue("/root/send/recsigninfo/orddeptcd", orddeptcd);
  1609. model.makeValue("/root/send/recsigninfo/orddrid", orddrid);
  1610. model.makeValue("/root/send/recsigninfo/signbfcnts", Sign.signedInfos[1]);
  1611. model.makeValue("/root/send/recsigninfo/signaftcnts", Sign.signedInfos[2]);
  1612. */
  1613. if (submit("TXMNR02501", false)) {
  1614. //오류팝업
  1615. var prcpErrList = model.instances(0).selectNodes( "/root/temp/result/prcperrlist" );
  1616. if ( prcpErrList.length > 0 ) {
  1617. if ( !isNull(model.getValue ("/root/temp/result/prcperrlist/prcpcd"))){
  1618. var xpt = window.screenleft + 100;
  1619. var ypt = window.screenTop + 50;
  1620. var coord = getRelativeCoordinate ( xpt, ypt );
  1621. var mon = coord[0];
  1622. xpt = coord[1];
  1623. ypt = coord[2];
  1624. open ( "SPMMO00600", mon, xpt, ypt, "prcpdetl", "/root/temp/result", "/root/result", "", false );
  1625. model.removeNodeset("/root/temp/result/prcperrlist");
  1626. }
  1627. } else {
  1628. /*
  1629. fMakeViewData(); //기록 정보 view 생성
  1630. messageBox("기록이 저장되었습니다.", "I");
  1631. fGetBSRecList();
  1632. */
  1633. }
  1634. }
  1635. }
  1636. }
  1637. fMakeViewData(); //기록 정보 view 생성
  1638. messageBox("기록이 저장되었습니다.", "I");
  1639. model.toggle("case_rec"); //혈당기록조회 화면으로 변경
  1640. btn_carerec.dispatch("onclick");
  1641. //혈당기록&간호일지 조회
  1642. fGetBSNursingRecList();
  1643. //혈당기록리스트 조회
  1644. fGetBSRecList();
  1645. }
  1646. //기록삭제
  1647. function fDelBSRecInfo(){
  1648. //퇴원환자
  1649. if(model.getValue("/root/main/cond/indschacptstat") == "D" || model.getValue("/root/main/cond/indschacptstat") == "T"){
  1650. messageBox("퇴원한 환자입니다.", "I");
  1651. return;
  1652. }
  1653. var iRow = grd_bsreclist.row;
  1654. // if (grd_bsreclist.col == grd_bsreclist.colRef("rectm") || grd_bsreclist.col == grd_bsreclist.colRef("recrslt") || grd_bsreclist.col == grd_bsreclist.colRef("rem")){
  1655. // if(model.getValue("/root/main/bsrecinfo/bsreclist[" + iRow + "]/prcpissflag") == "true"
  1656. // || model.getValue("/root/main/bsrecinfo/bsreclist[" + iRow + "]/drugprcpissflag") == "true"){
  1657. // messageBox("처방 발행이후에는 기록을 삭제할 수 없습니다.", "I");
  1658. // return;
  1659. // }
  1660. // }
  1661. var prcpstatcd = grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("prcpstatcd"));
  1662. if(prcpstatcd == "730") {
  1663. messageBox("혈당결과 연동된 기록입니다. 진단검사의학과에 연락하여, 접수취소 후에 삭제하시기 바랍니다.", "E");
  1664. return;
  1665. }
  1666. var FlagInfoHeader = "savedataflag▦saveflag▦prcpflag▦inptflag▦pamflag▦diagflag▦prcperrflag▦deptcd▦deptnm▦userid▦usernm▦signyn▩";
  1667. var RgstInfoHeader = "pid▦orddd▦indd▦cretno▦orddeptcd▦orddrid▦instcd▩";
  1668. var PrcpInfoHeader = "status▦rowno▦prcpdd▦prcpno▦prcphistno▦instcd▦pid▦orddd▦cretno▦orddeptcd▦orddrid▦prcpgenrflag▦prcpstatcd▦prcpkindcd▦prcpcd▦calcscorcd▦inclprcpcd▦"
  1669. +"inclprcpno▦prcpexecdeptcd▦prcphopedd▦prcpvol▦prcpqty▦prcpqtyunitflag▦prcptims▦prcpdayno▦payflagcd▦erprcpflag▦precureprcpflag▦nigtprcpflag▦portprcpflag▦fixprcpflag▦"
  1670. +"choiordflag▦anamneflag▦prcpdirecflag▦angioflagcd▦opansflagcd▦ansttm▦offictourhealexamflag▦stemcellflag▦hosinhosoutflag▦hosinprcpresncd▦issdeptcd▦prcpauthflag▦"
  1671. +"prcpinptflag▦prcpsignflag▦oprsrvno▦clincstdyflag▦clincstdycd▦drugmthdspccd▦prcpdelivefact▦tootfact▦matrsetprcpspec▦calcflag▦rsrvflag▦rsrvdd▦rsrvtm▦rsrvrid▦execdd▦"
  1672. +"exectm▦execrid▦direcprcplnkdd▦direcprcplnkno▦ordreqlnkno▦testreqlnkno▦aftcertflag▦aftcertdrid▦tempcol21▦drprcpetc7▦drprcpetc8▦tempcol8▩"; //aftcertflag▦aftcertdrid▦추가(20081216,SMY)
  1673. var SignInfoHeader = "pid▦orddd▦signno▦cretno▦recdd▦rectm▦recsaveflag▦signflag▦signgenrflag▦formcd▦orddeptcd▦orddrid▦signbfcnts▦signaftcnts▦dispyn▩";
  1674. var FlagInfoData = "";
  1675. var RgstInfoData = "";
  1676. var PrcpInfoData = "";
  1677. var SignInfoData = "";
  1678. var SignInfoData2 = "";
  1679. var NursInfoData = "";
  1680. var pid = model.getValue("/root/main/cond/pid");
  1681. var indd = model.getValue("/root/main/cond/indd");
  1682. var cretno = model.getValue("/root/main/cond/cretno");
  1683. var instcd = model.getValue("/root/main/cond/instcd");
  1684. var ordfromdd = model.getValue("/root/main/cond/ordfromdd");
  1685. var orddd = model.getValue("/root/main/cond/orddd");
  1686. var ordtype = model.getValue("/root/main/cond/ordtype");
  1687. var orddeptcd = model.getValue("/root/main/cond/orddeptcd");
  1688. var orddrid = model.getValue("/root/main/cond/orddrid");
  1689. var deptcd = getUserInfo("dutplcecd");
  1690. var deptnm = getUserInfo("dutplcenm");
  1691. //후인증대상은 담당의 → 주치의 순
  1692. var aftcertdrid = "";
  1693. var medispclid = model.getValue("/root/main/cond/orddrid");
  1694. var atdoctid = model.getValue("/root/main/cond/chrgorddrid");
  1695. if(atdoctid == "" || atdoctid == "-" || orddeptcd == "2240200000" ){ //17.04.13_AYS_진료과가 구강악안면외과 이면 주치교수로 식이처방 발행
  1696. aftcertdrid = medispclid;
  1697. }else{
  1698. aftcertdrid = atdoctid;
  1699. }
  1700. if ( !isNull(model.getValue("/root/codeinfo/codeinfo/codelist[cdgrupid ='002' and cdid ='"+cmb_ward.value+"']/cdid")) ) {
  1701. deptcd = grd_wardpatlist.valueMatrix(grd_wardpatlist.row, grd_wardpatlist.colRef("grupcd"));
  1702. }
  1703. if(model.getValue("/root/main/bsrecinfo/bsreclist[" + iRow + "]/refflag") != "C"){
  1704. //기록저장유무
  1705. if(model.getValue("/root/main/bsrecinfo/bsreclist[" + iRow + "]/bfrectm") == ""){ //저장전
  1706. //장비연동여부
  1707. if(model.getValue("/root/main/bsrecinfo/bsreclist[" + iRow + "]/eqmtyn") == "Y"){
  1708. var rtn = messageBox("Interface된 기록을", "Q001");
  1709. if (rtn == "6"){
  1710. model.removenode("/root/send");
  1711. model.makeValue("/root/send/bsrecInfo/pid", model.getValue("/root/main/cond/pid"));
  1712. model.makeValue("/root/send/bsrecInfo/suretestdt", model.getValue("/root/main/bsrecinfo/bsreclist[" + iRow + "]/suretestdt"));
  1713. model.makeValue("/root/send/bsrecInfo/instcd", model.getValue("/root/main/cond/instcd"));
  1714. if(submit("TXMNR02503")){
  1715. messageBox("정보가 삭제되었습니다.", "I");
  1716. //혈당기록리스트 조회
  1717. //fGetBSRecList();
  1718. //혈당기록&간호일지 조회
  1719. fGetBSNursingRecList();
  1720. }
  1721. }
  1722. }else{
  1723. grd_bsreclist.deleteRow(iRow);
  1724. }
  1725. }else{
  1726. var rtn = messageBox("저장된 기록을", "Q001");
  1727. if (rtn == "6"){
  1728. //Sign.certreload = true ;
  1729. ViewFunc = "sign";
  1730. if (Sign.signprocess() == true){
  1731. model.removenode("/root/send");
  1732. model.makeValue("/root/send/bsrecInfo/pid", model.getValue("/root/main/cond/pid"));
  1733. model.makeValue("/root/send/bsrecInfo/indd", model.getValue("/root/main/cond/indd"));
  1734. model.makeValue("/root/send/bsrecInfo/cretno", model.getValue("/root/main/cond/cretno"));
  1735. model.makeValue("/root/send/bsrecInfo/instcd", model.getValue("/root/main/cond/instcd"));
  1736. model.makeValue("/root/send/bsrecInfo/recdd", model.getValue("/root/main/bsrecinfo/bsreclist[" + iRow + "]/recdd"));
  1737. model.makeValue("/root/send/bsrecInfo/bfrectm", model.getValue("/root/main/bsrecinfo/bsreclist[" + iRow + "]/bfrectm"));
  1738. model.makeValue("/root/send/bsrecInfo/signno", model.getValue("/root/main/bsrecinfo/bsreclist[" + iRow + "]/signno"));
  1739. model.makeValue("/root/send/bsrecInfo/drugprcpyn", model.getValue("/root/main/bsrecinfo/bsreclist[" + iRow + "]/drugprcpyn"));
  1740. model.makeValue("/root/send/bsrecInfo/prcpyn", model.getValue("/root/main/bsrecinfo/bsreclist[" + iRow + "]/prcpyn"));
  1741. var drugprcpyn = grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("drugprcpyn"));
  1742. var prcpclscd = grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("prcpclscd"));
  1743. var prcpyn = grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("prcpyn"));
  1744. var prcpissflag = grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("prcpissflag"));
  1745. var recdd = grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("recdd"));
  1746. var rectm = grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("rectm"));
  1747. var prcpdd = grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("prcpdd"));
  1748. var prcpno = grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("prcpno"));
  1749. var prcphistno = grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("prcphistno"));
  1750. var prcpdd2 = grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("prcpdd2"));
  1751. var prcpno2 = grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("prcpno2"));
  1752. var prcphistno2 = grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("prcphistno2"));
  1753. var recrslt = grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("recrslt"));
  1754. var drugprcpissflag = grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("drugprcpissflag"));
  1755. var prcpcd = grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("prcpcd"));
  1756. var prcpvol = grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("prcpvol"));
  1757. var prcpqty = grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("prcpqty"));
  1758. if(prcpyn == "true" || drugprcpyn == "true" || (prcpno != "" && prcpno != "0" && prcpno != null) || (prcpno2 != "" && prcpno2 != "0" && prcpno2 != null) ) {
  1759. FlagInfoData = '2' +"▦" //저장자료구분 (2:처방)
  1760. + ordtype +"▦" //저장구분 (O:외래, I:입원, E:응급, S:건진)
  1761. + '1' +"▦" //처방구분(M0035 처방권한에 대한 구분종류)
  1762. + '09' +"▦" //입력구분(M0034 처방입력에 대한 구분종류) //간호처방 : 확인필요 --> prcpauthflag = 2 이고 prcpinptflag = 09일 경우 간호처방 조회됨
  1763. + 'Y' +"▦" //원무정보 처리구분 (Y/N)
  1764. + 'N' +"▦" //진단정보 처리구분 (Y/N)
  1765. + 'Y' +"▦" //처방오류구분(Y/N) -> Y일 경우 의사처방과 동일하게 오류리스트를 반환, N이면 오류를 확인하지 않음
  1766. + deptcd +"▦" //부서코드 (입력자 또는 로그인한 사용자의 부서코드)
  1767. + deptnm +"▦" //부서명 (입력자 또는 로그인한 사용자의 부서명)
  1768. + getUserId() +"▦" //사용자ID (입력자 또는 로그인한 사용자ID)
  1769. + getUserName() +"▦" //사용자명 (입력자 또는 로그인한 사용자명)
  1770. + 'N' +"▩"; //전자서명여부 (Y/N)
  1771. //***** 저장등록정보(saveRgstInfoVO)
  1772. RgstInfoData = pid +"▦"
  1773. + "-" +"▦"
  1774. + indd +"▦"
  1775. + cretno +"▦"
  1776. + orddeptcd +"▦"
  1777. + orddrid +"▦"
  1778. + instcd +"▩";
  1779. }
  1780. for (k = 1; k <= getNodesetCount("/root/init/issprcpinfo/prcpinfo"); k++) {
  1781. if( (prcpyn == "true" && prcpissflag != "true" && prcpclscd == "B2") || (prcpno != "" && prcpno != "0" && prcpno != null) ) {
  1782. PrcpInfoData += "C" +"▦" //신규(I), DC(C)
  1783. + k +"▦" //줄번호 (병리 요구)
  1784. + prcpdd +"▦" //처방일자(외래/종건은 orddd와 동일, 입원은 처방일자)
  1785. + prcpno +"▦" //처방번호 (status가 'I'일 경우 0)
  1786. + prcphistno +"▦" //처방이력번호 (status가 'I'일 경우 0)
  1787. + instcd +"▦" //기관코드
  1788. + pid +"▦" //등록번호(원무Key)
  1789. + indd +"▦" //진료일자(원무Key) - 입원환자일 경우 indd
  1790. + cretno +"▦" //생성번호(원무Key)
  1791. + orddeptcd +"▦" //진료과(원무)
  1792. + orddrid +"▦" //진료의ID(원무)
  1793. + ordtype +"▦" //처방발생구분(원무) - O:외래, I:입원, E:응급, S:건진
  1794. + '000' +"▦" //처방상태 : '000'
  1795. + '20' +"▦" //처방종류 : '20'
  1796. + model.getValue("/root/init/issprcpinfo/prcpinfo[" + k + "]/prcpcd") +"▦" //처방코드
  1797. + model.getValue("/root/init/issprcpinfo/prcpinfo[" + k + "]/calcscorcd") +"▦" //수가코드
  1798. +"-" +"▦" //종속처방코드 ('-') => default : '-'
  1799. + 0 +"▦" //종속처방번호 (일련번호 - 종속처방코드별로 생성) => default : 0
  1800. + deptcd +"▦" //처방실시부서코드 (수가의 접수부서를 넣어 주거나, 접수하는 부서코드, 없을 경우 '-'로 처리)
  1801. + getCurrentDate() +"▦" //처방희망일자 (처방일자 이전으로 발생불가)
  1802. + '1' +"▦" //처방용량 (1) (약품일 경우 반드시 포장단위 수량을 넣어 주어야 됨) => default : 1
  1803. + '1' +"▦" //처방수량 (1) (약품일 경우 반드시 포장단위 수량을 넣어 주어야 됨) => default : 1
  1804. + '-' +"▦" //처방수량단위 (약품일 경우 '3', 그렇지 않을경우 '-') => default : '-'
  1805. + 1 +"▦" //처방횟수 (1) (입원일 경우 횟수에 따라 풀림) => default : 1
  1806. + 1 +"▦" //처방일수 (1) (지원부서에서는 주사처방에 대하여 일수를 넣으면 안됨, 넣으면 자료가 문제가 생김) => default : 1
  1807. + '-' +"▦" //급여구분코드 (M0029 참조) -> '-'로 넣으주면 환자의 보험유형에 따라 자동 발생
  1808. + "N" +"▦" //응급처방구분 (Y/N) ==> default : 'N'
  1809. + "N" +"▦" //선처치처방구분 (Y/N) ==> default : 'N'
  1810. + "N" +"▦" //야간처방구분 (Y/N) : 야간가산에 해당 될 경우 ==> default : 'N'
  1811. + "N" +"▦" //포터블처방구분 (Y/N) ==> default : 'N'
  1812. + "N" +"▦" //정액처방구분 (Y/N) ==> default : 'N'
  1813. + "N" +"▦" //선택처방구분 (Y/N) -> 만약 '-'일 경우 원무정보 기준으로 처리 ==> default : 'N'
  1814. + "N" +"▦" //기왕력(증)구분 (Y/N) ==> default : 'N'
  1815. + "-" +"▦" //처방방향구분 (코드정의서 M0041 참조), 재활은 위치구분으로 사용 : '-' => default : '-'
  1816. + "-" +"▦" //Angio구분 (코드정의서 M0006 참조) : '-' => default : '-'
  1817. + "-" +"▦" //수술마취구분 (코드정의서 M0007, M0008 참조) : '-' => default : '-'
  1818. + "0000" +"▦" //마취처방에 대한 마취적용시간 - 분을 4자리로 표현, 연속검사 검사간격 => default : '0000'
  1819. + "N" +"▦" //출장검진구분 (Y/N) => default : 'N'
  1820. + "00NNN" +"▦" //'00NNN' 건진청구구분, 조혈모(줄기)세포 구분 - Stem Cell Source 여부 ,Cryo여부, CD34 채집여부, 해동여부의 조합으로 구성 => default : '00NNN'
  1821. + "-" +"▦" //원내외구분(건진은 'I', 약이 아닐경우 '-') => default : '-'
  1822. + "00" +"▦" //원내처방사유 (건진에 해당하는 사유 - 정의, 약이 아닐경우 '00') => default : '00'
  1823. + deptcd +"▦" //발행부서코드 (집계가 타부서일 경우 타과코드, 입원은 기본이 병동) -> '-' 로 처리하면 자동 처리(기본은 처방입력부서이나 입원은 해당 병동으로 처리) => default : '-'
  1824. + "1" +"▦" //처방권한구분(0:의사처방화면, 1:의사및간호사공유처방, 2:순수간호처방, 3:지원부서의사처방, 4:기타처방 - 기타 지원부서 추가, 5:계산용원무처방, 6:건진처방 ==> 0,1만 의사처방화면에 보임, 단 3은 추후에 결정)
  1825. + "09" +"▦" //처방입력구분(저장구분정보의 inptflag와 동일하게 처리)
  1826. //+ "0" +"▦" //처방서명구분(0:인증안됨, 1:의사가 후인증, 2:인증완료) => default : '2'
  1827. + "1" +"▦" //처방서명구분(0:인증안됨, 1:의사가 후인증, 2:인증완료) => default : '2'
  1828. + "-" +"▦" //수술예약번호(0) => default : '-'
  1829. + "N" +"▦" //임상연구구분 (Y/N)
  1830. + "-" +"▦" //임상연구코드 ('-') -> 임상연구구분이 'Y'일 경우 임상연구코드를 등록 => default : '-'
  1831. + model.getValue("/root/init/issprcpinfo/prcpinfo[" + k + "]/drugmthdspccd") +"▦" //투여방법및검체코드(약일 경우 복용방법, 진검 및 병리일 경우 검체코드, Default '-') => default : '-'
  1832. + "-" +"▦" //처방전달사항
  1833. + "-" +"▦" //치식 (병리만 사용, 나머지는 '-') => default : '-'
  1834. + "-" +"▦" //재료처방내용 ('-') -> 추후정의
  1835. + "N" +"▦" //계산구분 (Y/N)
  1836. + "N" +"▦" //예약구분 (Y/N)
  1837. + "00000000" +"▦" //예약일자 ('N'일 경우 '00000000')
  1838. + "000000" +"▦" //예약시간 ('N'일 경우 '000000')
  1839. + "-" +"▦" //예약자ID ('-')
  1840. + recdd +"▦" //실시일자 ('00000000')
  1841. + rectm + "01" +"▦" //실시시간 ('000000')
  1842. + getUserId() +"▦" //실시자ID ('-')
  1843. + '00000000' +"▦" //지시처방연계일자 (00000000) -> 지원부서에서 사용 - 원지시처방의 처방일자
  1844. + '0' +"▦" //지시처방연계번호 (0) -> 지원부서에서 사용 - 원지시처방의 실시처방유일번호
  1845. + '0' +"▦" //진료의뢰연계번호 (0)
  1846. + '0' +"▦" //검사의뢰연계번호 (0) -> 병리와 진단검사 사용
  1847. + "11" +"▦" // 후인증구분(M0483)
  1848. + aftcertdrid +"▦" // 후인증의사ID
  1849. + recrslt +"▦" // 후인증의사ID
  1850. + '1' + "▦" // 후인증의사ID
  1851. + '1' + "▦" //tempcol21 : 현장검사 입력시 결과값 필요
  1852. + "Y" + "▩" ; //tempcol8 : 반환여부
  1853. k++;
  1854. }
  1855. if ( (drugprcpyn == "true" && drugprcpissflag != "true" && prcpclscd=="A6") || (prcpno2 != "" && prcpno2 != "0" && prcpno2 != null) ) {
  1856. PrcpInfoData += "C" +"▦" //신규(I), DC(C)
  1857. + k +"▦" //줄번호 (병리 요구)
  1858. + prcpdd2 +"▦" //처방일자(외래/종건은 orddd와 동일, 입원은 처방일자)
  1859. + prcpno2 +"▦" //처방번호 (status가 'I'일 경우 0)
  1860. + prcphistno2 +"▦" //처방이력번호 (status가 'I'일 경우 0)
  1861. + instcd +"▦" //기관코드
  1862. + pid +"▦" //등록번호(원무Key)
  1863. + indd +"▦" //진료일자(원무Key) - 입원환자일 경우 indd
  1864. + cretno +"▦" //생성번호(원무Key)
  1865. + orddeptcd +"▦" //진료과(원무)
  1866. + orddrid +"▦" //진료의ID(원무)
  1867. + ordtype +"▦" //처방발생구분(원무) - O:외래, I:입원, E:응급, S:건진
  1868. + '000' +"▦" //처방상태 : '000'
  1869. + '20' +"▦" //처방종류 : '20'
  1870. + prcpcd +"▦" //처방코드
  1871. + prcpcd +"▦" //수가코드
  1872. +"-" +"▦" //종속처방코드 ('-') => default : '-'
  1873. + 0 +"▦" //종속처방번호 (일련번호 - 종속처방코드별로 생성) => default : 0
  1874. + deptcd +"▦" //처방실시부서코드 (수가의 접수부서를 넣어 주거나, 접수하는 부서코드, 없을 경우 '-'로 처리)
  1875. + getCurrentDate() +"▦" //처방희망일자 (처방일자 이전으로 발생불가)
  1876. + prcpvol +"▦" //처방수량 (1) (약품일 경우 반드시 포장단위 수량을 넣어 주어야 됨) => default : 1
  1877. + prcpqty +"▦" //처방수량 (1) (약품일 경우 반드시 포장단위 수량을 넣어 주어야 됨) => default : 1
  1878. + '3' +"▦" //처방수량단위 (약품일 경우 '3', 그렇지 않을경우 '-') => default : '-'
  1879. + 1 +"▦" //처방횟수 (1) (입원일 경우 횟수에 따라 풀림) => default : 1
  1880. + 1 +"▦" //처방일수 (1) (지원부서에서는 주사처방에 대하여 일수를 넣으면 안됨, 넣으면 자료가 문제가 생김) => default : 1
  1881. + '-' +"▦" //급여구분코드 (M0029 참조) -> '-'로 넣으주면 환자의 보험유형에 따라 자동 발생
  1882. + "N" +"▦" //응급처방구분 (Y/N) ==> default : 'N'
  1883. + "N" +"▦" //선처치처방구분 (Y/N) ==> default : 'N'
  1884. + "N" +"▦" //야간처방구분 (Y/N) : 야간가산에 해당 될 경우 ==> default : 'N'
  1885. + "N" +"▦" //포터블처방구분 (Y/N) ==> default : 'N'
  1886. + "N" +"▦" //정액처방구분 (Y/N) ==> default : 'N'
  1887. + "N" +"▦" //선택처방구분 (Y/N) -> 만약 '-'일 경우 원무정보 기준으로 처리 ==> default : 'N'
  1888. + "N" +"▦" //기왕력(증)구분 (Y/N) ==> default : 'N'
  1889. + "-" +"▦" //처방방향구분 (코드정의서 M0041 참조), 재활은 위치구분으로 사용 : '-' => default : '-'
  1890. + "-" +"▦" //Angio구분 (코드정의서 M0006 참조) : '-' => default : '-'
  1891. + "-" +"▦" //수술마취구분 (코드정의서 M0007, M0008 참조) : '-' => default : '-'
  1892. + "0000" +"▦" //마취처방에 대한 마취적용시간 - 분을 4자리로 표현, 연속검사 검사간격 => default : '0000'
  1893. + "N" +"▦" //출장검진구분 (Y/N) => default : 'N'
  1894. + "00NNN" +"▦" //'00NNN' 건진청구구분, 조혈모(줄기)세포 구분 - Stem Cell Source 여부 ,Cryo여부, CD34 채집여부, 해동여부의 조합으로 구성 => default : '00NNN'
  1895. + "-" +"▦" //원내외구분(건진은 'I', 약이 아닐경우 '-') => default : '-'
  1896. + "00" +"▦" //원내처방사유 (건진에 해당하는 사유 - 정의, 약이 아닐경우 '00') => default : '00'
  1897. + deptcd +"▦" //발행부서코드 (집계가 타부서일 경우 타과코드, 입원은 기본이 병동) -> '-' 로 처리하면 자동 처리(기본은 처방입력부서이나 입원은 해당 병동으로 처리) => default : '-'
  1898. + "1" +"▦" //처방권한구분(0:의사처방화면, 1:의사및간호사공유처방, 2:순수간호처방, 3:지원부서의사처방, 4:기타처방 - 기타 지원부서 추가, 5:계산용원무처방, 6:건진처방 ==> 0,1만 의사처방화면에 보임, 단 3은 추후에 결정)
  1899. + "09" +"▦" //처방입력구분(저장구분정보의 inptflag와 동일하게 처리)
  1900. //+ "0" +"▦" //처방서명구분(0:인증안됨, 1:의사가 후인증, 2:인증완료) => default : '2'
  1901. + "1" +"▦" //처방서명구분(0:인증안됨, 1:의사가 후인증, 2:인증완료) => default : '2'
  1902. + "-" +"▦" //수술예약번호(0) => default : '-'
  1903. + "N" +"▦" //임상연구구분 (Y/N)
  1904. + "-" +"▦" //임상연구코드 ('-') -> 임상연구구분이 'Y'일 경우 임상연구코드를 등록 => default : '-'
  1905. + model.getValue("/root/init/issprcpinfo/prcpinfo[" + k + "]/drugmthdspccd") +"▦" //투여방법및검체코드(약일 경우 복용방법, 진검 및 병리일 경우 검체코드, Default '-') => default : '-'
  1906. + "-" +"▦" //처방전달사항
  1907. + "-" +"▦" //치식 (병리만 사용, 나머지는 '-') => default : '-'
  1908. + "-" +"▦" //재료처방내용 ('-') -> 추후정의
  1909. + "N" +"▦" //계산구분 (Y/N)
  1910. + "N" +"▦" //예약구분 (Y/N)
  1911. + "00000000" +"▦" //예약일자 ('N'일 경우 '00000000')
  1912. + "000000" +"▦" //예약시간 ('N'일 경우 '000000')
  1913. + "-" +"▦" //예약자ID ('-')
  1914. + recdd +"▦" //실시일자 ('00000000')
  1915. + rectm + "01" +"▦" //실시시간 ('000000')
  1916. + getUserId() +"▦" //실시자ID ('-')
  1917. + '00000000' +"▦" //지시처방연계일자 (00000000) -> 지원부서에서 사용 - 원지시처방의 처방일자
  1918. + '0' +"▦" //지시처방연계번호 (0) -> 지원부서에서 사용 - 원지시처방의 실시처방유일번호
  1919. + '0' +"▦" //진료의뢰연계번호 (0)
  1920. + '0' +"▦" //검사의뢰연계번호 (0) -> 병리와 진단검사 사용
  1921. + "11" +"▦" // 후인증구분(M0483)
  1922. + aftcertdrid +"▦" // 후인증의사ID
  1923. + recrslt +"▦" // 후인증의사ID
  1924. + prcpvol +"▦" // 후인증의사ID
  1925. + prcpqty + "▦" //tempcol21 : 현장검사 입력시 결과값 필요
  1926. + "Y" + "▩" ; //tempcol8 : 반환여부
  1927. }
  1928. }
  1929. //처방정보
  1930. model.makeValue("/root/send/saveflaginfo", FlagInfoHeader+FlagInfoData);
  1931. model.makeValue("/root/send/savergstinfo", RgstInfoHeader+RgstInfoData);
  1932. model.makeValue("/root/send/saveprcpinfo", PrcpInfoHeader+PrcpInfoData);
  1933. if(submit("TXMNR02502")){
  1934. fMakeViewData(); //기록 정보 view 생성
  1935. messageBox("기록이 삭제되었습니다.", "I");
  1936. //혈당기록리스트 조회
  1937. //fGetBSRecList();
  1938. //혈당기록&간호일지 조회
  1939. fGetBSNursingRecList();
  1940. }
  1941. }
  1942. }
  1943. }
  1944. }
  1945. }
  1946. //환자리스트 클릭시
  1947. function fGetSelectdPatRecInfo(RefFlag)
  1948. {
  1949. model.removeNodeset("/root/main_om/ominfo/prcpddinfo");
  1950. model.removeNodeset("/root/main_om/ominfo/prcpinfo");
  1951. model.removeNodeset("/root/main/prcp/prcplist");
  1952. //현재 조회된 환자와 다른 환자를 환자리스트 그리드에서 클릭시 재원이력 재조회
  1953. if( RefFlag != "init" && model.getValue("/root/main/wardpatinfo/wardpatlist[" + grd_wardpatlist.row + "]/pid") != model.getValue("/root/main/cond/pid")){ ////////////////20081230추가
  1954. fGetInHistInfo("", model.getValue("/root/main/wardpatinfo/wardpatlist[" + grd_wardpatlist.row + "]/pid"));
  1955. if(model.getValue("/root/main/cond/patinhistcd") == ""){
  1956. model.setValue("/root/main/cond/patinhistcd", model.getValue("/root/main/patinfo/patinhistinfo/rownum"));
  1957. }
  1958. }
  1959. //의사기록 조회시, 퇴원환자일 경우에는 상단정보 올리지 않음
  1960. if(model.getValue("/root/main/cond/userflag") == "1" && model.getValue("/root/main/patinfo/patinhistinfo[rownum = '" + cmb_inhistlist.value +"']/dschdd") == "99991231"){
  1961. //상단정보세팅
  1962. //응급실 환자
  1963. if (model.getValue("/root/main/wardpatinfo/wardpatlist["+grd_wardpatlist.row+"]/ordtype") == "E") {
  1964. var condparam = "E"+ "▦" + model.getValue("/root/main/wardpatinfo/wardpatlist["+grd_wardpatlist.row+"]/pid")
  1965. + "▦" + model.getValue("/root/main/wardpatinfo/wardpatlist["+grd_wardpatlist.row+"]/indd")
  1966. + "▦" + model.getValue("/root/main/wardpatinfo/wardpatlist["+grd_wardpatlist.row+"]/cretno")
  1967. + "▦" + model.getValue("/root/main/wardpatinfo/wardpatlist["+grd_wardpatlist.row+"]/instcd")
  1968. + "▦" ;
  1969. setParameter("condparam", condparam);
  1970. modal("SPMMO08900", 1, "", "", "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
  1971. //입원 환자
  1972. }else{
  1973. /*
  1974. if(model.getValue("/root/main/patinfo/patinhistinfo[rownum = '" + cmb_inhistlist.value +"']/dschdd") != "99991231"){
  1975. var condparam = "I"+ "▦" + model.getValue("/root/main/patinfo/patinhistinfo[rownum = '" + cmb_inhistlist.value +"']/pid")
  1976. + "▦" + model.getValue("/root/main/patinfo/patinhistinfo[rownum = '" + cmb_inhistlist.value +"']/indd")
  1977. + "▦" + model.getValue("/root/main/patinfo/patinhistinfo[rownum = '" + cmb_inhistlist.value +"']/cretno")
  1978. + "▦" + model.getValue("/root/main/patinfo/patinhistinfo[rownum = '" + cmb_inhistlist.value +"']/instcd")
  1979. + "▦" + model.getValue("/root/main/patinfo/patinhistinfo[rownum = '" + cmb_inhistlist.value +"']/dschdd");
  1980. setParameter("condparam", condparam);
  1981. modal("SPMMO08900", 1, "", "", "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
  1982. }else{
  1983. */
  1984. var condparam = "I"+ "▦" + model.getValue("/root/main/wardpatinfo/wardpatlist["+grd_wardpatlist.row+"]/pid")
  1985. + "▦" + model.getValue("/root/main/wardpatinfo/wardpatlist["+grd_wardpatlist.row+"]/indd")
  1986. + "▦" + model.getValue("/root/main/wardpatinfo/wardpatlist["+grd_wardpatlist.row+"]/cretno")
  1987. + "▦" + model.getValue("/root/main/wardpatinfo/wardpatlist["+grd_wardpatlist.row+"]/instcd")
  1988. + "▦" + model.getValue("/root/main/cond/orddd");
  1989. setParameter("condparam", condparam);
  1990. modal("SPMMO08900", 1, "", "", "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
  1991. //}
  1992. }
  1993. var useyn = getParameter("SPMMO08900_rtn_useyn");
  1994. if(useyn == 'N') { return; }
  1995. }
  1996. model.setValue("/root/main/cond/pid", model.getValue("/root/main/wardpatinfo/wardpatlist["+grd_wardpatlist.row+"]/pid"));
  1997. model.setValue("/root/main/cond/indd", model.getValue("/root/main/wardpatinfo/wardpatlist["+grd_wardpatlist.row+"]/indd"));
  1998. model.setValue("/root/main/cond/cretno", model.getValue("/root/main/wardpatinfo/wardpatlist["+grd_wardpatlist.row+"]/cretno"));
  1999. model.setValue("/root/main/cond/instcd", model.getValue("/root/main/wardpatinfo/wardpatlist["+grd_wardpatlist.row+"]/instcd"));
  2000. model.setValue("/root/main/cond/ordtype", model.getValue("/root/main/wardpatinfo/wardpatlist["+grd_wardpatlist.row+"]/ordtype"));
  2001. model.setValue("/root/main/cond/orddeptcd", model.getValue("/root/main/wardpatinfo/wardpatlist["+grd_wardpatlist.row+"]/orddeptcd"));
  2002. model.setValue("/root/main/cond/orddrid", model.getValue("/root/main/wardpatinfo/wardpatlist["+grd_wardpatlist.row+"]/orddrid"));
  2003. model.setValue("/root/main/cond/chrgorddrid", model.getValue("/root/main/wardpatinfo/wardpatlist["+grd_wardpatlist.row+"]/chrgorddrid"));
  2004. model.setValue("/root/main/cond/roomcd", model.getValue("/root/main/wardpatinfo/wardpatlist["+grd_wardpatlist.row+"]/roomcd"));
  2005. model.setValue("/root/main/cond/sexage", model.getValue("/root/main/wardpatinfo/wardpatlist["+grd_wardpatlist.row+"]/sexage"));
  2006. model.setValue("/root/main/cond/patnm", model.getValue("/root/main/wardpatinfo/wardpatlist["+grd_wardpatlist.row+"]/patnm"));
  2007. model.setValue("/root/main/cond/indschacptstat", model.getValue("/root/main/wardpatinfo/wardpatlist["+grd_wardpatlist.row+"]/indschacptstat"));
  2008. if ( !isNull( model.getValue("/root/main/wardpatinfo/wardpatlist["+grd_wardpatlist.row+"]/testref") )
  2009. && model.getValue("/root/main/wardpatinfo/wardpatlist["+grd_wardpatlist.row+"]/testref") != "-") {
  2010. cap_testref.attribute("text") ="참고치 : " + model.getValue("/root/main/wardpatinfo/wardpatlist["+grd_wardpatlist.row+"]/testref");
  2011. }
  2012. //혈당기록리스트 조회
  2013. //fGetBSRecList();
  2014. //간호일지 조회
  2015. //fGetNursingrRcordInfo();
  2016. //혈당기록&간호일지 조회
  2017. fGetBSNursingRecList();
  2018. //처방적용일 조회
  2019. fGetPrcpddInfo();
  2020. //지시처방 전처방 조회
  2021. fGetBfPrcpInfo();
  2022. }
  2023. function fInitChart(){
  2024. var Obj_Chart;
  2025. Obj_Chart = obj_bsrgraph;
  2026. Obj_Chart.Header.Visible = false;
  2027. Obj_Chart.Aspect.View3D = 0; // 2d 로 표현하기
  2028. Obj_Chart.Zoom.Enable = false; // zoom 사용하지 않기
  2029. Obj_Chart.Scroll.Enable = 2;
  2030. Obj_Chart.Environment.MouseWheelScroll = false;
  2031. Obj_Chart.Legend.Visible = false; // 그래프 참조 박스 띄우지 않기
  2032. Obj_Chart.Panel.Gradient.Visible = true; // 페널에 그라디언트 적용
  2033. Obj_Chart.Panel.Gradient.StartColor = 0xffffff;
  2034. Obj_Chart.Panel.Gradient.EndColor=0xffffff;
  2035. Obj_Chart.RemoveAllSeries();
  2036. Obj_Chart.Axis.RemoveAllCustom();
  2037. //margin 값 정하기
  2038. Obj_Chart.Panel.MarginTop = 5;
  2039. Obj_Chart.Panel.MarginLeft = -10;
  2040. Obj_Chart.Panel.MarginRight = 0;
  2041. Obj_Chart.Panel.MarginBottom = 0;
  2042. //하단축 칸 수 정하기와 눈금 없애기
  2043. Obj_Chart.Axis.Left.SetMinMax (20, 0); //하루 동안 좌표를 표현
  2044. Obj_Chart.Axis.Left.Increment = 1;
  2045. Obj_Chart.Axis.Left.MinorTickCount = 0;
  2046. Obj_Chart.Axis.Left.MinorTicks.Visible = true;
  2047. Obj_Chart.Axis.Left.GridPen.Color = 0xCCCCCC;
  2048. Obj_Chart.Axis.Left.Inverted = true;
  2049. Obj_Chart.Axis.Left.Labels.Font.Size = 1
  2050. Obj_Chart.Axis.Left.Labels.Size = 1;
  2051. Obj_Chart.Axis.Left.PositionPercent = -20;
  2052. var cus_axis = Obj_Chart.Axis.AddCustom(true);
  2053. Obj_Chart.Axis.Custom(0).AxisPen.Color = 0xFFBC8E;
  2054. Obj_Chart.Axis.Custom(0).PositionPercent = 0;
  2055. Obj_Chart.Axis.Custom(0).Automatic = false;
  2056. Obj_Chart.Axis.Custom(0).Maximum = 530;
  2057. Obj_Chart.Axis.Custom(0).Minimum = -9;
  2058. Obj_Chart.Axis.Custom(0).Increment = 100;
  2059. Obj_Chart.Axis.Custom(0).MinorTickCount = 4;
  2060. Obj_Chart.Axis.Custom(0).Otherside = true;
  2061. Obj_Chart.Axis.Custom(0).MinorGrid.Style = 2;
  2062. Obj_Chart.Axis.Custom(0).MinorGrid.Visible = true;
  2063. Obj_Chart.Axis.Custom(0).MinorGrid.Color = 0xCCCCCC;
  2064. Obj_Chart.Axis.Custom(0).Labels.Size = -50;
  2065. Obj_Chart.AddSeries(37); //asHorizLine
  2066. Obj_Chart.AddSeries(0); //asLine
  2067. Obj_Chart.AddSeries(0); //asLine
  2068. Obj_Chart.AddSeries(0); //asLine
  2069. Obj_Chart.Series(0).HorizontalAxisCustom = cus_axis;
  2070. Obj_Chart.Series(1).HorizontalAxisCustom = cus_axis;
  2071. Obj_Chart.Series(2).HorizontalAxisCustom = cus_axis;
  2072. Obj_Chart.Series(3).HorizontalAxisCustom = cus_axis;
  2073. Obj_Chart.Series(1).asLine.LinePen.Width = 1;
  2074. Obj_Chart.Series(2).asLine.LinePen.Width = 1;
  2075. Obj_Chart.Series(3).asLine.LinePen.Width = 1;
  2076. Obj_Chart.Series(0).Color = 0xBE5B42; //혈당내역그래프
  2077. Obj_Chart.Series(1).Color = 0x000000; //black 200선
  2078. Obj_Chart.Series(2).Color = 0x000000; //black 400선
  2079. Obj_Chart.Series(3).Color = 0x000000; //black 500선
  2080. //Depth 정하기
  2081. Obj_Chart.Series(0).Depth = 1;
  2082. Obj_Chart.Series(1).Depth = 2;
  2083. Obj_Chart.Series(2).Depth = 2;
  2084. Obj_Chart.Series(3).Depth = 2;
  2085. Obj_Chart.Series(1).AddXY (200, 0, "", Obj_Chart.Series(1).Color );
  2086. Obj_Chart.Series(1).AddXY (200, 500, "", Obj_Chart.Series(1).Color );
  2087. Obj_Chart.Series(2).AddXY (400, 0, "", Obj_Chart.Series(2).Color );
  2088. Obj_Chart.Series(2).AddXY (400, 500, "", Obj_Chart.Series(2).Color );
  2089. Obj_Chart.Series(3).AddXY (500, 0, "", Obj_Chart.Series(3).Color );
  2090. Obj_Chart.Series(3).AddXY (500, 500, "", Obj_Chart.Series(3).Color );
  2091. Obj_Chart.Series(0).asHorizLine.LinePen.Width = 2;
  2092. Obj_Chart.Series(0).asHorizLine.Pointer.Visible = true;
  2093. Obj_Chart.Series(0).asHorizLine.Pointer.Brush.Color = 0x6698FF;
  2094. Obj_Chart.Series(0).asHorizLine.Pointer.Style = 0;
  2095. Obj_Chart.Series(0).asHorizLine.Pointer.VerticalSize = 3;
  2096. Obj_Chart.Series(0).asHorizLine.Pointer.HorizontalSize = 3;
  2097. }
  2098. //뷰용 그래프로 조회_20090113
  2099. function fMakeChart()
  2100. {
  2101. var Obj_Chart;
  2102. Obj_Chart = obj_bsrgraph;
  2103. Obj_Chart.Series(0).Clear(); //혈당라인 초기화
  2104. Obj_Chart.Axis.Left.SetMinMax (20, 0); //수직좌표 초기화
  2105. Obj_Chart.Series(0).Marks.Visible = true; //데이터레이블
  2106. grd_bsreclist.topRow = 0; //그리드 스크롤 초기화
  2107. model.setValue("/root/init/scrollinfo/scrollvalue", "0"); //스크롤 기본좌표 초기화
  2108. for(var i = 1; i <= getNodesetCount("/root/viewinfo/bsviewinfo/bsreclist"); i++ ) {
  2109. var rectm = grd_bsreclist_view.labelMatrix(i, grd_bsreclist_view.colRef("rectm"));
  2110. var recrslt = model.getValue("/root/viewinfo/bsviewinfo/bsreclist["+ i +"]/recrslt");
  2111. var refflag = model.getValue("/root/viewinfo/bsviewinfo/bsreclist["+ i +"]/refflag"); //A:혈당기록, B:인터페이스장비, C:간호기록
  2112. if(refflag != "C"){
  2113. if(recrslt == "high" || recrslt == "HIGH" || recrslt == "High" || recrslt == ">500"){
  2114. recrslt = "530";
  2115. Obj_Chart.Series(0).AddXY (recrslt, i, "HIGH", Obj_Chart.Series(0).Color );
  2116. }else if(recrslt == "low" || recrslt == "LOW" || recrslt == "Low"){
  2117. recrslt = "-5";
  2118. Obj_Chart.Series(0).AddXY (recrslt, i, "LOW", Obj_Chart.Series(0).Color );
  2119. }else{
  2120. if (!isNaN(recrslt)) {
  2121. //Obj_Chart.Series(0).AddXY (recrslt, i, rectm + " " + recrslt, Obj_Chart.Series(0).Color );
  2122. Obj_Chart.Series(0).AddXY (recrslt, i, recrslt, Obj_Chart.Series(0).Color );
  2123. }
  2124. }
  2125. }
  2126. /**원본_20090109 그리드 통합이전
  2127. if(recrslt == "high" || recrslt == "HIGH" || recrslt == "High" || recrslt == ">500"){
  2128. recrslt = "530";
  2129. Obj_Chart.Series(0).AddXY (recrslt, i, "HIGH", Obj_Chart.Series(0).Color );
  2130. }else if(recrslt == "low" || recrslt == "LOW" || recrslt == "Low"){
  2131. recrslt = "-5";
  2132. Obj_Chart.Series(0).AddXY (recrslt, i, "LOW", Obj_Chart.Series(0).Color );
  2133. }else{
  2134. if (!isNaN(recrslt)) {
  2135. Obj_Chart.Series(0).AddXY (recrslt, i, recrslt, Obj_Chart.Series(0).Color );
  2136. }
  2137. }
  2138. */
  2139. }
  2140. }
  2141. //뷰용 그래프로 조회이전 원본_20090113
  2142. function fMakeChart_init()
  2143. //function fMakeChart()
  2144. {
  2145. var Obj_Chart;
  2146. Obj_Chart = obj_bsrgraph; //20090113 뷰용 그래프로 조회
  2147. Obj_Chart.Series(0).Clear(); //혈당라인 초기화
  2148. Obj_Chart.Axis.Left.SetMinMax (20, 0); //수직좌표 초기화
  2149. Obj_Chart.Series(0).Marks.Visible = true; //데이터레이블
  2150. grd_bsreclist.topRow = 0; //그리드 스크롤 초기화
  2151. model.setValue("/root/init/scrollinfo/scrollvalue", "0"); //스크롤 기본좌표 초기화
  2152. for(var i = 1; i <= getNodesetCount("/root/main/bsrecinfo/bsreclist"); i++ ) {
  2153. var rectm = grd_bsreclist.labelMatrix(i, grd_bsreclist.colRef("rectm"));
  2154. var recrslt = model.getValue("/root/main/bsrecinfo/bsreclist["+ i +"]/recrslt");
  2155. var refflag = model.getValue("/root/main/bsrecinfo/bsreclist["+ i +"]/refflag"); //A:혈당기록, B:인터페이스장비, C:간호기록
  2156. if(refflag != "C"){
  2157. if(recrslt == "high" || recrslt == "HIGH" || recrslt == "High" || recrslt == ">500"){
  2158. recrslt = "530";
  2159. Obj_Chart.Series(0).AddXY (recrslt, i, "HIGH", Obj_Chart.Series(0).Color );
  2160. }else if(recrslt == "low" || recrslt == "LOW" || recrslt == "Low"){
  2161. recrslt = "-5";
  2162. Obj_Chart.Series(0).AddXY (recrslt, i, "LOW", Obj_Chart.Series(0).Color );
  2163. }else{
  2164. if (!isNaN(recrslt)) {
  2165. Obj_Chart.Series(0).AddXY (recrslt, i, recrslt, Obj_Chart.Series(0).Color );
  2166. }
  2167. }
  2168. }
  2169. /**원본_20090109 그리드 통합이전
  2170. if(recrslt == "high" || recrslt == "HIGH" || recrslt == "High" || recrslt == ">500"){
  2171. recrslt = "530";
  2172. Obj_Chart.Series(0).AddXY (recrslt, i, "HIGH", Obj_Chart.Series(0).Color );
  2173. }else if(recrslt == "low" || recrslt == "LOW" || recrslt == "Low"){
  2174. recrslt = "-5";
  2175. Obj_Chart.Series(0).AddXY (recrslt, i, "LOW", Obj_Chart.Series(0).Color );
  2176. }else{
  2177. if (!isNaN(recrslt)) {
  2178. Obj_Chart.Series(0).AddXY (recrslt, i, recrslt, Obj_Chart.Series(0).Color );
  2179. }
  2180. }
  2181. */
  2182. }
  2183. }
  2184. function fMake_SignData() {
  2185. if (ViewFunc == "view"){ //view인증용(혈당기록+간호기록)
  2186. /*********************** 20090112_그리드통합 *************************************/
  2187. //그래프 이미지 파일 저장 파라미터
  2188. model.makeValue("/root/viewtemp/viewinfo/recdd", model.getValue("/root/viewinfo/bsviewinfo/bsreclist/recdd"));
  2189. model.makeValue("/root/viewtemp/viewinfo/pid", model.getValue("/root/main/cond/pid"));
  2190. model.makeValue("/root/viewtemp/viewinfo/orddd", model.getValue("/root/main/cond/indd"));
  2191. model.makeValue("/root/viewtemp/viewinfo/cretno", model.getValue("/root/main/cond/cretno"));
  2192. model.makeValue("/root/viewtemp/viewinfo/recflag", "B"); //A : 임상관찰기록, B : 혈당기록
  2193. model.makeValue("/root/viewtemp/viewinfo/server", getDomain());
  2194. model.makeValue("/root/viewtemp/viewinfo/instcd", model.getValue("/root/main/cond/instcd"));
  2195. model.makeValue("/root/viewtemp/viewinfo/gridmergeflag", "Y"); //그리드 머지한 flag를 입력하여 통합기록조회에서 조회시 XSLT폼을 구분하여 조회한다.
  2196. Sign.addnode("/root/viewtemp/viewinfo");
  2197. Sign.addnode("/root/viewinfo/bsviewinfo");
  2198. // Sign.addnode("/root/viewinfo/bsnursingviewinfo");
  2199. var xViewRecPath = Sign.XPATH_SIGNINFO + "/bsviewinfo";
  2200. //혈당기록&간호기록
  2201. for(var i = 1; i <= getNodesetCount("/root/viewinfo/bsviewinfo/bsreclist"); i++ ) {
  2202. var bsrecdd = model.getValue(xViewRecPath + "/bsreclist[" + i + "]/recdd");
  2203. if (bsrecdd != ""){
  2204. bsrecdd = bsrecdd.substr(0, 4) + "-" + bsrecdd.substr(4, 2) + "-" + bsrecdd.substr(6, 2);
  2205. }
  2206. model.setValue(xViewRecPath + "/bsreclist[" + i + "]/recdd", bsrecdd);
  2207. var bsrectm = model.getValue(xViewRecPath + "/bsreclist[" + i + "]/rectm");
  2208. if (bsrectm != ""){
  2209. bsrectm = bsrectm.substr(0, 2) + ":" + bsrectm.substr(2, 2);
  2210. }
  2211. model.setValue(xViewRecPath + "/bsreclist[" + i + "]/rectm", bsrectm);
  2212. var dnar = model.getValue(xViewRecPath + "/bsreclist[" + i + "]/dnar");
  2213. if(dnar != ""){
  2214. model.setValue(xViewRecPath + "/bsreclist[" + i + "]/dnar", grd_bsreclist.labelMatrix(i, grd_bsreclist.colRef("dnar")));
  2215. }
  2216. }
  2217. /* 20090112_그리드통합이전
  2218. //그래프 이미지 파일 저장 파라미터
  2219. model.makeValue("/root/viewtemp/viewinfo/recdd", model.getValue("/root/viewinfo/bsviewinfo/bsreclist/recdd"));
  2220. model.makeValue("/root/viewtemp/viewinfo/pid", model.getValue("/root/main/cond/pid"));
  2221. model.makeValue("/root/viewtemp/viewinfo/orddd", model.getValue("/root/main/cond/indd"));
  2222. model.makeValue("/root/viewtemp/viewinfo/cretno", model.getValue("/root/main/cond/cretno"));
  2223. model.makeValue("/root/viewtemp/viewinfo/recflag", "B"); //A : 임상관찰기록, B : 혈당기록
  2224. model.makeValue("/root/viewtemp/viewinfo/server", getDomain());
  2225. model.makeValue("/root/viewtemp/viewinfo/instcd", model.getValue("/root/main/cond/instcd"));
  2226. model.removeNodeset("/root/viewinfo/nursingviewinfo");
  2227. model.makeNode("/root/viewinfo/nursingviewinfo");
  2228. Sign.addnode("/root/viewtemp/viewinfo");
  2229. Sign.addnode("/root/viewinfo/bsviewinfo");
  2230. var xViewRecPath = Sign.XPATH_SIGNINFO + "/bsviewinfo";
  2231. //혈당기록
  2232. for(var i = 1; i <= getNodesetCount("/root/viewinfo/bsviewinfo/bsreclist"); i++ ) {
  2233. var bsrecdd = model.getValue(xViewRecPath + "/bsreclist[" + i + "]/recdd");
  2234. if (bsrecdd != ""){
  2235. bsrecdd = bsrecdd.substr(0, 4) + "-" + bsrecdd.substr(4, 2) + "-" + bsrecdd.substr(6, 2);
  2236. }
  2237. model.setValue(xViewRecPath + "/bsreclist[" + i + "]/recdd", bsrecdd);
  2238. var bsrectm = model.getValue(xViewRecPath + "/bsreclist[" + i + "]/rectm");
  2239. if (bsrectm != ""){
  2240. bsrectm = bsrectm.substr(0, 2) + ":" + bsrectm.substr(2, 2);
  2241. }
  2242. model.setValue(xViewRecPath + "/bsreclist[" + i + "]/rectm", bsrectm);
  2243. }
  2244. //간호기록(해당기록일의 간호기록 duplicate)
  2245. var sign_bsrecdd = model.getValue("/root/viewinfo/bsviewinfo/bsreclist/recdd");
  2246. for(var k = 1; k <= getNodesetCount("/root/main/nursingrecordinfo/nursingrecordlist"); k++ ) {
  2247. var sign_nursingrecdd = model.getValue("/root/main/nursingrecordinfo/nursingrecordlist[" + k + "]/recdd");
  2248. if(sign_nursingrecdd == sign_bsrecdd){
  2249. model.duplicate("/root/viewinfo/nursingviewinfo", "/root/main/nursingrecordinfo/nursingrecordlist[" + k + "]");
  2250. }
  2251. }
  2252. Sign.addnode("/root/viewinfo/nursingviewinfo");
  2253. var xNursingRecPath = Sign.XPATH_SIGNINFO + "/nursingviewinfo";
  2254. //일자별 간호기록
  2255. for(var i = 1; i <= getNodesetCount("/root/viewinfo/nursingviewinfo/nursingrecordlist"); i++ ) {
  2256. var nursingrecdd = model.getValue(xNursingRecPath + "/nursingrecordlist[" + i + "]/recdd");
  2257. if (nursingrecdd != ""){
  2258. nursingrecdd = nursingrecdd.substr(0, 4) + "-" + nursingrecdd.substr(4, 2) + "-" + nursingrecdd.substr(6, 2);
  2259. }
  2260. model.setValue(xNursingRecPath + "/nursingrecordlist[" + i + "]/recdd", nursingrecdd);
  2261. var nursingrectm = model.getValue(xNursingRecPath + "/nursingrecordlist[" + i + "]/rectm");
  2262. if (nursingrectm != ""){
  2263. nursingrectm = nursingrectm.substr(0, 2) + ":" + nursingrectm.substr(2, 2);
  2264. }
  2265. model.setValue(xNursingRecPath + "/nursingrecordlist[" + i + "]/rectm", nursingrectm);
  2266. var dnar = model.getValue(xNursingRecPath + "/nursingrecordlist[" + i + "]/dnar");
  2267. if(dnar != ""){
  2268. model.setValue(xNursingRecPath + "/nursingrecordlist[" + i + "]/dnar", grd_carerecspec.labelMatrix(i, grd_carerecspec.colRef("dnar")));
  2269. }
  2270. }
  2271. */
  2272. }else if(ViewFunc == "nursing"){ //view인증용(간호기록)
  2273. //그래프 이미지 파일 저장 파라미터
  2274. model.makeValue("/root/viewtemp/viewinfo/recdd", model.getValue("/root/viewtemp/nursingdd"));
  2275. model.makeValue("/root/viewtemp/viewinfo/pid", model.getValue("/root/main/cond/pid"));
  2276. model.makeValue("/root/viewtemp/viewinfo/orddd", model.getValue("/root/main/cond/indd"));
  2277. model.makeValue("/root/viewtemp/viewinfo/cretno", model.getValue("/root/main/cond/cretno"));
  2278. model.makeValue("/root/viewtemp/viewinfo/recflag", "B"); //A : 임상관찰기록, B : 혈당기록
  2279. model.makeValue("/root/viewtemp/viewinfo/server", getDomain());
  2280. model.makeValue("/root/viewtemp/viewinfo/instcd", model.getValue("/root/main/cond/instcd"));
  2281. model.removeNodeset("/root/viewinfo/bsviewinfo");
  2282. model.makeNode("/root/viewinfo/bsviewinfo");
  2283. model.removeNodeset("/root/viewinfo/nursingviewinfo");
  2284. model.makeNode("/root/viewinfo/nursingviewinfo");
  2285. //간호기록(해당기록일의 간호기록 duplicate)
  2286. for(var k = 1; k <= getNodesetCount("/root/main/nursingrecordinfo/nursingrecordlist"); k++ ) {
  2287. var sign_nursingrecdd = model.getValue("/root/main/nursingrecordinfo/nursingrecordlist[" + k + "]/recdd");
  2288. if(model.getValue("/root/viewtemp/nursingdd") == sign_nursingrecdd){
  2289. model.duplicate("/root/viewinfo/nursingviewinfo", "/root/main/nursingrecordinfo/nursingrecordlist[" + k + "]");
  2290. }
  2291. }
  2292. Sign.addnode("/root/viewtemp/viewinfo");
  2293. Sign.addnode("/root/viewinfo/bsviewinfo");
  2294. Sign.addnode("/root/viewinfo/nursingviewinfo");
  2295. var xNursingRecPath = Sign.XPATH_SIGNINFO + "/nursingviewinfo";
  2296. //일자별 간호기록
  2297. for(var i = 1; i <= getNodesetCount("/root/viewinfo/nursingviewinfo/nursingrecordlist"); i++ ) {
  2298. var nursingrecdd = model.getValue(xNursingRecPath + "/nursingrecordlist[" + i + "]/recdd");
  2299. if (nursingrecdd != ""){
  2300. nursingrecdd = nursingrecdd.substr(0, 4) + "-" + nursingrecdd.substr(4, 2) + "-" + nursingrecdd.substr(6, 2);
  2301. }
  2302. model.setValue(xNursingRecPath + "/nursingrecordlist[" + i + "]/recdd", nursingrecdd);
  2303. var nursingrectm = model.getValue(xNursingRecPath + "/nursingrecordlist[" + i + "]/rectm");
  2304. if (nursingrectm != ""){
  2305. nursingrectm = nursingrectm.substr(0, 2) + ":" + nursingrectm.substr(2, 2);
  2306. }
  2307. model.setValue(xNursingRecPath + "/nursingrecordlist[" + i + "]/rectm", nursingrectm);
  2308. var dnar = model.getValue(xNursingRecPath + "/nursingrecordlist[" + i + "]/dnar");
  2309. if(dnar != ""){
  2310. model.setValue(xNursingRecPath + "/nursingrecordlist[" + i + "]/dnar", grd_carerecspec.labelMatrix(i, grd_carerecspec.colRef("dnar")));
  2311. }
  2312. }
  2313. }else{ //기록인증용
  2314. Sign.addnode("/root/main/bsrecinfo");
  2315. //혈당기록
  2316. var xBSRecPath = Sign.XPATH_SIGNINFO + "/bsrecinfo";
  2317. for(var i = 1; i <= getNodesetCount("/root/main/bsrecinfo/bsreclist"); i++ ) {
  2318. var bsrecdd = model.getValue(xBSRecPath + "/bsreclist[" + i + "]/recdd");
  2319. if (bsrecdd != ""){
  2320. bsrecdd = bsrecdd.substr(0, 4) + "-" + bsrecdd.substr(4, 2) + "-" + bsrecdd.substr(6, 2);
  2321. }
  2322. model.setValue(xBSRecPath + "/bsreclist[" + i + "]/recdd", bsrecdd);
  2323. var bsrectm = model.getValue(xBSRecPath + "/bsreclist[" + i + "]/rectm");
  2324. if (bsrectm != ""){
  2325. bsrectm = bsrectm.substr(0, 2) + ":" + bsrectm.substr(2, 2);
  2326. }
  2327. model.setValue(xBSRecPath + "/bsreclist[" + i + "]/rectm", bsrectm);
  2328. }
  2329. }
  2330. }
  2331. //기록 정보 view 생성
  2332. //차트용으로 하루 단위 저장함
  2333. function fMakeViewData(){
  2334. //fromdd ~ todd 까지 for문을 돌면서 각 기록일자별로 view용 인증 및 그래프 저장
  2335. var ordfromdd = model.getValue("/root/main/cond/ordfromdd");
  2336. var orddd = model.getValue("/root/main/cond/orddd");
  2337. var intervalDD = getDateInterval(ordfromdd, orddd)+1;
  2338. var signrecdd = ordfromdd;
  2339. for (i = 1; i <= intervalDD; i++) {
  2340. var bs_exist = grd_bsreclist.findRow(signrecdd, 1, grd_bsreclist.colRef("recdd")); //없으면 -1, 있으면 해당 row 리턴
  2341. var nursing_exist = grd_carerecspec.findRow(signrecdd, 1, grd_carerecspec.colRef("recdd")); //없으면 -1, 있으면 해당 row 리턴
  2342. if(bs_exist == -1 && nursing_exist == -1){
  2343. }else if(bs_exist != -1){ //없으면 -1, 있으면 해당 row 리턴
  2344. fGetBSRecList_view("view", signrecdd);
  2345. }else{
  2346. //혈당기록없이 간호기록만 존재하는 경우
  2347. //fGetNursingRecList_view("nursing",signrecdd);
  2348. fGetBSRecList_view("nursing",signrecdd);
  2349. }
  2350. if(signrecdd == orddd){
  2351. return;
  2352. }
  2353. signrecdd = signrecdd.toDate().getAddDate(+1,"D").getDateFormat();
  2354. }
  2355. }
  2356. //혈당기록, 간호기록 view용
  2357. function fGetBSRecList_view(signflag, signrecdd){
  2358. if(signflag == "nursing"){ //간호기록
  2359. //view용 인증저장
  2360. //Sign.certreload = true ;
  2361. ViewFunc = "nursing";
  2362. //NursingDD = prestrecdd;
  2363. model.setValue("/root/viewtemp/nursingdd", signrecdd);
  2364. if (Sign.signprocess() == true){
  2365. model.removenode("/root/send");
  2366. model.makeValue("/root/send/pid", model.getValue("/root/main/cond/pid"));
  2367. model.makeValue("/root/send/orddd", model.getValue("/root/main/cond/indd"));
  2368. model.makeValue("/root/send/signno", "");
  2369. model.makeValue("/root/send/cretno", model.getValue("/root/main/cond/cretno"));
  2370. model.makeValue("/root/send/recdd", signrecdd);
  2371. model.makeValue("/root/send/rectm", "0000");
  2372. model.makeValue("/root/send/recsaveflag", "Y");
  2373. model.makeValue("/root/send/signflag", "02");
  2374. model.makeValue("/root/send/signgenrflag", model.getValue("/root/main/cond/ordtype"));
  2375. model.makeValue("/root/send/formcd", "0000002459");
  2376. model.makeValue("/root/send/orddeptcd", model.getValue("/root/main/cond/orddeptcd"));
  2377. model.makeValue("/root/send/orddrid", model.getValue("/root/main/cond/orddrid"));
  2378. model.makeValue("/root/send/signbfcnts", Sign.signedInfos[1]);
  2379. model.makeValue("/root/send/signaftcnts", Sign.signedInfos[2]);
  2380. model.makeValue("/root/send/dispyn", "Y");
  2381. if (submit("TXMNR02505") ){
  2382. if ( model.getValue("/root/main/cond/rectype2") == "Y" ){
  2383. model.setValue("/root/main/cond/rectype2", "");
  2384. }
  2385. }
  2386. }
  2387. }else{ //signflag == "view" 혈당기록+간호기록
  2388. grd_bsreclist_view.rebuildStyle();
  2389. grd_bsreclist_view.rebuild();
  2390. model.removeNodeset("/root/viewinfo/bsviewinfo");
  2391. model.removenode("/root/send");
  2392. model.makeValue("/root/send/pid", model.getValue("/root/main/cond/pid"));
  2393. model.makeValue("/root/send/indd", model.getValue("/root/main/cond/indd"));
  2394. model.makeValue("/root/send/cretno", model.getValue("/root/main/cond/cretno"));
  2395. model.makeValue("/root/send/instcd", model.getValue("/root/main/cond/instcd"));
  2396. model.makeValue("/root/send/ordfromdd", signrecdd);
  2397. model.makeValue("/root/send/orddd", signrecdd);
  2398. model.makeValue("/root/send/viewflag", "Y");
  2399. model.makeValue("/root/send/dnarflag", "%");
  2400. model.makeValue("/root/send/recflag", "B");
  2401. model.makeValue("/root/send/reclnkkey", model.getValue("/root/main/cond/pid")
  2402. + "," + model.getValue("/root/main/cond/indd")
  2403. + "," + model.getValue("/root/main/cond/cretno")
  2404. + "," + model.getValue("/root/main/cond/instcd")
  2405. + "," + "B" + "," + "015");
  2406. model.makeValue("/root/send/bsonly", "N");
  2407. if(submit("TRMNR02509")){ //view용 기록조회
  2408. if(model.getValue("/root/viewinfo/bsviewinfo/bsreclist/recdd") != ""){
  2409. //view용 인증저장
  2410. //Sign.certreload = true ;
  2411. ViewFunc = "view";
  2412. if (Sign.signprocess() == true){
  2413. model.removenode("/root/send");
  2414. model.makeValue("/root/send/pid", model.getValue("/root/main/cond/pid"));
  2415. model.makeValue("/root/send/orddd", model.getValue("/root/main/cond/indd"));
  2416. model.makeValue("/root/send/signno", "");
  2417. model.makeValue("/root/send/cretno", model.getValue("/root/main/cond/cretno"));
  2418. model.makeValue("/root/send/recdd", model.getValue("/root/viewinfo/bsviewinfo/bsreclist/recdd"));
  2419. model.makeValue("/root/send/rectm", "0000");
  2420. model.makeValue("/root/send/recsaveflag", "Y");
  2421. model.makeValue("/root/send/signflag", "02");
  2422. model.makeValue("/root/send/signgenrflag", model.getValue("/root/main/cond/ordtype"));
  2423. model.makeValue("/root/send/formcd", "0000002459");
  2424. model.makeValue("/root/send/orddeptcd", model.getValue("/root/main/cond/orddeptcd"));
  2425. model.makeValue("/root/send/orddrid", model.getValue("/root/main/cond/orddrid"));
  2426. model.makeValue("/root/send/signbfcnts", Sign.signedInfos[1]);
  2427. model.makeValue("/root/send/signaftcnts", Sign.signedInfos[2]);
  2428. model.makeValue("/root/send/dispyn", "Y");
  2429. if (submit("TXMNR02505") ){
  2430. if ( model.getValue("/root/main/cond/rectype2") == "Y" ){
  2431. model.setValue("/root/main/cond/rectype2", "");
  2432. }
  2433. }
  2434. }
  2435. grd_bsreclist_view.refresh();
  2436. //view용 그래프내역 갱신
  2437. fMakeChart_view();
  2438. }
  2439. }
  2440. }
  2441. }
  2442. /*
  2443. //혈당기록, 간호기록 view용________이전
  2444. function fGetBSRecList_view(){
  2445. //fromdd ~ todd 까지 for문을 돌면서 각 기록일자별로 view용 인증 및 그래프 저장
  2446. var orddd = model.getValue("/root/main/cond/orddd");
  2447. var signrecdd = model.getValue("/root/main/bsrecinfo/bsreclist/recdd");
  2448. var intervalDD = getDateInterval(signrecdd, orddd)+1;
  2449. for (i = 1; i <= intervalDD; i++) {
  2450. grd_bsreclist_view.rebuildStyle();
  2451. grd_bsreclist_view.rebuild();
  2452. model.removeNodeset("/root/viewinfo/bsviewinfo");
  2453. model.removenode("/root/send");
  2454. model.makeValue("/root/send/pid", model.getValue("/root/main/cond/pid"));
  2455. model.makeValue("/root/send/indd", model.getValue("/root/main/cond/indd"));
  2456. model.makeValue("/root/send/cretno", model.getValue("/root/main/cond/cretno"));
  2457. model.makeValue("/root/send/instcd", model.getValue("/root/main/cond/instcd"));
  2458. model.makeValue("/root/send/ordfromdd", signrecdd);
  2459. model.makeValue("/root/send/orddd", signrecdd);
  2460. model.makeValue("/root/send/viewflag", "Y");
  2461. if(submit("TRMNR02509")){ //view용 기록조회
  2462. if(model.getValue("/root/viewinfo/bsviewinfo/bsreclist/recdd") != ""){
  2463. //view용 인증저장
  2464. //Sign.certreload = true ;
  2465. ViewFunc = "view";
  2466. if (Sign.signprocess() == true){
  2467. model.removenode("/root/send");
  2468. model.makeValue("/root/send/pid", model.getValue("/root/main/cond/pid"));
  2469. model.makeValue("/root/send/orddd", model.getValue("/root/main/cond/indd"));
  2470. model.makeValue("/root/send/signno", "");
  2471. model.makeValue("/root/send/cretno", model.getValue("/root/main/cond/cretno"));
  2472. model.makeValue("/root/send/recdd", model.getValue("/root/viewinfo/bsviewinfo/bsreclist/recdd"));
  2473. model.makeValue("/root/send/rectm", "0000");
  2474. model.makeValue("/root/send/recsaveflag", "Y");
  2475. model.makeValue("/root/send/signflag", "02");
  2476. model.makeValue("/root/send/signgenrflag", model.getValue("/root/main/cond/ordtype"));
  2477. model.makeValue("/root/send/formcd", "0000002459");
  2478. model.makeValue("/root/send/orddeptcd", model.getValue("/root/main/cond/orddeptcd"));
  2479. model.makeValue("/root/send/orddrid", model.getValue("/root/main/cond/orddrid"));
  2480. model.makeValue("/root/send/signbfcnts", Sign.signedInfos[1]);
  2481. model.makeValue("/root/send/signaftcnts", Sign.signedInfos[2]);
  2482. model.makeValue("/root/send/dispyn", "Y");
  2483. submit("TXMNR02505");
  2484. }
  2485. grd_bsreclist_view.refresh();
  2486. //view용 그래프내역 갱신
  2487. fMakeChart_view();
  2488. if(signrecdd == orddd){
  2489. return;
  2490. }
  2491. }
  2492. signrecdd = signrecdd.toDate().getAddDate(+1,"D").getDateFormat();
  2493. }
  2494. }
  2495. }
  2496. */
  2497. //혈당기록없이 간호기록만 있는경우 view용_사용하지 않음
  2498. function fGetNursingRecList_view(){
  2499. var bfrecdd = "";
  2500. var prestrecdd = "";
  2501. for(var i = 1; i <= getNodesetCount("/root/main/nursingrecordinfo/nursingrecordlist"); i++ ) {
  2502. var prestrecdd = model.getValue("/root/main/nursingrecordinfo/nursingrecordlist[" + i + "]/recdd");
  2503. if(bfrecdd != prestrecdd){
  2504. //view용 인증저장
  2505. //Sign.certreload = true ;
  2506. ViewFunc = "nursing";
  2507. //NursingDD = prestrecdd;
  2508. model.setValue("/root/viewtemp/nursingdd", prestrecdd);
  2509. if (Sign.signprocess() == true){
  2510. model.removenode("/root/send");
  2511. model.makeValue("/root/send/pid", model.getValue("/root/main/cond/pid"));
  2512. model.makeValue("/root/send/orddd", model.getValue("/root/main/cond/indd"));
  2513. model.makeValue("/root/send/signno", "");
  2514. model.makeValue("/root/send/cretno", model.getValue("/root/main/cond/cretno"));
  2515. model.makeValue("/root/send/recdd", prestrecdd);
  2516. model.makeValue("/root/send/rectm", "0000");
  2517. model.makeValue("/root/send/recsaveflag", "Y");
  2518. model.makeValue("/root/send/signflag", "02");
  2519. model.makeValue("/root/send/signgenrflag", model.getValue("/root/main/cond/ordtype"));
  2520. model.makeValue("/root/send/formcd", "0000002459");
  2521. model.makeValue("/root/send/orddeptcd", model.getValue("/root/main/cond/orddeptcd"));
  2522. model.makeValue("/root/send/orddrid", model.getValue("/root/main/cond/orddrid"));
  2523. model.makeValue("/root/send/signbfcnts", Sign.signedInfos[1]);
  2524. model.makeValue("/root/send/signaftcnts", Sign.signedInfos[2]);
  2525. model.makeValue("/root/send/dispyn", "Y");
  2526. submit("TXMNR02505");
  2527. }
  2528. bfrecdd = prestrecdd;
  2529. }
  2530. }
  2531. }
  2532. function fMakeChart_view()
  2533. {
  2534. var Obj_Chart;
  2535. Obj_Chart = obj_bsrgraph_view;
  2536. Obj_Chart.Series(0).Clear(); //혈당라인 초기화
  2537. Obj_Chart.Axis.Left.SetMinMax (20, 0); //수직좌표 초기화
  2538. Obj_Chart.Series(0).Marks.Visible = true; //데이터레이블
  2539. grd_bsreclist.topRow = 0; //그리드 스크롤 초기화
  2540. model.setValue("/root/init/scrollinfo/scrollvalue", "0"); //스크롤 기본좌표 초기화
  2541. for(var i = 1; i <= getNodesetCount("/root/viewinfo/bsviewinfo/bsreclist"); i++ ) {
  2542. var recrslt = model.getValue("/root/viewinfo/bsviewinfo/bsreclist["+ i +"]/recrslt");
  2543. var refflag = model.getValue("/root/viewinfo/bsviewinfo/bsreclist["+ i +"]/refflag"); //A:혈당기록, B:인터페이스장비, C:간호기록
  2544. if(refflag != "C"){
  2545. if(recrslt == "high" || recrslt == "HIGH" || recrslt == "High" || recrslt == ">500"){
  2546. recrslt = "530";
  2547. Obj_Chart.Series(0).AddXY (recrslt, i, "HIGH", Obj_Chart.Series(0).Color );
  2548. }else if(recrslt == "low" || recrslt == "LOW" || recrslt == "Low"){
  2549. recrslt = "-5";
  2550. Obj_Chart.Series(0).AddXY (recrslt, i, "LOW", Obj_Chart.Series(0).Color );
  2551. }else{
  2552. if (!isNaN(recrslt)) {
  2553. Obj_Chart.Series(0).AddXY (recrslt, i, recrslt, Obj_Chart.Series(0).Color );
  2554. }
  2555. }
  2556. }
  2557. }
  2558. //기록 정보 view Img 생성
  2559. //그래프 이미지 특정 폴더에 저장
  2560. var fso, fldr;
  2561. fladr = "C:/Program Files/himed/bstempimage";
  2562. fso = new ActiveXObject("Scripting.FileSystemObject");
  2563. if (fso.FolderExists(fladr)) {
  2564. //IMAGE FILE 설정( PARAM : File Name ; Gray ; Performance ; Quality ; Width ; Height )
  2565. //File 크기 조절 : Quality 및 Width, Height 설정(Width, Height 변경시 그래프 설정도 변경해야 함.)
  2566. Obj_Chart.Export.SaveToJPEGFile(fladr+"/bs_tchart.jpeg", false, 0, 30, 200, 600 );
  2567. //sChartNum++;
  2568. } else {
  2569. fldr = fso.CreateFolder(fladr);
  2570. Obj_Chart.Export.SaveToJPEGFile(fladr+"/bs_tchart.jpeg", false, 0, 30, 200, 600 );
  2571. //sChartNum++;
  2572. }
  2573. var file = fladr+"/bs_tchart.jpeg";
  2574. //var f = fso.GetFile(file);
  2575. //fChangeImage(file);
  2576. var pos = file.lastIndexOf("\\");
  2577. var localFileName= file.substring(pos+1, file.length);
  2578. img_tmp.src = "";
  2579. img_tmp.src = file;
  2580. var ldata = img_tmp.getbase64data();
  2581. //var data = file.getbase64data();
  2582. var sImgDataRowCnt = eval(getNodesetCount("/root/send/imginfo")) + 1;
  2583. model.removenode("/root/send");
  2584. model.makeValue("/root/send/imginfo["+sImgDataRowCnt+"]/pid", model.getValue("/root/main/cond/pid"));
  2585. model.makeValue("/root/send/imginfo["+sImgDataRowCnt+"]/orddd", model.getValue("/root/main/cond/indd"));
  2586. model.makeValue("/root/send/imginfo["+sImgDataRowCnt+"]/cretno", model.getValue("/root/main/cond/cretno"));
  2587. model.makeValue("/root/send/imginfo["+sImgDataRowCnt+"]/recdd", model.getValue("/root/viewinfo/bsviewinfo/bsreclist/recdd"));
  2588. model.makeValue("/root/send/imginfo["+sImgDataRowCnt+"]/recflag", "B"); //A : 임상관찰기록, B : 혈당기록
  2589. model.makeValue("/root/send/imginfo["+sImgDataRowCnt+"]/imgrslt", ldata);
  2590. model.makeValue("/root/send/imginfo["+sImgDataRowCnt+"]/imght", "200");
  2591. model.makeValue("/root/send/imginfo["+sImgDataRowCnt+"]/imgwidt", "600");
  2592. setImageRefInstance("/root/send/imginfo["+sImgDataRowCnt+"]/imgrslt");
  2593. //이미지저장
  2594. submit("TXMNR02504");
  2595. }
  2596. //의사지시처방 Row추가
  2597. function fAddDoctorPrcp(){
  2598. grd_prcplist.addRow(true);
  2599. grd_prcplist.colDisabled(grd_prcplist.colRef("status")) = true;
  2600. grd_prcplist.colDisabled(grd_prcplist.colRef("prcpkindcd")) = true;
  2601. model.setValue("/root/main/prcp/prcplist[" + grd_prcplist.row + "]/status", "I");
  2602. model.setValue("/root/main/prcp/prcplist[" + grd_prcplist.row + "]/prcpkindcd", "20");
  2603. //model.setValue("/root/main/prcp/prcplist[" + grd_prcplist.row + "]/prcpcd", "000000000033");
  2604. model.setValue("/root/main/prcp/prcplist[" + grd_prcplist.row + "]/prcpcd", model.getValue("/root/init/issprcpinfo/prcpinfo/prcpcd")); //의사발행 지시처방코드 조회_20090415_SMY
  2605. model.setValue("/root/main/prcp/prcplist[" + grd_prcplist.row + "]/prcpnm", "전달사항");
  2606. model.setValue("/root/main/prcp/prcplist[" + grd_prcplist.row + "]/prcphopedd", getCurrentDate());
  2607. grd_prcplist.row = grd_prcplist.rows;
  2608. grd_prcplist.topRow = grd_prcplist.rows;
  2609. grd_prcplist.col = grd_prcplist.colRef("prcpnm");
  2610. grd_prcplist.editCell();
  2611. model.refresh();
  2612. }
  2613. //의사지시처방 Row삭제
  2614. function fDelDoctorPrcp(){
  2615. grd_prcplist.deleteRow(grd_prcplist.row);
  2616. model.refresh();
  2617. }
  2618. //노드붙이기
  2619. function fAppendSaveNode( desNode, srcNodeList ) {
  2620. var saveDrPrcpList = model.instances(0).selectNodes( srcNodeList ); //의사처방 저장데이터
  2621. for(var i = 0; i < saveDrPrcpList.length; i++) {
  2622. var destNode = model.instances(0).selectSingleNode( desNode );
  2623. destNode.appendChild(saveDrPrcpList.item(i).cloneNode(true));
  2624. }
  2625. }
  2626. //의사지시처방 전처방 조회
  2627. function fGetBfPrcpInfo(){
  2628. if (swt_recprcp.selectedIndex == "3") {
  2629. model.removeNodeset("/root/main/bfprcp");
  2630. model.removenode("/root/send");
  2631. model.makeValue("/root/send/pid", model.getValue("/root/main/cond/pid"));
  2632. model.makeValue("/root/send/indd", model.getValue("/root/main/cond/indd"));
  2633. model.makeValue("/root/send/cretno", model.getValue("/root/main/cond/cretno"));
  2634. model.makeValue("/root/send/instcd", model.getValue("/root/main/cond/instcd"));
  2635. model.makeValue("/root/send/ordfromdd", model.getValue("/root/main/cond/ordfromdd"));
  2636. model.makeValue("/root/send/orddd", model.getValue("/root/main/cond/orddd"));
  2637. //환자별 전처방 조회
  2638. if (model.getValue("/root/main/cond/pid") != "" && model.getValue("/root/main/cond/pid") != "등록번호" ) {
  2639. submit("TRMNR02512");
  2640. }
  2641. }
  2642. }
  2643. //전처방 삭제
  2644. function fDelBfPrcp(){
  2645. for (i = 0; i < grd_bfprcplist.selectedRows; i++) {
  2646. if(model.getValue("/root/main/bfprcp/prcplist[" + grd_bfprcplist.selectedRow(i) + "]/status") == "-"){
  2647. model.setValue("/root/main/bfprcp/prcplist[" + grd_bfprcplist.selectedRow(i) + "]/status", "D");
  2648. }else{
  2649. model.setValue("/root/main/bfprcp/prcplist[" + grd_bfprcplist.selectedRow(i) + "]/status", "-");
  2650. }
  2651. }
  2652. grd_bfprcplist.refresh();
  2653. }
  2654. function fnZoneDisp() {
  2655. //응급의료센터(2280200000)인 경우
  2656. //병동정보대신에 구역정보가 보임)(20080620)
  2657. if ( !isNull(model.getValue("/root/codeinfo/codeinfo/codelist[cdgrupid ='002' and cdid ='"+cmb_ward.value+"']/cdid")) ) {
  2658. //caption9.visible = false;
  2659. //combo1.visible = false;
  2660. cap_Zone.visible = true;
  2661. cmb_Zone.visible = true;
  2662. caption9.attribute("left") = 390;
  2663. caption9.attribute("top") = 9;
  2664. combo1.attribute("left") = 468;
  2665. combo1.attribute("top") = 8;
  2666. caption8.attribute("left") = 575;
  2667. caption8.attribute("top") = 9;
  2668. ipt_ordfromdd.attribute("left") = 663;
  2669. ipt_ordfromdd.attribute("top") = 8;
  2670. caption5.attribute("left") = 756;
  2671. caption5.attribute("top") = 10;
  2672. ipt_orddd.attribute("left") =770;
  2673. ipt_orddd.attribute("top") = 8;
  2674. var zonecd = model.getValue("/root/main/paminfo/list/sectioncd");
  2675. if( !isNull(zonecd) && zonecd != "-" ){
  2676. cmb_Zone.value = model.getValue("/root/main/paminfo/list/sectioncd");
  2677. } else {
  2678. cmb_Zone.value = "-";
  2679. }
  2680. } else {
  2681. //caption9.visible = true;
  2682. //combo1.visible = true;
  2683. cap_Zone.visible = false;
  2684. cmb_Zone.visible = false;
  2685. cmb_Zone.value = "-";
  2686. caption9.attribute("left") = 228;
  2687. caption9.attribute("top") = 9;
  2688. combo1.attribute("left") = 300;
  2689. combo1.attribute("top") = 8;
  2690. caption8.attribute("left") = 401;
  2691. caption8.attribute("top") = 9;
  2692. ipt_ordfromdd.attribute("left") = 488;
  2693. ipt_ordfromdd.attribute("top") = 8;
  2694. caption5.attribute("left") = 581;
  2695. caption5.attribute("top") = 10;
  2696. ipt_orddd.attribute("left") = 595;
  2697. ipt_orddd.attribute("top") = 8;
  2698. }
  2699. }
  2700. ]]>
  2701. </script>
  2702. <submission id="TRMNR02501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/init/cond/wardinfo"/>
  2703. <submission id="TRMNR02502" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/wardpatinfo"/>
  2704. <submission id="TRMNR02503" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/bsrecinfo"/>
  2705. <submission id="TRMNR02505" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main_om/ominfo/prcpddinfo"/>
  2706. <submission id="TRMNR02506" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main_om/ominfo/prcpinfo"/>
  2707. <submission id="TRMNR02507" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/init/issprcpinfo"/>
  2708. <submission id="TRMNR02514" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/init/prcpinfolist"/>
  2709. <!--
  2710. <submission id="TRMNR02508" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/init/wardinfo/doctlist"/>
  2711. -->
  2712. <submission id="TRMNR02509" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/viewinfo/bsviewinfo"/>
  2713. <submission id="TRMNR02510" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/patinfo"/>
  2714. <submission id="TRMNR02511" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/result"/>
  2715. <submission id="TRMNR02512" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/bfprcp"/>
  2716. <submission id="TRMNR02513" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" replace="instance" resultref="/root/temp/prtinfo"/>
  2717. <submission id="TRMNR03402" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/nursingrecordinfo"/>
  2718. <submission id="TXMNR02501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/temp/result"/>
  2719. <submission id="TXMNR02502" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/temp/result"/>
  2720. <submission id="TXMNR02503" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/temp/result"/>
  2721. <submission id="TXMNR02504" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/sign/viewdata"/>
  2722. <submission id="TXMNR02505" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/sign/viewdata"/>
  2723. <submission id="TXMNR02506" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/temp/result"/>
  2724. <submission id="TRMMB04101" mediatype="application/x-www-form-urlencoded" method="post"/>
  2725. <submission id="TRMMB04102" mediatype="application/x-www-form-urlencoded" method="post"/>
  2726. <submission id="TRMMO00104" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/result"/>
  2727. <submission id="TXMMO00103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/temp"/>
  2728. <submission id="TRZBC00101" mediatype="application/x-www-form-urlencoded" method="post"/>
  2729. <submission id="TRMNW00001" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/codeinfo/codelist"/>
  2730. <submission id="TRMNR06302" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/temp/zoneinfo"/>
  2731. </model>
  2732. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  2733. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  2734. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  2735. <script type="javascript" src="../../../com/commonweb/js/tchartHelper.js"/>
  2736. <script type="javascript" src="../../../emr/carecomweb/js/CareCom.js"/>
  2737. <script type="javascript" src="../../../emr/carecomweb/js/ENRSignEngine.js"/>
  2738. <script type="javascript" src="../../../com/signweb/js/ZES001.js"/>
  2739. <script type="javascript" src="../../../emr/prcpmngtweb/js/MMO001.js"/>
  2740. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  2741. </xhtml:head>
  2742. <xhtml:body guideline="1,1193;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  2743. <caption id="output32" ref="/root/main/cond/pid" style="left:218px; top:63px; width:67px; height:18px; font-weight:bold; text-align:center; vertical-align:middle; border-style:solid; "/>
  2744. <caption id="output33" ref="/root/main/cond/sexage" style="left:364px; top:63px; width:44px; height:18px; font-weight:bold; text-align:center; vertical-align:middle; border-style:solid; "/>
  2745. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  2746. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:160px; height:14px; background-image:../../../com/commonweb/images/tit_bullet1.gif; ">혈당간호기록</caption>
  2747. </group>
  2748. <group id="group5" scroll="auto" style="left:0px; top:13px; width:1195px; height:747px; ">
  2749. <group id="grp_ord" visibility="hidden" style="left:93px; top:10px; width:1100px; height:35px; vertical-align:top; ">
  2750. <shape id="roundrect2" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:1100px; height:35px; "/>
  2751. <!--(20101206) 경북대
  2752. <caption id="caption52" class="search_name" style="left:342px; top:9px; width:69px; height:17px; background-image:../../../com/commonweb/images/search_bullet1.gif; ">담당의:</caption>
  2753. <caption id="caption11" class="search_name" style="left:10px; top:9px; width:74px; height:17px; background-image:../../../com/commonweb/images/search_bullet1.gif; ">진료과:</caption>
  2754. <caption id="caption13" class="search_name" style="left:195px; top:9px; width:69px; height:17px; background-image:../../../com/commonweb/images/search_bullet1.gif; ">주치의:</caption>
  2755. -->
  2756. <caption id="caption52" class="search_name" style="left:342px; top:9px; width:69px; height:17px; background-image:../../../com/commonweb/images/search_bullet1.gif; ">담당의:</caption>
  2757. <caption id="caption11" class="search_name" style="left:10px; top:9px; width:74px; height:17px; background-image:../../../com/commonweb/images/search_bullet1.gif; ">진료과:</caption>
  2758. <caption id="caption13" class="search_name" style="left:195px; top:9px; width:69px; height:17px; background-image:../../../com/commonweb/images/search_bullet1.gif; ">전문의:</caption>
  2759. <!--(20101206) 경북대 -->
  2760. <select1 id="cmb_medispclid" ref="/root/main/cond/medispclid" class="combo_search" appearance="minimal" style="left:266px; top:8px; width:70px; height:19px; ">
  2761. <choices>
  2762. <itemset nodeset="/root/init/cond/doctlist/medispcl/usercombo">
  2763. <label ref="usernm"/>
  2764. <value ref="userid"/>
  2765. </itemset>
  2766. </choices>
  2767. <script type="javascript" ev:event="xforms-value-changed">
  2768. <![CDATA[
  2769. model.setValue("/root/main/cond/ordfromdd", getCurrentDate());
  2770. model.setValue("/root/main/cond/orddd", getCurrentDate());
  2771. btn_refterm.attribute("text") = "4일"
  2772. model.removeNodeset("/root/main/patinfo/patinhistinfo");
  2773. model.setValue("/root/main/cond/patinhistcd", "");
  2774. fChgBtnAble();
  2775. fGetWardPatList();
  2776. ]]>
  2777. </script>
  2778. </select1>
  2779. <select1 id="cmb_atdoctid" ref="/root/main/cond/atdoctid" class="combo_search" appearance="minimal" style="left:412px; top:8px; width:70px; height:19px; ">
  2780. <choices>
  2781. <itemset nodeset="/root/init/cond/doctlist/atdoct/usercombo">
  2782. <label ref="usernm"/>
  2783. <value ref="userid"/>
  2784. </itemset>
  2785. </choices>
  2786. <script type="javascript" ev:event="xforms-value-changed">
  2787. <![CDATA[
  2788. model.setValue("/root/main/cond/ordfromdd", getCurrentDate());
  2789. model.setValue("/root/main/cond/orddd", getCurrentDate());
  2790. btn_refterm.attribute("text") = "4일"
  2791. model.removeNodeset("/root/main/patinfo/patinhistinfo");
  2792. model.setValue("/root/main/cond/patinhistcd", "");
  2793. fChgBtnAble();
  2794. fGetWardPatList();
  2795. ]]>
  2796. </script>
  2797. </select1>
  2798. <select1 id="cmb_dept" ref="/root/main/cond/reforddeptcd" class="combo_search" appearance="minimal" style="left:80px; top:8px; width:110px; height:19px; ">
  2799. <choices>
  2800. <itemset nodeset="/root/init/cond/wardinfo/dept">
  2801. <label ref="depthngnm"/>
  2802. <value ref="deptcd"/>
  2803. </itemset>
  2804. </choices>
  2805. <script type="javascript" ev:event="xforms-value-changed">
  2806. <![CDATA[
  2807. model.setValue("/root/main/cond/ordfromdd", getCurrentDate());
  2808. model.setValue("/root/main/cond/orddd", getCurrentDate());
  2809. btn_refterm.attribute("text") = "4일"
  2810. model.removeNodeset("/root/main/patinfo/patinhistinfo");
  2811. model.setValue("/root/main/cond/patinhistcd", "");
  2812. fChgBtnAble();
  2813. fChgOrddeptcd();
  2814. ]]>
  2815. </script>
  2816. </select1>
  2817. <button id="button3" class="btn1_letter2" style="left:1035px; top:7px; width:56px; height:22px; background-image:../../../com/commonweb/images/btn1_letter2.gif; ">
  2818. <caption>조회</caption>
  2819. <script type="javascript" ev:event="onclick">
  2820. <![CDATA[
  2821. //fGetWardPatList();
  2822. fInitialize();
  2823. ]]>
  2824. </script>
  2825. </button>
  2826. <line id="line3" class="line_4" style="x1:1025px; y1:7px; x2:1025px; y2:29px; "/>
  2827. <input id="input1" ref="/root/main/cond/orddd" class="input_search" inputtype="date" style="left:675px; top:8px; width:85px; height:19px; "/>
  2828. <caption id="caption3" style="left:661px; top:10px; width:15px; height:18px; font-weight:bold; ">~</caption>
  2829. <caption id="caption7" class="search_name" style="left:488px; top:9px; width:85px; height:17px; background-image:../../../com/commonweb/images/search_bullet1.gif; ">업무일자:</caption>
  2830. <input id="input2" ref="/root/main/cond/ordfromdd" class="input_search" inputtype="date" style="left:573px; top:8px; width:85px; height:19px; "/>
  2831. <caption id="cap_inhist" class="search_name" style="left:765px; top:9px; width:84px; height:17px; background-image:../../../com/commonweb/images/search_bullet1.gif; ">재원이력:</caption>
  2832. <select1 id="cmb_inhistlist" ref="/root/main/cond/patinhistcd" class="combo_search" appearance="minimal" style="left:848px; top:8px; width:170px; height:19px; ">
  2833. <choices>
  2834. <itemset nodeset="/root/main/patinfo/patinhistinfo">
  2835. <label ref="histlist"/>
  2836. <value ref="rownum"/>
  2837. </itemset>
  2838. </choices>
  2839. <script type="javascript" ev:event="xforms-value-changed">
  2840. <![CDATA[
  2841. if(model.getValue("/root/main/patinfo/patinhistinfo[rownum ='" + cmb_inhistlist.value + "']/dschdd") == "99991231"){ //재원
  2842. model.setValue("/root/main/cond/ordfromdd", getCurrentDate());
  2843. model.setValue("/root/main/cond/orddd", getCurrentDate());
  2844. btn_refterm.attribute("text") = "4일"
  2845. // rdo_srchflag.disabled = false;
  2846. // cmb_ward.disabled = false;
  2847. // cmb_dept.disabled = false;
  2848. // cmb_medispclid.disabled = false;
  2849. // cmb_atdoctid.disabled = false;
  2850. fChgBtnAble();
  2851. //btn_doctorprcp.disabled = false;
  2852. }else{ //퇴원
  2853. model.setValue("/root/main/cond/ordfromdd", model.getValue("/root/main/patinfo/patinhistinfo[rownum ='" + cmb_inhistlist.value + "']/dschdd").toDate().getAddDate(-3,"D").getDateFormat());
  2854. model.setValue("/root/main/cond/orddd", model.getValue("/root/main/patinfo/patinhistinfo[rownum ='" + cmb_inhistlist.value + "']/dschdd"));
  2855. btn_refterm.attribute("text") = "1일"
  2856. // //컨트롤 비활성화
  2857. // rdo_srchflag.disabled = true;
  2858. // cmb_ward.disabled = true;
  2859. // cmb_dept.disabled = true;
  2860. // cmb_medispclid.disabled = true;
  2861. // cmb_atdoctid.disabled = true;
  2862. btn_add.disabled = true;
  2863. btn_save.disabled = true;
  2864. btn_type2.disabled = true;
  2865. //btn_doctorprcp.disabled = true;
  2866. }
  2867. model.setValue("/root/main/cond/wardcd", model.getValue("/root/main/patinfo/patinhistinfo[rownum ='" + cmb_inhistlist.value + "']/wardcd"));
  2868. model.setValue("/root/main/cond/reforddeptcd", model.getValue("/root/main/patinfo/patinhistinfo[rownum ='" + cmb_inhistlist.value + "']/orddeptcd"));
  2869. fChgOrddeptcd("init");
  2870. model.setValue("/root/main/cond/medispclid", model.getValue("/root/main/patinfo/patinhistinfo[rownum ='" + cmb_inhistlist.value + "']/medispclid"));
  2871. model.setValue("/root/main/cond/atdoctid", model.getValue("/root/main/patinfo/patinhistinfo[rownum ='" + cmb_inhistlist.value + "']/atdoctid"));
  2872. if(model.getValue("/root/main/cond/atdoctid") == '-'){
  2873. model.setValue("/root/main/cond/atdoctid", "");
  2874. }
  2875. fGetWardPatList();
  2876. grd_wardpatlist.row = grd_wardpatlist.findRow(model.getValue("/root/main/patinfo/patinhistinfo/pid"), 1, grd_wardpatlist.colRef("pid"));
  2877. fGetSelectdPatRecInfo();
  2878. ]]>
  2879. </script>
  2880. </select1>
  2881. </group>
  2882. <group id="grp_ward" visibility="hidden" style="left:95px; top:10px; width:1100px; height:35px; vertical-align:top; ">
  2883. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:1100px; height:35px; "/>
  2884. <caption id="caption2" class="search_name" style="left:10px; top:9px; width:70px; height:17px; font-family:굴림; background-image:../../../com/commonweb/images/search_bullet1.gif; ">병 동:</caption>
  2885. <button id="button1" class="btn1_letter2" style="left:1015px; top:7px; width:56px; height:22px; background-image:../../../com/commonweb/images/btn1_letter2.gif; ">
  2886. <caption>조회</caption>
  2887. <script type="javascript" ev:event="onclick">
  2888. <![CDATA[
  2889. //fGetWardPatList();
  2890. fInitialize();
  2891. ]]>
  2892. </script>
  2893. </button>
  2894. <select1 id="cmb_ward" ref="/root/main/cond/wardcd" class="combo_search" appearance="minimal" style="left:79px; top:8px; width:130px; height:19px; ">
  2895. <choices>
  2896. <itemset nodeset="/root/init/cond/wardinfo/ward">
  2897. <label ref="wardnm"/>
  2898. <value ref="wardcd"/>
  2899. </itemset>
  2900. </choices>
  2901. <script type="javascript" ev:event="xforms-value-changed">
  2902. <![CDATA[
  2903. fnZoneDisp();
  2904. fGetWardPatList();
  2905. ]]>
  2906. </script>
  2907. </select1>
  2908. <line id="line13" class="line_4" style="x1:995px; y1:7px; x2:995px; y2:29px; "/>
  2909. <select1 id="combo1" ref="/root/main/cond/settingrnid" class="combo_search" appearance="minimal" style="left:300px; top:8px; width:90px; height:19px; ">
  2910. <choices>
  2911. <itemset nodeset="/root/init/cond/wardinfo/settingrn">
  2912. <label ref="settingrnnm"/>
  2913. <value ref="settingrnid"/>
  2914. </itemset>
  2915. </choices>
  2916. <script type="javascript" ev:event="xforms-value-changed">
  2917. <![CDATA[
  2918. fGetWardPatList();
  2919. ]]>
  2920. </script>
  2921. </select1>
  2922. <caption id="caption9" class="search_name" style="left:228px; top:9px; width:75px; height:17px; background-image:../../../com/commonweb/images/search_bullet1.gif; ">내환자:</caption>
  2923. <caption id="caption8" class="search_name" style="left:401px; top:9px; width:85px; height:17px; background-image:../../../com/commonweb/images/search_bullet1.gif; ">업무일자:</caption>
  2924. <caption id="caption5" style="left:581px; top:10px; width:15px; height:18px; font-weight:bold; ">~</caption>
  2925. <input id="ipt_ordfromdd" ref="/root/main/cond/ordfromdd" class="input_search" inputtype="date" style="left:488px; top:8px; width:90px; height:19px; "/>
  2926. <input id="ipt_orddd" ref="/root/main/cond/orddd" class="input_search" inputtype="date" style="left:595px; top:8px; width:90px; height:19px; "/>
  2927. <caption id="cap_Zone" class="search_name" visibility="hidden" style="left:225px; top:10px; width:70px; height:17px; font-family:굴림; background-image:../../../com/commonweb/images/search_bullet1.gif; ">구 역:</caption>
  2928. <select1 id="cmb_Zone" ref="/root/main/cond/zonecd" class="combo_search" visibility="hidden" appearance="minimal" style="left:300px; top:8px; width:75px; height:19px; background-image:../../../com/commonweb/images/input_s_essential.gif; ">
  2929. <choices>
  2930. <itemset nodeset="/root/temp/zoneinfo/zonelist">
  2931. <label ref="bednm"/>
  2932. <value ref="bedcd"/>
  2933. </itemset>
  2934. </choices>
  2935. <script type="javascript" ev:event="xforms-value-changed">
  2936. <![CDATA[
  2937. fGetWardPatList();
  2938. ]]>
  2939. </script>
  2940. </select1>
  2941. </group>
  2942. <button id="btn_carerec" class="btn_sw" group="tab" selected="true" select.background-image="../../../com/commonweb/images/tab_show.gif" style="left:724px; top:48px; width:95px; height:22px; background-image:../../../com/commonweb/images/tab_hide.gif; ">
  2943. <caption>혈당간호기록</caption>
  2944. <!--
  2945. <toggle case="case_rec" ev:event="onclick"/>
  2946. -->
  2947. <script type="javascript" ev:event="onclick">
  2948. <![CDATA[
  2949. if(model.getValue("/root/main/cond/bsonly") == "Y"){
  2950. model.toggle("case_rec");
  2951. swt_recprcp.refresh();
  2952. }else{
  2953. grd_bsreclist.attribute("width") = "989";
  2954. }
  2955. for (var i = 1; i<= getNodesetCount("/root/main_om/ominfo/prcpinfo/prcplist"); i++) {
  2956. model.resetInstanceNode("/root/main_om/ominfo/prcpinfo/prcplist[" + i + "]/chk");
  2957. }
  2958. model.refresh();
  2959. ]]>
  2960. </script>
  2961. </button>
  2962. <img id="img_tmp" style="left:0px; top:0px; width:0px; height:0px; background-stretch:stretch; "/>
  2963. <caption id="caption1" class="tit_2" style="left:5px; top:55px; width:113px; height:14px; background-image:../../../com/commonweb/images/tit_bullet2.gif; ">환자리스트</caption>
  2964. <line id="line1" class="line_1" style="x1:0px; y1:70px; x2:200px; y2:70px; "/>
  2965. <datagrid id="grd_wardpatlist" nodeset="/root/main/wardpatinfo/wardpatlist" allowselection="false" caption="병실^환자명^pid^indd^cretno^instcd^sexage^grupcd^BST^출력" colsep="^" colwidth="42, 66, 0, 0, 0, 0, 0, 0, 29, 30" ellipsis="true" explorerbar="sort" mergecells="bycol" rowheader="select" rowsep="|" tooltip="true" fixed.background-image="../../../com/commonweb/images/grid_bg.gif" style="left:0px; top:75px; width:200px; height:669px; ">
  2966. <col ref="roomcd"/>
  2967. <col ref="patnm"/>
  2968. <col ref="pid"/>
  2969. <col ref="indd"/>
  2970. <col ref="cretno"/>
  2971. <col ref="instcd"/>
  2972. <col ref="sexage"/>
  2973. <col ref="grupcd"/>
  2974. <col ref="bstyn" style="text-align:center; "/>
  2975. <col checkvalue="Y,N" ref="chkyn" type="checkbox"/>
  2976. <col ref="ordtype" visibility="hidden"/>
  2977. <col ref="orddeptcd" visibility="hidden"/>
  2978. <col ref="orddrid" visibility="hidden"/>
  2979. <col ref="chrgorddrid" visibility="hidden"/>
  2980. <col ref="indschacptstat" visibility="hidden"/>
  2981. <col ref="testref" visibility="hidden"/>
  2982. <script type="javascript" ev:event="ondblclick">
  2983. <![CDATA[
  2984. if( isDataCell() ) {
  2985. if(model.getValue("/root/main/wardpatinfo/wardpatlist[" + grd_wardpatlist.row + "]/pid") != model.getValue("/root/main/cond/pid")){ ////////////////20081230추가
  2986. model.setValue("/root/main/cond/patinhistcd", "");
  2987. }
  2988. fGetSelectdPatRecInfo();
  2989. }
  2990. ]]>
  2991. </script>
  2992. </datagrid>
  2993. <line id="line2" class="line_1" style="x1:204px; y1:70px; x2:721px; y2:70px; "/>
  2994. <button id="btn_omprcp" class="btn_sw" group="tab" select.background-image="../../../com/commonweb/images/tab_show.gif" style="left:819px; top:48px; width:95px; height:22px; background-image:../../../com/commonweb/images/tab_hide.gif; ">
  2995. <caption>의사처방조회</caption>
  2996. <toggle case="case_prcp" ev:event="onclick"/>
  2997. <script type="javascript" ev:event="onclick">
  2998. <![CDATA[
  2999. grd_bsreclist.attribute("width") = "518";
  3000. fGetPrcpddInfo();
  3001. ]]>
  3002. </script>
  3003. </button>
  3004. <switch id="swt_recprcp" style="left:724px; top:70px; width:470px; height:674px; border-color:#c7a3cf; border-width:0; border-left-width:0; border-top-width:0; border-right-width:0; border-bottom-width:0; ">
  3005. <case id="case_rec" selected="true">
  3006. <line id="line4" class="line_1" style="x1:0px; y1:0px; x2:469px; y2:0px; "/>
  3007. <datagrid id="grd_carerecspec" nodeset="/root/main/nursingrecordinfo/nursingrecordlist" autoresize="true" backcoloralternate="#ffffff" caption="기록일자^기록일자^기록시간^DNAR^간호기록^P^작성자^stmtcd^origincd^recoriginflag^carerecno^recflag^reclnkkey^interprecyn^fstrgstrid^certselyn^recverno^dnarflag" colsep="^" colwidth="0, 67, 54, 42, 209, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0" mergecellsfixedrows="bycolrec" rowsep="|" fixed.background-image="../../../com/commonweb/images/grid_bg.gif" style="left:0px; top:5px; width:469px; height:669px; ">
  3008. <col ref="recdd" format="yyyy-mm-dd" style="text-align:center; vertical-align:middle; "/>
  3009. <col ref="recdd" format="yyyy-mm-dd"/>
  3010. <col ref="rectm" format="hh:nn" style="text-align:center; vertical-align:middle; "/>
  3011. <col disabled="true" ref="dnar" type="combo" style="text-align:center; vertical-align:middle; ">
  3012. <choices>
  3013. <itemset nodeset="/root/init/dnarinfo/dnarflagnurs/itemset">
  3014. <label ref="itemnm"/>
  3015. <value ref="itemcd"/>
  3016. </itemset>
  3017. </choices>
  3018. </col>
  3019. <col editable="false" ref="stmtspec" type="input"/>
  3020. <col ref="signno" visibility="hidden"/>
  3021. <col ref="fstrgstrnm" style="text-align:center; "/>
  3022. <col ref="stmtcd"/>
  3023. <col ref="origincd"/>
  3024. <col ref="recoriginflag"/>
  3025. <col ref="carerecno"/>
  3026. <col ref="recflag"/>
  3027. <col ref="reclnkkey"/>
  3028. <col ref="interprecyn"/>
  3029. <col ref="fstrgstrid"/>
  3030. <col ref="certselyn"/>
  3031. <col ref="recverno"/>
  3032. <col ref="dnarflag"/>
  3033. </datagrid>
  3034. </case>
  3035. <case id="case_prcp">
  3036. <line id="line5" class="line_1" style="x1:85px; y1:0px; x2:469px; y2:0px; "/>
  3037. <datagrid id="grd_prcpappddlist" nodeset="/root/main_om/ominfo/prcpddinfo/prcpappddlist" class="datagrid2" allowselection="false" caption="처방적용일" colsep="^" colwidth="82" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowsep="|" fixed.background-image="../../../com/commonweb/images/grid_bg.gif" style="left:0px; top:5px; width:84px; height:669px; ">
  3038. <col ref="prcphopedd" format="yyyy/mm/dd" style="text-align:center; "/>
  3039. <script type="javascript" ev:event="ondblclick">
  3040. <![CDATA[
  3041. //처방조회, 그리드 이동
  3042. if( isDataCell() ) {
  3043. model.removenode("/root/send");
  3044. model.makeValue("/root/send/pid", model.getValue("/root/main/cond/pid"));
  3045. model.makeValue("/root/send/indd", model.getValue("/root/main/cond/indd"));
  3046. model.makeValue("/root/send/cretno", model.getValue("/root/main/cond/cretno"));
  3047. model.makeValue("/root/send/instcd", model.getValue("/root/main/cond/instcd"));
  3048. model.makeValue("/root/send/prcpdd", model.getValue("/root/main_om/ominfo/prcpddinfo/prcpappddlist["+grd_prcpappddlist.row+"]/prcphopedd"));
  3049. model.makeValue("/root/send/cnfmyn", "Y");
  3050. model.makeValue("/root/send/prnstat", "0");
  3051. model.makeValue("/root/send/sortcond", "1");
  3052. model.makeValue("/root/send/tmsortcond", "1");
  3053. model.makeValue("/root/send/opprcpcond", "1");
  3054. //환자별 처방적용일 조회
  3055. submit("TRMNR02506");
  3056. var bfprcpclscd = "";
  3057. var bfflag = "";
  3058. var bfprcpkindcd = "";
  3059. var bfprcpkindnm = "";
  3060. var bfsortdt = "";
  3061. var prestprcpclscd = "";
  3062. var prestflag = "";
  3063. var prestprcpkindcd = "";
  3064. var prestprcpkindnm = "";
  3065. var prestsortdt = "";
  3066. var presttootfact = "";
  3067. model.makeNode("/root/main_om/ominfo/tempprcpinfo");
  3068. for(var i=1, j=1; i <= getNodesetCount("/root/main_om/ominfo/prcpinfo/prcplist"); i++, j++) {
  3069. prestprcpclscd = model.getValue("/root/main_om/ominfo/prcpinfo/prcplist["+ i +"]/prcpclscd");
  3070. prestflag = model.getValue("/root/main_om/ominfo/prcpinfo/prcplist["+ i +"]/flag");
  3071. prestprcpkindcd = model.getValue("/root/main_om/ominfo/prcpinfo/prcplist["+ i +"]/nmprcpkindcd");
  3072. prestprcpkindnm = model.getValue("/root/main_om/ominfo/prcpinfo/prcplist["+ i +"]/nmprcpkindnm");
  3073. prestsortdt = model.getValue("/root/main_om/ominfo/prcpinfo/prcplist["+ i +"]/sortdt");
  3074. presttootfact = model.getValue("/root/main_om/ominfo/prcpinfo/prcplist["+ i +"]/tootfact");
  3075. if(prestprcpclscd.charAt(0) != "A" && prestprcpclscd != "B4" && prestprcpclscd != "M2" && prestprcpclscd != "H4") { // 약주사 및 수혈, 재료(재료처방일 경우 abbrnm에 allsize 규격 보여줌), 처치
  3076. if ((prestprcpclscd == "B2" || prestprcpclscd == "B6") && presttootfact != '-') { //연속검사일 경우, 재료처방일 경우 allsize 규격 보여줌
  3077. model.setValue("/root/main_om/ominfo/prcpinfo/prcplist["+ i +"]/prcpvol", presttootfact);
  3078. } else {
  3079. model.setValue("/root/main_om/ominfo/prcpinfo/prcplist["+ i +"]/prcpvol", "");
  3080. }
  3081. model.setValue("/root/main_om/ominfo/prcpinfo/prcplist["+ i +"]/prcpvolunitflag", "");
  3082. model.setValue("/root/main_om/ominfo/prcpinfo/prcplist["+ i +"]/prcpqty", "");
  3083. model.setValue("/root/main_om/ominfo/prcpinfo/prcplist["+ i +"]/prcpqtyunitflag", "");
  3084. model.setValue("/root/main_om/ominfo/prcpinfo/prcplist["+ i +"]/prcptims", "");
  3085. model.setValue("/root/main_om/ominfo/prcpinfo/prcplist["+ i +"]/prcpdayno", "");
  3086. if (prestprcpclscd != "B2" && prestprcpclscd != "B6" && prestprcpclscd != "D2") { //진검시 검체명 표시 (진검, 핵의학검체, 병리)
  3087. model.setValue("/root/main_om/ominfo/prcpinfo/prcplist["+ i +"]/abbrnm", "");
  3088. }
  3089. }
  3090. if(bfprcpkindcd != prestprcpkindcd || bfsortdt != prestsortdt) {
  3091. model.duplicate("/root/main_om/ominfo/tempprcpinfo", "/root/main_om/ominfo/prcpinfo/prcplist["+ i +"]");
  3092. var node = model.instance1.selectSingleNode("/root/main_om/ominfo/tempprcpinfo/prcplist["+ j +"]");
  3093. var childNodeList = node.childNodes;
  3094. var childNode;
  3095. while( childNode = childNodeList.nextNode() ) {
  3096. childNode.value ="";
  3097. }
  3098. //처방구분해더 생성
  3099. model.setValue("/root/main_om/ominfo/tempprcpinfo/prcplist["+ j +"]/flag", prestprcpkindnm + " " + prestsortdt);
  3100. //생성된해더 구분
  3101. model.setValue("/root/main_om/ominfo/tempprcpinfo/prcplist["+ j +"]/prcpkindnm", "H");
  3102. model.duplicate("/root/main_om/ominfo/tempprcpinfo", "/root/main_om/ominfo/prcpinfo/prcplist["+ i +"]");
  3103. j++;
  3104. } else {
  3105. model.duplicate("/root/main_om/ominfo/tempprcpinfo", "/root/main_om/ominfo/prcpinfo/prcplist["+ i +"]");
  3106. }
  3107. if(bfflag == prestflag && bfprcpkindcd == prestprcpkindcd && bfsortdt == prestsortdt) {
  3108. model.setValue("/root/main_om/ominfo/tempprcpinfo/prcplist["+ j +"]/flag", "");
  3109. }
  3110. bfprcpclscd = prestprcpclscd;
  3111. bfflag = prestflag;
  3112. bfprcpkindcd = prestprcpkindcd;
  3113. bfprcpkindnm = prestprcpkindnm;
  3114. bfsortdt = prestsortdt;
  3115. }
  3116. grd_omprcplist.rebuildStyle();
  3117. grd_omprcplist.rebuild();
  3118. model.copyNode("/root/main_om/ominfo/prcpinfo","/root/main_om/ominfo/tempprcpinfo");
  3119. model.removeNodeset("/root/main_om/ominfo/tempprcpinfo");
  3120. model.refresh();
  3121. for(var i=1; i < grd_omprcplist.rows; i++) {
  3122. if(grd_omprcplist.valueMatrix(i, grd_omprcplist.colRef("prcpkindnm")) == "H") { //prcpkindnm
  3123. grd_omprcplist.mergeByFree(i, 0, i, grd_omprcplist.colRef("prcpkindnm"));
  3124. grd_omprcplist.rowStyle(i, "data", "background-color") = "#EDE774";
  3125. grd_omprcplist.rowStyle(i, "data", "font-weight") = "bold";
  3126. } else {
  3127. //약/주사, 수혈, 재료/처치 처방이 아닐 경우 처방내역 머지
  3128. if(grd_omprcplist.valueMatrix(i, grd_omprcplist.colRef("prcpclscd")).charAt(0) != "A" && grd_omprcplist.valueMatrix(i, grd_omprcplist.colRef("prcpclscd")) != "B4"
  3129. && grd_omprcplist.valueMatrix(i, grd_omprcplist.colRef("prcpclscd")) != "M2" && grd_omprcplist.valueMatrix(i, grd_omprcplist.colRef("prcpclscd")) != "H4" ) {
  3130. if ((model.getValue("/root/main_om/ominfo/prcpinfo/prcplist["+i+"]/prcpclscd") == "B2" || model.getValue("/root/main_om/ominfo/prcpinfo/prcplist["+i+"]/prcpclscd") == "B6") && model.getValue("/root/main_om/ominfo/prcpinfo/prcplist["+i+"]/tootfact") != '-' ) { //연속검사일 경우
  3131. grd_omprcplist.mergeByFree(i, grd_omprcplist.colRef("prcpvol"), i, grd_omprcplist.colRef("prcpdayno"));
  3132. grd_omprcplist.cellStyle("text-align", i, grd_omprcplist.colRef("prcpvol")) = "left";
  3133. } else {
  3134. grd_omprcplist.mergeByFree(i, grd_omprcplist.colRef("prcpnm"), i, grd_omprcplist.colRef("prcpdayno"));
  3135. }
  3136. }
  3137. //D/C 처방일 경우 텍스트 빨간색 (D/C처방 중 미확인된 처방은 빨간색 표시 안됨)
  3138. if (model.getValue("/root/main_om/ominfo/prcpinfo/prcplist["+i+"]/dccomcountyn") == "Y" &&
  3139. (model.getValue("/root/main_om/ominfo/prcpinfo/prcplist["+i+"]/dr") == "D/C" || model.getValue("/root/main_om/ominfo/prcpinfo/prcplist["+i+"]/dr") == "PRN D/C")) {
  3140. //grd_omprcplist.cellStyle("color", i, grd_omprcplist.colRef("dr"), i, grd_omprcplist.colRef("prcpexecdeptcd")) = "#FF0000";
  3141. if (model.getValue("/root/main_om/ominfo/prcpinfo/prcplist["+i+"]/prcphistcd") == "L") {
  3142. grd_omprcplist.cellStyle("color", i, grd_omprcplist.colRef("dr"), i, grd_omprcplist.colRef("prcpexecdeptcd")) = "#0000ff"; //'L'일 경우 파란색
  3143. } else {
  3144. grd_omprcplist.cellStyle("color", i, grd_omprcplist.colRef("dr"), i, grd_omprcplist.colRef("prcpexecdeptcd")) = "#FF0000";
  3145. }
  3146. }
  3147. //마약/항정약 일경우 볼드체
  3148. if(grd_omprcplist.valueMatrix(i, grd_omprcplist.colRef("spcldrug")) == "M" || grd_omprcplist.valueMatrix(i, grd_omprcplist.colRef("spcldrug")) == "H") { //M:마약, H:향정신성 spcldrug
  3149. grd_omprcplist.cellStyle("font-weight", i, grd_omprcplist.colRef("prcpnm"), i, grd_omprcplist.colRef("prcpnm")) = "bold";
  3150. }
  3151. }
  3152. }
  3153. }
  3154. ]]>
  3155. </script>
  3156. </datagrid>
  3157. <line id="line29" class="line_1" style="x1:0px; y1:0px; x2:84px; y2:0px; "/>
  3158. <datagrid id="grd_omprcplist" nodeset="/root/main_om/ominfo/prcpinfo/prcplist" class="datagrid2" allowbigselection="false" allowselection="false" caption="구분^Dr^간호^^Dr^간호^^처방코드^처방명[* : 혼동주의/고위험 약제]^1일&#xA;용량^단&#xA;위^1일&#xA;수량^단&#xA;위^1일&#xA;횟수^기간^용법/검체^급^remark^처방적용일^투약No^상태^투약확인^처방일시^처방확인일시^반환처방일시^반환처방확인일시^PRN발행일시^수행일시^시행부서^rsrvtm^spcldrug^prcpno^prcphistno^execprcpno^instcd^prcpstatcd^prcpclscd^prcpkindcd^prcpkindnm^nmprcpkindcd^nmprcpkindnm^hscttempprcpflag^hsctlnkno^hsctdelivepos^inclprcpcd^inclprcpno^prcpsetcd^etcprcpflag^erprcpflag^powdflag^precureprcpflag^prnprcpflag^careprnexecflag^powdimpsi^tootfact^prcpdd^dccomcountyn^dccountyn^sortdt^narcstat^prcphistcd^prcpflag^spcno^drugmthdspccd^flagchk^." colsep="^" colwidth="51, 40, 36, 25, 0, 0, 0, 72, 163, 40, 25, 30, 25, 30, 37, 61, 18, 45, 66, 0, 0, 0, 100, 0, 100, 0, 100, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10" ellipsis="true" mergecellsfixedrows="bycolrec" rowsep="|" tooltip="true" fixed.background-image="../../../com/commonweb/images/grid_bg.gif" style="left:85px; top:5px; width:384px; height:669px; ">
  3159. <col ref="flag"/>
  3160. <col ref="dr" style="text-align:left; "/>
  3161. <col ref="nursupdt"/>
  3162. <col ref="chk" type="checkbox"/>
  3163. <col ref="dr"/>
  3164. <col ref="nursupdt"/>
  3165. <col checkvalue="true,false" ref="chk" type="checkbox"/>
  3166. <col ref="prcpcd" style="left:111px; top:23px; width:72px; height:23px; text-align:left; border-right-width:0; "/>
  3167. <col ref="prcpnm" style="left:183px; top:23px; width:230px; height:23px; text-align:left; border-left-width:0; border-right-width:0; "/>
  3168. <col ref="prcpvol" style="text-align:right; border-left-width:0; border-right-width:0; "/>
  3169. <col ref="prcpvolunitflag" style="text-align:left; border-left-width:0; border-right-width:0; "/>
  3170. <col ref="prcpqty" style="text-align:right; border-left-width:0; border-right-width:0; "/>
  3171. <col ref="prcpqtyunitflag" style="text-align:left; border-left-width:0; border-right-width:0; "/>
  3172. <col ref="prcptims" style="text-align:left; border-left-width:0; border-right-width:0; "/>
  3173. <col ref="prcpdayno" style="border-left-width:0; border-right-width:0; "/>
  3174. <col ref="abbrnm" style="text-align:left; border-left-width:0; border-right-width:0; "/>
  3175. <col ref="payflagcd" style="text-align:left; border-left-width:0; border-right-width:0; "/>
  3176. <col ref="prcpdelivefact" style="border-left-width:0; "/>
  3177. <col ref="prcphopedd" format="yyyy/mm/dd"/>
  3178. <col ref="drugno" style="text-align:right; "/>
  3179. <col ref="prcpstat" style="text-align:left; "/>
  3180. <col ref="drugcnfm"/>
  3181. <col ref="prcpdt"/>
  3182. <col ref="carecnfmdt" style="left:769px; top:23px; width:100px; height:23px; "/>
  3183. <col ref="dcprcpdt"/>
  3184. <col ref="dcprcpcnfmdt"/>
  3185. <col ref="prnissdt"/>
  3186. <col ref="execdt"/>
  3187. <col ref="prcpexecdeptcd"/>
  3188. <col ref="rsrvdt"/>
  3189. <col ref="spcldrug"/>
  3190. <col ref="prcpno"/>
  3191. <col ref="prcphistno"/>
  3192. <col ref="execprcpno"/>
  3193. <col ref="instcd"/>
  3194. <col ref="prcpstatcd"/>
  3195. <col ref="prcpclscd"/>
  3196. <col ref="prcpkindcd"/>
  3197. <col ref="prcpkindnm"/>
  3198. <col ref="nmprcpkindcd"/>
  3199. <col ref="nmprcpkindnm"/>
  3200. <col ref="hscttempprcpflag"/>
  3201. <col ref="hsctlnkno"/>
  3202. <col ref="hsctdelivepos"/>
  3203. <col ref="inclprcpcd"/>
  3204. <col ref="inclprcpno"/>
  3205. <col ref="prcpsetcd"/>
  3206. <col ref="etcprcpflag"/>
  3207. <col ref="erprcpflag"/>
  3208. <col ref="powdflag"/>
  3209. <col ref="precureprcpflag"/>
  3210. <col ref="prnprcpflag"/>
  3211. <col ref="careprnexecflag"/>
  3212. <col ref="powdimpsi"/>
  3213. <col ref="tootfact"/>
  3214. <col ref="prcpdd"/>
  3215. <col ref="dccomcountyn"/>
  3216. <col ref="dccountyn"/>
  3217. <col ref="sortdt"/>
  3218. <col ref="narcstat"/>
  3219. <col ref="prcphistcd"/>
  3220. <col ref="prcpflag"/>
  3221. <col ref="spcno"/>
  3222. <col ref="drugmthdspccd"/>
  3223. <col ref="flagchk"/>
  3224. <col/>
  3225. </datagrid>
  3226. </case>
  3227. <case id="case_issprcp">
  3228. <line id="line6" class="line_1" style="x1:0px; y1:0px; x2:469px; y2:0px; "/>
  3229. <datagrid id="grd_prcplist" nodeset="/root/main/prcp/prcplist" backcoloralternate="#ffffff" caption="^종류^처방코드^처방명^희망일자" colsep="^" colwidth="37, 45, 78, 216, 87" ellipsis="true" mergecellsfixedrows="bycolrec" rowsep="|" tooltip="true" fixed.background-image="../../../com/commonweb/images/grid_bg.gif" style="left:0px; top:5px; width:469px; height:669px; ">
  3230. <col disabled="true" ref="status" type="combo" style="text-align:center; ">
  3231. <choices>
  3232. <item>
  3233. <label>신규</label>
  3234. <value>I</value>
  3235. </item>
  3236. <item>
  3237. <label>D/C</label>
  3238. <value>D</value>
  3239. </item>
  3240. </choices>
  3241. </col>
  3242. <col disabled="true" ref="prcpkindcd" type="combo" style="text-align:center; vertical-align:middle; ">
  3243. <choices>
  3244. <itemset nodeset="/root/init/prcpkindcd/M0003">
  3245. <label ref="cdnm"/>
  3246. <value ref="cdid"/>
  3247. </itemset>
  3248. </choices>
  3249. </col>
  3250. <col ref="prcpcd"/>
  3251. <col ref="prcpnm" type="input" style="text-align:left; "/>
  3252. <col ref="prcphopedd" type="inputdate" style="text-align:center; "/>
  3253. <script type="javascript" ev:event="DOMFocusOut">
  3254. <![CDATA[
  3255. initPopupMenu();
  3256. ]]>
  3257. </script>
  3258. <script type="javascript" ev:event="onmousedown">
  3259. <![CDATA[
  3260. setPopupMenu("grd_prcplist", false, "/root/main/popupmenu/issprcppop/item", "name", "func");
  3261. ]]>
  3262. </script>
  3263. <script type="javascript" ev:event="onentercell">
  3264. <![CDATA[
  3265. if(grd_prcplist.col == grd_prcplist.colRef("prcpnm")){
  3266. grd_prcplist.editCell();
  3267. }
  3268. ]]>
  3269. </script>
  3270. <script type="javascript" ev:event="onmouseup">
  3271. <![CDATA[
  3272. if ( grd_prcplist.selectedRows > 1 ) {
  3273. grd_prcplist.editCell();
  3274. }
  3275. ]]>
  3276. </script>
  3277. <script type="javascript" ev:event="onendedit">
  3278. <![CDATA[
  3279. var currow = grd_prcplist.row;
  3280. var selectedRows = grd_prcplist.selectedRows;
  3281. if ( grd_prcplist.col == grd_prcplist.colref("prcphopedd") ) {
  3282. /*
  3283. var selectedRows = grd_prcplist.selectedRows;
  3284. var cnt = 0;
  3285. for ( var j=0; j < selectedRows; j++ ){
  3286. if ( grd_prcplist.row == grd_prcplist.selectedrow(j) ) {
  3287. cnt++;
  3288. break;
  3289. }
  3290. }
  3291. if ( cnt < 1) {
  3292. return;
  3293. }
  3294. */
  3295. var prcphopedd = model.getValue("/root/main/prcp/prcplist[" + grd_prcplist.row + "]/prcphopedd");
  3296. if(prcphopedd < getCurrentDate()){
  3297. messageBox("과거일자는 입력할 수 없습니다.", "I");
  3298. }
  3299. for ( var i = 0; i < selectedRows; i++ ){
  3300. if(prcphopedd < getCurrentDate()){
  3301. model.setValue ( "/root/main/prcp/prcplist[" + grd_prcplist.selectedrow(i) + "]/prcphopedd", getCurrentDate());
  3302. }else{
  3303. model.setValue ( "/root/main/prcp/prcplist[" + grd_prcplist.selectedrow(i) + "]/prcphopedd", prcphopedd );
  3304. }
  3305. }
  3306. grd_prcplist.rebuild();
  3307. grd_prcplist.row = currow;
  3308. grd_prcplist.col = grd_prcplist.colref("prcphopedd");
  3309. grd_prcplist.editCell();
  3310. }
  3311. // grd_prcplist.refresh();
  3312. ]]>
  3313. </script>
  3314. <script type="javascript" ev:event="xforms-value-changed">
  3315. <![CDATA[
  3316. if ( grd_prcplist.col == grd_prcplist.colref("prcphopedd") ) {
  3317. var prcphopedd = model.getValue("/root/main/prcp/prcplist[" + grd_prcplist.row + "]/prcphopedd");
  3318. if(prcphopedd < getCurrentDate()){
  3319. messageBox("과거일자는 입력할 수 없습니다.", "I");
  3320. model.setValue ( "/root/main/prcp/prcplist[" + grd_prcplist.row + "]/prcphopedd", getCurrentDate());
  3321. }
  3322. grd_prcplist.refresh();
  3323. }
  3324. ]]>
  3325. </script>
  3326. <script type="javascript" ev:event="onkeydown">
  3327. <![CDATA[
  3328. if ( event.keycode == 45 ) { //insert
  3329. model.setfocus( "grd_prcplist" );
  3330. }else if( event.keycode == 46 ) { //delete
  3331. if(grd_prcplist.col != grd_prcplist.colRef("prcpnm")){
  3332. for (i = 0; i < grd_prcplist.selectedRows; i++) {
  3333. model.setValue("/root/main/prcp/prcplist[" + grd_prcplist.selectedRow(i) + "]/status", 'D');
  3334. }
  3335. for (i = 1; i <= getNodesetCount("/root/main/prcp/prcplist"); i++) {
  3336. if (model.getValue("/root/main/prcp/prcplist[" + i + "]/status") == 'D') {
  3337. grd_prcplist.deleteRow(i, false);
  3338. i--;
  3339. }
  3340. }
  3341. }
  3342. }
  3343. model.refresh();
  3344. ]]>
  3345. </script>
  3346. <script type="javascript" ev:event="onkeyup">
  3347. <![CDATA[
  3348. if ( event.keycode == 45 ) {
  3349. fAddDoctorPrcp();
  3350. }
  3351. ]]>
  3352. </script>
  3353. </datagrid>
  3354. </case>
  3355. <case id="case_bfprcp">
  3356. <datagrid id="grd_bfprcplist" nodeset="/root/main/bfprcp/prcplist" backcoloralternate="#ffffff" caption="^종류^처방일자^처방명^희망일자^등록자" colsep="^" colwidth="32, 41, 68, 193, 68, 59" ellipsis="true" mergecellsfixedrows="bycolrec" rowsep="|" tooltip="true" fixed.background-image="../../../com/commonweb/images/grid_bg.gif" style="left:0px; top:5px; width:469px; height:669px; ">
  3357. <col disabled="true" ref="status" type="combo" style="text-align:center; ">
  3358. <choices>
  3359. <item>
  3360. <label>-</label>
  3361. <value>-</value>
  3362. </item>
  3363. <item>
  3364. <label>D/C</label>
  3365. <value>D</value>
  3366. </item>
  3367. </choices>
  3368. </col>
  3369. <col disabled="true" ref="prcpkindcd" type="combo" style="text-align:center; vertical-align:middle; ">
  3370. <choices>
  3371. <itemset nodeset="/root/init/prcpkindcd/M0003">
  3372. <label ref="cdnm"/>
  3373. <value ref="cdid"/>
  3374. </itemset>
  3375. </choices>
  3376. </col>
  3377. <col ref="prcpdd" format="yyyy-mm-dd" style="text-align:center; "/>
  3378. <col ref="prcpnm" style="text-align:left; "/>
  3379. <col ref="prcphopedd" format="yyyy-mm-dd" style="text-align:center; "/>
  3380. <col ref="rgstrnm" style="text-align:center; "/>
  3381. <script type="javascript" ev:event="DOMFocusOut">
  3382. <![CDATA[
  3383. initPopupMenu();
  3384. ]]>
  3385. </script>
  3386. <script type="javascript" ev:event="onmousedown">
  3387. <![CDATA[
  3388. setPopupMenu("grd_bfprcplist", false, "/root/main/popupmenu/bfprcppop/item", "name", "func");
  3389. ]]>
  3390. </script>
  3391. </datagrid>
  3392. <line id="line7" class="line_1" style="x1:0px; y1:0px; x2:469px; y2:0px; "/>
  3393. </case>
  3394. </switch>
  3395. <button id="btn_save" class="btn5_letter4" disable.background-image="../../../com/commonweb/images/dis_btn5_letter4.gif" style="left:657px; top:50px; width:64px; height:19px; background-image:../../../com/commonweb/images/btn5_letter4.gif; ">
  3396. <caption>인증저장</caption>
  3397. <script type="javascript" ev:event="onclick">
  3398. <![CDATA[
  3399. if(model.getValue("/root/main/cond/pid") == "등록번호" || model.getValue("/root/main/cond/pid") == "" ) {
  3400. messageBox("환자가 선택되지 않았습니다.", "I");
  3401. return;
  3402. }
  3403. if(model.getValue("/root/main/bsrecinfo/bsreclist/recdd") == "" && model.getValue("/root/main/nursingrecordinfo/nursingrecordlist/recdd") == ""){
  3404. messageBox("저장할 내용이 없습니다.", "I");
  3405. return;
  3406. }
  3407. var curtm = getCurrentTime().substr(0,4);
  3408. var isnumcnt = 0;
  3409. //처방발행정보
  3410. var msgyn = "N";
  3411. for (i = 1; i <= getNodesetCount("/root/main/bsrecinfo/bsreclist"); i++) {
  3412. var prcpyn = model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/prcpyn");
  3413. var prcpissflag = model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/prcpissflag");
  3414. var recdd = model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/recdd");
  3415. var rectm = model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/rectm");
  3416. var recrslt = model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/recrslt");
  3417. var refflag = model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/refflag");
  3418. var drugprcpyn = model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/drugprcpyn");
  3419. var drugprcpissflag = model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/drugprcpissflag");
  3420. var lnkrecyn = model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/lnkrecyn");
  3421. var bfrecrslt = model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/bfrecrslt");
  3422. var prcpnm = model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/prcpnm");
  3423. var prcpvol = model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/prcpvol");
  3424. if(refflag != "C"){
  3425. if(rectm.length != 4){
  3426. messageBox("시간을 정확히 입력하세요.(네자리)", "I");
  3427. return;
  3428. }
  3429. if(trim(recrslt) == ""){
  3430. messageBox("입력하지 않은 결과값이 있습니다.", "I");
  3431. return;
  3432. }
  3433. if(prcpnm!= "" && trim(prcpvol) == ""){
  3434. messageBox("1회용량을 입력하세요.(처방명을 입력한 경우 1회용량은 필수입력 항목입니다.)", "I");
  3435. return;
  3436. }
  3437. if( (bfrecrslt=="" || recrslt != bfrecrslt) && (isNumber(recrslt) == false && recrslt != '-')){
  3438. recrslt = "-";
  3439. model.setValue("/root/main/bsrecinfo/bsreclist[" + i + "]/recrslt",'-');
  3440. isnumcnt++;
  3441. }
  3442. //같은 기록일시 입력할 수 없음
  3443. for (k = 1; k <= getNodesetCount("/root/main/bsrecinfo/bsreclist"); k++) {
  3444. if(i != k){
  3445. var krefflag = model.getValue("/root/main/bsrecinfo/bsreclist[" + k + "]/refflag");
  3446. var krecdd = model.getValue("/root/main/bsrecinfo/bsreclist[" + k + "]/recdd");
  3447. var krectm = model.getValue("/root/main/bsrecinfo/bsreclist[" + k + "]/rectm");
  3448. if(krefflag != "C" && recdd == krecdd && rectm == krectm){
  3449. messageBox("같은 기록일시의 정보가 있습니다.", "I");
  3450. return;
  3451. }
  3452. }
  3453. }
  3454. if((prcpyn == "true" && prcpissflag != "true") || (drugprcpyn == "true" && drugprcpissflag != "true") ){
  3455. //이전기록에 대해서 처방발행할 수 없음
  3456. var recdt = recdd + rectm;
  3457. var curdt = getCurrentDate() + getCurrentTime().substring(0,4);
  3458. if(recdt > curdt){
  3459. messageBox("미래기록에 대해서는 처방을 발행할 수 없습니다.", "I");
  3460. return;
  3461. }
  3462. msgyn = "Y";
  3463. }
  3464. }
  3465. }
  3466. if(isnumcnt > 0){
  3467. messageBox("숫자와 '-' 이외의 값은 '-'로 변경되어 저장됩니다.", "I");
  3468. }
  3469. if(msgyn == "Y"){
  3470. var rtn = messageBox("처방 발행이후에는 기록을 수정하거나 삭제할 수 없습니다."+ "\n" + "처방을 발행하려는 환자/검사시간/검사결과가 정확한지 확인하십시오."+ "\n" + "처방을", "Q002");
  3471. if (rtn == "6"){
  3472. //Sign.certreload = true ;
  3473. ViewFunc = "sign";
  3474. if (Sign.signprocess() == true){
  3475. fSetBSRecInfo();
  3476. }
  3477. }
  3478. }else{
  3479. //Sign.certreload = true ;
  3480. ViewFunc = "sign";
  3481. if (Sign.signprocess() == true){
  3482. fSetBSRecInfo();
  3483. }
  3484. }
  3485. ]]>
  3486. </script>
  3487. </button>
  3488. <button id="btn_refterm" class="btn2_letter2" disable.background-image="../../../com/commonweb/images/dis_btn2_letter4.gif" style="left:569px; top:50px; width:42px; height:19px; background-image:../../../com/commonweb/images/btn2_letter4.gif; ">
  3489. <caption>4일</caption>
  3490. <script type="javascript" ev:event="onclick">
  3491. <![CDATA[
  3492. var fromdd = model.getValue("/root/main/cond/orddd");
  3493. if (btn_refterm.attribute("text") == "4일") {
  3494. fromdd = fromdd.toDate().getAddDate(-3,"D").getDateFormat();
  3495. model.setValue("/root/main/cond/ordfromdd", fromdd);
  3496. btn_refterm.attribute("text") = "1일"
  3497. } else {
  3498. btn_refterm.attribute("text") = "4일"
  3499. }
  3500. model.setValue("/root/main/cond/ordfromdd", fromdd);
  3501. //혈당기록리스트 조회
  3502. //fGetBSRecList();
  3503. //간호일지 조회
  3504. //fGetNursingrRcordInfo();
  3505. //혈당기록&간호일지 조회
  3506. fGetBSNursingRecList();
  3507. //처방적용일 조회
  3508. fGetPrcpddInfo();
  3509. //지시처방 전처방 조회
  3510. fGetBfPrcpInfo();
  3511. ]]>
  3512. </script>
  3513. </button>
  3514. <button id="btn_type2" class="btn2_letter4" disable.background-image="../../../com/commonweb/images/dis_btn2_letter4.gif" style="left:1130px; top:50px; width:64px; height:19px; background-image:../../../com/commonweb/images/btn2_letter4.gif; ">
  3515. <caption>TYPE II</caption>
  3516. <script type="javascript" ev:event="onclick">
  3517. <![CDATA[
  3518. var ParamBaseHeader = "recflag▦dutplaccd▦reclnkkey▩";
  3519. var ParamPrcpHeader = "prcpflag▦prcpnm▩";
  3520. var ParamBaseData = "";
  3521. var ParamPrcpData = "";
  3522. var prcpflag = "";
  3523. ParamBaseData += "B▦015▦"
  3524. + model.getValue("/root/main/cond/pid")
  3525. + "," + model.getValue("/root/main/cond/indd")
  3526. + "," + model.getValue("/root/main/cond/cretno")
  3527. + "," + model.getValue("/root/main/cond/instcd")
  3528. + "," + "B" + "," + "015"
  3529. + "▩";
  3530. for (var i = 1; i<= getNodesetCount("/root/main_om/ominfo/prcpinfo/prcplist"); i++) {
  3531. if (model.getValue("/root/main_om/ominfo/prcpinfo/prcplist[" + i + "]/chk") == "true" && model.getValue("/root/main_om/ominfo/prcpinfo/prcplist[" + i + "]/prcpkindnm") != "H" ) {
  3532. var prcpclscd = model.getValue("/root/main_om/ominfo/prcpinfo/prcplist[" + i + "]/prcpclscd");
  3533. var prcpnm;
  3534. //var prcpnm = model.getValue("/root/main_om/ominfo/prcpinfo/prcplist[" + i + "]/prcpnm");
  3535. //** 20080709수정 **//
  3536. // ① 투약 : 처방코드/처방명/일일용량/단위/일일수량/단위/일수/경로/용법
  3537. if ("A2" == prcpclscd || "A4" == prcpclscd || "A6" == prcpclscd) {
  3538. prcpflag = "A";
  3539. prcpnm = model.getValue("/root/main_om/ominfo/prcpinfo/prcplist[" + i + "]/prcpcd") +"/" // 처방코드
  3540. + model.getValue("/root/main_om/ominfo/prcpinfo/prcplist[" + i + "]/prcpnm") +"/" // 처방명
  3541. + model.getValue("/root/main_om/ominfo/prcpinfo/prcplist[" + i + "]/prcpvol")
  3542. + model.getValue("/root/main_om/ominfo/prcpinfo/prcplist[" + i + "]/prcpvolunitflag") +"/" // 일일용량+단위
  3543. + model.getValue("/root/main_om/ominfo/prcpinfo/prcplist[" + i + "]/prcpqty")
  3544. + model.getValue("/root/main_om/ominfo/prcpinfo/prcplist[" + i + "]/prcpqtyunitflag") +"/" // 일일수량+단위
  3545. + model.getValue("/root/main_om/ominfo/prcpinfo/prcplist[" + i + "]/prcpdayno") +"/" // 일수
  3546. + model.getValue("/root/main_om/ominfo/prcpinfo/prcplist[" + i + "]/abbrnm") +"/" // 경로+용법
  3547. ;
  3548. ParamPrcpData += prcpflag + "▦" + prcpnm + "▩";
  3549. }
  3550. // ② 처치 : 처방명/일일수량/Remark(의사처방의 remark)
  3551. else if ("H4" == prcpclscd || "F2" == prcpclscd || "G2" == prcpclscd) {
  3552. prcpflag = "H"; // H :처치
  3553. prcpnm = model.getValue("/root/main_om/ominfo/prcpinfo/prcplist[" + i + "]/prcpnm") +"/" // 처방명
  3554. + model.getValue("/root/main_om/ominfo/prcpinfo/prcplist[" + i + "]/prcpqty")
  3555. + model.getValue("/root/main_om/ominfo/prcpinfo/prcplist[" + i + "]/prcpqtyunitflag") // 일일수량+단위
  3556. // +"/" + model.getValue("/root/main_om/ominfo/prcpinfo/prcplist[" + i + "]/prcpdelivefact") // Remark
  3557. ;
  3558. ParamPrcpData += prcpflag + "▦" + prcpnm + "▩";
  3559. }
  3560. // ③ 검사 : 처방명/일일수량/Remark(의사처방의 remark) B2:진검, B4:수혈, B6:핵의학검체, C2:영상, C4:ANGIO, C6:핵의학영상(체내), D2: 병리, E2:기능
  3561. else if("B2"== prcpclscd ||"B4"== prcpclscd ||"B6"== prcpclscd ||"C2"== prcpclscd ||"C4"== prcpclscd ||"C6"== prcpclscd ||"D2"== prcpclscd || "E2"== prcpclscd ){
  3562. prcpflag = "T"; // T :그외 검사
  3563. prcpnm = model.getValue("/root/main_om/ominfo/prcpinfo/prcplist[" + i + "]/prcpnm") +"/" // 처방명
  3564. + model.getValue("/root/main_om/ominfo/prcpinfo/prcplist[" + i + "]/prcpqty")
  3565. + model.getValue("/root/main_om/ominfo/prcpinfo/prcplist[" + i + "]/prcpqtyunitflag") // 일일수량+단위
  3566. // +"/" + model.getValue("/root/main_om/ominfo/prcpinfo/prcplist[" + i + "]/prcpdelivefact") // Remark
  3567. ;
  3568. ParamPrcpData += prcpflag + "▦" + prcpnm + "▩";
  3569. }
  3570. // ParamPrcpData += prcpflag + "▦" + prcpnm + "▩";
  3571. }
  3572. }
  3573. setParameter("SMMNR03400_ParamBase", ParamBaseHeader + ParamBaseData);
  3574. setParameter("SMMNR03400_ParamPrcp", ParamPrcpHeader + ParamPrcpData);
  3575. modal("SMMNR03400","1","15","128");
  3576. if ( getParameter("SMMNR03400_SignRecYN") == "Y" ){
  3577. model.makeValue("/root/main/cond/rectype2", "Y");
  3578. }
  3579. //간호일지 조회
  3580. //fGetNursingrRcordInfo();
  3581. model.toggle("case_rec"); //혈당기록조회 화면으로 변경
  3582. btn_carerec.dispatch("onclick");
  3583. //혈당기록&간호일지 조회
  3584. fGetBSNursingRecList();
  3585. ]]>
  3586. </script>
  3587. </button>
  3588. <select id="checkbox1" ref="/root/main/cond/bstyn" overflow="visible" appearance="full" style="left:91px; top:52px; width:55px; height:15px; border-style:none; ">
  3589. <choices>
  3590. <item>
  3591. <label>BST만</label>
  3592. <value>Y</value>
  3593. </item>
  3594. </choices>
  3595. <script type="javascript" ev:event="xforms-value-changed">
  3596. <![CDATA[
  3597. fGetWardPatList();
  3598. ]]>
  3599. </script>
  3600. </select>
  3601. <button id="btn_add" class="btn2_letter2" disable.background-image="../../../com/commonweb/images/dis_btn2_letter4.gif" style="left:613px; top:50px; width:42px; height:19px; background-image:../../../com/commonweb/images/btn2_letter4.gif; ">
  3602. <caption>추가</caption>
  3603. <script type="javascript" ev:event="onclick">
  3604. <![CDATA[
  3605. grd_bsreclist.mergeCells = "never";
  3606. if(model.getValue("/root/main/cond/pid") != "등록번호" && model.getValue("/root/main/cond/pid") != "" ) {
  3607. fAddRow();
  3608. } else {
  3609. messageBox("환자가 선택되지 않았습니다.", "I");
  3610. }
  3611. ]]>
  3612. </script>
  3613. </button>
  3614. <select1 id="rdo_srchflag" ref="/root/main/cond/srchflag" appearance="full" cols="2" overflow="visible" style="left:2px; top:21px; width:90px; height:19px; border-style:none; ">
  3615. <choices>
  3616. <item>
  3617. <label>병동</label>
  3618. <value>1</value>
  3619. </item>
  3620. <item>
  3621. <label>진료</label>
  3622. <value>2</value>
  3623. </item>
  3624. </choices>
  3625. <script type="javascript" ev:event="xforms-value-changed">
  3626. <![CDATA[
  3627. model.setValue("/root/main/cond/ordfromdd", getCurrentDate());
  3628. model.setValue("/root/main/cond/orddd", getCurrentDate());
  3629. btn_refterm.attribute("text") = "4일"
  3630. model.removeNodeset("/root/main/patinfo/patinhistinfo");
  3631. model.setValue("/root/main/cond/patinhistcd", "");
  3632. if(model.getValue("/root/main/cond/srchflag") == "1"){ //병동
  3633. if(model.getValue("/root/main/cond/userflag") == "1"){ //간호사
  3634. model.setValue("/root/main/cond/wardcd", getUserInfo("dutplcecd"));
  3635. model.setValue("/root/main/cond/settingrnid", "");
  3636. for(i = 1; i <= getNodesetCount("/root/init/wardinfo/settingrn"); i++ ) {
  3637. if (model.getValue("/root/main/cond/userid") == model.getValue("/root/init/wardinfo/settingrn["+ i +"]/settingrnid")) {
  3638. model.setValue("/root/main/cond/settingrnid", model.getValue("/root/main/cond/userid"));
  3639. }
  3640. }
  3641. }else{
  3642. model.setValue("/root/main/cond/wardcd", "");
  3643. model.setValue("/root/main/cond/settingrnid", "");
  3644. }
  3645. grp_ward.visible = true;
  3646. grp_ord.visible = false;
  3647. }else{ //진료
  3648. if(model.getValue("/root/main/cond/userflag") == "2"){ //의사
  3649. model.setValue("/root/main/cond/reforddeptcd", getUserInfo("dutplcecd"));
  3650. }else{
  3651. model.setValue("/root/main/cond/reforddeptcd", "");
  3652. model.setValue("/root/main/cond/medispclid", "");
  3653. model.setValue("/root/main/cond/atdoctid", "");
  3654. }
  3655. cmb_dept.dispatch("xforms-value-changed");
  3656. grp_ward.visible = false;
  3657. grp_ord.visible = true;
  3658. }
  3659. fChgBtnAble();
  3660. fGetWardPatList();
  3661. ]]>
  3662. </script>
  3663. </select1>
  3664. <button id="btn_issprcp" class="btn_sw" visibility="hidden" group="tab" select.background-image="../../../com/commonweb/images/tab_show.gif" style="left:914px; top:48px; width:95px; height:22px; background-image:../../../com/commonweb/images/tab_hide.gif; ">
  3665. <caption>지시처방 발행</caption>
  3666. <toggle case="case_issprcp" ev:event="onclick"/>
  3667. <script type="javascript" ev:event="onclick">
  3668. <![CDATA[
  3669. //grd_bsreclist.attribute("width") = "507";
  3670. model.setfocus( "grd_prcplist" );
  3671. if(model.getValue("/root/main/prcp/prcplist/status") == ""){
  3672. fAddDoctorPrcp();
  3673. }
  3674. ]]>
  3675. </script>
  3676. </button>
  3677. <button id="btn_doctorprcp" class="btn5_letter4" visibility="hidden" disable.background-image="../../../com/commonweb/images/dis_btn5_letter4.gif" style="left:1130px; top:30px; width:64px; height:19px; background-image:../../../com/commonweb/images/btn5_letter4.gif; ">
  3678. <caption>인증저장</caption>
  3679. <script type="javascript" ev:event="onclick">
  3680. <![CDATA[
  3681. var Flag = "";
  3682. if(swt_recprcp.selectedIndex == "2"){ //지시처방 발행
  3683. Flag = "ins";
  3684. }else if(swt_recprcp.selectedIndex == "3"){ //전처방 조회
  3685. Flag = "del";
  3686. }else{
  3687. return;
  3688. }
  3689. if(model.getValue("/root/main/cond/pid") == "등록번호" || model.getValue("/root/main/cond/pid") == "" ) {
  3690. messageBox("환자가 선택되지 않았습니다.", "I");
  3691. return;
  3692. }
  3693. if(Flag == "ins" && model.getValue("/root/main/prcp/prcplist/prcpnm") == ""){
  3694. messageBox("저장할 처방내역이 없습니다.", "I");
  3695. return;
  3696. }
  3697. if(Flag == "del" && grd_bfprcplist.findRow("D", 1, grd_bfprcplist.colRef("status")) == -1){
  3698. messageBox("삭제할 처방내역이 없습니다.", "I");
  3699. return;
  3700. }
  3701. model.removeNodeset("/root/send");
  3702. model.makeNode("/root/send/saveflaginfo"); //저장구분정보(saveFlagInfoVO)
  3703. model.makeNode("/root/send/savergstinfo"); //저장등록정보(saveRgstInfoVO)
  3704. model.makeNode("/root/send/saveprcpinfo"); //저장처방정보(savePrcpInfoVO)
  3705. model.makeNode("/root/send/savesigninfo"); //저장인증정보(saveSignInfoVO)
  3706. model.makeNode("/root/temp/result"); //에러 팝업
  3707. model.makeNode("/root/result"); //에러 팝업
  3708. var FlagInfoHeader = "savedataflag▦saveflag▦prcpflag▦inptflag▦pamflag▦diagflag▦prcperrflag▦deptcd▦deptnm▦userid▦usernm▦signyn▩";
  3709. var RgstInfoHeader = "pid▦orddd▦indd▦cretno▦orddeptcd▦orddrid▦instcd▦wardcd▦roomcd▩";
  3710. var PrcpInfoHeader = "status▦rowno▦prcpdd▦prcpno▦prcphistno▦instcd▦pid▦orddd▦cretno▦orddeptcd▦orddrid▦prcpgenrflag▦prcpflag▦prcpstatcd▦prcpkindcd▦prcpclscd▦prcphistcd▦prcpcd▦prcpnm▦calcscorcd▦inclprcpcd▦"
  3711. +"inclprcpno▦prcpexecdeptcd▦prcphopedd▦prcpvol▦prcpqty▦prcpqtyunitflag▦prcptims▦prcpdayno▦payflagcd▦erprcpflag▦precureprcpflag▦nigtprcpflag▦portprcpflag▦fixprcpflag▦"
  3712. +"choiordflag▦anamneflag▦prcpdirecflag▦angioflagcd▦opansflagcd▦ansttm▦offictourhealexamflag▦stemcellflag▦hosinhosoutflag▦hosinprcpresncd▦issdeptcd▦prcpauthflag▦"
  3713. +"prcpinptflag▦prcpsignflag▦oprsrvno▦clincstdyflag▦clincstdycd▦drugmthdspccd▦prcpdelivefact▦tootfact▦matrsetprcpspec▦calcflag▦rsrvflag▦rsrvdd▦rsrvtm▦rsrvrid▦execdd▦"
  3714. +"exectm▦execrid▦direcprcplnkdd▦direcprcplnkno▦ordreqlnkno▦testreqlnkno▦pampkspec▦prcppkspec▦etclnkspec▦selfdrugflag▩"; //▦selfdrugflag추가(20100528,cy)
  3715. /*
  3716. var SignInfoHeader = "signdd▦signno▦instcd▦pid▦orddd▦cretno▦signflag▦signgenrflag▦rgstdeptcd▦rgstdd▦rgsttm▦rgstrid▦updtdeptcd▦updtdd▦updttm▦updtrid▦fstrgstrid▦fstrgstdt▦lastupdtrid▦"
  3717. +"lastupdtdt▦signbfcnts▦signaftcnts▩";
  3718. */
  3719. var FlagInfoData = "";
  3720. var RgstInfoData = "";
  3721. var PrcpInfoData = "";
  3722. var SignInfoData = "";
  3723. var pid = model.getValue("/root/main/cond/pid");
  3724. var indd = model.getValue("/root/main/cond/indd");
  3725. var cretno = model.getValue("/root/main/cond/cretno");
  3726. var instcd = model.getValue("/root/main/cond/instcd");
  3727. var ordfromdd = model.getValue("/root/main/cond/ordfromdd");
  3728. var orddd = model.getValue("/root/main/cond/orddd");
  3729. var ordtype = model.getValue("/root/main/cond/ordtype");
  3730. var orddeptcd = model.getValue("/root/main/cond/orddeptcd");
  3731. var orddrid = model.getValue("/root/main/cond/orddrid");
  3732. var deptcd = getUserInfo("dutplcecd");
  3733. var deptnm = getUserInfo("dutplcenm");
  3734. //처방발행
  3735. //***** 저장구분정보(saveFlagInfoVO)
  3736. FlagInfoData = '2' +"▦" //저장자료구분 (2:처방)
  3737. + ordtype +"▦" //저장구분 (O:외래, I:입원, E:응급, S:건진)
  3738. + '0' +"▦" //처방구분(M0035 처방권한에 대한 구분종류)
  3739. + '0' +"▦" //입력구분(M0034 처방입력에 대한 구분종류)
  3740. + 'Y' +"▦" //원무정보 처리구분 (Y/N)
  3741. + 'N' +"▦" //진단정보 처리구분 (Y/N)
  3742. + 'Y' +"▦" //처방오류구분(Y/N) -> Y일 경우 의사처방과 동일하게 오류리스트를 반환, N이면 오류를 확인하지 않음
  3743. + deptcd +"▦" //부서코드 (입력자 또는 로그인한 사용자의 부서코드)
  3744. + deptnm +"▦" //부서명 (입력자 또는 로그인한 사용자의 부서명)
  3745. + getUserId() +"▦" //사용자ID (입력자 또는 로그인한 사용자ID)
  3746. + getUserName() +"▦" //사용자명 (입력자 또는 로그인한 사용자명)
  3747. + 'Y' +"▩"; //전자서명여부 (Y/N)
  3748. //***** 저장등록정보(saveRgstInfoVO)
  3749. RgstInfoData = pid +"▦"
  3750. + "-" +"▦"
  3751. + indd +"▦"
  3752. + cretno +"▦"
  3753. + orddeptcd +"▦"
  3754. + orddrid +"▦"
  3755. + instcd +"▦"
  3756. + model.getValue("/root/main/cond/wardcd") +"▦" //wardcd
  3757. + model.getValue("/root/main/cond/roomcd") +"▩"; //roomcd
  3758. //***** 저장처방정보(savePrcpInfoVO)
  3759. if(Flag == "ins" ){
  3760. var iRow = 1;
  3761. for (k = 1; k <= getNodesetCount("/root/main/prcp/prcplist")+1; k++) {
  3762. if(model.getValue("/root/main/prcp/prcplist[" + iRow + "]/prcpnm") == ""){
  3763. model.removeNodeset("/root/main/prcp/prcplist[" + iRow + "]");
  3764. iRow--;
  3765. }else{
  3766. PrcpInfoData += "I" +"▦" //신규(I), DC(C)
  3767. + iRow +"▦" //줄번호 (병리 요구)
  3768. + getCurrentDate() +"▦" //처방일자(외래/종건은 orddd와 동일, 입원은 처방일자)
  3769. + 0 +"▦" //처방번호 (status가 'I'일 경우 0)
  3770. + 0 +"▦" //처방이력번호 (status가 'I'일 경우 0)
  3771. + instcd +"▦" //기관코드
  3772. + pid +"▦" //등록번호(원무Key)
  3773. + indd +"▦" //진료일자(원무Key) - 입원환자일 경우 indd
  3774. + cretno +"▦" //생성번호(원무Key)
  3775. + orddeptcd +"▦" //진료과(원무)
  3776. + orddrid +"▦" //진료의ID(원무)
  3777. + ordtype +"▦" //처방발생구분(원무) - O:외래, I:입원, E:응급, S:건진
  3778. + '2' +"▦" //prcpflag
  3779. + '000' +"▦" //처방상태 : '000'
  3780. + '20' +"▦" //처방종류 : '20'
  3781. + '09' +"▦" //처방분류 : 지시
  3782. + 'O' +"▦" //prcphistcd
  3783. + model.getValue("/root/main/prcp/prcplist[" + iRow + "]/prcpcd") +"▦" //처방코드
  3784. + model.getValue("/root/main/prcp/prcplist[" + iRow + "]/prcpnm") +"▦" //prcpnm
  3785. + '-' +"▦" //수가코드
  3786. +"-" +"▦" //종속처방코드 ('-') => default : '-'
  3787. + 0 +"▦" //종속처방번호 (일련번호 - 종속처방코드별로 생성) => default : 0
  3788. + model.getValue("/root/main/patinfo/patinhistinfo/wardcd") +"▦" //처방실시부서코드 (수가의 접수부서를 넣어 주거나, 접수하는 부서코드, 없을 경우 '-'로 처리)
  3789. + model.getValue("/root/main/prcp/prcplist[" + iRow + "]/prcphopedd") +"▦" //처방희망일자 (처방일자 이전으로 발생불가)
  3790. + 1 +"▦" //prcpvol
  3791. + 1 +"▦" //처방수량 (1) (약품일 경우 반드시 포장단위 수량을 넣어 주어야 됨) => default : 1
  3792. + '-' +"▦" //처방수량단위 (약품일 경우 '3', 그렇지 않을경우 '-') => default : '-'
  3793. + 1 +"▦" //처방횟수 (1) (입원일 경우 횟수에 따라 풀림) => default : 1
  3794. + 1 +"▦" //처방일수 (1) (지원부서에서는 주사처방에 대하여 일수를 넣으면 안됨, 넣으면 자료가 문제가 생김) => default : 1
  3795. + '-' +"▦" //급여구분코드 (M0029 참조) -> '-'로 넣으주면 환자의 보험유형에 따라 자동 발생
  3796. + "N" +"▦" //응급처방구분 (Y/N) ==> default : 'N'
  3797. + "N" +"▦" //선처치처방구분 (Y/N) ==> default : 'N'
  3798. + "N" +"▦" //야간처방구분 (Y/N) : 야간가산에 해당 될 경우 ==> default : 'N'
  3799. + "N" +"▦" //포터블처방구분 (Y/N) ==> default : 'N'
  3800. + "N" +"▦" //정액처방구분 (Y/N) ==> default : 'N'
  3801. + "N" +"▦" //선택처방구분 (Y/N) -> 만약 '-'일 경우 원무정보 기준으로 처리 ==> default : 'N'
  3802. + "N" +"▦" //기왕력(증)구분 (Y/N) ==> default : 'N'
  3803. + "-" +"▦" //처방방향구분 (코드정의서 M0041 참조), 재활은 위치구분으로 사용 : '-' => default : '-'
  3804. + "-" +"▦" //Angio구분 (코드정의서 M0006 참조) : '-' => default : '-'
  3805. + "-" +"▦" //수술마취구분 (코드정의서 M0007, M0008 참조) : '-' => default : '-'
  3806. + "0000" +"▦" //마취처방에 대한 마취적용시간 - 분을 4자리로 표현, 연속검사 검사간격 => default : '0000'
  3807. + "N" +"▦" //출장검진구분 (Y/N) => default : 'N'
  3808. + "00NNN" +"▦" //'00NNN' 건진청구구분, 조혈모(줄기)세포 구분 - Stem Cell Source 여부 ,Cryo여부, CD34 채집여부, 해동여부의 조합으로 구성 => default : '00NNN'
  3809. + "-" +"▦" //원내외구분(건진은 'I', 약이 아닐경우 '-') => default : '-'
  3810. + "00" +"▦" //원내처방사유 (건진에 해당하는 사유 - 정의, 약이 아닐경우 '00') => default : '00'
  3811. + model.getValue("/root/main/patinfo/patinhistinfo/wardcd") +"▦" //발행부서코드 (집계가 타부서일 경우 타과코드, 입원은 기본이 병동) -> '-' 로 처리하면 자동 처리(기본은 처방입력부서이나 입원은 해당 병동으로 처리) => default : '-'
  3812. + "0" +"▦" //처방권한구분(0:의사처방화면, 1:의사및간호사공유처방, 2:순수간호처방, 3:지원부서의사처방, 4:기타처방 - 기타 지원부서 추가, 5:계산용원무처방, 6:건진처방 ==> 0,1만 의사처방화면에 보임, 단 3은 추후에 결정)
  3813. + "31" +"▦" //처방입력구분(저장구분정보의 inptflag와 동일하게 처리)
  3814. + "2" +"▦" //처방서명구분(0:인증안됨, 1:의사가 후인증, 2:인증완료) => default : '2'
  3815. + "-" +"▦" //수술예약번호(0) => default : '-'
  3816. + "N" +"▦" //임상연구구분 (Y/N)
  3817. + "-" +"▦" //임상연구코드 ('-') -> 임상연구구분이 'Y'일 경우 임상연구코드를 등록 => default : '-'
  3818. + '-' +"▦" //투여방법및검체코드(약일 경우 복용방법, 진검 및 병리일 경우 검체코드, Default '-') => default : '-'
  3819. + "-" +"▦" //처방전달사항
  3820. + "-" +"▦" //치식 (병리만 사용, 나머지는 '-') => default : '-'
  3821. + "-" +"▦" //재료처방내용 ('-') -> 추후정의
  3822. + "N" +"▦" //계산구분 (Y/N)
  3823. + "N" +"▦" //예약구분 (Y/N)
  3824. + "00000000" +"▦" //예약일자 ('N'일 경우 '00000000')
  3825. + "000000" +"▦" //예약시간 ('N'일 경우 '000000')
  3826. + "-" +"▦" //예약자ID ('-')
  3827. + '00000000' +"▦" //실시일자 ('00000000')
  3828. + '000000' +"▦" //실시시간 ('000000')
  3829. + '-' +"▦" //실시자ID ('-')
  3830. + '00000000' +"▦" //지시처방연계일자 (00000000) -> 지원부서에서 사용 - 원지시처방의 처방일자
  3831. + '0' +"▦" //지시처방연계번호 (0) -> 지원부서에서 사용 - 원지시처방의 실시처방유일번호
  3832. + '0' +"▦" //진료의뢰연계번호 (0)
  3833. + '0' +"▦" //검사의뢰연계번호 (0) -> 병리와 진단검사 사용 요
  3834. + pid + "|" + indd + "|" + cretno + "|" + orddeptcd + "|" + orddrid +"▦" //pampkspec
  3835. + getCurrentDate() + "|0|0|" + getUserInfo("dutplceinstcd") +"▦" //prcppkspec
  3836. + "-" +"▦" //etclnkspec
  3837. + 'N' +"▩" //selfdrugflag
  3838. }
  3839. iRow++;
  3840. }
  3841. }else if (Flag == "del"){
  3842. for (k = 1; k <= getNodesetCount("/root/main/bfprcp/prcplist"); k++) {
  3843. if(model.getValue("/root/main/bfprcp/prcplist[" + k + "]/status") == "D"){
  3844. PrcpInfoData += "C" +"▦" //신규(I), DC(C)
  3845. + k +"▦" //줄번호 (병리 요구)
  3846. + model.getValue("/root/main/bfprcp/prcplist[" + k + "]/prcpdd") +"▦" //처방일자(외래/종건은 orddd와 동일, 입원은 처방일자)
  3847. + model.getValue("/root/main/bfprcp/prcplist[" + k + "]/prcpno") +"▦" //처방번호 (status가 'I'일 경우 0)
  3848. + model.getValue("/root/main/bfprcp/prcplist[" + k + "]/prcphistno") +"▦" //처방이력번호 (status가 'I'일 경우 0)
  3849. + instcd +"▦" //기관코드
  3850. + pid +"▦" //등록번호(원무Key)
  3851. + indd +"▦" //진료일자(원무Key) - 입원환자일 경우 indd
  3852. + cretno +"▦" //생성번호(원무Key)
  3853. + orddeptcd +"▦" //진료과(원무)
  3854. + orddrid +"▦" //진료의ID(원무)
  3855. + ordtype +"▦" //처방발생구분(원무) - O:외래, I:입원, E:응급, S:건진
  3856. + '2' +"▦" //prcpflag
  3857. + '000' +"▦" //처방상태 : '000'
  3858. + '20' +"▦" //처방종류 : '20'
  3859. + '09' +"▦" //처방분류 : 지시
  3860. + 'O' +"▦" //prcphistcd
  3861. + model.getValue("/root/main/bfprcp/prcplist[" + k + "]/prcpcd") +"▦" //처방코드
  3862. + model.getValue("/root/main/bfprcp/prcplist[" + k + "]/prcpnm") +"▦" //prcpnm
  3863. + '-' +"▦" //수가코드
  3864. +"-" +"▦" //종속처방코드 ('-') => default : '-'
  3865. + 0 +"▦" //종속처방번호 (일련번호 - 종속처방코드별로 생성) => default : 0
  3866. + model.getValue("/root/main/patinfo/patinhistinfo/wardcd") +"▦" //처방실시부서코드 (수가의 접수부서를 넣어 주거나, 접수하는 부서코드, 없을 경우 '-'로 처리)
  3867. + model.getValue("/root/main/bfprcp/prcplist[" + k + "]/prcphopedd") +"▦" //처방희망일자 (처방일자 이전으로 발생불가)
  3868. + 1 +"▦" //prcpvol
  3869. + 1 +"▦" //처방수량 (1) (약품일 경우 반드시 포장단위 수량을 넣어 주어야 됨) => default : 1
  3870. + '-' +"▦" //처방수량단위 (약품일 경우 '3', 그렇지 않을경우 '-') => default : '-'
  3871. + 1 +"▦" //처방횟수 (1) (입원일 경우 횟수에 따라 풀림) => default : 1
  3872. + 1 +"▦" //처방일수 (1) (지원부서에서는 주사처방에 대하여 일수를 넣으면 안됨, 넣으면 자료가 문제가 생김) => default : 1
  3873. + '-' +"▦" //급여구분코드 (M0029 참조) -> '-'로 넣으주면 환자의 보험유형에 따라 자동 발생
  3874. + "N" +"▦" //응급처방구분 (Y/N) ==> default : 'N'
  3875. + "N" +"▦" //선처치처방구분 (Y/N) ==> default : 'N'
  3876. + "N" +"▦" //야간처방구분 (Y/N) : 야간가산에 해당 될 경우 ==> default : 'N'
  3877. + "N" +"▦" //포터블처방구분 (Y/N) ==> default : 'N'
  3878. + "N" +"▦" //정액처방구분 (Y/N) ==> default : 'N'
  3879. + "N" +"▦" //선택처방구분 (Y/N) -> 만약 '-'일 경우 원무정보 기준으로 처리 ==> default : 'N'
  3880. + "N" +"▦" //기왕력(증)구분 (Y/N) ==> default : 'N'
  3881. + "-" +"▦" //처방방향구분 (코드정의서 M0041 참조), 재활은 위치구분으로 사용 : '-' => default : '-'
  3882. + "-" +"▦" //Angio구분 (코드정의서 M0006 참조) : '-' => default : '-'
  3883. + "-" +"▦" //수술마취구분 (코드정의서 M0007, M0008 참조) : '-' => default : '-'
  3884. + "0000" +"▦" //마취처방에 대한 마취적용시간 - 분을 4자리로 표현, 연속검사 검사간격 => default : '0000'
  3885. + "N" +"▦" //출장검진구분 (Y/N) => default : 'N'
  3886. + "00NNN" +"▦" //'00NNN' 건진청구구분, 조혈모(줄기)세포 구분 - Stem Cell Source 여부 ,Cryo여부, CD34 채집여부, 해동여부의 조합으로 구성 => default : '00NNN'
  3887. + "-" +"▦" //원내외구분(건진은 'I', 약이 아닐경우 '-') => default : '-'
  3888. + "00" +"▦" //원내처방사유 (건진에 해당하는 사유 - 정의, 약이 아닐경우 '00') => default : '00'
  3889. + model.getValue("/root/main/patinfo/patinhistinfo/wardcd") +"▦" //발행부서코드 (집계가 타부서일 경우 타과코드, 입원은 기본이 병동) -> '-' 로 처리하면 자동 처리(기본은 처방입력부서이나 입원은 해당 병동으로 처리) => default : '-'
  3890. + "0" +"▦" //처방권한구분(0:의사처방화면, 1:의사및간호사공유처방, 2:순수간호처방, 3:지원부서의사처방, 4:기타처방 - 기타 지원부서 추가, 5:계산용원무처방, 6:건진처방 ==> 0,1만 의사처방화면에 보임, 단 3은 추후에 결정)
  3891. + "31" +"▦" //처방입력구분(저장구분정보의 inptflag와 동일하게 처리)
  3892. + "2" +"▦" //처방서명구분(0:인증안됨, 1:의사가 후인증, 2:인증완료) => default : '2'
  3893. + "-" +"▦" //수술예약번호(0) => default : '-'
  3894. + "N" +"▦" //임상연구구분 (Y/N)
  3895. + "-" +"▦" //임상연구코드 ('-') -> 임상연구구분이 'Y'일 경우 임상연구코드를 등록 => default : '-'
  3896. + '-' +"▦" //투여방법및검체코드(약일 경우 복용방법, 진검 및 병리일 경우 검체코드, Default '-') => default : '-'
  3897. + "-" +"▦" //처방전달사항
  3898. + "-" +"▦" //치식 (병리만 사용, 나머지는 '-') => default : '-'
  3899. + "-" +"▦" //재료처방내용 ('-') -> 추후정의
  3900. + "N" +"▦" //계산구분 (Y/N)
  3901. + "N" +"▦" //예약구분 (Y/N)
  3902. + "00000000" +"▦" //예약일자 ('N'일 경우 '00000000')
  3903. + "000000" +"▦" //예약시간 ('N'일 경우 '000000')
  3904. + "-" +"▦" //예약자ID ('-')
  3905. + '00000000' +"▦" //실시일자 ('00000000')
  3906. + '000000' +"▦" //실시시간 ('000000')
  3907. + '-' +"▦" //실시자ID ('-')
  3908. + '00000000' +"▦" //지시처방연계일자 (00000000) -> 지원부서에서 사용 - 원지시처방의 처방일자
  3909. + '0' +"▦" //지시처방연계번호 (0) -> 지원부서에서 사용 - 원지시처방의 실시처방유일번호
  3910. + '0' +"▦" //진료의뢰연계번호 (0)
  3911. + '0' +"▦" //검사의뢰연계번호 (0) -> 병리와 진단검사 사용 요
  3912. + model.getValue("/root/main/bfprcp/prcplist[" + k + "]/pampkspec") +"▦" //pampkspec
  3913. + model.getValue("/root/main/bfprcp/prcplist[" + k + "]/prcppkspec") +"▦" //prcppkspec
  3914. + "-" +"▦" //etclnkspec
  3915. + 'N' +"▩" //selfdrugflag
  3916. }
  3917. }
  3918. }
  3919. if (PrcpInfoData != "") {
  3920. //처방정보
  3921. model.setValue("/root/send/saveflaginfo", FlagInfoHeader+FlagInfoData);
  3922. model.setValue("/root/send/savergstinfo", RgstInfoHeader+RgstInfoData);
  3923. model.setValue("/root/send/saveprcpinfo", PrcpInfoHeader+PrcpInfoData);
  3924. //if(submit("TRMMO00104")){
  3925. if(submit("TRMNR02511")){
  3926. //오류팝업
  3927. var prcpErrList = model.instances(0).selectNodes( "/root/result/prcperrlist" );
  3928. if ( prcpErrList.length > 0 ) {
  3929. if ( !isNull(model.getValue ("/root/result/prcperrlist/prcpcd"))){
  3930. var xpt = window.screenleft + 100;
  3931. var ypt = window.screenTop + 50;
  3932. var coord = getRelativeCoordinate ( xpt, ypt );
  3933. var mon = coord[0];
  3934. xpt = coord[1];
  3935. ypt = coord[2];
  3936. open ( "SPMMO00600", mon, xpt, ypt, "prcpdetl", "/root/result", "/root/result", "", false );
  3937. model.removeNodeset("/root/result/prcperrlist");
  3938. }
  3939. } else {
  3940. var signbfcnts = model.getValue("/root/result/signprcplist/signprcp_signbfcnts");
  3941. var userid = getUserInfo("userid");
  3942. var signinfo = zesfSignData(signbfcnts, userid, true); // 항상 인증서 비밀번호 확인 설정(true)
  3943. if(signinfo == "" || signinfo == "-"){ //인증저장 취소
  3944. return;
  3945. }else{
  3946. model.setValue("/root/result/signprcplist/signprcp_signaftcnts", signinfo);
  3947. //var savesignlist = getNodeListCSV(model.instances(0).selectNodes("/root/result/signprcplist"));
  3948. // model.setValue("/root/send/saveflaginfo", FlagInfoHeader+FlagInfoData);
  3949. // model.setValue("/root/send/savergstinfo", RgstInfoHeader+RgstInfoData);
  3950. // model.setValue("/root/send/saveprcpinfo", PrcpInfoHeader+PrcpInfoData);
  3951. //model.setValue("/root/send/savesigninfo", savesignlist);
  3952. //처방구조 맞춰줌
  3953. model.removeNodeset("/root/send");
  3954. model.makeNode("/root/send/cond1");
  3955. model.makeNode("/root/send/cond2");
  3956. model.makeNode("/root/send/cond14");
  3957. /*
  3958. model.removeNodeset("/root/save");
  3959. model.makeNode("/root/save/saveflaginfo");
  3960. //처방 구조 맞춰주기 위해서 다시 cond1에 담음
  3961. model.makeValue ( "/root/save/saveflaginfo/savedataflag", '2' ); //저장자료구분 0:진단 및 처방, 1:진단, 2:처방, 4:임시저장
  3962. model.makeValue ( "/root/save/saveflaginfo/saveflag", ordtype); //저장구분 O:외래, I:입원, E:응급, S:건진
  3963. model.makeValue ( "/root/save/saveflaginfo/prcpflag", '0' ); //처방구분 0:의사처방, 2:간호, 3:지원부서, 5:Admission, 6:CP, 7:항암프로토콜, 8:임시처방
  3964. model.makeValue ( "/root/save/saveflaginfo/inptflag", '31' ); //입력구분 0:의사, 1:간호사(간호에서 사용), 3:지원부서 ////////////////// 0????????????
  3965. model.makeValue ( "/root/save/saveflaginfo/deptcd", getUserInfo("dutplcecd")); //부서코드
  3966. model.makeValue ( "/root/save/saveflaginfo/deptnm", getUserInfo("dutplcenm")); //부서명
  3967. model.makeValue ( "/root/save/saveflaginfo/userid", getUserInfo("userid")); //사용자ID
  3968. model.makeValue ( "/root/save/saveflaginfo/usernm", getUserInfo("usernm")); //사용자명
  3969. model.makeValue ( "/root/save/saveflaginfo/signyn", 'Y' );
  3970. model.makeValue ( "/root/save/saveflaginfo/prcpdd", getCurrentDate());
  3971. var saveFlagInfoNodeList = model.instances(0).selectNodes( "/root/save/saveflaginfo" );
  3972. model.setValue ( "/root/send/cond1", getNodeListCSV(saveFlagInfoNodeList));
  3973. */
  3974. model.setValue ( "/root/send/cond1", FlagInfoHeader+FlagInfoData);
  3975. model.setValue ( "/root/send/cond14", "");
  3976. fAppendSaveNode( "/root/send/cond2", "/root/result/signprcplist" ); //의사처방데이터
  3977. fAppendSaveNode( "/root/send/cond2", "/root/result/savedrprcplist" ); //의사처방데이터
  3978. fAppendSaveNode( "/root/send/cond2", "/root/result/saveexecprcplist" ); //실시처방 저장데이터
  3979. fAppendSaveNode( "/root/send/cond2", "/root/result/savediaglist" ); //진단저장 저장데이터
  3980. fAppendSaveNode( "/root/send/cond2", "/root/result/savepamlist" ); //원무정보 저장데이터
  3981. fAppendSaveNode( "/root/send/cond2", "/root/result/savematrprcplist" ); //재료처방정보 저장데이터
  3982. //if (submit("TXMMO00103", false)) {
  3983. if (submit("TXMNR02506", false)) {
  3984. //오류팝업
  3985. var prcpErrList = model.instances(0).selectNodes( "/root/temp/result/prcperrlist" );
  3986. if ( prcpErrList.length > 0 ) {
  3987. if ( !isNull(model.getValue ("/root/temp/result/prcperrlist/prcpcd"))){
  3988. var xpt = window.screenleft + 100;
  3989. var ypt = window.screenTop + 50;
  3990. var coord = getRelativeCoordinate ( xpt, ypt );
  3991. var mon = coord[0];
  3992. xpt = coord[1];
  3993. ypt = coord[2];
  3994. open ( "SPMMO00600", mon, xpt, ypt, "prcpdetl", "/root/temp/result", "/root/result", "", false );
  3995. model.removeNodeset("/root/temp/result/prcperrlist");
  3996. }
  3997. } else {
  3998. messageBox("처방이 저장되었습니다.", "I");
  3999. model.removeNodeset("/root/main/prcp");
  4000. model.toggle("case_bfprcp"); //전처방조회 화면으로 변경
  4001. btn_bfprcp.dispatch("onclick");
  4002. fGetBfPrcpInfo(); //전처방조회
  4003. }
  4004. }
  4005. model.refresh();
  4006. }
  4007. }
  4008. }
  4009. }
  4010. ]]>
  4011. </script>
  4012. </button>
  4013. <button id="btn_bfprcp" class="btn_sw" visibility="hidden" group="tab" select.background-image="../../../com/commonweb/images/tab_show.gif" style="left:1009px; top:48px; width:95px; height:22px; background-image:../../../com/commonweb/images/tab_hide.gif; ">
  4014. <caption>전처방조회</caption>
  4015. <toggle case="case_bfprcp" ev:event="onclick"/>
  4016. <script type="javascript" ev:event="onclick">
  4017. <![CDATA[
  4018. //grd_bsreclist.attribute("width") = "507";
  4019. fGetBfPrcpInfo();
  4020. ]]>
  4021. </script>
  4022. </button>
  4023. <select id="checkbox2" ref="/root/main/cond/bsonly" overflow="visible" appearance="full" style="left:445px; top:52px; width:70px; height:15px; border-style:none; ">
  4024. <choices>
  4025. <item>
  4026. <label>기본보기</label>
  4027. <value>Y</value>
  4028. </item>
  4029. </choices>
  4030. <script type="javascript" ev:event="xforms-value-changed">
  4031. <![CDATA[
  4032. //혈당기록&간호일지 조회
  4033. fGetBSNursingRecList();
  4034. ]]>
  4035. </script>
  4036. </select>
  4037. <import id="import1" visibility="hidden" src="SMMNR07900_혈당간호기록View용.xrw" style="left:740px; top:160px; width:135px; height:110px; ">
  4038. <script type="javascript" ev:event="ondblclick">
  4039. <![CDATA[
  4040. open("SMMNR07900_혈당간호기록View용.xrw");
  4041. ]]>
  4042. </script>
  4043. </import>
  4044. <object id="obj_bsrgraph" clsid="{fab9b41c-87d6-474d-ab7e-f07d78f2422e}" style="left:289px; top:75px; width:197px; height:669px; "/>
  4045. <datagrid id="grd_bsreclist" nodeset="/root/main/bsrecinfo/bsreclist" class="datagrid2" allowselection="false" backcoloralternate="#ffffff" caption="일자^그래프^삭제^시간^시간^결과&#xA;(mg/dL)^처방코드^처방명^처방명2^1회&#xA;용량(u)^1회&#xA;수량^약처방&#xA;발행^검사처방&#xA;발행^비고^기록&#xA;연동^signno^bfrectm^bfrecrslt^bfrem^prcpissflag^eqmtyn^suretestdt^carerecno^DNAR^혈당간호기록^작성자^caption1^caption2^caption3^caption4^caption5^caption6^caption7^refflag" colsep="^" colwidth="85, 196, 0, 42, 18, 52, 65, 223, 0, 50, 0, 60, 60, 100, 35, 0, 0, 0, 0, 0, 0, 0, 0, 50, 356, 90, 100, 100, 100, 100, 100, 100, 100, 0" ellipsis="true" mergecells="bycol" mergecellsfixedrows="byrow" rowsep="|" tooltip="true" fixed.background-image="../../../com/commonweb/images/grid_bg.gif" style="left:204px; top:75px; width:989px; height:669px; ">
  4046. <col editable="false" ref="recdd" type="inputdate" format="yyyy-mm-dd" style="text-align:center; vertical-align:top; "/>
  4047. <col ref="graph"/>
  4048. <col checkvalue="true,false" ref="delyn" type="checkbox"/>
  4049. <col ref="rectm" type="input" format="hh:nn" maxlength="4" style="text-align:center; border-right-color:transparent; border-right-width:0; "/>
  4050. <col ref="timeset" style="background-image:../../../com/commonweb/images/icon_clock.gif; background-position:center; border-left-color:transparent; border-left-width:0; "/>
  4051. <col ref="recrslt" type="input" style="text-align:center; "/>
  4052. <col ref="prcpcd" type="combo">
  4053. <!--EMR.MNWMACTB에 BASEFLAG='I'인 녀석을 가져옴 -->
  4054. <choices>
  4055. <itemset nodeset="/root/init/prcpinfolist/prcpinfo">
  4056. <label ref="prcpcd"/>
  4057. <value ref="prcpcd"/>
  4058. </itemset>
  4059. </choices>
  4060. </col>
  4061. <col ref="prcpnm" type="combo">
  4062. <!--EMR.MNWMACTB에 BASEFLAG='I'인 녀석을 가져옴 -->
  4063. <choices>
  4064. <itemset nodeset="/root/init/prcpinfolist/prcpinfo">
  4065. <label ref="prcpnm"/>
  4066. <value ref="prcpcd"/>
  4067. </itemset>
  4068. </choices>
  4069. </col>
  4070. <col ref="prcpnm2" visibility="hidden"/>
  4071. <col ref="prcpvol" type="input" style="text-align:center; "/>
  4072. <col ref="prcpqty" visibility="hidden" style="text-align:center; "/>
  4073. <col checkvalue="true,false" ref="drugprcpyn" type="checkbox"/>
  4074. <col checkvalue="true,false" ref="prcpyn" type="checkbox"/>
  4075. <col ref="rem" type="input" style="text-align:center; "/>
  4076. <col checkvalue="Y,N" ref="lnkrecyn" type="checkbox"/>
  4077. <col ref="signno"/>
  4078. <col ref="bfrectm" style="left:414px; top:23px; width:100px; height:23px; "/>
  4079. <col ref="bfrecrslt"/>
  4080. <col ref="bfrem"/>
  4081. <col ref="prcpissflag"/>
  4082. <col ref="eqmtyn"/>
  4083. <col ref="suretestdt"/>
  4084. <col ref="carerecno"/>
  4085. <col disabled="true" ref="dnar" type="combo" style="text-align:center; vertical-align:middle; ">
  4086. <choices>
  4087. <itemset nodeset="/root/init/dnarinfo/dnarflagnurs/itemset">
  4088. <label ref="itemnm"/>
  4089. <value ref="itemcd"/>
  4090. </itemset>
  4091. </choices>
  4092. </col>
  4093. <col ref="stmtspec"/>
  4094. <col ref="recnm" style="text-align:center; "/>
  4095. <col ref="prcpdd" visibility="hidden"/>
  4096. <col ref="prcpno" visibility="hidden"/>
  4097. <col ref="prcphistno" visibility="hidden"/>
  4098. <col ref="prcpdd2" visibility="hidden"/>
  4099. <col ref="prcpno2" visibility="hidden"/>
  4100. <col ref="prcphistno2" visibility="hidden"/>
  4101. <col ref="prcpstatcd" visibility="hidden"/>
  4102. <col ref="refflag"/>
  4103. <script type="javascript" ev:event="onentercell">
  4104. <![CDATA[
  4105. if(event.button != 3){
  4106. if (grd_bsreclist.col == grd_bsreclist.colRef("rectm") ){
  4107. if(model.getValue("/root/main/bsrecinfo/bsreclist[" + grd_bsreclist.row + "]/prcpissflag") == "true" || model.getValue("/root/main/bsrecinfo/bsreclist[" + grd_bsreclist.row + "]/drugprcpissflag") == "true"){
  4108. messageBox("처방 발행이후에는 기록을 수정할 수 없습니다.", "I");
  4109. return;
  4110. }
  4111. if(model.getValue("/root/main/bsrecinfo/bsreclist[" + grd_bsreclist.row + "]/eqmtyn") == "Y"){
  4112. messageBox("Interface된 기록은 수정할 수 없습니다.", "I");
  4113. return;
  4114. }
  4115. /*
  4116. //기록시간 수정불가
  4117. var rectm = model.getValue("/root/main/bsrecinfo/bsreclist[" + grd_bsreclist.row + "]/rectm");
  4118. var bfrectm = model.getValue("/root/main/bsrecinfo/bsreclist[" + grd_bsreclist.row + "]/bfrectm")
  4119. if(bfrectm != "" && rectm != bfrectm){
  4120. messageBox("저장된 기록시간은 수정할 수 없습니다.", "I");
  4121. model.setValue("/root/main/bsrecinfo/bsreclist[" + grd_bsreclist.row + "]/rectm", bfrectm);
  4122. model.refresh();
  4123. return;
  4124. }
  4125. */
  4126. }
  4127. if(grd_bsreclist.col == grd_bsreclist.colRef("recrslt")){
  4128. if(model.getValue("/root/main/bsrecinfo/bsreclist[" + grd_bsreclist.row + "]/prcpissflag") == "true" || model.getValue("/root/main/bsrecinfo/bsreclist[" + grd_bsreclist.row + "]/drugprcpissflag") == "true"){
  4129. messageBox("처방 발행이후에는 기록을 수정할 수 없습니다.", "I");
  4130. return;
  4131. }else{
  4132. if(model.getValue("/root/main/bsrecinfo/bsreclist[" + grd_bsreclist.mouseRow + "]/prcpyn") == 'true' || model.getValue("/root/main/bsrecinfo/bsreclist[" + grd_bsreclist.mouseRow + "]/lnkrecyn") == 'Y'){
  4133. messageBox("검사처방발행 이나 기록연동 선택을 해제하신후 수정가능합니다. ", "E");
  4134. return;
  4135. }
  4136. }
  4137. }
  4138. grd_bsreclist.editCell();
  4139. }
  4140. ]]>
  4141. </script>
  4142. <script type="javascript" ev:event="onscroll">
  4143. <![CDATA[
  4144. var tempScroll = model.getValue("/root/init/scrollinfo/scrollvalue");
  4145. // obj_bsrgraph.Axis.Left.Scroll((grd_bsreclist.vscroll.attribute("pos") - tempScroll)/22.9, false);
  4146. obj_bsrgraph.Axis.Left.Scroll((grd_bsreclist.vscroll.attribute("pos") - tempScroll)/32.05, false);
  4147. model.setValue("/root/init/scrollinfo/scrollvalue", grd_bsreclist.vscroll.attribute("pos"));
  4148. ]]>
  4149. </script>
  4150. <script type="javascript" ev:event="DOMFocusOut">
  4151. <![CDATA[
  4152. initPopupMenu();
  4153. ]]>
  4154. </script>
  4155. <script type="javascript" ev:event="onmousedown">
  4156. <![CDATA[
  4157. if(grd_bsreclist.mouseCol == grd_bsreclist.colRef("timeset")){
  4158. if(model.getValue("/root/main/bsrecinfo/bsreclist[" + grd_bsreclist.mouseRow + "]/prcpissflag") == "true"){
  4159. messageBox("처방 발행이후에는 기록을 수정할 수 없습니다. 삭제 후 새로 기록을 하십시오.", "I");
  4160. return;
  4161. }
  4162. if(model.getValue("/root/main/bsrecinfo/bsreclist[" + grd_bsreclist.mouseRow + "]/eqmtyn") == "Y"){
  4163. messageBox("Interface된 기록은 수정할 수 없습니다.", "I");
  4164. return;
  4165. }
  4166. grd_bsreclist.valueMatrix(grd_bsreclist.mouseRow, grd_bsreclist.colRef("recdd")) = getCurrentDate();
  4167. grd_bsreclist.valueMatrix(grd_bsreclist.mouseRow, grd_bsreclist.colRef("rectm")) = getCurrentTime().substr(0,4);
  4168. return;
  4169. }
  4170. if (grd_bsreclist.mouseCol == grd_bsreclist.colRef("rectm") || grd_bsreclist.mouseCol == grd_bsreclist.colRef("recrslt") || grd_bsreclist.col == grd_bsreclist.colRef("rem")
  4171. || grd_bsreclist.mouseCol == grd_bsreclist.colRef("prcpnm") || grd_bsreclist.mouseCol == grd_bsreclist.colRef("prcpqty")){
  4172. setPopupMenu("grd_bsreclist", false, "/root/main/popupmenu/recdelyn/item", "name", "func");
  4173. }
  4174. ]]>
  4175. </script>
  4176. <script type="javascript" ev:event="xforms-value-changed">
  4177. <![CDATA[
  4178. var prcpcd;
  4179. var prcpvol;
  4180. var prcpqty;
  4181. var bfprcpvol;
  4182. var bfprcpqty;
  4183. var drugprcpyninfo;
  4184. if(grd_bsreclist.col == grd_bsreclist.colRef("prcpcd")){
  4185. prcpcd=grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("prcpcd"));
  4186. if(prcpcd != "") {
  4187. grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("prcpnm")) = model.getValue("/root/init/prcpinfolist/prcpinfo[prcpcd='" + prcpcd + "']/prcpcd");
  4188. grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("prcpnm2")) = model.getValue("/root/init/prcpinfolist/prcpinfo[prcpcd='" + prcpcd + "']/prcpnm");
  4189. grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("prcpvol")) = 0
  4190. grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("prcpqty")) = 0
  4191. drugprcpyninfo = model.getValue("/root/init/prcpinfolist/prcpinfo[prcpcd='" + prcpcd + "']/drugprcpyninfo");
  4192. if(drugprcpyninfo == "Y") { // 간호하드코딩테이블 CDGRUPID = 'D3' 에 값이 있는지 여부(약처방발행가능한 처방코드)
  4193. grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("drugprcpyn")) = "true";
  4194. } else {
  4195. grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("drugprcpyn")) = "false";
  4196. }
  4197. }
  4198. }
  4199. if(grd_bsreclist.col == grd_bsreclist.colRef("prcpnm")){
  4200. prcpcd=grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("prcpnm"));
  4201. if(prcpcd != "") {
  4202. grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("prcpcd")) = model.getValue("/root/init/prcpinfolist/prcpinfo[prcpcd='" + prcpcd + "']/prcpcd");
  4203. grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("prcpnm2")) = model.getValue("/root/init/prcpinfolist/prcpinfo[prcpcd='" + prcpcd + "']/prcpnm");
  4204. grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("prcpvol")) = 0
  4205. grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("prcpqty")) = 0
  4206. drugprcpyninfo = model.getValue("/root/init/prcpinfolist/prcpinfo[prcpcd='" + prcpcd + "']/drugprcpyninfo");
  4207. if(drugprcpyninfo == "Y") { // 간호하드코딩테이블 CDGRUPID = 'D3' 에 값이 있는지 여부(약처방발행가능한 처방코드)
  4208. grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("drugprcpyn")) = "true";
  4209. } else {
  4210. grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("drugprcpyn")) = "false";
  4211. }
  4212. }
  4213. }
  4214. if(grd_bsreclist.col == grd_bsreclist.colRef("prcpvol")){
  4215. var rate= 1;
  4216. var qty = 1;
  4217. prcpcd=grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("prcpcd"));
  4218. bfprcpvol = model.getValue("/root/init/prcpinfolist/prcpinfo[prcpcd='" + prcpcd + "']/prcpvol");
  4219. bfprcpqty = model.getValue("/root/init/prcpinfolist/prcpinfo[prcpcd='" + prcpcd + "']/prcpqty");
  4220. prcpvol = grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("prcpvol"));
  4221. prcpqty = grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("prcpqty"));
  4222. qty = parseFloat(prcpvol) / parseFloat(bfprcpvol) * parseFloat(bfprcpqty)*1000;
  4223. qty = Math.round(qty)/1000;
  4224. grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("prcpqty")) = qty;
  4225. }
  4226. if(grd_bsreclist.col == grd_bsreclist.colRef("recdd")){
  4227. var drugprcpyn = model.getValue("/root/main/bsrecinfo/bsreclist[" + grd_bsreclist.row + "]/drugprcpissflag");
  4228. var prcpyn = model.getValue("/root/main/bsrecinfo/bsreclist[" + grd_bsreclist.row + "]/prcpissflag");
  4229. if(drugprcpyn == "true" || prcpyn == "true") {
  4230. messageBox("이미 발행된 처방 기록은 일자를 변경할 수 없습니다.", "E");
  4231. return
  4232. }
  4233. }
  4234. if(grd_bsreclist.col == grd_bsreclist.colRef("rectm")){
  4235. if(model.getValue("/root/main/bsrecinfo/bsreclist[" + grd_bsreclist.row + "]/rectm").length != 4){
  4236. messageBox("시간을 정확히 입력하세요.(네자리)", "I");
  4237. return;
  4238. }
  4239. }
  4240. if(grd_bsreclist.col == grd_bsreclist.colRef("recrslt")){
  4241. if(model.getValue("/root/main/bsrecinfo/bsreclist[" + grd_bsreclist.row + "]/recrslt") == ""){
  4242. messageBox("결과를 입력하세요.", "I");
  4243. return;
  4244. }
  4245. }
  4246. if(grd_bsreclist.col == grd_bsreclist.colRef("drugprcpyn")){
  4247. prcpcd=grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("prcpcd"));
  4248. drugprcpyninfo = model.getValue("/root/init/prcpinfolist/prcpinfo[prcpcd='" + prcpcd + "']/drugprcpyninfo");
  4249. if(drugprcpyninfo == "Y") { // 간호하드코딩테이블 CDGRUPID = 'D3' 에 값이 있는지 여부(약처방발행가능한 처방코드)
  4250. if(grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("drugprcpyn")) =="false") {
  4251. grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("lnkrecyn")) = "N";
  4252. }
  4253. } else {
  4254. messageBox("약처방 발행이 불가능한 처방입니다.", "I");
  4255. grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("drugprcpyn")) ="false"
  4256. return;
  4257. }
  4258. }
  4259. if(grd_bsreclist.col == grd_bsreclist.colRef("prcpyn")){
  4260. if(model.getValue("/root/main/bsrecinfo/bsreclist[" + grd_bsreclist.row + "]/recrslt") == "" || model.getValue("/root/main/bsrecinfo/bsreclist[" + grd_bsreclist.row + "]/recrslt") == "-"){
  4261. messageBox("결과값이 없는 경우 검사처방발행이 불가합니다.", "E");
  4262. if(grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("prcpyn")) =="true") {
  4263. grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("prcpyn")) = "false";
  4264. } else {
  4265. grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("prcpyn")) = "true";
  4266. }
  4267. return;
  4268. }
  4269. }
  4270. if(grd_bsreclist.col == grd_bsreclist.colRef("lnkrecyn")){
  4271. if((model.getValue("/root/main/bsrecinfo/bsreclist[" + grd_bsreclist.row + "]/recrslt") == "" || model.getValue("/root/main/bsrecinfo/bsreclist[" + grd_bsreclist.row + "]/recrslt") == "-") && model.getValue("/root/main/bsrecinfo/bsreclist[" + grd_bsreclist.row + "]/prcpnm") == "" && model.getValue("/root/main/bsrecinfo/bsreclist[" + grd_bsreclist.row + "]/prcpvol") == ""){
  4272. messageBox("결과값과 처방명이 둘다 입력되지 않으면 기록연동이 불가합니다.", "E");
  4273. if(grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("lnkrecyn")) =="Y") {
  4274. grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("lnkrecyn")) = "N";
  4275. } else {
  4276. grd_bsreclist.valueMatrix(grd_bsreclist.row, grd_bsreclist.colRef("lnkrecyn")) = "Y";
  4277. }
  4278. return;
  4279. }
  4280. }
  4281. /*
  4282. var iRow = grd_bsreclist.row;
  4283. var refflag = model.getValue("/root/main/bsrecinfo/bsreclist[" + iRow + "]/refflag");
  4284. var recdd = model.getValue("/root/main/bsrecinfo/bsreclist[" + iRow + "]/recdd");
  4285. var rectm = model.getValue("/root/main/bsrecinfo/bsreclist[" + iRow + "]/rectm");
  4286. var recrslt = model.getValue("/root/main/bsrecinfo/bsreclist[" + iRow + "]/recrslt");
  4287. var rem = model.getValue("/root/main/bsrecinfo/bsreclist[" + iRow + "]/rem");
  4288. var prcpyn = model.getValue("/root/main/bsrecinfo/bsreclist[" + iRow + "]/prcpyn");
  4289. var bfrectm = model.getValue("/root/main/bsrecinfo/bsreclist[" + iRow + "]/bfrectm");
  4290. if(grd_bsreclist.col == grd_bsreclist.colRef("rectm")){
  4291. if(model.getValue("/root/main/bsrecinfo/bsreclist[" + iRow + "]/rectm").length != 4){
  4292. messageBox("시간을 정확히 입력하세요.(네자리)", "I");
  4293. return;
  4294. }
  4295. for (i = 1; i <= getNodesetCount("/root/main/bsrecinfo/bsreclist"); i++) {
  4296. if(model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/refflag") == "C" && model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/recdd") == recdd && model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/rectm") == bfrectm){
  4297. model.setValue("/root/main/bsrecinfo/bsreclist[" + i + "]/recrslt", "");
  4298. model.setValue("/root/main/bsrecinfo/bsreclist[" + i + "]/rem", "");
  4299. model.setValue("/root/main/bsrecinfo/bsreclist[" + i + "]/prcpyn", "");
  4300. }
  4301. }
  4302. //model.setValue("/root/main/bsrecinfo/bsreclist[" + iRow + "]/bfrectm", rectm);
  4303. }
  4304. if(grd_bsreclist.col == grd_bsreclist.colRef("recrslt")){
  4305. if(model.getValue("/root/main/bsrecinfo/bsreclist[" + iRow + "]/recrslt") == ""){
  4306. messageBox("결과를 입력하세요.", "I");
  4307. //return;
  4308. }
  4309. for (i = 1; i <= getNodesetCount("/root/main/bsrecinfo/bsreclist"); i++) {
  4310. if(model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/refflag") == "C" && model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/recdd") == recdd && model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/rectm") == bfrectm){
  4311. model.setValue("/root/main/bsrecinfo/bsreclist[" + i + "]/recrslt", recrslt);
  4312. }
  4313. }
  4314. }
  4315. if(grd_bsreclist.col == grd_bsreclist.colRef("rem")){
  4316. for (i = 1; i <= getNodesetCount("/root/main/bsrecinfo/bsreclist"); i++) {
  4317. if(model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/refflag") == "C" && model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/recdd") == recdd && model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/rectm") == bfrectm){
  4318. model.setValue("/root/main/bsrecinfo/bsreclist[" + i + "]/rem", rem);
  4319. }
  4320. }
  4321. }
  4322. if(grd_bsreclist.col == grd_bsreclist.colRef("prcpyn")){
  4323. for (i = 1; i <= getNodesetCount("/root/main/bsrecinfo/bsreclist"); i++) {
  4324. if(model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/refflag") == "C" && model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/recdd") == recdd && model.getValue("/root/main/bsrecinfo/bsreclist[" + i + "]/rectm") == bfrectm){
  4325. model.setValue("/root/main/bsrecinfo/bsreclist[" + i + "]/prcpyn", prcpyn);
  4326. }
  4327. }
  4328. }
  4329. */
  4330. ]]>
  4331. </script>
  4332. </datagrid>
  4333. <button id="btn_bstprt" class="btn2_letter2" style="left:158px; top:50px; width:42px; height:19px; ">
  4334. <caption>출력</caption>
  4335. <script type="javascript" ev:event="DOMActivate">
  4336. <![CDATA[
  4337. var str = "";
  4338. var chkyn = "";
  4339. model.makeValue("/root/send/reqdata/prtlist", getGridUpdateData(grd_wardpatlist));
  4340. model.makeValue("/root/send/reqdata/fromdd", model.getValue(ipt_ordfromdd.attribute("ref")));
  4341. model.makeValue("/root/send/reqdata/todd", model.getValue(ipt_orddd.attribute("ref")));
  4342. submit("TRMNR02513");
  4343. model.makeValue("/root/temp/prtinfo/fromdd" , model.getValue(ipt_ordfromdd.attribute("ref")));
  4344. model.makeValue("/root/temp/prtinfo/todd" , model.getValue(ipt_orddd.attribute("ref")));
  4345. model.makeValue("/root/temp/prtinfo/wardnm" , cmb_ward.label);
  4346. exeReportPreview("RPMNR02501", "XMLSTR", "", "", "false");
  4347. ]]>
  4348. </script>
  4349. </button>
  4350. <button id="button2" class="btn2_letter2" disable.background-image="../../../com/commonweb/images/dis_btn2_letter4.gif" style="left:525px; top:50px; width:42px; height:19px; background-image:../../../com/commonweb/images/btn2_letter4.gif; ">
  4351. <caption>축소</caption>
  4352. <script type="javascript" ev:event="onclick">
  4353. <![CDATA[
  4354. if(flag == "0") {
  4355. grd_bsreclist.attribute("width") = "989";
  4356. button2.attribute("text") = "축소";
  4357. flag= "1";
  4358. } else {
  4359. grd_bsreclist.attribute("width") = "518";
  4360. button2.attribute("text") = "확대";
  4361. flag="0";
  4362. }
  4363. ]]>
  4364. </script>
  4365. </button>
  4366. </group>
  4367. <caption id="caption57" ref="/root/main/cond/roomcd" class="cell_1" style="left:205px; top:63px; width:44px; height:18px; font-weight:bold; vertical-align:middle; border-style:solid; "/>
  4368. <caption id="caption4" ref="/root/main/cond/pid" style="left:248px; top:63px; width:67px; height:18px; font-weight:bold; text-align:center; vertical-align:middle; border-style:solid; "/>
  4369. <caption id="caption10" ref="/root/main/cond/patnm" class="cell_1" style="left:314px; top:63px; width:81px; height:18px; font-weight:bold; text-align:center; vertical-align:middle; border-style:solid; "/>
  4370. <caption id="caption12" ref="/root/main/cond/sexage" style="left:394px; top:63px; width:44px; height:18px; font-weight:bold; text-align:center; vertical-align:middle; border-style:solid; "/>
  4371. <group id="grp_btn" scroll="auto" style="left:0px; top:760px; width:1195px; height:23px; ">
  4372. <caption id="caption14" class="search_name" style="left:172px; top:3px; width:80px; height:17px; color:#ff0000; background-image:../../../com/commonweb/images/search_bullet1.gif; ">붉은글씨</caption>
  4373. <caption id="caption15" style="left:249px; top:5px; width:260px; height:15px; font-weight:bold; ">: Interface data (처방발행이전 삭제가능),</caption>
  4374. <caption id="caption16" style="left:579px; top:5px; width:255px; height:15px; font-weight:bold; ">: 인증저장 이전 (처방발행이전 삭제가능)</caption>
  4375. <caption id="caption17" style="left:515px; top:5px; width:60px; height:15px; font-weight:bold; background-color:#fcf6ad; ">노란색 셀</caption>
  4376. <caption id="cap_testref" style="left:859px; top:5px; width:255px; height:15px; font-weight:bold; "/>
  4377. <caption id="caption18" style="left:1150px; top:5px; width:38px; height:15px; text-align:right; ">[표]</caption>
  4378. </group>
  4379. </xhtml:body>
  4380. </xhtml:html>