123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177 |
- /* ---------------------------------------------------------------------
- 환자 수술전 처치 및 간호상태 확인 사항(SMMNP00200.xfm - JScript )
- - Version :
- 1) : Ver.1.00.01
- : Create By Francis Choi
- : 2007.05.02
- ---------------------------------------------------------------------- */
- // XML Data Path
- var wDrgCnt = 1 ;
- var wDrgIdx = 14 ;
- var wDrgFst = true;
- var wBolCnt = 1 ;
- var wBolIdx = 14 ;
- var wBolFst = true;
- var wFixGrid = 21 ;
- var opIdx = 0;
- var xPath_MnphccsrList = "/root/main/MnphccsrData/MnphccsrList" ; // 환자 수술전 처치 및 간호상태 확인 사항 정보
- var xPath_allrgspec = "/root/main/MnphccsrData/MnphccsrList/allrgspec" ; // 환자 알레르기 정보
- var xPath_testinfospec = "/root/main/MnphccsrData/MnphccsrList/testinfospec" ; // Lab 검사결과
- var xPath_sendgoodandmedspec = "/root/main/MnphccsrData/MnphccsrList/sendgoodandmedspec" ; // 보내는 물품/약품 내역
- var xPath_infectspec = "/root/main/MnphccsrData/MnphccsrList/infectspec" ; // 환자 감염정보
- var xPath_curenurgstatspec = "/root/main/MnphccsrData/MnphccsrList/curenurgstatspec" ; // 환자 수술전 처치 및 간호상태 확인 사항
- // XML Format Path
- var xPath_Fmt_allrgspec = "/root/init/XmlFormat/allrgspec" ; // 환자 알레르기 정보
- var xPath_Fmt_testinfospec = "/root/init/XmlFormat/testinfospec" ; // Lab 검사결과
- var xPath_Fmt_sendgoodandmedspec = "/root/init/XmlFormat/sendgoodandmedspec" ; // 보내는 물품/약품 내역
- var xPath_Fmt_infectspec = "/root/init/XmlFormat/infectspec" ; // 환자 감염정보
- var xPath_Fmt_curenurgstatspec = "/root/init/XmlFormat/curenurgstatspec" ; // 환자 수술전 처치 및 간호상태 확인 사항
- var xPath_Fmt_curenurgstatspecT = "/root/temp/XmlFormat/curenurgstatspec" ; // 환자 수술전 처치 및 간호상태 확인 사항(JCI 통증사정추가)2010.04.26 K. J. M
- var xPath_Allergy = "/root/main/MnphccsrData/MnphccsrList/allrgspec/AllergyLists" ; // 환자 알레르기 정보
- var xPath_Product = "/root/main/MnphccsrData/MnphccsrList/sendgoodandmedspec/ProductLists" ; // 보내는 물품/약품 내역
- var xPath_Infection = "/root/main/MnphccsrData/MnphccsrList/infectspec/InfectionLists" ; // 환자 감염정보
- var xPath_ItemCheck = "/root/main/MnphccsrData/MnphccsrList/curenurgstatspec/ItemCheckLists" ; // 환자 수술전 처치 및 간호상태 확인 사항
- var xPath_ItemCheckList = "/root/main/MnphccsrData/MnphccsrList/curenurgstatspec/ItemCheckLists/ItemCheckList";
- var xPathGride = xPath_ItemCheck+"/ItemCheckList";
- var xPath_PatLnkInfo = "/root/temp/patlnkinfo"; // 환자 감염정보, 알레르기 정보, Lab 검사결과 정보
- // 환자정보 구분
- var sPatCls = "O"; //O:수술실, W:병동
- var sBool1 = true;
- var sBool2 = true;
- var sBool3 = true;
- var ChkBoxRef = "Pyes Pno Pnothing Syes Sno Snothing Oyes Ono Onothing"; // P:간호단위, S:수술단위
- var RefName = ChkBoxRef.split(" ");
- var sGBOprsrvno = "";
- var sDutDSCFlag = ""; //일일수술실 유무
- var sDSCDeptcd = ""; //일일수술실 유무
- var sWardOP = "N"; //현장수술 유무
- // 동의서 구분
- var ITM002 = ""; // 수술동의서
- var ITM022 = ""; // PCA동의서
- /* ------------------------------------------------- */
- /* SMMNP00200_수술전처치 및 간호상태 확인 */
- /* On Load 시 Call */
- /* ------------------------------------------------- */
- /* group : EMR 간호 */
- /* ver : 2007.05.03 */
- /* by : 최학록 */
- /* --------------------------------------------------*/
- /* type : function */
- /* access : public */
- /* desc : xforms-ready시 수행한다 */
- /* return : */
- /* --------------------------------------------------*/
- function fFormInit() {
- model.removenode("/root/main/operation");
- model.makeNode("/root/main/operation");
- model.removenode("/root/main/paminfo");
- model.makeNode("/root/main/paminfo");
- var sPatInfo = "";
- var node = getGlobalVariable("operation");
- setCSVToNode("/root/main/operation", node);
- var sPid = model.getValue("/root/main/operation/list/pid");
- var sGBOprsrvno = model.getValue("/root/main/operation/list/oprsrvno");
-
-
- fGetNursHardCdInfo("'O11'",getCurrentDate());
-
- if (sPid == "") {
- node = getGlobalVariable("paminfo");
- setCSVToNode("/root/main/paminfo", node);
- sPid = model.getValue("/root/main/paminfo/list/pid");
- if (sPid != "") {
- model.setValue("/root/init/SendData/pid" , sPid);
- model.setValue("/root/init/SendData/instcd", model.getValue("/root/main/paminfo/list/instcd" ));
- }
- } else {
- model.setValue("/root/init/SendData/pid" , sPid);
- model.setValue("/root/init/SendData/instcd", model.getValue("/root/main/operation/list/instcd"));
- }
- if(getNodesetCount("/root/main/operation/list") > 0){
- if(model.getValue("/root/main/operation/list/oppatflagcd") == "O"){
- txt_nurg.attribute("height") = 60;
- grp_bodyinfo.visible = true;
- }else{
- txt_nurg.attribute("height") = 122;
- grp_bodyinfo.visible = false;
- }
- }else{
- if(model.getValue("/root/main/paminfo/list/ioflag") == "O"){
- txt_nurg.attribute("height") = 60;
- grp_bodyinfo.visible = true;
- }else{
- txt_nurg.attribute("height") = 122;
- grp_bodyinfo.visible = false;
- }
- }
- model.setValue("/root/init/staycls", "");//상단정보 재 조회시 기존 체크된 값 초기화 위해 클리어2010.01.06 K.J.M(대기실, 수술실)
- btn_del_grid.disabled = "false";
- btn_ins_grid.disabled = "false";
- btn_query.disabled = "false";
- btn_rgst_tmp.disabled = "false";
- btn_rgst_sct.disabled = "false";
- //------ Test할때 막는 부분 ------------------------------
- if (sPid == "") {
- var mainObj = getMainViewer();
- messageBox("수술 환자를 ", "C002");
- btn_del_grid.disabled = "true";
- btn_ins_grid.disabled = "true";
- btn_query.disabled = "true";
- btn_rgst_tmp.disabled = "true";
- btn_rgst_sct.disabled = "true";
- // 2007.11.16 간호팀 교육중에 나옴...화면 바로 닫기
- if (checkOpener()) {
- window.close();
- }
- // mainObj.javascript.navigate("SMMNP00100"); // 수술마취메인
- return;
- }
-
- // 2009-03-25 ycd 부서 하드코딩 제어 부분(화면 권한 설정 정보 가져오기)
- model.removenode("/root/send");
- model.makeValue("/root/send/cdgrupid", "037");
- submit("TRMNP00323", false);
- if(getNodesetCount("/root/temp/viewctrllist/viewctrlinfo") > 0){
- sPatCls = model.getValue("/root/temp/viewctrllist/viewctrlinfo/cdnm");
- }else{
- sPatCls = "W";
- }
- Opschedd_Read();
- var sCnt = parseInt(getNodesetCount(xPathGride+"[ItemCode ='ITM013']")); // 수술전 투약 건수
- wDrgIdx = sCnt + 18; // 수술전 투약 건수
- wFixGrid += (sCnt - 1);
- var sCnt2 = parseInt(getNodesetCount(xPathGride+"[ItemCode ='ITM018']")); // 혈액준비사항 건수
- wBolIdx = sCnt + sCnt2 + 18; // 혈액준비사항 건수
- wFixGrid += (sCnt - 1);
- fOpWardCheck(); //
- grd_ItemCheckList.refresh();
- if ( (sPatCls == "O" || sPatCls == "B") && (model.getValue(xPath_MnphccsrList+"/wardstartdt") == "" || model.getValue(xPath_MnphccsrList+"/wardstarttm") == "")){
- messageBox("간호단위에서 기록한 후에 기록이","I006"); // 병실에서 기록한 후에 수술실에서 기록이
- if(sPatCls == "O"){
- btn_rgst_tmp.disabled = true;
- btn_rgst_sct.disabled = true;
- }
- }
-
- // 현장수술일때 간호단위와 대기실을 같이 기록하게 한다.
- sWardOP = model.getValue(xPath_MnphccsrList + "/wardop");
-
- // 일일수술실은 대기실 같이 기록 //sDutDSCFlag, sDSCDeptcd
- var dutplcecd = getUserInfo("dutplcecd");
- model.removeNode("/root/send/cdgrupid");
- model.makeValue("/root/send/cdgrupid", "105");
- submit("TRMNP00211");
- sDSCDeptcd = model.getValue("/root/temp/dsccode/cdid");
- if (dutplcecd == sDSCDeptcd) {
- sDutDSCFlag = "Y";
- } else {
- sDutDSCFlag = "N";
- }
-
- btn_dsccopy.visible = false;
-
- if (sDutDSCFlag == "Y" || sWardOP == "Y") {
- btn_dsccopy.visible = true;
-
- //일일수술실 환자 수술간호기록의 수술실 퇴실시간 가져와서 병실 도착일시에 반영
- var oppatflagcd = model.getValue("/root/main/operation/list/oppatflagcd");
- if (oppatflagcd != 'I' || sWardOP == "Y") {
- model.removeNode("/root/send/oprsrvno");
- model.makeValue("/root/send/oprsrvno", model.getValue(xPath_MnphccsrList+"/oprsrvno"));
-
- submit("TRMNP00212");
-
- var patoutroomdt = model.getValue("/root/temp/patoutroomdt/patoutroomdt");
- var wardarrdt = model.getValue(xPath_MnphccsrList + "/wardarrvdt");
-
- if (patoutroomdt == null || patoutroomdt == "000000000000" || patoutroomdt == "") {
- } else {
- if (wardarrdt == null || wardarrdt == "00000000" || wardarrdt == "") {
- var vbYes = messageBox("수술간호기록지 퇴실시간을 '병실 도착일시'로 기록하시겠습니까? ", "Q999");
- if (vbYes == 6) {
- var outroomdd = patoutroomdt.substr(0, 8);
- var outroomtm = patoutroomdt.substr(8, 4);
-
- model.setValue(xPath_MnphccsrList + "/wardarrvdt", outroomdd);
- model.setValue(xPath_MnphccsrList + "/wardarrvtm", outroomtm);
-
- ipt_wardarrvdept.value = getUserInfo("dutplcecd");
- ipt_wardarrvnursid.value = getUserInfo("userid");
- model.setValue(xPath_MnphccsrList + "/nurspartarrvdt", outroomdd + outroomtm);
- model.setValue(xPath_MnphccsrList + "/nurspartarrvdept", getUserInfo("dutplcenm"));
- model.setValue(xPath_MnphccsrList + "/nurspartarrvnursnm", getUserInfo("usernm"));
-
- model.refresh();
-
- messageBox("병실 도착일시는 인증저장하셔야 기록에 반영됩니다.", "I999");
- }
- }
- }
- }
- }
-
- var opinrmdd = model.getValue("/root/main/MnphccsrData/MnphccsrList/opinrmdd");
-
- if(opinrmdd == "") {
- ipt_wardarrvdt.disabled = true;
- ipt_wardarrvtm.disabled = true;
- btn_wardarrv.disabled = true;
- } else {
- ipt_wardarrvdt.disabled = false;
- ipt_wardarrvtm.disabled = false;
- btn_wardarrv.disabled = false;
- }
-
- var node = instance1.selectNodes(grd_famylist.nodeset + "[chkyn='Y']");
-
- if(node.length > 0) {
- rdo_smsagreeyn.value="Y";
- btn_smsagreeyn.disabled= false;
-
- }
-
- for(i=0; i <= grd_ItemCheckList.rows; i++){
- if ( grd_ItemCheckList.valueMatrix( i , grd_ItemCheckList.colRef("ItemCode")) == "ITM002" ){
- ITM002 = i;
- }else if ( grd_ItemCheckList.valueMatrix( i , grd_ItemCheckList.colRef("ItemCode")) == "ITM022" ){
- ITM022 = i;
- }
- }
- }
- /* ------------------------------------------------- */
- /* type : function */
- /* access : public */
- /* desc : 병동과 수술실을 Check 수행한다 */
- /* return : */
- /*
- /* 2008-08-04 오전 11:01:30 수술실일 경우 병동 프로세스 작성이 가능하도록 수정 taebum
- /* --------------------------------------------------*/
- function fOpWardCheck() {
- model.setValue("/root/init/gpatcls",sPatCls);
- if(getNodesetCount("/root/main/operation/list") > 0){
- if(model.getValue("/root/main/operation/list/oppatflagcd") == "O"){
- txt_nurg.attribute("height") = 60;
- grp_bodyinfo.visible = true;
- }else{
- txt_nurg.attribute("height") = 122;
- grp_bodyinfo.visible = false;
- }
- }else{
- if(model.getValue("/root/main/MnphccsrData/MnphccsrList/inoutflag") == "O"){
- txt_nurg.attribute("height") = 60;
- grp_bodyinfo.visible = true;
- }else{
- txt_nurg.attribute("height") = 122;
- grp_bodyinfo.visible = false;
- }
- }
- if (sPatCls == "O") { //O:수술실, W:병동
- sBool1 = true;
- sBool2 = false;
- //txt_nurg.disabled = sBool1; //2008-08-04 오전 11:02:28
- //txt_nurg.disabled = sBool2; //2008-08-07 오전 9:02:09 taebum 주석처리
- txt_nurg.disabled = true; //2008-08-07 오전 9:02:47 taebum add
- btn_pcainput.disabled = true;
- txt_oper.disabled = false;
- bbt_patarrv.disabled = false;
- inp_patarrvdt.disabled = false;
- inp_patarrvtm.disabled = false;
- ipt_oppatbdtp.disabled = true;
- ipt_oppatbdwt.disabled = true;
- ipt_oppatbdht.disabled = true;
- ipt_oppatsbp.disabled = true;
- ipt_oppatdbp.disabled = true;
- //2008-09-06 오후 4:25:54 대기실, 수술실일경우 행추가, 행삭제 disable 처리
- btn_ins_grid.disabled = true;
- btn_del_grid.disabled = true;
- } else {
- sBool1 = false;
- sBool2 = true ;
- txt_nurg.disabled = false;
- btn_pcainput.disabled = false;
- txt_oper.disabled = true;
-
-
- ipt_oppatbdtp.disabled = false;
- ipt_oppatbdwt.disabled = false;
- ipt_oppatbdht.disabled = false;
- ipt_oppatsbp.disabled = false;
- ipt_oppatdbp.disabled = false;
- if (sPatCls == "B") { // 분만실, DSC
-
- chk_stay.disabled = false;
- chk_oper.disabled = false;
- }else{
- chk_stay.disabled = true;
- chk_oper.disabled = true; //2008-07-18 오전 10:09:51 taebum 17일 전수테스트 결과 수정사항
- }
- bbt_wardstart.disabled = false;
- inp_wardstartdt.disabled = false;
- inp_wardstarttm.disabled = false;
-
- //병동 도착 일시 활성/비활성
- ipt_wardarrvdt.disabled = false;
- ipt_wardarrvtm.disabled = false;
- btn_wardarrv.disabled = false;
- bbt_patarrv.disabled = true;
- inp_patarrvdt.disabled = true;
- inp_patarrvtm.disabled = true;
- }
-
-
-
- if (sPatCls == "O") { //O:수술실, W:병동
- var chk_Syes = model.getValue(xPath_curenurgstatspec + "/ItemCheckLists/ItemCheckList[" + (grd_ItemCheckList.fixedrows+1) + "]/Syes");
- var chk_Sno = model.getValue(xPath_curenurgstatspec + "/ItemCheckLists/ItemCheckList[" + (grd_ItemCheckList.fixedrows+1) + "]/Sno");
- var chk_Snothing = model.getValue(xPath_curenurgstatspec + "/ItemCheckLists/ItemCheckList[" + (grd_ItemCheckList.fixedrows+1) + "]/Snothing");
- var chk_Pyes = model.getValue(xPath_curenurgstatspec + "/ItemCheckLists/ItemCheckList[" + (grd_ItemCheckList.fixedrows+1) + "]/Pyes");
- var chk_Pno = model.getValue(xPath_curenurgstatspec + "/ItemCheckLists/ItemCheckList[" + (grd_ItemCheckList.fixedrows+1) + "]/Pno");
- var chk_Pnothing = model.getValue(xPath_curenurgstatspec + "/ItemCheckLists/ItemCheckList[" + (grd_ItemCheckList.fixedrows+1) + "]/Pnothing");
- sBool1 = true; //2008-08-07 오전 9:04:30 taebum add
- if ( chk_Syes == "true" || chk_Sno == "true" || chk_Snothing == "true") {
- sBool2 = true;
- sBool3 = false;
- chk_oper.value = "2";
- fStayOperCheck();
- } else if ( chk_Pyes == "false" && chk_Pno == "false" && chk_Pnothing == "false") {
- sBool2 = true;
- SBool3 = true;
- } else {
- sBool2 = false;
- sBool3 = true;
- chk_stay.value = "1";
- fStayOperCheck();
- }
- }
- fControlAttribute(grd_ItemCheckList);
- }
- /* ------------------------------------------------- */
- /* type : function */
- /* access : public */
- /* desc : Grid Attribute Control 시 수행한다 */
- /* return : */
- /* --------------------------------------------------*/
- function fControlAttribute(pGrid) {
- var opchkyn="";
- var onochkyn="";
-
-
- for (var iRow = pGrid.fixedrows; iRow <= pGrid.rows; iRow++){
- opchkyn = model.getValue(pGrid.nodeset + "[" + (iRow-1) + "]/opchkyn");
- onochkyn = model.getValue(pGrid.nodeset + "[" + (iRow-1) + "]/onochkyn");
-
- pGrid.isReadOnly(iRow, pGrid.colRef("Pyes"), iRow, pGrid.colRef("Pnothing"))=sBool1;
- pGrid.isReadOnly(iRow, pGrid.colRef("Syes"), iRow, pGrid.colRef("Snothing"))=sBool2;
- pGrid.isReadOnly(iRow, pGrid.colRef("Oyes"), iRow, pGrid.colRef("Ono"))=sBool3;
-
- if(sBool3 == false && (onochkyn == "N" || onochkyn == "" || onochkyn == null) ) {
- pGrid.isReadOnly(iRow, pGrid.colRef("Onothing"), iRow, pGrid.colRef("Onothing"))= false;
- } else {
- pGrid.isReadOnly(iRow, pGrid.colRef("Onothing"), iRow, pGrid.colRef("Onothing"))=true;
- }
-
- if(opchkyn == "N") {
- pGrid.isReadOnly(iRow, pGrid.colRef("Oyes"), iRow, pGrid.colRef("Ono"))= true;
- }
-
- if(pGrid.row == 1 && pGrid.col == pGrid.colRef("Oyes") && opchkyn=="N") {
- pGrid.valueMatrix(iRow, pGrid.colRef("Oyes")) = false;
- }
-
- }
-
- grd_ItemCheckList.fixedcellcheckbox(1,pGrid.colRef("Pyes")) = ((sBool1) ? "false" : "true");
- grd_ItemCheckList.fixedcellcheckbox(1,pGrid.colRef("Syes")) = ((sBool2) ? "false" : "true");
- grd_ItemCheckList.fixedcellcheckbox(1,pGrid.colRef("Oyes")) = ((sBool3) ? "false" : "true");
-
-
- }
- /* ------------------------------------------------- */
- /* type : function */
- /* access : public */
- /* desc : 수술예약일시 가져오기 */
- /* param : 환자번호 */
- /* return : */
- /* --------------------------------------------------*/
- function Opschedd_Read() {
- // cmb_opdd.cmb_opdd.removeChild;
- var indexflag = "Y";
- var cnt = 0;
- model.removenode("/root/send");
- model.makeValue("/root/send/pid" , model.getValue("/root/init/SendData/pid") );
- model.makeValue("/root/send/instcd" , model.getValue("/root/init/SendData/instcd"));
- model.makeValue("/root/send/patposcls", sPatCls);
- submit("TRMNP00201"); // 환자 수술전 처치 및 간호상태 확인 사항 수술예약일시
- var sGBOprsrvno = model.getValue("/root/main/operation/list/oprsrvno");
- //2008-11-26 오후 7:51:30 taebum 협진 수술일 경우에는 주수술예약번호를 setting함.
- var sGBMainOprsrvno = model.getValue("/root/main/operation/list/mainoprsrvno");
- if(sGBMainOprsrvno != "" && sGBMainOprsrvno != null && sGBMainOprsrvno != "undefined" && sGBMainOprsrvno != "-" && sGBMainOprsrvno != sGBOprsrvno){
- sGBOprsrvno = sGBMainOprsrvno;
- }
- if(sGBOprsrvno != null && sGBOprsrvno != "" && sGBOprsrvno != "undefined"){
- model.setValue("/root/init/SendData/oprsrvno",sGBOprsrvno);
- cmb_opdd.refresh();
- }else{
- if(getNodesetCount("/root/main/OpddInfoList/OpddInfo") > 0 &&
- model.getValue("/root/main/OpddInfoList/OpddInfo[opschedd = "+ getCurrentDate() +"]/oprsrvno") != "" ){
- cmb_opdd.value = model.getValue("/root/main/OpddInfoList/OpddInfo[opschedd = "+ getCurrentDate() +"]/oprsrvno");
- }else{
- //alert(model.getValue("/root/main/OpddInfoList/OpddInfo[indexflag = "+ indexflag +"]/oprsrvno"));
- var nodeCnt = getNodesetCount("/root/main/OpddInfoList/OpddInfo");
- for( var i = 1; i <= nodeCnt; i++ ) {
- if( model.getValue("/root/main/OpddInfoList/OpddInfo["+ i +"]/indexflag") == "Y" ) {
- cmb_opdd.value = model.getValue("/root/main/OpddInfoList/OpddInfo["+ i +"]/oprsrvno");
- cnt++;
- }
- }
- if( cnt < 1 ) {//선택된 수술예약일시가 없으면 매처음 번호를 셋팅
- cmb_opdd.value = model.getValue("/root/main/OpddInfoList/OpddInfo[1]/oprsrvno");
- }
- //cmb_opdd.value = model.getValue("/root/main/OpddInfoList/OpddInfo[indexflag = "+ "Y" +"]/oprsrvno");
- //cmb_opdd.selectedIndex = 0;
- }
- }
- Query_Opdd_All();
- ;
- }
- /* ------------------------------------------------- */
- /* SMMNP00200_수술전처치 및 간호상태 확인 */
- /* 조회버튼 Click시 Call */
- /* ------------------------------------------------- */
- /* group : EMR 간호 */
- /* ver : 2007.05.03 */
- /* by : 최학록 */
- /* --------------------------------------------------*/
- /* type : function */
- /* access : public */
- /* desc : GRID 한줄 추가 */
- /* param : */
- /* return : */
- /* --------------------------------------------------*/
- function Query_Opdd_All(pFlag) {
- opIdx = cmb_opdd.selectedIndex + 1;
- var cPath = "/root/main/OpddInfoList/OpddInfo["+opIdx+"]";
- //=======================================================================================================
- //2008-07-07 오후 7:52:27 taebum 협진 수술을 할 경우 주수술일 경우에만 기록을 작성 할수 있도록 변경함.
- var sTempMainoprsrvno = model.getValue(cPath+ "/mainoprsrvno");
- var sTempOprsrvno = model.getValue(cPath+ "/oprsrvno" );
- if( (sTempMainoprsrvno != "-") && (sTempMainoprsrvno != sTempOprsrvno)){
- messageBox("협진수술 ","E008");
- btn_del_grid.disabled = "true";
- btn_ins_grid.disabled = "true";
- btn_query.disabled = "true";
- btn_rgst_tmp.disabled = "true";
- btn_rgst_sct.disabled = "true";
- window.close();
- }else{
- btn_del_grid.disabled = "false";
- btn_ins_grid.disabled = "false";
- btn_query.disabled = "false";
- btn_rgst_tmp.disabled = "false";
- btn_rgst_sct.disabled = "false";
- }
- //=======================================================================================================
- model.makeValue("/root/send/pid" , model.getValue(cPath+ "/pid" ));
- model.makeValue("/root/send/instcd" , model.getValue(cPath+ "/instcd" ));
- model.makeValue("/root/send/oprsrvno" , model.getValue(cPath+ "/oprsrvno" ));
- model.makeValue("/root/send/ophistno" , model.getValue(cPath+ "/ophistno" ));
- model.makeValue("/root/send/opbfcureseqno", model.getValue(cPath+ "/opbfcureseqno"));
-
- submit("TRMNP00202"); // 환자 수술전 처치 및 간호상태 확인 사항
-
-
- var sSmsagreeyn = model.getValue("/root/main/MnphccsrData/MnphccsrList/smsagreeyn");
-
- if(sSmsagreeyn == "Y") {
- btn_smsagreeyn.disabled = false;
- } else {
- btn_smsagreeyn.disabled = true;
- }
-
- var nodelist = instance1.selectNodes("/root/main/MnphccsrData/MnwmpfifList");
- var nodePath ="/root/main/MnphccsrData/MnphccsrList/famyinfo/famylist";
-
- model.makeNode(nodePath);
-
- var desnode = instance1.selectSingleNode(nodePath);
-
- if(nodelist.length > 0) {
- while(node = nodelist.nextNode()) {
- model.duplicate(desnode, node);
- }
- }
-
- var check = grd_ItemCheckList.rows;
- var popwh1 = 0;
- var popwh2 = 0;
- var popwh3 = 0;
- var newflag = 0;
-
- // 20110704 wify 경북대병원 해당무 checkbox 추가로 인한 node추가
- for(var i = 1 ; i < grd_ItemCheckList.rows; i++) {
- if ( grd_ItemCheckList.valueMatrix(i, grd_ItemCheckList.colRef("ItemInfoBk")) == "수술동의서") {
- popwh1 = i;
- }
-
- if ( grd_ItemCheckList.valueMatrix(i, grd_ItemCheckList.colRef("ItemInfoBk")) == "알러지여부") {
- popwh2 = i;
- }
-
- if ( grd_ItemCheckList.valueMatrix(i, grd_ItemCheckList.colRef("ItemInfoBk")) == "PCA동의서") {
- popwh3 = i;
- newflag = "Y";
- }
- }
-
- if( model.getValue(xPath_MnphccsrList+"/opbfcureseqno") == "-") { // 환자 수술전 처치 및 간호상태 확인사항 자료가 없는 경우
- model.copyNode(xPath_allrgspec , xPath_Fmt_allrgspec ); // 환자 알레르기 정보
- model.copyNode(xPath_testinfospec , xPath_Fmt_testinfospec ); // Lab 검사결과
- model.copyNode(xPath_sendgoodandmedspec, xPath_Fmt_sendgoodandmedspec); // 보내는 물품/약품 내역
- model.copyNode(xPath_curenurgstatspec , xPath_Fmt_curenurgstatspec ); // 환자 수술전 처치 및 간호상태 확인 사항
- model.makeValue(xPath_MnphccsrList+"/stat", "I");
- fSrchPatLnkInfo("all"); // 알레르기 정보
- for(var i = 1 ; i < grd_ItemCheckList.rows; i++) {
- if ( grd_ItemCheckList.valueMatrix(i, grd_ItemCheckList.colRef("ItemInfoBk")) == "수술동의서") {
- popwh1 = i;
- }
-
- if ( grd_ItemCheckList.valueMatrix(i, grd_ItemCheckList.colRef("ItemInfoBk")) == "알러지여부") {
- popwh2 = i;
- }
-
- if ( grd_ItemCheckList.valueMatrix(i, grd_ItemCheckList.colRef("ItemInfoBk")) == "PCA동의서") {
- popwh3 = i;
- }
- }
- grd_AllergyList.refresh();
- grd_ItemCheckList.refresh();
-
- }else {
- fSrchPatLnkInfo("all"); // 알레르기 정보
- model.makeValue(xPath_MnphccsrList+"/stat" , "U" );
- // 2008-10-05 오전 11:08:56 taebum 2번째 확인내역 상세정보가 merge 되는 현상 처리로 추가함.
- grd_ItemCheckList.mergeCells = "bycol";
- grd_ItemCheckList.mergeCol(0) = true ;
- grd_ItemCheckList.mergeCol(grd_ItemCheckList.colRef("ItemInfoBk")) = true;
-
- grd_ItemCheckList.mergeCol(grd_ItemCheckList.colRef("ItemInfo")) = false;
- grd_ItemCheckList.mergeCol(grd_ItemCheckList.colRef("Pyes")) = false;
- grd_ItemCheckList.mergeCol(grd_ItemCheckList.colRef("Pno")) = false;
- grd_ItemCheckList.mergeCol(grd_ItemCheckList.colRef("Pnothing")) = false;
- grd_ItemCheckList.mergeCol(grd_ItemCheckList.colRef("Syes")) = false;
- grd_ItemCheckList.mergeCol(grd_ItemCheckList.colRef("Sno")) = false;
- grd_ItemCheckList.mergeCol(grd_ItemCheckList.colRef("Snothing")) = false;
- grd_ItemCheckList.mergeCol(grd_ItemCheckList.colRef("Oyes")) = false;
- grd_ItemCheckList.mergeCol(grd_ItemCheckList.colRef("Ono")) = false;
- grd_ItemCheckList.mergeCol(grd_ItemCheckList.colRef("Onothing")) = false;
- }
- //2008-10-30 오전 9:47:40 taebum curenurgstatspec xml column에 curenurgstatspec 최상위
- //노드가 생기는 버그가 발생되어 curenurgstatspec노드가 있을 경우 제거 작업
- //2008-10-31 오후 7:11:36 taebum 의뢰내역이 없을경우 script오류 수정
- if(model.getValue("/root/init/SendData/oprsrvno") != "" &&
- model.getValue("/root/init/SendData/oprsrvno") != "undefined" &&
- model.getValue("/root/init/SendData/oprsrvno") != null){
-
- var sTmpCheckNode = instance1.selectSingleNode("/root/main/MnphccsrData/MnphccsrList/curenurgstatspec");
- if(sTmpCheckNode != null && sTmpCheckNode.childNodes(0).nodeName == "curenurgstatspec"){
-
- model.copyNode("/root/init/errorNode", "/root/main/MnphccsrData/MnphccsrList/curenurgstatspec/curenurgstatspec");
- model.removenode("/root/main/MnphccsrData/MnphccsrList/curenurgstatspec/curenurgstatspec");
- model.copyNode("/root/main/MnphccsrData/MnphccsrList/curenurgstatspec", "/root/init/errorNode");
-
- }
- }else{
- messageBox("수술예약일시가 존재하지 않습니다.","I000"); // 병실에서 기록한 후에 수술실에서 기록이
- btn_rgst_tmp.disabled = true;
- btn_rgst_sct.disabled = true;
- window.close();
- return;
- }
- fRowSyle(grd_ItemCheckList);
-
- var ordtype= model.getValue(xPath_MnphccsrList+"/ordtype" );
- var wardtel="";
- if(ordtype == "E") {
- wardtel = "(t." + model.getValue(xPath_MnphccsrList+"/wardtel" ) + ")";
- } else {
- wardtel = "";
- }
- var sPatInfo = model.getValue(xPath_MnphccsrList+"/wardcd" ) + " " // 병동
- + model.getValue(xPath_MnphccsrList+"/roomcd" ) + wardtel + " " // 병동
- + model.getValue(xPath_MnphccsrList+"/patname2" ) + " " // 환자명
- + model.getValue(xPath_MnphccsrList+"/sa" ) + " " // SA
- + model.getValue(xPath_MnphccsrList+"/pid" ) ; // 등록번호
- var sPatInfo2 = "";
- // 2008.02.21 변경
- if (sPatCls == "O") { //O:수술실, W:병동
- sPatInfo2= model.getValue(xPath_MnphccsrList+"/perdeptnm") + " "; // 집도과
- } else {
- sPatInfo2= model.getValue(xPath_MnphccsrList+"/depthngnm") + " "; // 진료과
- }
- sPatInfo2 += model.getValue(xPath_MnphccsrList+"/oproomnm" ) + " " // 수술실명
- + model.getValue(xPath_MnphccsrList+"/perfdridnm") + " " // 집도의
- + model.getValue(xPath_MnphccsrList+"/opcdnm" ) ; // 수술명
- model.setValue("/root/init/SendData/patinfo" ,sPatInfo);
- model.setValue("/root/init/SendData/patinfo2",sPatInfo2);
- if (model.getValue(xPath_MnphccsrList+"/certno") != ""){ // 인증저장후 자료 처리
- // if (sPatCls != "O") { //O:수술실, W:병동
- btn_rgst_tmp.disabled = true;
- // }
- }
-
- // 20110711 wify 데이터 없는 row 제거
- // for(var i = 1 ; i < grd_ItemCheckList.rows; i++) {
-
- // if ( instance1.selectSingleNode(grd_ItemCheckList.nodeset + "["+ i +"]/ItemInfoBk") == null) {
- // grd_ItemCheckList.deleteRow(i);
- // }
-
- // if ( grd_ItemCheckList.valueMatrix(i, grd_ItemCheckList.colRef("ItemInfoBk")) == "") {
- // model.removeNodeset(grd_ItemCheckList.nodeset + "[" + i + "]/Snothing");
- // model.removeNodeset(grd_ItemCheckList.nodeset + "[" + i + "]/Onothing");
- // alert(i);
- // grd_ItemCheckList.deleteRow(i+1);
- // }
- // }
-
-
-
- // grd_ItemCheckList.cellstyle("background-image" , 3, 1) = "../../../com/commonweb/images/icon_startend.gif";
- // grd_ItemCheckList.cellstyle("background-position", 3, 1) = "center right";
-
- grd_ItemCheckList.cellstyle("background-image" , popwh1, 1) = "../../../com/commonweb/images/icon_startend.gif";
- grd_ItemCheckList.cellstyle("background-position", popwh1, 1) = "center right";
-
- // grd_ItemCheckList.cellstyle("background-image" , 5, 1) = "../../../com/commonweb/images/icon_startend.gif";
- // grd_ItemCheckList.cellstyle("background-position", 5, 1) = "center right";
- //2008-09-09 오전 10:07:40 taebum 12 알러지 여부 이미지버튼 추가
- // if( getNodesetCount("/root/main/MnphccsrData/MnphccsrList/curenurgstatspec/ItemCheckLists/ItemCheckList") == 22 ) { //통증사정이 포함되어 있으면
-
- grd_ItemCheckList.cellstyle("background-image" , 14, 1) = "../../../com/commonweb/images/icon_startend.gif";
- grd_ItemCheckList.cellstyle("background-position", 14, 1) = "center right";
-
- // grd_ItemCheckList.cellstyle("background-image" , popwh2, 1) = "../../../com/commonweb/images/icon_startend.gif";
- // grd_ItemCheckList.cellstyle("background-position", popwh2, 1) = "center right";
-
-
- //alert(grd_ItemCheckList.rows);
- if ( grd_ItemCheckList.valueMatrix((grd_ItemCheckList.rows - 1), grd_ItemCheckList.colRef("ItemCode")) != "ITM022") {
- // grd_ItemCheckList.deleteRow(grd_ItemCheckList.rows - 1);
- if(check != "2") {
- // grd_ItemCheckList.deleteRow(grd_ItemCheckList.rows);
- } else if (check == "2") {
- grd_ItemCheckList.cellstyle("background-image" , 23, 1) = "../../../com/commonweb/images/icon_startend.gif";
- grd_ItemCheckList.cellstyle("background-position", 23, 1) = "center right";
- }
- } else {
- grd_ItemCheckList.cellstyle("background-image" , grd_ItemCheckList.rows - 1, 1) = "../../../com/commonweb/images/icon_startend.gif";
- grd_ItemCheckList.cellstyle("background-position", grd_ItemCheckList.rows - 1, 1) = "center right";
- }
- // grd_ItemCheckList.cellstyle("background-image" , 23, 1) = "../../../com/commonweb/images/icon_startend.gif";
- // grd_ItemCheckList.cellstyle("background-position", 23, 1) = "center right";
- // }else {
- // grd_ItemCheckList.cellstyle("background-image" , 14, 1) = "../../../com/commonweb/images/icon_startend.gif";
- // grd_ItemCheckList.cellstyle("background-position", 14, 1) = "center right";
- // }
- opt_patinfo.refresh();
- opt_patinfo2.refresh();
- //2008-09-09 오전 10:41:12 전자 인증시 해당없음을 제외한 내역만 인증하기 위한 Temp Node default 설정
- model.removenode("/root/Hide");
- model.makeNode("/root/Hide");
- model.makeNode("/root/Hide/signstatspec");
- model.makeNode("/root/Hide/org_statspec");
- //combobox 변경시 저장 버튼 활성화 비활성화 관련.
- if(pFlag == "changed"){
- var sCnt = parseInt(getNodesetCount(xPathGride+"[ItemCode ='ITM013']")); // 수술전 투약 건수
- wDrgIdx = sCnt + 18; // 수술전 투약 건수
- wFixGrid += (sCnt - 1);
- var sCnt2 = parseInt(getNodesetCount(xPathGride+"[ItemCode ='ITM018']")); // 혈액준비사항 건수
- wBolIdx = sCnt + sCnt2 + 18; // 혈액준비사항 건수
- wFixGrid += (sCnt - 1);
- fOpWardCheck();
- grd_ItemCheckList.refresh();
- if ((sPatCls == "O" || sPatCls == "B") && (model.getValue(xPath_MnphccsrList+"/wardstartdt") == "" || model.getValue(xPath_MnphccsrList+"/wardstarttm") == "")){
- messageBox("간호단위에서 기록한 후에 기록이","I006"); // 병실에서 기록한 후에 수술실에서 기록이
- btn_rgst_tmp.disabled = true;
- btn_rgst_sct.disabled = true;
- }
- }
-
- }
- /* ------------------------------------------------- */
- /* group : EMR 간호 */
- /* ver : 2007.05.03 */
- /* by : 최학록 */
- /* --------------------------------------------------*/
- /* type : function */
- /* access : public */
- /* desc : GRID 한줄 추가 */
- /* param : pGridNm : DataGrid Name */
- /* pLine : DataGrid Row */
- /* return : */
- /* --------------------------------------------------*/
- function fAddItem(pGridNm,pLine){
- GridNm = eval(pGridNm)
- if (pLine == '') {
- GridNm.addRow();
- }
- else {
- GridNm.addItem(pLine, "after");
- }
- }
- /* --------------------------------------------------*/
- /* type : function */
- /* access : public */
- /* desc : GRID 한줄 삭제 */
- /* param : pGridNm : DataGrid Name */
- /* pLine : DataGrid Row */
- /* return : */
- /* --------------------------------------------------*/
- function fDeleteItem(pGridNm,pLine){
- GridNm = eval(pGridNm)
- if (pLine == '') {
- GridNm.removeItem();
- }
- else {
- GridNm.deleteItem(pLine);
- }
- }
- /* --------------------------------------------------*/
- /* type : function */
- /* access : public */
- /* desc : GRID CheckBox 값변경 */
- /* param : pGridNm : DataGrid Name */
- /* pRow : DataGrid Row */
- /* pCol : DataGrid Col */
- /* pTrueFase : 논린값 */
- /* return : */
- /* --------------------------------------------------*/
- function fCheckBox(pGridNm,pRow,pCol,pTrueFase){
- pGridNm.valueMatrix(pRow,pCol) = pTrueFase;
- }
- /* ------------------------------------------------- */
- /* type : function */
- /* access : public */
- /* desc : GRID CheckBox 값변경 */
- /* param : pGridNm : DataGrid Name */
- /* return : */
- /* -------------------------------------------------*/
- function fGridValueChangedCheckBox(pGridNm){
- var wTrueFase
- GridNm = eval(pGridNm)
- if (GridNm.col > 2) {
- wTrueFase = GridNm.valueMatrix(GridNm.row ,GridNm.col);
- if (wTrueFase == "true") {
- switch(GridNm.col){
- case GridNm.colRef("Pyes") :
- if( GridNm.row == "1" ) { // 전체 '예' 체크 시
- fCheckBox(GridNm, ITM002 ,GridNm.colRef("Pyes"),"false");
- fCheckBox(GridNm, ITM022 ,GridNm.colRef("Pyes"),"false");
- }
- fCheckBox(GridNm, GridNm.row ,GridNm.colRef("Pno"),"false");
- fCheckBox(GridNm, GridNm.row ,GridNm.colRef("Pnothing"),"false");
- break;
- case GridNm.colRef("Pno") :
- fCheckBox(GridNm,GridNm.row ,GridNm.colRef("Pyes"),"false");
- fCheckBox(GridNm,GridNm.row ,GridNm.colRef("Pnothing"),"false");
- break;
- case GridNm.colRef("Pnothing") :
- fCheckBox(GridNm,GridNm.row ,GridNm.colRef("Pyes"),"false");
- fCheckBox(GridNm,GridNm.row ,GridNm.colRef("Pno"),"false");
- break;
- case GridNm.colRef("Syes") :
- if( GridNm.row == "1" ) { // 전체 '예' 체크 시
- fCheckBox(GridNm, ITM002 ,GridNm.colRef("Syes"),"false");
- fCheckBox(GridNm, ITM022 ,GridNm.colRef("Syes"),"false");
- }
- fCheckBox(GridNm,GridNm.row ,GridNm.colRef("Sno"),"false");
- fCheckBox(GridNm,GridNm.row ,GridNm.colRef("Snothing"),"false");
- break;
- case GridNm.colRef("Sno") :
- fCheckBox(GridNm,GridNm.row ,GridNm.colRef("Syes"),"false");
- fCheckBox(GridNm,GridNm.row ,GridNm.colRef("Snothing"),"false");
- break;
- case GridNm.colRef("Snothing") :
- fCheckBox(GridNm,GridNm.row ,GridNm.colRef("Syes"),"false");
- fCheckBox(GridNm,GridNm.row ,GridNm.colRef("Sno"),"false");
- break;
- case GridNm.colRef("Oyes") :
- if( GridNm.row == "1" ) { // 전체 '예' 체크 시
- fCheckBox(GridNm, ITM002 ,GridNm.colRef("Oyes"),"false");
- fCheckBox(GridNm, ITM022 ,GridNm.colRef("Oyes"),"false");
- }
- fCheckBox(GridNm,GridNm.row ,GridNm.colRef("Ono"),"false");
- fCheckBox(GridNm,GridNm.row ,GridNm.colRef("Onothing"),"false");
- break;
- case GridNm.colRef("Ono") :
- fCheckBox(GridNm,GridNm.row ,GridNm.colRef("Oyes"),"false");
- fCheckBox(GridNm,GridNm.row ,GridNm.colRef("Onothing"),"false");
- break;
- case GridNm.colRef("Onothing") :
- fCheckBox(GridNm,GridNm.row ,GridNm.colRef("Oyes"),"false");
- fCheckBox(GridNm,GridNm.row ,GridNm.colRef("Ono"),"false");
- break;
- }
- }
- }
- }
- /* ---------------------------------------------------------------*/
- /* type : function */
- /* access : public */
- /* desc : 환자 수술전 처치 및 간호상태 확인 사항 INSERT저장 */
- /* param : EMR.MNPHCCSR 전체 */
- /* return : */
- /* ---------------------------------------------------------------*/
- function fSave(pFlag){
- model.makeValue("/root/send/oprsrvno", model.getValue("/root/init/SendData/oprsrvno"));
-
- var sPid = model.getValue(xPath_MnphccsrList + "/pid" ); // 01 환자번호
- var sOprsrvno = model.getValue(xPath_MnphccsrList + "/oprsrvno" ); // 02 의뢰번호(년도(4) + 일련번호(6))
- var sOphistno = model.getValue(xPath_MnphccsrList + "/ophistno" ); // 03 예약번호에 따른 이력번호
- var sInstcd = model.getValue(xPath_MnphccsrList + "/instcd" ); // 04 원무외래/입원등록정보 PK
- var sOprsrvdd = model.getValue(xPath_MnphccsrList + "/oprsrvdd" ); // 05 수술일시:수술이확정된 일시
- var sOprsrvtmcd = model.getValue(xPath_MnphccsrList + "/oprsrvtmcd" ); // 06 수술예약시간코드
- var sInoutflag = model.getValue(xPath_MnphccsrList + "/inoutflag" ); // 07 외래입원구분
- var sOpPatflagcd = model.getValue("/root/main/operation/list/oppatflagcd"); // 11 환자구분
- var sOrddd = model.getValue(xPath_MnphccsrList + "/orddd" ); // 08 진료일자
- var sOrddeptcd = model.getValue(xPath_MnphccsrList + "/orddeptcd" ); // 09 진료부서
- var sInday = model.getValue(xPath_MnphccsrList + "/inday" ); // 10 입원일자
- var sEtctel1 = model.getValue(xPath_MnphccsrList + "/etctel1" ); // 47 보호자연락처1
- var sEtctel2 = model.getValue(xPath_MnphccsrList + "/etctel2" ); // 48 보호자연락처2
- var sSmsagreeyn = model.getValue(xPath_MnphccsrList + "/smsagreeyn" ); // 49 SMS동의여부
- var sTempStaycls = model.getValue("/root/init/staycls");
-
- var message = model.getValue(ipt_msginfo.attribute("ref"));
-
- if(sSmsagreeyn == "Y") {
- //if(message == "" || message == null) {
- // messageBox("SMS동의시에는 SMS문구를 입력하셔야합니다.", "E");
- // return
- //}
- }
-
- if( (sInoutflag != sOpPatflagcd)&&(sOpPatflagcd != "") ) {
- //기록지데이터랑 스케쥴 데이터랑 틀릴경우 스케쥴데이터로 처리 2010.03.10 K. J. M
- //수술준비확인 기록이후 외래에서 입원으로 스케쥴이 변경된경우 점검리스트 처방 콤보가 제대로 끌려오지 않음
- sInoutflag = sOpPatflagcd;
- }
-
-
- if(pFlag == "C" && ( sPatCls == "W" || sPatCls == "B" )) {
- if (model.getValue(xPath_MnphccsrList + "/wardstartdt") == "" || model.getValue(xPath_MnphccsrList + "/wardstarttm")=="") {
- messageBox("병동출발일시를 입력하십시요!", "I000");
- return;
- } else {
- if (model.getValue(xPath_MnphccsrList + "/wardstarttm").length < 4 ) {
- messageBox("병동출발일시를 입력하십시요!", "I000");
- return;
- }
- }
- }
-
- // 인증저장된 병동 환자의 경우 CP 기록이랑 연결한다 2012.11.22 KJS
- if(pFlag == "C" && ( sPatCls == "W" || sPatCls == "B" )) {
- fNrCpRecord();
- }
- if (model.getValue(xPath_MnphccsrList + "/patarrvdt" ) != "" &&
- model.getValue(xPath_MnphccsrList + "/wardstartdt") == "" ){
- messageBox("병동출발일시를 입력하십시요!", "I000");
- //messageBox("병동출발일시를 ","C001" );
- model.setValue(xPath_MnphccsrList + "/patarrvdt","");
- model.setValue(xPath_MnphccsrList + "/patarrvtm","");
- model.refresh();
- return;
- }
- if( pFlag == "C" && ( sPatCls == "O" || (sPatCls == "B" && ( chk_stay.value== "1" || chk_oper.value == "2" ))) ) {
- if(model.getValue(xPath_MnphccsrList + "/patarrvdt") == "" || model.getValue(xPath_MnphccsrList + "/patarrvtm")=="") {
- messageBox("환자도착일시를 입력하십시요!", "I000");
- return;
- }
- if(model.getValue(xPath_MnphccsrList + "/patarrvtm").length < 4) {
- messageBox("환자도착일시를 입력하십시요!", "I000");
- return;
- }
-
- if(model.getValue("/root/init/staycls") == "") {
- messageBox("환자위치(대기실,수술실)를 선택하십시요!", "I000");
- return;
- }
-
- if(model.getValue("/root/init/staycls") == "2" && model.getValue(xPath_MnphccsrList + "/staychfid") == "") {
- messageBox("대기실 기록을 확인하십시요!", "I000");
- return;
- }
- }
- var sOpcnfmtm = model.getValue(xPath_MnphccsrList + "/opcnfmtm").replace(':', '');
- var sOpcnfmdt = sOprsrvdd // 05 수술일시:수술이확정된 일시
- + sOpcnfmtm.substr(0,4); // 수술일시:수술이확정시간
-
- var sWardstartdttm = model.getValue(xPath_MnphccsrList + "/wardstartdt" )
- + model.getValue(xPath_MnphccsrList + "/wardstarttm" ); // 11 병동출발일시통원환자인경우 null' )
- var sPatarrvdttm = model.getValue(xPath_MnphccsrList + "/patarrvdt" )
- + model.getValue(xPath_MnphccsrList + "/patarrvtm" ); // 12 환자도착일시
- var sWardarrvdttm = model.getValue(xPath_MnphccsrList + "/wardarrvdt" )
- + model.getValue(xPath_MnphccsrList + "/wardarrvtm" ); // 12_1 병동도착일시
-
- model.setValue(xPath_MnphccsrList + "/wardstartdttm", sWardstartdttm);
- model.setValue(xPath_MnphccsrList + "/wardarrvdttm", sWardarrvdttm);
-
- // alert("==>"+sWardstartdttm +"<"+ sPatarrvdttm +"<"+ sOpcnfmdt+"<==");
-
- // if (sPatCls != "O" && sWardstartdttm != "" && sWardstartdttm > sOpcnfmdt){
- // messageBox("병동 출발일시가 수술예약일시 보다 시간이 이릅니다. 다시","C001");
- // model.setValue(xPath_MnphccsrList + "/wardstartdt" ,"");
- // model.setValue(xPath_MnphccsrList + "/wardstarttm" ,"");
- // model.refresh();
- // return;
- // }
- //
- // if (sPatCls != "W" && sPatarrvdttm != "" && sPatarrvdttm > sOpcnfmdt){
- // messageBox("환자 도착일시가 수술예약일시 보다 시간이 이릅니다. 다시","C001");
- // //model.setValue(xPath_MnphccsrList + "/patarrvdt" ,"");
- // //model.setValue(xPath_MnphccsrList + "/patarrvtm" ,"");
- // model.refresh();
- // return;
- // }
-
- // 환자 도착일시가 병동 출발일시보다 시간 Check
- if (sWardstartdttm != "" && sPatarrvdttm != "" && sWardstartdttm > sPatarrvdttm){
- messageBox("환자 도착일시를 확인하십시요!","C000");
- // model.setValue(xPath_MnphccsrList + "/patarrvdt","");
- // model.setValue(xPath_MnphccsrList + "/patarrvtm","");
- model.refresh();
- return;
- }
-
- if (fGridCheckConfirm()) {
- messageBox("확인사항을 Check 하지 않은 항목이 있습니다. ","I000");
- return;
- }
- var sInfectspec = instance1.selectSingleNode(xPath_Fmt_infectspec ).xml; // 13 감염정보
- var sAllrgspec = instance1.selectSingleNode(xPath_Fmt_allrgspec ).xml; // 14 알러지정보
- var sSendgoodandmedspec = instance1.selectSingleNode(xPath_Fmt_sendgoodandmedspec).xml; // 15 보낸물품및약품정보
-
- //20110711 wify 경북대병원 통증사정 사용하지 않음
- // if( getNodesetCount("/root/main/MnphccsrData/MnphccsrList/curenurgstatspec/ItemCheckLists/ItemCheckList") == 22 ) {//통증사정이 있을경우
- // var sCurenurgstatspec = instance1.selectSingleNode(xPath_Fmt_curenurgstatspecT).xml; // 16 처치및간호상태정보
- // }else {
- var sCurenurgstatspec = instance1.selectSingleNode(xPath_Fmt_curenurgstatspec ).xml; // 16 처치및간호상태정보
- // }
- var sTestinfospec = instance1.selectSingleNode(xPath_Fmt_testinfospec ).xml; // 17 검사정보내역
- // 13 감염정보
- if(instance1.selectSingleNode(xPath_infectspec).childNodes.length > 0) {
- sInfectspec = instance1.selectSingleNode(xPath_Infection).xml;
- }
-
- // 14 알러지정보
- if(instance1.selectSingleNode(xPath_allrgspec).childNodes.length > 0) {
- sAllrgspec = instance1.selectSingleNode(xPath_Allergy).xml;
- }
- // 15 보낸물품및약품정보
- if(instance1.selectSingleNode(xPath_sendgoodandmedspec).childNodes.length > 0) {
- sSendgoodandmedspec = instance1.selectSingleNode(xPath_Product).xml;
- }
-
- // 16 처치및간호상태정보
- if(instance1.selectSingleNode(xPath_curenurgstatspec).childNodes.length > 0) {
- sCurenurgstatspec = instance1.selectSingleNode(xPath_ItemCheck).xml;
- }
-
-
- var sNurgpartid = model.getValue(xPath_MnphccsrList + "/nurgpartid" ); // 18 간호단위기록자ID
- var sNurgpartrecdttm = model.getValue(xPath_MnphccsrList + "/nurgpartrecdttm" ); // 19 간호단위기록일시
- var sNurgpartsavedttm = model.getValue(xPath_MnphccsrList + "/nurgpartsavedttm" ); // 20 간호단위저장일시
- var sOperchfid = model.getValue(xPath_MnphccsrList + "/operchfid" ); // 21 수술실 기록자ID
- var sOperchfrecdttm = model.getValue(xPath_MnphccsrList + "/operchfrecdttm" ); // 22 수술실 기록일시
- var sOperchfsavedttm = model.getValue(xPath_MnphccsrList + "/operchfsavedttm" ); // 23 수술실 저장일시
- var sOpercnfmpat = model.getValue(xPath_MnphccsrList + "/opercnfmpat" ); // 24 수술실 환자명
- var sOpercnfmid = model.getValue(xPath_MnphccsrList + "/opercnfmid" ); // 25 수술실 등록번호
- var sOpercnfmdr = model.getValue(xPath_MnphccsrList + "/opercnfmdr" ); // 26 수술실 집도의
- var sOpercnfmpart = model.getValue(xPath_MnphccsrList + "/opercnfmpart" ); // 27 수술실 수술부위
- var sOpercnfmpartdisp = model.getValue(xPath_MnphccsrList + "/opercnfmpartdisp" ); // 28 수술실 수술부위표시
- var sStaychfid = model.getValue(xPath_MnphccsrList + "/staychfid" ); // 29 대기실 기록자ID
- var sStaychfrecdttm = model.getValue(xPath_MnphccsrList + "/staychfrecdttm" ); // 30 대기실 기록일시
- var sStaychfsavedttm = model.getValue(xPath_MnphccsrList + "/staychfsavedttm" ); // 31 대기실 저장일시
- var sStaycnfmpat = model.getValue(xPath_MnphccsrList + "/staycnfmpat" ); // 32 대기실 환자명
- var sStaycnfmid = model.getValue(xPath_MnphccsrList + "/staycnfmid" ); // 33 대기실 등록번호
- var sStaycnfmdr = model.getValue(xPath_MnphccsrList + "/staycnfmdr" ); // 34 대기실 집도의
- var sStaycnfmpart = model.getValue(xPath_MnphccsrList + "/staycnfmpart" ); // 35 대기실 수술부위
- var sStaycnfmpartdisp = model.getValue(xPath_MnphccsrList + "/staycnfmpartdisp" ); // 36 대기실 수술부위표시
- var sNurgpartmemo = model.getValue(xPath_MnphccsrList + "/nurgpartmemo" ); // 37 간호단위메모
- var sOperchfmemo = model.getValue(xPath_MnphccsrList + "/operchfmemo" ); // 38 수술,대기 단위메모
-
- var sCertno = model.getValue(xPath_MnphccsrList + "/certno" ); // 39 인증번호
- var sFstrgstrid = model.getValue(xPath_MnphccsrList + "/fstrgstrid" ); // 40 최초등록자ID
- var sLastupdtid = model.getValue(xPath_MnphccsrList + "/lastupdtid" ); // 41 최종수정자
- var sStat = model.getValue(xPath_MnphccsrList + "/stat" ); // 42 최종수정자
- var sOpbfcureseqno = model.getValue(xPath_MnphccsrList + "/opbfcureseqno" ); // 43 의뢰번호(년도(4) + 일련번호(6))
- var sOpstatcd = model.getValue(xPath_MnphccsrList + "/opstatcd" ); // 44 진행상태
- var sOpstatcdnew = model.getValue(xPath_MnphccsrList + "/opstatcd" ); // 45 진행상태
- var sNurgpartdeptcd = model.getValue(xPath_MnphccsrList + "/nurgpartdeptcd" ); // 46 간호단위기록 부서코드
- var sStaychfdeptcd = model.getValue(xPath_MnphccsrList + "/staychfdeptcd" ); // 47 대기실기록 부서코드
- var sOperchfdeptcd = model.getValue(xPath_MnphccsrList + "/operchfdeptcd" ); // 48 수술실기록 부서코드
- var sStaycnfmRemark = model.getValue(xPath_MnphccsrList + "/staycnfmpartdispremark" ); // 57 대기실 수술부위표시Remark
- var sOpercnfmRemark = model.getValue(xPath_MnphccsrList + "/opercnfmpartdispremark" ); // 58 수술실 수술부위표시Remark
-
- var sOpPatbdtp = model.getValue(xPath_MnphccsrList + "/oppatbdtp" ); // 59 체온
- var sOpPatbdwt = model.getValue(xPath_MnphccsrList + "/oppatbdwt" ); // 60 체중
- var sOpPatbdht = model.getValue(xPath_MnphccsrList + "/oppatbdht" ); // 61 신장
- var sOpPatsbp = model.getValue(xPath_MnphccsrList + "/oppatsbp" ); // 62 SBP
- var sOpPatdbp = model.getValue(xPath_MnphccsrList + "/oppatdbp" ); // 63 DBP
- var sFamyList = instance1.selectNodesXml("/root/main/MnphccsrData/MnphccsrList/famyinfo/famylist"); // 64 가족정보
-
- if( pFlag == "C" ) {
- if(fValidForSendMsg() == false) return;
-
- //동의여부 확인
- if(sTempStaycls == "1"){//대기실일 경우.
- var sSmsagreeyn = model.getValue("/root/main/MnphccsrData/MnphccsrList/smsagreeyn");
- if(sSmsagreeyn == "" || sSmsagreeyn == "undefined" || sSmsagreeyn == null){
- messageBox("수술진행상태 문자전송 동의여부를 확인하시기 바랍니다. ", "I000");
- return;
- } else if(sSmsagreeyn == "N"){
- //메세지만 띄워진다.
- //messageBox("수술진행상태 문자전송을 동의하지 않았습니다.", "I000");
- } else if(sSmsagreeyn == "Y"){
- var sArriTime = model.getValue("/root/main/MnphccsrData/MnphccsrList/patarrvtm");
- var sPatarrisndsmsid = model.getValue("/root/main/MnphccsrData/MnphccsrList/patarrisndsmsid");
- if(sArriTime != "" && sArriTime != null && sArriTime != "undefined" && sSmsagreeyn == "Y" && sPatarrisndsmsid == ""){
- if(fValidForSendMsg()){
-
- var sPatarrisndsmsid = model.getValue("/root/main/MnphccsrData/MnphccsrList/patarrisndsmsid");
- if(sPatarrisndsmsid == "" || sPatarrisndsmsid == null || sPatarrisndsmsid == "undefinded"){
- model.setValue("/root/init/sms/arrsmssendflag","Y");
- }else{
- model.setValue("/root/init/sms/arrsmssendflag","N");
- }
- } else {
- return;
- }
- }
- }
- }
- }
-
- if (sOpbfcureseqno == "") {
- sOpbfcureseqno = "-"; // 02의뢰번호(년도(4) + 일련번호(6))
- }
- //
- var wUserId = getUserInfo("userid" ); // 사용자
- var wUserNm = getUserInfo("usernm" ); // 사용자 명
- var wDeptCd = getUserInfo("dutplcecd"); // 사용자 부서코드
- var wDeptNm = getUserInfo("dutplcenm"); // 사용자 부서명
- var wRecoDate = getCurrentDate() + getCurrentTime(); // 시스템일자 기록
- var wSaveDate = getCurrentDate() + getCurrentTime(); // 시스템일자 기록
- // 간호단위기록
-
- if ( (sDutDSCFlag == "Y" && chk_oper.value != "2" && sOpPatflagcd != "I")
- || (sPatCls == "W")
- || (sPatCls == "B" && ( chk_stay.value != "1" && chk_oper.value != "2" )) ) {
- // 18 간호단위기록일시
- if (model.getValue("/root/main/Conditions/Confirm") == "2") { // 사용자일자 기록
- wRecoDate = model.getValue("/root/init/HideData/ssDateTime/ssDate")
- + model.getValue("/root/init/HideData/ssDateTime/ssTime");
- if(wRecoDate.replace(' ', '').length < 12){
- messageBox("기록일시를 정확하게 입력 하시기 바랍니다.", "I000");
- return;
- }
- } else{
- wRecoDate = wSaveDate;
- }
- sNurgpartid = wUserId ; // 18 간호단위기록자ID
- sNurgpartdeptcd = wDeptCd ;
- sNurgpartsavedttm = wSaveDate; // 20 간호단위저장일시
- // 임시저장의 경우는 기록일자를 넣지 않는다. 2008.01.23
- if (pFlag != "C") {
- wRecoDate =""; // 19 간호단위기록일시
- }
- sNurgpartrecdttm = wRecoDate; // 19 간호단위기록일시
-
- var sWardarrvdept = model.getValue(ipt_wardarrvdept.attribute("ref"));
- var startyn = "";
-
- if(sWardarrvdept == "") {
- model.setValue(xPath_MnphccsrList + "/nurgpartid" , wUserId ); // 18 간호단위기록자ID
- model.setValue(xPath_MnphccsrList + "/nurgpartidnm" , wUserNm ); // 사용자 명
- model.setValue(xPath_MnphccsrList + "/nurgpartdeptcd" , wDeptCd ); // 사용자 부서코드
- model.setValue(xPath_MnphccsrList + "/nurgpartiddept" , wDeptNm ); // 사용자 부서명
- model.setValue(xPath_MnphccsrList + "/nurgpartrecdttm" , wRecoDate); // 19 간호단위기록일시
- model.setValue(xPath_MnphccsrList + "/nurgpartsavedttm", wSaveDate); // 20 간호단위저장일시
- } else {
- model.setValue(xPath_MnphccsrList + "/nurspartarrvdt" , wRecoDate); // 사용자 부서명
- model.setValue(xPath_MnphccsrList + "/nurspartarrvdept" , wDeptNm); // 19 간호단위기록일시
- model.setValue(xPath_MnphccsrList + "/nurspartarrvnursnm", wUserNm); // 20 간호단위저장일시
- }
- }
- // 수술단위기록일시
- if ((sPatCls == "O") ||(sPatCls == "B") ||(sPatCls == "W" && sWardOP == "Y")) {
- wUserId = getUserInfo("userid" ); // 사용자
- wUserNm = getUserInfo("usernm" ); // 사용자 명
- wDeptCd = getUserInfo("dutplcecd"); // 사용자 부서코드
- wDeptNm = getUserInfo("dutplcenm"); // 사용자 부서명
- wRecoDate = getCurrentDate() + getCurrentTime(); // 시스템일자 기록
- wSaveDate = getCurrentDate() + getCurrentTime(); // 시스템일자 기록
- // 18 수술단위기록일시
- if (model.getValue("/root/main/Conditions/Confirm") == "2") { // 사용자일자 기록
- wRecoDate = model.getValue("/root/init/HideData/ssDateTime/ssDate")
- + model.getValue("/root/init/HideData/ssDateTime/ssTime");
- if(wRecoDate.replace(' ', '').length < 12){
- messageBox("기록일시를 정확하게 입력 하시기 바랍니다.", "I000");
- return;
- }
- } else{
- wRecoDate = wSaveDate;
- }
-
- //대기실 기록을 선택했거나, 현장수술인 병동환자
- if (chk_stay.value == "1" || (sPatCls == "W" && sWardOP == "Y")) {
- //2008-08-04 오후 12:54:02 taebum 수술실에서 병동정보도 입력가능하도록 수정
- //2008-08-07 오전 9:06:29 taebum 수술실에서 병동정보 입력 못하도록 수정
-
- if (model.getValue("/root/main/MnphccsrData/MnphccsrList/nurgpartrecdttm")=="" && sDutDSCFlag != "Y") {
- messageBox("간호단위 인증저장이 되지 않았습니다. 간호단위 기록정보를 확인하십시요!","I000");
- return;
- }
- sStaychfid = wUserId ; // 29 대기실 기록자ID
- sStaychfdeptcd = wDeptCd ;
- sStaychfsavedttm = wSaveDate; // 31 대기실 저장일시
-
- // 임시저장의 경우는 기록일자를 넣지 않는다.
- if (pFlag != "C") {
- wRecoDate =""; // 19 간호단위기록일시
- }
-
- sStaychfrecdttm = wRecoDate; // 30 대기실 기록일시
-
- model.setValue(xPath_MnphccsrList + "/staychfid" , wUserId ); // 29 대기실 기록자ID
- model.setValue(xPath_MnphccsrList + "/staychfrecdttm" , wRecoDate); // 30 대기실 기록일시
- model.setValue(xPath_MnphccsrList + "/staychfsavedttm", wSaveDate); // 31 대기실 저장일시
-
- model.setValue(xPath_MnphccsrList + "/staychfidnm" , wUserNm );
- model.setValue(xPath_MnphccsrList + "/staychfdeptcd" , wDeptCd );
- model.setValue(xPath_MnphccsrList + "/staychfiddept" , wDeptNm );
-
- //
- }
- if (chk_stay.value == "2" && sPatCls != "W") {
- //
- if (model.getValue("/root/main/MnphccsrData/MnphccsrList/staychfrecdttm")=="") {
- messageBox("대기실 인증저장이 되지 않았습니다. 대기실 기록정보를 확인하십시요!","I000");
- return;
- }
-
- sOperchfid = wUserId ; // 21 수술실 기록자ID
- sOperchfdeptcd = wDeptCd ;
- sOperchfsavedttm = wSaveDate; // 23 수술실 저장일시
-
- // 임시저장의 경우는 기록일자를 넣지 않는다.
- if (pFlag != "C") {
- wRecoDate =""; // 19 간호단위기록일시
- }
- sOperchfrecdttm = wRecoDate; // 22 수술실 기록일시
-
- model.setValue(xPath_MnphccsrList + "/operchfid" , wUserId ); // 21 수술실 기록자ID
- model.setValue(xPath_MnphccsrList + "/operchfrecdttm" , wRecoDate); // 22 수술실 기록일시
- model.setValue(xPath_MnphccsrList + "/operchfsavedttm", wSaveDate); // 23 수술실 저장일시
-
- model.setValue(xPath_MnphccsrList + "/operchfidnm" , wUserNm );
- model.setValue(xPath_MnphccsrList + "/operchfdeptcd" , wDeptCd );
- model.setValue(xPath_MnphccsrList + "/operchfiddept" , wDeptNm );
- }
- //****************************************************************************
- //2008-08-04 오후 3:03:19 taebum
- // 의뢰상태일때 기록을 저장할 경우에는 수술진행사항 Data를 손대지 않는다.
- // 마취과에서 확정 시 의뢰에서 준비확인 간호기록이 작성되었을 경우 OPSTATCD(수술진행상태)를 30(대기)로 update하기로 함.
- if(sOpstatcd == "10"){
- sOpstatcdnew = "10";
- } else{
- if (sPatarrvdttm != "" && sOpstatcd == "20") {
- sOpstatcdnew = "30";
- }
- }
- //****************************************************************************
- }
-
- model.removenode("/root/send");
- var patarrisndsmsid = model.getValue(xPath_MnphccsrList + "/patarrisndsmsid" ); // sms전송id
- var patnm = getPatientName();
-
- var sOppatflagnm = model.getValue("/root/main/OpddInfoList/OpddInfo["+(cmb_opdd.selectedIndex + 1)+"]/oppatflagnm");
- var message = model.getValue(ipt_msginfo.attribute("ref"));
- var arrsmssendflag = model.getValue("/root/init/sms/arrsmssendflag");
-
- var nurspartarrvdt = model.getValue(xPath_MnphccsrList + "/nurspartarrvdt");
- var sWardarrvnursid = model.getValue(ipt_wardarrvnursid.attribute("ref"));
- var sWardarrvdept = model.getValue(ipt_wardarrvdept.attribute("ref"));
- var startyn = "";
-
- var famylist = instance1.selectNodesXml(grd_famylist.nodeset);
-
-
-
- if(sWardarrvdept == "") {
- startyn = "S";
- } else {
- startyn = "E";
- }
-
- // Title Set
- var sMnphccsrData = "pid" + "▦" // 01 환자번호
- + "oprsrvno" + "▦" // 02 수술에대한의뢰번호(년도(4) + 일련번호(6))
- + "ophistno" + "▦" // 03 예약번호에 따른 이력번호
- + "instcd" + "▦" // 04 원무외래/입원등록정보 PK
- + "oprsrvdd" + "▦" // 05 수술일시:수술이확정된 일시
- + "oprsrvtmcd" + "▦" // 06 수술예약시간코드
- + "inoutflag" + "▦" // 07 외래입원구분
- + "orddd" + "▦" // 08 진료일자
- + "orddeptcd" + "▦" // 09 진료부서
- + "inday" + "▦" // 10 입원일자
- + "wardstartdttm" + "▦" // 11 병동출발일시통원환자인경우 null' )
- + "patarrvdttm" + "▦" // 12 환자도착일시
- + "wardarrvdttm" + "▦" // 12_1 병동도착일시
- + "wardarrvdept" + "▦" // 12_2 도착부서
- + "wardarrvnursid" + "▦" // 12_3 도착기록자
- + "startyn" + "▦" // 12_4 출발도착여부
- + "nurspartarrvdt" + "▦" // 12_5 간호단위기록시간
- + "infectspec" + "▦" // 13 감염정보
- + "allrgspec" + "▦" // 14 알러지정보
- + "sendgoodandmedspec" + "▦" // 15 보낸물품및약품정보
- + "curenurgstatspec" + "▦" // 16 처치및간호상태정보
- + "testinfospec" + "▦" // 17 검사정보내역
- + "nurgpartid" + "▦" // 18 간호단위기록자ID
- + "nurgpartrecdttm" + "▦" // 19 간호단위기록일시
- + "nurgpartsavedttm" + "▦" // 20 간호단위저장일시
- + "operchfid" + "▦" // 21 수술실 기록자ID
- + "operchfrecdttm" + "▦" // 22 수술실 기록일시
- + "operchfsavedttm" + "▦" // 23 수술실 저장일시
- + "opercnfmpat" + "▦" // 24 수술실 환자명
- + "opercnfmid" + "▦" // 25 수술실 등록번호
- + "opercnfmdr" + "▦" // 26 수술실 집도의
- + "opercnfmpart" + "▦" // 27 수술실 수술부위
- + "opercnfmpartdisp" + "▦" // 28 수술실 수술부위표시
- + "staychfid" + "▦" // 29 대기실 기록자ID
- + "staychfrecdttm" + "▦" // 30 대기실 기록일시
- + "staychfsavedttm" + "▦" // 31 대기실 저장일시
- + "staycnfmpat" + "▦" // 32 대기실 환자명
- + "staycnfmid" + "▦" // 33 대기실 등록번호
- + "staycnfmdr" + "▦" // 34 대기실 집도의
- + "staycnfmpart" + "▦" // 35 대기실 수술부위
- + "staycnfmpartdisp" + "▦" // 36 대기실 수술부위표시
- + "nurgpartmemo" + "▦" // 37 간호단위메모
- + "operchfmemo" + "▦" // 38 수술,대기 단위메모
- + "certno" + "▦" // 39 인증번호
- + "fstrgstrid" + "▦" // 40 최초등록자ID
- + "lastupdtid" + "▦" // 41 최종수정자
- + "opbfcureseqno" + "▦" // 42 수술에대한의뢰번호(년도(4) + 일련번호(6))
- + "opstatcd" + "▦" // 43 진행상태
- + "opstatcdnew" + "▦" // 44 진행상태
- + "stat" + "▦" // 45 상태
- + "certflag" + "▦" // 46 임시/인증 저장 여부(C : 인증, T : 임시)
- + "etctel1" + "▦" // 47 보호자연락처1
- + "etctel2" + "▦" // 48 보호자연락처2
- + "smsagreeyn" + "▦" // 49 SMS동의여부
- + "patarrisndsmsid" + "▦" // 50 SMS전송ID
- + "message" + "▦" // 51 SMS message
- + "arrsmssendflag" + "▦" // 52 sms전송 flag
- + "nurgpartdeptcd" + "▦" // 53 간호단위 기록부서코드
- + "staychfdeptcd" + "▦" // 54 대기실 기록부서코드
- + "operchfdeptcd" + "▦" // 55 수술실 기록부서코드
- + "patnm" + "▦" // 56 환자명
- + "staycnfmpartdispremark" + "▦" // 57 대기실 수술부위표시Remark
- + "opercnfmpartdispremark" + "▦" // 58 수술실 수술부위표시Remark
- + "oppatbdtp" + "▦" // 59 체온
- + "oppatbdwt" + "▦" // 60 체중
- + "oppatbdht" + "▦" // 61 신장
- + "oppatsbp" + "▦" // 62 SBP
- + "oppatdbp" + "▦" // 63 DBP
- + "wardop" + "▦"
- + "famylist" + "▩"; // 64 현장수술여부
- // Title Set
- sMnphccsrData += sPid + "▦" // 01 환자번호
- + sOprsrvno + "▦" // 02 수술에대한의뢰번호(년도(4) + 일련번호(6))
- + sOphistno + "▦" // 03 예약번호에 따른 이력번호
- + sInstcd + "▦" // 04 원무외래/입원등록정보 PK
- + sOprsrvdd + "▦" // 05 수술일시:수술이확정된 일시
- + sOprsrvtmcd + "▦" // 06 수술예약시간코드
- + sInoutflag + "▦" // 07 외래입원구분
- + sOrddd + "▦" // 08 진료일자
- + sOrddeptcd + "▦" // 09 진료부서
- + sInday + "▦" // 10 입원일자
- + sWardstartdttm + "▦" // 11 병동출발일시통원환자인경우 null' )
- + sPatarrvdttm + "▦" // 12 환자도착일시
- + sWardarrvdttm + "▦" // 12_1 병동도착일시
- + sWardarrvdept + "▦" // 12_2 도착부서
- + sWardarrvnursid + "▦" // 12_3 도착기록자
- + startyn + "▦" // 12_4 출발도착여부
- + nurspartarrvdt + "▦" // 12_5 간호단위 도착 기록시간
- + sInfectspec + "▦" // 13 감염정보
- + sAllrgspec + "▦" // 14 알러지정보
- + sSendgoodandmedspec + "▦" // 15 보낸물품및약품정보
- + sCurenurgstatspec + "▦" // 16 처치및간호상태정보
- + sTestinfospec + "▦" // 17 검사정보내역
- + sNurgpartid + "▦" // 18 간호단위기록자ID
- + sNurgpartrecdttm + "▦" // 19 간호단위기록일시
- + sNurgpartsavedttm + "▦" // 20 간호단위저장일시
- + sOperchfid + "▦" // 21 수술실 기록자ID
- + sOperchfrecdttm + "▦" // 22 수술실 기록일시
- + sOperchfsavedttm + "▦" // 23 수술실 저장일시
- + sOpercnfmpat + "▦" // 24 수술실 환자명
- + sOpercnfmid + "▦" // 25 수술실 등록번호
- + sOpercnfmdr + "▦" // 26 수술실 집도의
- + sOpercnfmpart + "▦" // 27 수술실 수술부위
- + sOpercnfmpartdisp + "▦" // 28 수술실 수술부위표시
- + sStaychfid + "▦" // 29 대기실 기록자ID
- + sStaychfrecdttm + "▦" // 30 대기실 기록일시
- + sStaychfsavedttm + "▦" // 31 대기실 저장일시
- + sStaycnfmpat + "▦" // 32 대기실 환자명
- + sStaycnfmid + "▦" // 33 대기실 등록번호
- + sStaycnfmdr + "▦" // 34 대기실 집도의
- + sStaycnfmpart + "▦" // 35 대기실 수술부위
- + sStaycnfmpartdisp + "▦" // 36 대기실 수술부위표시
- + sNurgpartmemo + "▦" // 37 간호단위메모
- + sOperchfmemo + "▦" // 38 수술,대기 단위메모
- + sCertno + "▦" // 39 인증번호
- + sFstrgstrid + "▦" // 40 최초등록자ID
- + sLastupdtid + "▦" // 41 최종수정자
- + sOpbfcureseqno + "▦" // 42 수술에대한의뢰번호(년도(4) + 일련번호(6))
- + sOpstatcd + "▦" // 43 진행상태
- + sOpstatcdnew + "▦" // 44 진행상태
- + sStat + "▦" // 45 상태
- + pFlag + "▦" // 46 임시/인증 저장 여부(C : 인증, T : 임시)
- + sEtctel1 + "▦" // 47 보호자연락처1
- + sEtctel2 + "▦" // 48 보호자연락처2
- + sSmsagreeyn + "▦" // 49 SMS동의여부
- + patarrisndsmsid + "▦" // 50 SMS전송ID 대기실도착
- + message + "▦" // 51 SMS message
- + arrsmssendflag + "▦" // 52 sms전송 flag
- + sNurgpartdeptcd + "▦" // 53 간호단위 기록 부서코드
- + sStaychfdeptcd + "▦" // 54 대기실 기록 부서코드
- + sOperchfdeptcd + "▦" // 55 수술실 기록 부서코드
- + patnm + "▦" // 56 환자명
- + sStaycnfmRemark + "▦" // 57 대기실 수술부위표시Remark
- + sOpercnfmRemark + "▦" // 58 수술실 수술부위표시Remark
- + sOpPatbdtp + "▦" // 59 체온
- + sOpPatbdwt + "▦" // 60 체중
- + sOpPatbdht + "▦" // 61 신장
- + sOpPatsbp + "▦" // 62 SBP
- + sOpPatdbp + "▦" // 63 DBP
- + sWardOP + "▦" // 64 현장수술
- + sFamyList + "▩"; // 환자 및 보호자 연락처
-
- var chkyn;
- var mpphone;
-
- var msgHeader="mpphone▩";
- var msgData = "";
-
- for(var i = grd_famylist.fixedRows; i < grd_famylist.rows; i++) {
- chkyn = grd_famylist.valueMatrix(i, grd_famylist.colRef("chkyn"));
- mpphone = grd_famylist.valueMatrix(i, grd_famylist.colRef("mpphone"));
-
- if(chkyn == "Y") {
- if(mpphone.length < 11 || mpphone =="" || mpphone == null) {
- messageBox("선택하신 보호자의 연락처가 잘못되었습니다.", "E");
- return;
- } else {
- msgData += mpphone + "▩";
- }
-
- }
- }
-
- model.makeValue("/root/send/MnphccsrList",sMnphccsrData);
- model.makeValue("/root/send/msglist", msgHeader +msgData);
-
- var CertFlag = true;
- if (pFlag == "C") {
- CertFlag = fSignProcessSet();
- }
- if (CertFlag == false){
- //2008-10-01 오전 5:54:13 taebum 인증저 취소시 통합기록 조회관련 요구사항 처리로 인한 오류발생 .
- //화면 close 시킴.
- window.close();
- return; // 인증실패
- }
-
- if( submit("TXMNP00201") ){
- opIdx = cmb_opdd.selectedIndex + 1;
- var cPath = "/root/main/OpddInfoList/OpddInfo["+opIdx+"]";
- model.setValue(cPath+ "/opbfcureseqno" , model.getValue("/root/temp/retdata/opbfcureseqno"));
-
- if( pFlag == "C" ) {
- model.setValue(xPath_MnphccsrList+ "/certno" , model.getValue("/root/temp/retdata/certno" ));
- }
-
- Query_Opdd_All();
-
- if( (sPatCls == "O") ||(sPatCls == "B") ) {
- //fStayOperCheck(); // 대기실 수술실 Check
- fOpWardCheck();
- }else{
- fOpWardCheck();
- }
- }
- }
- /* ------------------------------------------------- */
- /* type : function */
- /* access : public */
- /* desc : 확인정보 Check 여부을 Check한다 */
- /* return : */
- /* --------------------------------------------------*/
- function fGridCheckConfirm() {
- var BoolCheck = false;
- var GridNm = grd_ItemCheckList;
- var opchkyn ="";
- var cnt = 0;
-
- for (var iRow = GridNm.fixedrows; iRow < GridNm.rows; iRow++){
- opchkyn = model.getValue(GridNm.nodeset + "[" + (iRow-1) + "]/opchkyn");
-
-
- if (chk_stay.value == "1") {
- if ((GridNm.valueMatrix(iRow, GridNm.colRef("Syes"))== "false" || GridNm.valueMatrix(iRow, GridNm.colRef("Syes"))== "") &&
- (GridNm.valueMatrix(iRow, GridNm.colRef("Sno"))== "false" || GridNm.valueMatrix(iRow, GridNm.colRef("Sno"))== "") &&
- (GridNm.valueMatrix(iRow, GridNm.colRef("Snothing"))== "false" || GridNm.valueMatrix(iRow, GridNm.colRef("Snothing"))== "")) {
- BoolCheck = true;
- break;
- }
- } else if (chk_stay.value == "2") {
- if ((GridNm.valueMatrix(iRow, GridNm.colRef("Oyes"))== "false" || GridNm.valueMatrix(iRow, GridNm.colRef("Oyes"))== "") &&
- (GridNm.valueMatrix(iRow, GridNm.colRef("Ono"))== "false" || GridNm.valueMatrix(iRow, GridNm.colRef("Ono"))== "") &&
- (GridNm.valueMatrix(iRow, GridNm.colRef("Onothing"))== "false" || GridNm.valueMatrix(iRow, GridNm.colRef("Onothing"))== "") &&
- (opchkyn == "Y" ||opchkyn == "" || opchkyn == null) ) {
- BoolCheck = true;
- break;
- }
- } else {
- if ((GridNm.valueMatrix(iRow, GridNm.colRef("Pyes"))== "false" || GridNm.valueMatrix(iRow, GridNm.colRef("Pyes"))== "") &&
- (GridNm.valueMatrix(iRow, GridNm.colRef("Pno"))== "false" || GridNm.valueMatrix(iRow, GridNm.colRef("Pno"))== "") &&
- (GridNm.valueMatrix(iRow, GridNm.colRef("Pnothing"))== "false" || GridNm.valueMatrix(iRow, GridNm.colRef("Pnothing"))== "")) {
-
- BoolCheck = true;
- break;
- }
- }
- }
-
- return BoolCheck;
- }
- /* ------------------------------------------------- */
- /* SMMNP00200_수술전처치 및 간호상태 확인 */
- /* 조회버튼 Click시 Call */
- /* ------------------------------------------------- */
- function select_opdd() {
- submit("TRMNP00201"); // 환자 수술전 처치 및 간호상태 확인 사항
- }
- function fRowSyleColor(pGrid, pRow, pColor ){
- pGrid.rowstyle( pRow , "data", "background-color") = pColor;
- }
- function fRowSyle(pGrid){
- var sColor = "#ffc0cb"; // "#ffc0cb"; //FF69B4
- /*
- var sRowCnt = pGrid.rows - pGrid.fixedrows;
- for (var i=2; i<= sRowCnt; i++){
- if (model.getValue(xPathGride+"["+(i - 1)+"]/ItemState1") == "Y") {
- fRowSyleColor(pGrid, i, sColor);
- }
- }
- */
- var iRowCnt = pGrid.rows;
- for (var i=1; i<= iRowCnt; i++){
- // if (pGrid.valueMatrix(i, 12) == "Y") {
- if (pGrid.valueMatrix(i, pGrid.colRef("ItemState1")) == "Y") {
- fRowSyleColor(pGrid, i, sColor);
- }
- }
- }
- function fPopUpCall(pFlag){
- var xPathProduct = xPath_Product+"/ProductList";
- var sItemCode = "";
- var iRow = grd_ItemCheckList.row - 1;
- var inoutflag = model.getValue(xPath_MnphccsrList+"/inoutflag");
- var oppatflagcd = model.getValue("/root/main/operation/list/oppatflagcd");
- if( (inoutflag != oppatflagcd)&&(oppatflagcd != "") ) {
- //기록지데이터랑 스케쥴 데이터랑 틀릴경우 스케쥴데이터로 처리 2010.03.10 K. J. M
- //수술준비확인 기록이후 외래에서 입원으로 스케쥴이 변경된경우 점검리스트 처방 콤보가 제대로 끌려오지 않음
- inoutflag = oppatflagcd;
- }
- var sParam = "pid▦orddd▦cretno▦instcd▦inoutflag▩"
- + model.getValue(xPath_MnphccsrList+"/pid" ) + "▦"
- + model.getValue(xPath_MnphccsrList+"/orddd" ) + "▦"
- + model.getValue(xPath_MnphccsrList+"/cretno") + "▦"
- + model.getValue(xPath_MnphccsrList+"/instcd") + "▦"
- + inoutflag + "▩";
- //+ model.getValue(xPath_MnphccsrList+"/inoutflag") + "▩";
- setParameter("SMMNP00201_Param", sParam);
- var ParaItem = "ITM010 " // 금식
- + "ITM012 " // 수술부위 피부준비
- + "ITM013 " // 수술전투약
- + "ITM018 " // 혈액준비사항
- + "ITM019 " // 물품/약품
- + "ITM011 " // 관장
- + "ITM008 " // 알러지여부
- + "ITM017 " // 전염성질환
- + "ITM021 "; // 약품(2009-02-19 YCD 물품과 약품 정보 분리)
- var ParamItm = "ItemCode▦ItemInfo▩";
- var sRowCnt = grd_ItemCheckList.rows - grd_ItemCheckList.fixedrows+1;
- for (var i=1; i<= sRowCnt; i++){
- sItemCode = model.getValue(xPathGride+"["+(i - 1)+"]/ItemCode");
- if (ParaItem.indexOf(sItemCode) != -1) {
- ParamItm += sItemCode + "▦"
- + model.getValue(xPathGride+"["+(i - 1)+"]/ItemInfo")+ "▩";
- }
- }
- setParameter("SMMNP00201_Item", ParamItm);
- modal("SMMNP00201");
- var sCnt = "";
- var sITM013 = "";
- var sPopParam = getParameter("SendData");
- for(var i=1; i< sPopParam.split("▩").length-1; i++){
- sItemCode = getArrayData(sPopParam,i,0);
- if (sItemCode =="ITM013" || sItemCode =="ITM018") { // ITM013:수술전투약 ,ITM018:혈액
- sItemData = getArrayData(sPopParam,i,1);
- // sItemData = sItemData.replace('\n', '★');
- fItemCode1318(sItemCode, sItemData);
- sCnt = parseInt(getNodesetCount(xPathGride+"[ItemCode ='ITM013']"));
- sCnt += parseInt(getNodesetCount(xPathGride+"[ItemCode ='ITM018']"));
- wFixGrid = sCnt + 21;
- } else {
- model.setValue(xPathGride+"[ItemCode ='"+sItemCode+"']/ItemInfo", getArrayData(sPopParam,i,1));
- }
- }
- grd_ItemCheckList.mergeCol(0) = true;
- grd_ItemCheckList.mergeCol(grd_ItemCheckList.colRef("ItemInfoBk")) = true;
- grd_ItemCheckList.mergeCol(grd_ItemCheckList.colRef("ItemInfo")) = false;
- grd_ItemCheckList.mergeCol(grd_ItemCheckList.colRef("Pyes")) = false;
- grd_ItemCheckList.mergeCol(grd_ItemCheckList.colRef("Pno")) = false;
- grd_ItemCheckList.mergeCol(grd_ItemCheckList.colRef("Pnothing")) = false;
- grd_ItemCheckList.mergeCol(grd_ItemCheckList.colRef("Syes")) = false;
- grd_ItemCheckList.mergeCol(grd_ItemCheckList.colRef("Sno")) = false;
- grd_ItemCheckList.mergeCol(grd_ItemCheckList.colRef("Snothing")) = false;
- grd_ItemCheckList.mergeCol(grd_ItemCheckList.colRef("Pyes")) = false;
- grd_ItemCheckList.mergeCol(grd_ItemCheckList.colRef("Pno")) = false;
- grd_ItemCheckList.mergeCol(grd_ItemCheckList.colRef("Pnothing")) = false;
- grd_ItemCheckList.rebuild();
- }
- //
- function fItemCode1318(pItemCode, pParam){
- sParam = pParam.split("★");
- if (sParam.length < 1) return;
- //
- wIdx = 0;
- //var sRowCnt = grd_ItemCheckList.rows - grd_ItemCheckList.fixedrows;
- //var OldCnt = parseInt(getNodesetCount(xPathGride+"[ItemCode ='"+pItemCode+"']")); // 수술전 투약 건수
- //기존에 등록되어 있는 정보는 clear후 다시 생성한다.
- var iTempRows = grd_ItemCheckList.rows;
- var iFirstSamePos = 0;
- var iDeleCnt = 0;
- var sItemState1 = "";
- var sItemState2 = "";
- var sItemState3 = "";
- var sReferenceseq = "";
- for(var i = iTempRows; i >= 1 ; i-- ){
- // if(grd_ItemCheckList.valueMatrix(i, 10) == pItemCode){
- if(grd_ItemCheckList.valueMatrix(i, grd_ItemCheckList.colRef("ItemCode")) == pItemCode){
- if(iFirstSamePos == 0){
- // sReferenceseq = grd_ItemCheckList.valueMatrix(i, 11);
- // sItemState1 = grd_ItemCheckList.valueMatrix(i, 12);
- // sItemState2 = grd_ItemCheckList.valueMatrix(i, 13);
- // sItemState3 = grd_ItemCheckList.valueMatrix(i, 14);
- sReferenceseq = grd_ItemCheckList.valueMatrix(i, grd_ItemCheckList.colRef("referenceseq"));
- sItemState1 = grd_ItemCheckList.valueMatrix(i, grd_ItemCheckList.colRef("ItemState1"));
- sItemState2 = grd_ItemCheckList.valueMatrix(i, grd_ItemCheckList.colRef("ItemState2"));
- sItemState3 = grd_ItemCheckList.valueMatrix(i, grd_ItemCheckList.colRef("ItemState3"));
- }
- grd_ItemCheckList.deleteItem(i);
- iFirstSamePos = i-grd_ItemCheckList.fixedrows+1;
- }
- }
- var sTempInfoBk = model.getValue("/root/init/XmlFormat/curenurgstatspec/ItemCheckLists/ItemCheckList[ItemCode='"+pItemCode+"']/ItemInfoBk");
- //alert("iFirstSamePos : "+iFirstSamePos);
- /*
- if(pItemCode == ""){
- iFirstSamePos = 18;
- }else if(pItemCode == ""){
- iFirstSamePos = 17;
- }
- */
- var sColor = "#ffc0cb"; // "#ffc0cb"; //FF69B4
- for(var j=0; j< sParam.length; j++){
- grd_ItemCheckList.insertRow(iFirstSamePos,"below", false);
- model.copyNode(xPathGride+"["+iFirstSamePos+1 +"]", "/root/init/ItemCheckList");
- // alert("cur infobk : "+grd_ItemCheckList.valueMatrix(iFirstSamePos+1, 1)+" , sTempInfoBk : "+sTempInfoBk + " , pItemCode : "+pItemCode);
- // grd_ItemCheckList.valueMatrix(iFirstSamePos+1, 1) = sTempInfoBk;
- // grd_ItemCheckList.valueMatrix(iFirstSamePos+1, 2) = sParam[j];
- // grd_ItemCheckList.valueMatrix(iFirstSamePos+1, 12) = pItemCode;
- // grd_ItemCheckList.valueMatrix(iFirstSamePos+1, 13) = sReferenceseq;
- // grd_ItemCheckList.valueMatrix(iFirstSamePos+1, 14) = sItemState1;
- // grd_ItemCheckList.valueMatrix(iFirstSamePos+1, 15) = sItemState2;
- // grd_ItemCheckList.valueMatrix(iFirstSamePos+1, 16) = sItemState3;
- grd_ItemCheckList.valueMatrix(iFirstSamePos+1, grd_ItemCheckList.colRef("ItemInfoBk")) = sTempInfoBk;
- grd_ItemCheckList.valueMatrix(iFirstSamePos+1, grd_ItemCheckList.colRef("ItemInfo")) = sParam[j];
- grd_ItemCheckList.valueMatrix(iFirstSamePos+1, grd_ItemCheckList.colRef("ItemCode")) = pItemCode;
- grd_ItemCheckList.valueMatrix(iFirstSamePos+1, grd_ItemCheckList.colRef("referenceseq")) = sReferenceseq;
- grd_ItemCheckList.valueMatrix(iFirstSamePos+1, grd_ItemCheckList.colRef("ItemState1")) = sItemState1;
- grd_ItemCheckList.valueMatrix(iFirstSamePos+1, grd_ItemCheckList.colRef("ItemState2")) = sItemState2;
- grd_ItemCheckList.valueMatrix(iFirstSamePos+1, grd_ItemCheckList.colRef("ItemState3")) = sItemState3;
- fRowSyleColor(grd_ItemCheckList, iFirstSamePos+1, sColor);
- grd_ItemCheckList.isReadOnly(iFirstSamePos+1, grd_ItemCheckList.colRef("Pyes"), iFirstSamePos+1, grd_ItemCheckList.colRef("Pnothing"))=sBool1;
- grd_ItemCheckList.isReadOnly(iFirstSamePos+1, grd_ItemCheckList.colRef("Syes"), iFirstSamePos+1, grd_ItemCheckList.colRef("Snothing"))=sBool2;
- grd_ItemCheckList.isReadOnly(iFirstSamePos+1, grd_ItemCheckList.colRef("Oyes"), iFirstSamePos+1, grd_ItemCheckList.colRef("Onothing"))=sBool3;
- // grd_ItemCheckList.isReadOnly(iFirstSamePos+1, 3, iFirstSamePos+1, 5)=sBool1;
- // grd_ItemCheckList.isReadOnly(iFirstSamePos+1, 6, iFirstSamePos+1, 8)=sBool2;
- // grd_ItemCheckList.isReadOnly(iFirstSamePos+1, 9, iFirstSamePos+1, 11)=sBool3;
- iFirstSamePos = iFirstSamePos+1;
- }
- }
- function fPopUpCall_bak(pFlag){
- var xPathGride = xPath_ItemCheck+"/ItemCheckList";
- var xPathProduct = xPath_Product+"/ProductList";
- var sItemCode = "";
- var iRow = grd_ItemCheckList.row - 1;
- var sParam = "pid▦orddd▦cretno▦instcd▩"
- + model.getValue(xPath_MnphccsrList+"/pid" ) + "▦"
- + model.getValue(xPath_MnphccsrList+"/orddd" ) + "▦"
- + model.getValue(xPath_MnphccsrList+"/cretno") + "▦"
- + model.getValue(xPath_MnphccsrList+"/instcd") + "▩";
- setParameter("SMMNP00201_Param", sParam);
- modal("SMMNP00201");
- var sCnt = "";
- var sITM013 = "";
- var sPopParam = getParameter("SendData");
- for(var i=1; i< sPopParam.split("▩").length-1; i++){
- sItemCode = getArrayData(sPopParam,i,0);
- if (sItemCode =="ITM013" || sItemCode =="ITM018") { // ITM013:수술전투약 ,ITM018:혈액
- if (sItemCode =="ITM013") {
- sItmCnt = wDrgIdx;
- model.setValue("/root/init/ItemCheckList/ItemInfoBk", "수술전투약");
- } else {
- sItmCnt = wBolIdx;
- model.setValue("/root/init/ItemCheckList/ItemInfoBk", "혈액준비사항");
- }
- sITM013 = getArrayData(sPopParam,i,1).split("★");
- var jj = sItmCnt + 1; // 14
- var sColor = "#ffc0cb"; // "#ffc0cb"; //FF69B4
- //alert("var "+jj+" = "+sItmCnt+" - 1;")
- if (sITM013.length > 1){
- for(var j=0; j< sITM013.length; j++){
- if ((j > 0) && (sItmCnt <= jj)) {
- grd_ItemCheckList.insertRow(jj,"above", false);
- fRowSyleColor(grd_ItemCheckList, jj, sColor);
- // 20110705 wify 경북대병원 grid.col을 grid.colRef로 정의
- // grd_ItemCheckList.isReadOnly(jj, 3, jj, 5)=sBool1;
- // grd_ItemCheckList.isReadOnly(jj, 6, jj, 7)=sBool2;
- // grd_ItemCheckList.isReadOnly(jj, 8, jj, 9)=sBool3;
-
- grd_ItemCheckList.isReadOnly(jj, grd_ItemCheckList.colRef("Pyes"), jj, grd_ItemCheckList.colRef("Pnothing"))=sBool1;
- grd_ItemCheckList.isReadOnly(jj, grd_ItemCheckList.colRef("Syes"), jj, grd_ItemCheckList.colRef("Snothing"))=sBool2;
- grd_ItemCheckList.isReadOnly(jj, grd_ItemCheckList.colRef("Oyes"), jj, grd_ItemCheckList.colRef("Onothing"))=sBool3;
- }
- model.setValue("/root/init/ItemCheckList/ItemInfo", sITM013[j]);
- model.copyNode(xPathGride+"["+(jj-1)+"]", "/root/init/ItemCheckList");
- jj++;
- }
- jj--;
- if (sItemCode =="ITM018") {
- wBolCnt = sITM013.length;
- } else {
- wDrgCnt = sITM013.length;
- }
- sItmCnt = sITM013.length;
- }
- //
- // alert("("+wDrgIdx+" > "+jj+")" );
- if (wDrgIdx > jj) {
- for(var j=wDrgIdx; j >= jj; j--){
- grd_ItemCheckList.deleteRow(j, false);
- }
- }
- var sCnt = parseInt(getNodesetCount(xPathGride+"[ItemCode ='ITM013']")); // 수술전 투약 건수
- wDrgIdx = sCnt + 18; // 수술전 투약 건수
- wFixGrid = (sCnt - 1)+ 22;
- // wDrgIdx = parseInt(getNodesetCount(xPathGride+"[ItemCode ='ITM013']")) + 13;
- } else {
- model.setValue(xPathGride+"[ItemCode ='"+sItemCode+"']/ItemInfo", getArrayData(sPopParam,i,1));
- }
- }
- grd_ItemCheckList.rebuild();
- }
- /* ---------------------------------------------------------------*/
- /* type : function */
- /* access : public */
- /* desc : 환자별 타업무 연계 정보 조회 */
- /* param : EMR.MNPHCCSR 전체 */
- /* return : */
- /* ---------------------------------------------------------------*/
- function fSrchPatLnkInfo(pFlag){
- var NodeCnt = 0;
- model.removenodeset("/root/send");
- model.makeValue("/root/send/pid" , model.getValue(xPath_MnphccsrList+"/pid"));
- model.makeValue("/root/send/oprsrvdd", model.getValue(xPath_MnphccsrList + "/oprsrvdd"));
- model.makeValue("/root/send/flag" , pFlag);
- if (submit("TRMNP00204")){
- // 알레르기 정보
- if ("all" == pFlag || "allergy" == pFlag){
- model.removenode(xPath_Allergy);
- model.makeNode(xPath_Allergy);
- NodeCnt = getNodesetCnt(model, xPath_PatLnkInfo+"/AllergyList");
- if (NodeCnt > 0){
- for(var j=1; j <= NodeCnt; j++){
- model.duplicate(xPath_Allergy,xPath_PatLnkInfo+"/AllergyList["+j+"]");
- }
- }
- grd_AllergyList.rebuild();
- }
- // 감염정보
- if ("all" == pFlag || "infection" == pFlag){
- model.removenode(xPath_Infection);
- model.makeNode(xPath_Infection);
- NodeCnt = getNodesetCnt(model, xPath_PatLnkInfo+"/InfectionList");
- if (NodeCnt > 0){
- for(var j=1; j <= NodeCnt; j++){
- model.duplicate(xPath_Infection,xPath_PatLnkInfo+"/InfectionList["+j+"]");
- }
- }
- }
- }
- datagrid2.refresh();
- }
- // ------------------------------------------------------
- // ICNP 용어 조회 팝업(SMMNP00201.xfm - JScript )
- // ------------------------------------------------------
- var xPathItem = "/root/main/ItemInfo/ItemCheckList";
- var xPathItemTemp = "/root/ItemCheckLists/ItemCheckList";
- var xPathItemList = "/root/main/ItemInfo/ItemCheckList/ItemList";
- var xFastItemInfoPath = "/root/main/ItemInfo/FastItemInfo"; // 금식
- var xAlgyItemListPath = "/root/main/ItemInfo/AlgyItemInfo/ItemList"; // 알러지
- var xContagSickItemListPath = "/root/main/ItemInfo/ContagSickInfo/ItemList"; // 전염성 질환
- var xEtcItemInfoPath = "/root/main/ItemInfo/EtcItemInfo"; // 기타 항목
- var xPrcpListPath = "/root/main/prcpinfo/prcplist"; // 수술전 처방 목록
- /**
- * @group :
- * @ver : 2007.03.16
- * @by : 최학록
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 화면 초기화
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fInit(){
- // Test할때 막는부분 ----------------
- var sParamMsg = "";
- var sParamItm = "";
- if (checkOpener()) {
- sParamMsg = opener.javascript.getParameter("SMMNP00201_Param");
- sParamItm = opener.javascript.getParameter("SMMNP00201_Item");
- }
- if(sParamMsg == "") return;
- // 항목 Set
- fSetParameter(sParamItm);
- // 파라메타
- model.setValue("/root/init/cond/pid" , getArrayData(sParamMsg,1,0));
- model.setValue("/root/init/cond/orddd" , getArrayData(sParamMsg,1,1));
- model.setValue("/root/init/cond/cretno" , getArrayData(sParamMsg,1,2));
- model.setValue("/root/init/cond/inoutflag", getArrayData(sParamMsg,1,4));
- // Test할때 막는부분 여기까지----------------
- // 조회조건 SET
- model.removenodeset("/root/send");
- model.makeValue("/root/send/pid" , model.getValue("/root/init/cond/pid" ));
- model.makeValue("/root/send/orddd" , model.getValue("/root/init/cond/orddd" ));
- model.makeValue("/root/send/cretno" , model.getValue("/root/init/cond/cretno"));
- model.makeValue("/root/send/inoutflag", model.getValue("/root/init/cond/inoutflag"));
- if (submit("TRMNP00205")){
- cmb_rgstdata.selectedIndex = 0;
- fSrchPrcpInfo();
- }
- }
- //===================================
- /**
- * @group :
- * @ver : 2007.03.16
- * @by : 최학록
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 처방목록
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetParameter(pItem){
- var sCnt = "";
- var sItemCode = "";
- for(var i=1; i< pItem.split("▩").length-1; i++){
- sItemCode = getArrayData(pItem,i,0);
- sItemInfo = getArrayData(pItem,i,1);
- //
- if(sItemInfo == "") continue;
- //
- sCnt = "";
- switch(sItemCode){
- case "ITM008" : // 알러지여부
- var sITM008 = sItemInfo.split(",");
- for (var j=0; j < sITM008.length; j++){
- if (parseInt(getNodesetCount(xAlgyItemListPath+"[ItmName ='"+sITM008[j]+"']")) == 0) {
- sCnt = (sCnt == "") ? sITM008[j] : (sCnt + "," + sITM008[j]) ;
- } else {
- model.setValue(xAlgyItemListPath+"[ItmName ='"+sITM008[j]+"']/ItmCheck", "true");
- }
- }
- model.setValue("/root/main/ItemInfo/AlgyItemInfo/ItemOther", sCnt);
- break;
- case "ITM017" : // 전염성질환
- var sITM017 = sItemInfo.split(",");
- for (var j=0; j < sITM017.length; j++){
- if (parseInt(getNodesetCount(xContagSickItemListPath+"[ItmName ='"+sITM017[j]+"']")) == 0) {
- sCnt = (sCnt == "") ? sITM017[j] : (sCnt + "," + sITM017[j]) ;
- } else {
- model.setValue(xContagSickItemListPath+"[ItmName ='"+sITM017[j]+"']/ItmCheck", "true");
- }
- }
- model.setValue("/root/main/ItemInfo/ContagSickInfo/ItemOther", sCnt);
- break;
- case "ITM010" : // 금식
- model.setValue(xFastItemInfoPath+"/FastCnts", sItemInfo);
- break;
- case "ITM012" : // 수술부위 피부준비
- model.setValue(xEtcItemInfoPath+"/SkinPrepCnts", sItemInfo);
- break;
- case "ITM013" : // 수술전투약
- RowCnt = grd_Drug.rows;
- for (var iRow = 0; iRow <= RowCnt; iRow++){
- if (iRow == grd_Drug.rows) {
- grd_Drug.addRow();
- }
- //
- if (model.getValue("/root/main/ItemInfo/DrugInfo/DrugList["+(iRow+1)+"]/DrugData") =="") {
- model.setValue("/root/main/ItemInfo/DrugInfo/DrugList["+(iRow+1)+"]/DrugData", sItemInfo);
- break;
- }
- }
- grd_Drug.rebuild();
- //grd_Blod.rebuild();
- break;
- case "ITM018" : // 혈액준비사항
- RowCnt = grd_Blod.rows;
- for (var iRow = 0; iRow <= RowCnt; iRow++){
- if (iRow == grd_Blod.rows) {
- grd_Blod.addRow();
- }
- //
- if (model.getValue("/root/main/ItemInfo/BlodInfo/BlodList["+(iRow+1)+"]/BlodData") =="") {
- model.setValue("/root/main/ItemInfo/BlodInfo/BlodList["+(iRow+1)+"]/BlodData", sItemInfo);
- break;
- }
- }
- grd_Blod.rebuild();
- break;
- case "ITM019" : // 보내는 물품
- model.setValue(xEtcItemInfoPath+"/SendGoodsCnts", sItemInfo);
- break;
- case "ITM021" : // 보내는 약품
- model.setValue(xEtcItemInfoPath+"/SendDrugCnts", sItemInfo);
- break;
- case "ITM011" : // 관장
- model.setValue(xEtcItemInfoPath+"/SendITM011Cnts", sItemInfo);
- break;
- }
- }
- model.refresh();
- }
- //========================================
- /**
- * @group :
- * @ver : 2007.10.15
- * @by :
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 전처방 조회
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSrchPrcpInfo(){
- if(model.getValue("/root/init/cond/pid") == "") return;
- var RgstIdx = cmb_rgstdata.selectedIndex + 1;
- var cPath = "/root/main/rgstinfo/rgstlist["+RgstIdx+"]";
- // alert("CMB==>"+cmb_rgstdata.selectedIndex+" :==>"+ RgstIdx);
- // 조회조건 SET
- model.removenodeset("/root/send");
- model.makeValue("/root/send/pid" , model.getValue("/root/init/cond/pid" ));
- model.makeValue("/root/send/orddd" , model.getValue("/root/init/cond/orddd" ));
- model.makeValue("/root/send/cretno" , model.getValue("/root/init/cond/cretno"));
- model.makeValue("/root/send/inoutflag" , model.getValue("/root/init/cond/inoutflag"));
- model.makeValue("/root/send/prcpdd" , model.getValue(cPath+ "/prcpdd" ));
- model.makeValue("/root/send/orddeptcd" , model.getValue(cPath+ "/orddeptcd" ));
- model.makeValue("/root/send/orddrid" , model.getValue(cPath+ "/orddrid" ));
- model.makeValue("/root/send/rgstdd" , model.getValue(cPath+ "/rgstdd" ));
- model.makeValue("/root/send/rgsttm" , model.getValue(cPath+ "/rgsttm" ));
- model.makeValue("/root/send/prcpkindcd" , model.getValue(cPath+ "/prcpkindcd" ));
- if (submit("TRMNP00203")){
- grd_preopprcplist.mergeCells = "bycol";
- grd_preopprcplist.mergeCol(0) = true ;
- grd_preopprcplist.mergeCol(1) = false;
- grd_preopprcplist.mergeCol(2) = false;
- grd_preopprcplist.mergeCol(3) = false;
- grd_preopprcplist.mergeCol(4) = false;
- grd_preopprcplist.mergeCol(5) = false;
- grd_preopprcplist.mergeCol(6) = false;
- grd_preopprcplist.mergeCol(7) = false;
- grd_preopprcplist.mergeCol(8) = false;
-
- var sPath = "/root/main/prcpinfo/prcplist";
- var sRowCnt = (grd_preopprcplist.rows - grd_preopprcplist.fixedrows) + 1;
- for (var i=1; i < sRowCnt; i++) {
- sPrcpFlag = model.getValue(sPath+"["+i+"]/flag" );
- if ((sPrcpFlag == "[주사]") || (sPrcpFlag == "[경구]") || (sPrcpFlag == "[외용]") || (sPrcpFlag == "[수혈]")) {
- } else {
- model.setvalue(sPath +"["+i+"]/prcpvol" , "");
- model.setvalue(sPath +"["+i+"]/prcpvolunitflag", "");
- model.setvalue(sPath +"["+i+"]/prcpqty" , "");
- model.setvalue(sPath +"["+i+"]/prcpqtyunitflag", "");
- model.setvalue(sPath +"["+i+"]/prcptims" , "");
- model.setvalue(sPath +"["+i+"]/prcpdayno" , "");
- }
- }
- }
- }
- /**
- * @group :
- * @ver : 2007.03.16
- * @by : 최학록
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 항목 보내기
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSendItem(){
- var SendData = "itemcd▦iteminfo▩";
- var sCnts = "";
- var iRow = 0;
- var sFastFlag = "";
- var sFastFromDD = "";
- var sFastFromTM = "";
- // 금식
- sCnts = model.getValue(xFastItemInfoPath+"/FastCnts");
- sFastFlag = model.getValue(xFastItemInfoPath+"/FastFlag");
- if(sCnts != "" || sFastFlag != ""){
- if(sFastFlag != ""){
- if (sCnts != "") sCnts += ", ";
- if(sFastFlag == "9"){
- sFastFromDD = model.getValue(xFastItemInfoPath+"/FastFromDD").toDate("YYYYMMDD").getDateFormat("YYYY-MM-DD");
- sFastFromTM = model.getValue(xFastItemInfoPath+"/FastFromTM").toDate("hhmm").getDateFormat("hh:mm");
- sCnts += sFastFromDD+" "+sFastFromTM+"부터 금식 시작";
- }else{
- sCnts += model.getValue("/root/init/FastCheckLists/FastCheckList[itemcd ='"+sFastFlag+"']/itemnm");
- }
- }
- SendData += model.getValue(xFastItemInfoPath+"/ItmCode") + "▦" + sCnts + "▩";
- }
- // 수술부위 피부준비
- sCnts = model.getValue(xEtcItemInfoPath+"/SkinPrepCnts");
- if (sCnts != ""){
- SendData += model.getValue(xEtcItemInfoPath+"/SkinPrepItmCode") + "▦" + sCnts + "▩";
- }
- // 수술전 투약
- sCnts = "";
- if (grd_Drug.rows > 0) {
- var wCnts = "";
- var ii = 0 ;
- for (var iRow = 1; iRow <= grd_Drug.rows; iRow++){
- wCnts = model.getValue("/root/main/ItemInfo/DrugInfo/DrugList["+iRow+"]/DrugData");
- wCnts.replace(/(^\s*)|(\s*$)/g,"");//공백제거됨
- if (wCnts !="") {
- if(ii > 0) sCnts += "★";
- sCnts += wCnts;
- ii++;
- }
- }
- }
- //sCnts = model.getValue(xEtcItemInfoPath+"/MediCnts");
- if (sCnts != ""){
- SendData += model.getValue(xEtcItemInfoPath+"/MediItmCode" ) + "▦" + sCnts + "▩";
- }
- // 혈액준비사항
- // sCnts = model.getValue(xEtcItemInfoPath+"/BlodPrepCnts");
- sCnts = "";
- if (grd_Blod.rows > 0) {
- var wCnts = "";
- var ii = 0 ;
- for (var iRow = 1; iRow <= grd_Blod.rows; iRow++){
- wCnts = model.getValue("/root/main/ItemInfo/BlodInfo/BlodList["+iRow+"]/BlodData");
- wCnts.replace(/(^\s*)|(\s*$)/g,"");//공백제거됨
- if (wCnts !="") {
- if(ii > 0) sCnts += "★";
- sCnts += wCnts;
- ii++;
- }
- }
- }
- // sCnts = model.getValue(xEtcItemInfoPath+"/BlodCnts");
- if (sCnts != ""){
- SendData += model.getValue(xEtcItemInfoPath+"/BlodPrepItmCode") + "▦" + sCnts + "▩";
- }
- // 보내는 물품/약품 --> 약품 물품 분리 작업 기존 사용하던 인스턴스 유지 약품 관련 아이템 추가 : SendDrugCode
- sCnts = model.getValue(xEtcItemInfoPath+"/SendGoodsCnts");
- if (sCnts != ""){
- SendData += model.getValue(xEtcItemInfoPath+"/SendGoodsCode" ) + "▦" + sCnts + "▩";
- }
- //2009-02-24 ycd 보내는 약품
- sCnts = model.getValue(xEtcItemInfoPath+"/SendDrugCnts");
- if (sCnts != ""){
- SendData += model.getValue(xEtcItemInfoPath+"/SendDrugCode" ) + "▦" + sCnts + "▩";
- }
- // 보내는 물품/약품
- sCnts = model.getValue(xEtcItemInfoPath+"/SendITM011Cnts");
- if (sCnts != ""){
- SendData += model.getValue(xEtcItemInfoPath+"/SendITM011" ) + "▦" + sCnts + "▩";
- }
- // 알러지 여부
- sCnts = "";
- for (var i=grd_AlgyItemList.fixedrows; i<= grd_AlgyItemList.rows - grd_AlgyItemList.fixedrows; i++){
- if (model.getValue(xAlgyItemListPath+"["+i+"]/ItmCheck") == "true"){
- if (sCnts != "") {
- sCnts += ",";
- }
- sCnts += model.getValue(xAlgyItemListPath+"["+i+"]/ItmName");
- }
- }
- if (model.getValue("/root/main/ItemInfo/AlgyItemInfo/ItemOther") != ""){
- if (sCnts != "") sCnts += ",";
- sCnts += model.getValue("/root/main/ItemInfo/AlgyItemInfo/ItemOther");
- }
- if( sCnts != ""){
- SendData += model.getValue("/root/main/ItemInfo/AlgyItemInfo/ItemCode") + "▦" + sCnts + "▩";
- }
- // 전염성 질환
- sCnts = "";
- for (var i=grd_ContagSickList.fixedrows; i<= grd_ContagSickList.rows - grd_ContagSickList.fixedrows; i++){
- if (model.getValue(xContagSickItemListPath+"["+i+"]/ItmCheck") == "true"){
- if (sCnts != "") {
- sCnts += ",";
- }
- sCnts += model.getValue(xContagSickItemListPath+"["+i+"]/ItmName");
- }
- }
- if (model.getValue("/root/main/ItemInfo/ContagSickInfo/ItemOther") != ""){
- if (sCnts != "") sCnts += ",";
- sCnts += model.getValue("/root/main/ItemInfo/ContagSickInfo/ItemOther");
- }
- if (sCnts != ""){
- SendData += model.getValue("/root/main/ItemInfo/ContagSickInfo/ItemCode") + "▦" + sCnts + "▩";
- }
- opener.javascript.setParameter("SendData", SendData);
- // model.makeValue("/root/hidden/refinfo/ItemInfo",SendData);
- //
- // if (checkOpener()){
- // model.copyNode(opener.root.HideData.recinfo, root.hidden.refinfo);
- // } else{
- // alert("상위화면이 변경되어 데이터를 전달할 수 없습니다.");
- // }
- // alert(SendData);
- model.close();
- }
- /**
- * @group :
- * @ver : 2007.03.16
- * @by : 최학록
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 조회
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSearch(){
- var sTerm = model.getValue(xRefPath+"/terminfo");
- model.removenode("/root/send");
- model.makeValue("/root/send/attrcnts",model.getValue(xRefPath+"/terminfo"));
- submit("TRMNR01501");
- }
- /**
- * @group :
- * @ver : 2007.03.16
- * @by : 최학록
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 팝업 호출
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fPopUpCall2222(){
- // var xpos = event.screenX-800;
- // var ypos = event.screenY-400;
- var iRow = grd_icnpinfo.row;
- if(iRow < 1){
- messageBox("ICNP 매핑할 용어가","I004");
- return;
- }
- model.makeValue("/root/hidden/refinfo/flag","p");
- open("SMMNR01200",1, 100, 100,"SMMNR01200",xRefPath,xRefPath);
- var sTermInfo = getParameter("terminfo");
- var sValue = sTermInfo.split("▦");
- if(sTermInfo == "") return;
- model.setValue(xICNPListPath+"["+iRow+"]/semantictype", sValue[0]);
- model.setValue(xICNPListPath+"["+iRow+"]/itemcd" , sValue[1]);
- model.setValue(xICNPListPath+"["+iRow+"]/icnphngterm" , sValue[2]);
- model.setValue(xICNPListPath+"["+iRow+"]/icnpengterm" , sValue[3]);
- grd_icnpinfo.rebuild();
- }
- /**
- * @group :
- * @ver : 2007.03.16
- * @by : 최학록
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 처방목록
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fDdlClickGridRow(){
- var iRow = grd_preopprcplist.row;
- var sItemCD = "";
- var sPrcpNM = "";
- var sPrcpVol = "";
- var sPrcpQty = "";
- var sPrcpTims = "";
- var sPrcpDayNo = "";
- var sAbbrNM = "";
- var sCnts = "";
- var sCnts2 = "";
- var sPrcpKindCd = "";
- //
- if(iRow < 1 || !grd_preopprcplist.isCell(event.target)) return;
- //
- sItemCD = model.getValue("/root/init/cond/itemcd" );
- sPrcpFlag = model.getValue(xPrcpListPath+"["+iRow+"]/flag" );
- sPrcpNM = model.getValue(xPrcpListPath+"["+iRow+"]/prcpnm" );
- sPrcpVol = model.getValue(xPrcpListPath+"["+iRow+"]/prcpvol" )+model.getValue(xPrcpListPath+"["+iRow+"]/prcpvolunitflag");
- sPrcpQty = model.getValue(xPrcpListPath+"["+iRow+"]/prcpqty" )+model.getValue(xPrcpListPath+"["+iRow+"]/prcpqtyunitflag");
- sPrcpTims = model.getValue(xPrcpListPath+"["+iRow+"]/prcptims" );
- // sPrcpDayNo = model.getValue(xPrcpListPath+"["+iRow+"]/prcpdayno" );
- sAbbrNM = model.getValue(xPrcpListPath+"["+iRow+"]/abbrnm" );
- sPrcpKindCd = model.getValue(xPrcpListPath+"["+iRow+"]/prcpkindcd" );
- if (sPrcpFlag != "[Nurse]") {
- if(sPrcpVol != "") sPrcpNM += "/" + sPrcpVol ;
- if(sPrcpQty != "") sPrcpNM += "/" + sPrcpQty ;
- if(sPrcpTims != "") sPrcpNM += "/" + sPrcpTims ;
- if(sPrcpDayNo != "") sPrcpNM += "/" + sPrcpDayNo;
- if(sAbbrNM != "-" && sAbbrNM != ""){
- sPrcpNM += "/" + sAbbrNM;
- }
- }
- //
- if(sItemCD == "") return;
- //
- switch(sItemCD){
- case "ITM010" : // 금식
- sCnts = model.getValue(xFastItemInfoPath+"/FastCnts");
- if (sCnts != "") sCnts += ", ";
- sCnts += sPrcpNM;
- model.setValue(xFastItemInfoPath+"/FastCnts", sCnts);
- break;
- case "ITM012" : // 수술부위 피부준비
- sCnts = model.getValue(xEtcItemInfoPath+"/SkinPrepCnts");
- if (sCnts != "") sCnts += ", ";
- sCnts += sPrcpNM;
- model.setValue(xEtcItemInfoPath+"/SkinPrepCnts", sCnts);
- break;
- case "ITM013" : // 수술전투약
- /*
- // ====== 2008-11-17 오전 9:57:53 taebum add ============================
- if((model.getValue("/root/init/cond/rgstdata")).substr(0,3) != "수술전"){
- alert("수술전 처방만 선택 가능합니다.");
- return;
- }
- // ======================================================================
- */
- if ((sPrcpFlag == "[주사]") || (sPrcpFlag == "[경구]") || (sPrcpFlag == "[외용]")) {
- } else {
- alert("[주사],[경구],[외용] 약만 선택 가능합니다.");
- return;
- }
- RowCnt = grd_Drug.rows;
- for (var iRow = 0; iRow <= RowCnt; iRow++){
- if (iRow == grd_Drug.rows) {
- grd_Drug.addRow();
- }
- //
- if (model.getValue("/root/main/ItemInfo/DrugInfo/DrugList["+(iRow+1)+"]/DrugData") =="") {
- model.setValue("/root/main/ItemInfo/DrugInfo/DrugList["+(iRow+1)+"]/DrugData", sPrcpNM);
- break;
- }
- }
- grd_Blod.rebuild();
- break;
- case "ITM018" : // 혈액준비사항
- if (sPrcpFlag != "[수혈]") {
- alert("[수혈]만 선택 가능합니다.");
- return;
- }
- RowCnt = grd_Blod.rows;
- for (var iRow = 0; iRow <= RowCnt; iRow++){
- if (iRow == grd_Blod.rows) {
- grd_Blod.addRow();
- }
- //
- if (model.getValue("/root/main/ItemInfo/BlodInfo/BlodList["+(iRow+1)+"]/BlodData") =="") {
- model.setValue("/root/main/ItemInfo/BlodInfo/BlodList["+(iRow+1)+"]/BlodData", sPrcpNM);
- break;
- }
- }
- grd_Blod.rebuild();
- break;
- case "ITM019" : // 보내는 물품/약품 --> 보내는 물품 정보만 등록
- if ((sPrcpFlag == "[주사]") || (sPrcpFlag == "[경구]") || (sPrcpFlag == "[외용]")) {
- messageBox("약품은 선택 불가능합니다.", "I000");
- return;
- }
- sCnts = model.getValue(xEtcItemInfoPath+"/SendGoodsCnts");
- if (sCnts != "") sCnts += ", ";
- sCnts += sPrcpNM;
- model.setValue(xEtcItemInfoPath+"/SendGoodsCnts", sCnts);
- break;
- // 2009-02-24 ycd 보낸는 물품, 약품 분리
- case "ITM021" : // 보내는 약품
- if ((sPrcpFlag == "[주사]") || (sPrcpFlag == "[경구]") || (sPrcpFlag == "[외용]")) {
- } else {
- messageBox("[주사],[경구],[외용] 약만 선택 가능합니다.", "I000");
- return;
- }
- sCnts = model.getValue(xEtcItemInfoPath+"/SendDrugCnts");
- if (sCnts != "") sCnts += ", ";
- sCnts += sPrcpNM;
- model.setValue(xEtcItemInfoPath+"/SendDrugCnts", sCnts);
- break;
- case "ITM011" : // 관장
- sCnts = model.getValue(xEtcItemInfoPath+"/SendITM011Cnts");
- if (sCnts != "") sCnts += ", ";
- sCnts += sPrcpNM;
- model.setValue(xEtcItemInfoPath+"/SendITM011Cnts", sCnts);
- break;
- }
- model.refresh();
- }
- // 대기실 수술실 Check
- function fStayOperCheck(){
- // 일일수술실 환자 or 현장수술은 대기실 같이 기록
- if(sDutDSCFlag != "Y" && sWardOP != "Y" && (output1.value == "" || output2.value == "")){
- messageBox("간호단위에서 기록한 후에 선택이 가능합니다.", "I000");
- chk_stay.value = "";
- chk_oper.value = "";
- return;
- }
- btn_ins_grid.disabled = true;
- btn_del_grid.disabled = true;
-
- if (model.getValue("/root/init/SendData/oprsrvno") != "" ){
- if(sPatCls == "B"){ //분만실, DSC 일경우, 병원
- if(model.getValue("/root/init/staycls") == "" ){
- txt_nurg.disabled = false;
- btn_pcainput.disabled = false;
- ipt_oppatbdtp.disabled = false;
- ipt_oppatbdwt.disabled = false;
- ipt_oppatbdht.disabled = false;
- ipt_oppatsbp.disabled = false;
- ipt_oppatdbp.disabled = false;
- inp_wardstartdt.disabled = false;
- inp_wardstarttm.disabled = false;
- bbt_wardstart.disabled = false;
-
- //병동 도착 일시 활성/비활성
- ipt_wardarrvdt.disabled = false;
- ipt_wardarrvtm.disabled = false;
- btn_wardarrv.disabled = false;
-
- txt_oper.disabled = true;
- inp_patarrvdt.disabled = true;
- inp_patarrvtm.disabled = true;
- bbt_patarrv.disabled = true;
-
-
-
- sBool1 = false;
- } else {
- if (sDutDSCFlag != "Y") {
- txt_nurg.disabled = true;
- btn_pcainput.disabled = true;
- ipt_oppatbdtp.disabled = true;
- ipt_oppatbdwt.disabled = true;
- ipt_oppatbdht.disabled = true;
- ipt_oppatsbp.disabled = true;
- ipt_oppatdbp.disabled = true;
-
- inp_wardstartdt.disabled = true;
- inp_wardstarttm.disabled = true;
- bbt_wardstart.disabled = true;
- }
-
- //병동 도착 일시 활성/비활성
- ipt_wardarrvdt.disabled = false;
- ipt_wardarrvtm.disabled = false;
- btn_wardarrv.disabled = false;
-
- txt_oper.disabled = false;
- inp_patarrvdt.disabled = false;
- inp_patarrvtm.disabled = false;
- bbt_patarrv.disabled = false;
- sBool1 = true;
- }
-
- } else {
- txt_nurg.disabled = true;
- btn_pcainput.disabled = true;
- ipt_oppatbdtp.disabled = true;
- ipt_oppatbdwt.disabled = true;
- ipt_oppatbdht.disabled = true;
- ipt_oppatsbp.disabled = true;
- ipt_oppatdbp.disabled = true;
-
- inp_wardstartdt.disabled = true;
- inp_wardstarttm.disabled = true;
-
- //병동 도착 일시 활성/비활성
- ipt_wardarrvdt.disabled = true;
- ipt_wardarrvtm.disabled = true;
- btn_wardarrv.disabled = true;
-
- bbt_wardstart.disabled = true;
-
- txt_oper.disabled = false;
- inp_patarrvdt.disabled = false;
- inp_patarrvtm.disabled = false;
- bbt_patarrv.disabled = false;
- sBool1 = true;
- }
- }
-
- if (model.getValue("/root/init/staycls") == "1"){
- if (model.getValue(xPath_MnphccsrList+"/staycnfmpat") == "") {
- model.setValue(xPath_MnphccsrList+"/staycnfmpat" , "1");
- model.setValue(xPath_MnphccsrList+"/staycnfmid" , "2");
- model.setValue(xPath_MnphccsrList+"/staycnfmdr" , "3");
- model.setValue(xPath_MnphccsrList+"/staycnfmpart" , "4");
- model.setValue(xPath_MnphccsrList+"/staycnfmpartdisp", "Y");
- }
- grd_ItemCheckList.fixedcellcheckbox(1,grd_ItemCheckList.colRef("Syes")) = true;
- sBool2 = false;
-
- fControlAttribute(grd_ItemCheckList);
-
- if (model.getValue(xPath_MnphccsrList+"/staychfrecdttm") == "") {
- btn_rgst_tmp.disabled = false;
- } else {
- btn_rgst_tmp.disabled = true;
- }
- } else {
- grd_ItemCheckList.fixedcellcheckbox(1,grd_ItemCheckList.colRef("Syes")) = false;
- sBool2 = true;
-
- fControlAttribute(grd_ItemCheckList);
- }
- //
- if (model.getValue("/root/init/staycls") == "2"){
- if (model.getValue(xPath_MnphccsrList+"/opercnfmpat") == "") {
- model.setValue(xPath_MnphccsrList+"/opercnfmpat" , "1");
- model.setValue(xPath_MnphccsrList+"/opercnfmid" , "2");
- model.setValue(xPath_MnphccsrList+"/opercnfmdr" , "3");
- model.setValue(xPath_MnphccsrList+"/opercnfmpart" , "4");
- model.setValue(xPath_MnphccsrList+"/opercnfmpartdisp", "Y");
- }
- grd_ItemCheckList.fixedcellcheckbox(1,grd_ItemCheckList.colRef("Oyes")) = true;
- sBool3 = false;
-
- fControlAttribute(grd_ItemCheckList);
- if (model.getValue(xPath_MnphccsrList+"/operchfrecdttm") == "") {
- btn_rgst_tmp.disabled = false;
- } else {
- btn_rgst_tmp.disabled = true;
- }
- } else {
- grd_ItemCheckList.fixedcellcheckbox(1,grd_ItemCheckList.colRef("Oyes")) = false;
- sBool3 = true;
- fControlAttribute(grd_ItemCheckList);
- }
- ipt_wardarrvdt.disabled = true;
- ipt_wardarrvtm.disabled = true;
- btn_wardarrv.disabled = true;
-
-
- grd_ItemCheckList.refresh();
- model.refresh();
- }
- var rStyleData = "473*470#0*943";
- var rStyle = rStyleData.split("#");
- //
- var tColWidth = "52,159,29,28,29,27,28,43,54,0#52,477,50,50,50,50,50,50,94,0";
- var tWidth = tColWidth.split("#");
- // --------------------------------------------------
- // Grid 속성변경 처리하는 함수
- // --------------------------------------------------
- function fSetAttribute(pIdx) {
- var Idx = pIdx;
- //if (grd_preopprcplist.attribute("left") == "490px" || grd_preopprcplist.attribute("left") == "490") {
- // Idx = 0;
- //}
- var sStyle = rStyle[Idx].split("*");
- //alert(grd_preopprcplist.attribute("left")+"=="+sStyle[0]+"=="+sStyle[1]);
- grd_preopprcplist.attribute("left" ) = sStyle[0];
- grd_preopprcplist.attribute("width" ) = sStyle[1];
- var cIdx = 1;
- var sWidth = tWidth[Idx].split(",");
- for (i = 0; i < sWidth.length; i++) {
- grd_preopprcplist.colwidth(i) = sWidth[i];
- cIdx++;
- }
- grd_preopprcplist.refresh();
- }
- // ※ 전자서명 호출
- function fSignProcessSet() {
- //2009-02-25 YCD 인증서 호출 설정 주석 처리
- //Sign.certreload = true;
- var sInoutflag = model.getValue(xPath_MnphccsrList + "/inoutflag" ); // 07 외래입원구분
- var sOpPatflagcd = model.getValue("/root/main/operation/list/oppatflagcd"); // 11 환자구분
- if( (sInoutflag != sOpPatflagcd)&&(sOpPatflagcd != "") ) {
- //기록지데이터랑 스케쥴 데이터랑 틀릴경우 스케쥴데이터로 처리 2010.03.10 K. J. M
- //수술준비확인 기록이후 외래에서 입원으로 스케쥴이 변경된경우 점검리스트 처방 콤보가 제대로 끌려오지 않음
- sInoutflag = sOpPatflagcd;
- }
- if( Sign.signprocess() == true ){ // ▶ 전자인증 관련 환자 인적 정보를 보내줌.
- var wSigninfo = "pid" +"▦" // 등록번호
- + "orddd" +"▦" // 입원일자(입원,응급)/진료일자(외래)
- + "cretno" +"▦" // 생성번호
- + "signno" +"▦" // 서명번호(인증번호)
- + "recdd" +"▦" // 실제 기록이 이루어진 기록일자
- + "rectm" +"▦" // 실제 기록이 이루어진 기록시간
- + "recsaveflag" +"▦" // 전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
- + "signflag" +"▦" // 서명자료구분(01 : 진료, 02 : 간호, 03 : LIS, 04 : 진료지원)
- + "signgenrflag" +"▦" // 외래/입원구분(코드정의서 M0010 참조)
- + "formcd" +"▦" // 각 기록지별 서식코드 0000002473 N57 간호 수술간호기록
- + "orddeptcd" +"▦" // 진료부서코드
- + "orddrid" +"▦" // 진료의사ID (집도의)
- + "signbfcnts" +"▦" // ▶ 인증할 데이터 정보(미기록 노드 제거된 정보)
- + "signaftcnts" +"▩" // ▶ 공인인증 처리후 데이터
- + model.getValue(xPath_MnphccsrList+"/pid" )+"▦" // 등록번호
- + model.getValue(xPath_MnphccsrList+"/orddd" )+"▦" // 입원일자(입원,응급)/진료일자(외래)
- + model.getValue(xPath_MnphccsrList+"/cretno" )+"▦" // 생성번호
- + model.getValue(xPath_MnphccsrList+"/certno" )+"▦" // 서명번호(인증번호)
- + getCurrentDate() +"▦" // 실제 기록이 이루어진 기록일자
- + getCurrentTime() +"▦" // 실제 기록이 이루어진 기록시간
- + "N" +"▦" // 전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
- + "02" +"▦" // 서명자료구분(01 : 진료, 02 : 간호, 03 : LIS, 04 : 진료지원)
- + sInoutflag +"▦" // 외래/입원구분(코드정의서 M0010 참조)
- + "0000002431" +"▦" // 각 기록지별 서식코드 0000002473 N57 간호 수술간호기록
- + model.getValue(xPath_MnphccsrList+"/orddeptcd")+"▦" // 진료부서코드
- + model.getValue(xPath_MnphccsrList+"/perfdrid" )+"▦" // 진료의사ID (집도의)
- + Sign.signedInfos[1] +"▦" // ▶ 인증할 데이터 정보(미기록 노드 제거된 정보)
- + Sign.signedInfos[2] +"▩"; // ▶ 공인인증 처리후 데이터
- model.makeValue("/root/send/signinfo" , wSigninfo);
- // model.makeValue("/root/send/signinfo/pid" , model.getValue(xPath_MnphccsrList+"/pid" )); // 등록번호
- // model.makeValue("/root/send/signinfo/orddd" , model.getValue(xPath_MnphccsrList+"/orddd" )); // 입원일자(입원,응급)/진료일자(외래)
- // model.makeValue("/root/send/signinfo/cretno" , model.getValue(xPath_MnphccsrList+"/cretno" )); // 생성번호
- // model.makeValue("/root/send/signinfo/signno" , model.getValue(xPath_MnphccsrList+"/certno" )); // 서명번호(인증번호)
- // model.makeValue("/root/send/signinfo/recdd" , getCurrentDate() ); // 실제 기록이 이루어진 기록일자
- // model.makeValue("/root/send/signinfo/rectm" , getCurrentTime() ); // 실제 기록이 이루어진 기록시간
- // model.makeValue("/root/send/signinfo/recsaveflag" , "N" ); // 전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
- // model.makeValue("/root/send/signinfo/signflag" , "02" ); // 서명자료구분(01 : 진료, 02 : 간호, 03 : LIS, 04 : 진료지원)
- // model.makeValue("/root/send/signinfo/signgenrflag", model.getValue(xPath_MnphccsrList+"/inoutflag" )); // 외래/입원구분(코드정의서 M0010 참조)
- // model.makeValue("/root/send/signinfo/formcd" , "0000002431" ); // 각 기록지별 서식코드 0000002473 N57 간호 수술간호기록
- // model.makeValue("/root/send/signinfo/orddeptcd" , model.getValue(xPath_MnphccsrList+"/orddeptcd" )); // 진료부서코드
- // model.makeValue("/root/send/signinfo/orddrid" , model.getValue(xPath_MnphccsrList+"/perfdrid" )); // 진료의사ID (집도의)
- // model.makeValue("/root/send/signinfo/signbfcnts" , Sign.signedInfos[1]); // ▶ 인증할 데이터 정보(미기록 노드 제거된 정보)
- // model.makeValue("/root/send/signinfo/signaftcnts" , Sign.signedInfos[2]); // ▶ 공인인증 처리후 데이터
- }else{
- return false;
- }
- }
- // ※ 인증데이터 생성함수 만들기
- function fMake_SignData(){
- //2008-08-29 오전 11:18:34 사용자 요구사항
- //간호상태 확인 사항이 예인 경우에만 통합기록조회에서 보여지도록 수정중... 완료된 상태 아님. 주석처리
- // signdata 생성 장소 : /root/temp/SignData/SignInfo/MnphccsrList/curenurgstatspec/ItemCheckLists
- // check 항목 : /root/temp/SignData/SignInfo/MnphccsrList/curenurgstatspec/ItemCheckLists/ItemCheckList/
- //1. 원본 간호상태 확인 사항을 복사한다.
- model.copyNode("/root/Hide/org_statspec", "/root/main/MnphccsrData/MnphccsrList/curenurgstatspec/ItemCheckLists");
- //2.
- var iCurrentStatCnt = getNodesetCount("/root/Hide/org_statspec/ItemCheckList");
- var sTempStateCopyNodePath = "/root/Hide/signstatspec";
- var sPyesFlag = "";
- var sSyesFlag = "";
- var sOyesFlag = "";
- //model.removenode(sTempStateCopyNodePath);
- if(iCurrentStatCnt > 0){
- for(var i = 1; i <= iCurrentStatCnt; i++){
- sPyesFlag = model.getValue("/root/Hide/org_statspec/ItemCheckList["+i+"]/Pyes");
- sSyesFlag = model.getValue("/root/Hide/org_statspec/ItemCheckList["+i+"]/Syes");
- sOyesFlag = model.getValue("/root/Hide/org_statspec/ItemCheckList["+i+"]/Oyes");
- if(sPyesFlag == "true" || sSyesFlag == "true"|| sOyesFlag == "true"){
- model.duplicate(sTempStateCopyNodePath, "/root/Hide/org_statspec/ItemCheckList["+i+"]");
- }
- }
- }
- model.removenode("/root/main/MnphccsrData/MnphccsrList/curenurgstatspec/ItemCheckLists");
- model.makenode("/root/main/MnphccsrData/MnphccsrList/curenurgstatspec/ItemCheckLists");
- model.copyNode("/root/main/MnphccsrData/MnphccsrList/curenurgstatspec/ItemCheckLists", sTempStateCopyNodePath);
- // ▶ 인스턴스 copy 후에 콤보나 체크박스 같은 경우 코드값은 명칭으로 변경해야 함.
- // fSetSignData();
- // Ex)
- // var xRecinfoPath = Sign.XPATH_SIGNINFO+"/recinfo/recinfolists";
- // // 투석장?
- // var sDialPlacCd = model.getValue(xRecinfoPath+"/dialplaccd";
- // if (sDialPlacCd != ""){
- // model.setValue(xRecinfoPath+"/dialplaccd", model.getValue("/root/init/M0129list/M0129[cdid='"+sDialPlacCd+"']/cdnm"));
- // }
- // ▶ 기록 관련 인스턴스 전체를 copy, 인증에 저장할 모든 Instance AddNode한다.
- Sign.addnode(xPath_MnphccsrList);
- Sign.addnode("/root/main/MnphccsrData/specimenlistnew");
- //2008-09-09 오전 10:18:07 taebum 기존에 기록된 내역을 copy한다.
- model.removenode("/root/main/MnphccsrData/MnphccsrList/curenurgstatspec/ItemCheckLists");
- model.copyNode("/root/main/MnphccsrData/MnphccsrList/curenurgstatspec/ItemCheckLists", "/root/Hide/org_statspec");
- }
- /**
- * 환자 도착일시 값 변경 시 이벤트
- *
- */
- function fValueChangedPatArrOpRoom(){
- var sArriTime = model.getValue("/root/main/MnphccsrData/MnphccsrList/patarrvtm");
- //시간에 입력된 자릿수가 4이상일 경우 바코드에서 넘어온 데이터 이므로 현재 시/분을 넣는다.
- if(sArriTime.length != null && sArriTime.length > 4){
- //alert("barcode reading 구현 부분입니다.");
- //********************************************************************
- //환자 정보 꼭 확인 해야하는 로직 추가
- //********************************************************************
- sArriTime = getCurrentTime().substr(0, 4);
- model.setValue("/root/main/MnphccsrData/MnphccsrList/patarrvtm", sArriTime);
- inp_patarrvtm.refresh();
- }
- var sSmsYn = model.getValue("/root/main/MnphccsrData/MnphccsrList/smsagreeyn");
- var sPatarrisndsmsid = model.getValue("/root/main/MnphccsrData/MnphccsrList/patarrisndsmsid");
- if(sArriTime != "" && sArriTime != null && sArriTime != "undefined" && sSmsYn == "Y" && sPatarrisndsmsid == ""){
- if(fValidForSendMsg()){
- //재확인
- setParameter("SPMNP00305_message", "메세지 SMS 문자전송 동의 하시겠습니까?");
- setParameter("SPMNP00305_button1", "동 의");
- setParameter("SPMNP00305_button2", "취 소");
- setParameter("SPMNP00305_buttonFocus", "button2");
- setParameter("SPMNP00305_capinfo", "대기실 입실저장 SMS전송");
- modal("SPMNP00305", "", 300, 400, "SPMNP00305", "width:510px;height:130px;");
- var sResult = getParameter("SPMNP00305_result");
- //alert(sResult);
- if (sResult != "true"){
- return;
- }
- var sPatarrisndsmsid = model.getValue("/root/main/MnphccsrData/MnphccsrList/patarrisndsmsid");
- if(sPatarrisndsmsid == "" || sPatarrisndsmsid == null || sPatarrisndsmsid == "undefinded"){
- model.setValue("/root/init/sms/arrsmssendflag","Y");
- }else{
- model.setValue("/root/init/sms/arrsmssendflag","N");
- }
- //설정 후 인증저장 proccess를 그대로 이용한다고 함.
- fSave("C");
- }else{
- return;
- }
- }else{
- fSave("C");
- }
- }
- /**
- * SMS 전송시 연락처1 체크
- *
- */
- function fValidForSendMsg(pFlag){
- var sSmsTel = model.getValue("/root/main/MnphccsrData/MnphccsrList/etctel1");
-
- /*
- if(sSmsTel.length != 10 && sSmsTel.length != 11){
- messageBox("SMS 전송할 연락처는 10자리 또는 11자리 입니다.", "");
- return false;
- }
- */
- /*
- if(sSmsTel.substr(0,2) != "01"){
- messageBox("SMS 입력형식은 01XXXXXXXX 또는 01XXXXXXXXX 입니다.", "");
- return false;
- }
- */
- /*
- if(sSmsTel == "" || sSmsTel == null || sSmsTel == "undefined"){
- if(pFlag != true ){
- messageBox("SMS 입력형식은 XXX-XXX-XXXX 또는 XXX-XXXX-XXXX 입니다.", "");
- return false;
- }
- }else{
- var sTelArr = sSmsTel.split("-");
- if(sTelArr.length != 3){
- messageBox("SMS 입력형식은 XXX-XXX-XXXX 또는 XXX-XXXX-XXXX 입니다.", "");
- return false;
- }
- if(sTelArr[0] == null || sTelArr[0] == "" || sTelArr[0] == "undefined" || sTelArr[0].length != 3 || sTelArr[0].substr(0,2) != "01"){
- if(isNaN(sTelArr[0]) == true){
- messageBox("SMS 첫번째자리 입력형식은 숫자형이 아닙니다.", "");
- return false;
- }
- messageBox("SMS 첫번째자리 입력형식은 01X 입니다.", "");
- return false;
- }else{
- if(isNaN(sTelArr[0]) == true){ //9: 숫자 0 : 숫자아님
- messageBox("SMS 첫번째자리 입력형식은 숫자형이 아닙니다.", "");
- return false;
- }
- }
- if(sTelArr[1] == null || sTelArr[1] == "" || sTelArr[1] == "undefined" || sTelArr[1].length < 3 || sTelArr[1].length > 4 ){
- if(isNaN(sTelArr[1]) == true){
- messageBox("SMS 두번째자리 입력형식은 숫자형이 아닙니다.", "");
- return false;
- }
- messageBox("SMS 두번째 자리 입력형식은 XXX 또는 XXXX 입니다.", "");
- return false;
- }else{
- if(isNaN(sTelArr[1]) == true){
- messageBox("SMS 두번째자리 입력형식은 숫자형이 아닙니다.", "");
- return false;
- }
- }
- if(sTelArr[2] == null || sTelArr[2] == "" || sTelArr[2] == "undefined" || (sTelArr[2].length != 4) ){
- if(isNaN(sTelArr[2]) == true){
- messageBox("SMS 세번째자리 입력형식은 숫자형이 아닙니다.", "");
- return false;
- }
- messageBox("SMS 세번째 자리 입력형식은 XXXX 입니다.", "");
- return false;
- }else{
- if(isNaN(sTelArr[2]) == true){
- messageBox("SMS 세번째자리 입력형식은 숫자형이 아닙니다.", "");
- return false;
- }
- }
- }
- */
- return true;
- }
- /**
- * CheckBox를 check 선택했을 경우 이벤트
- *
- */
- function fOnSelectCheckBox(pGridNm){
-
- if(grd_ItemCheckList.row == 1){
- GridNm = eval(pGridNm);
- for (var iRow = GridNm.fixedrows; iRow < GridNm.rows; iRow++){
-
- if (chk_stay.value == "1") { //환자확인 : 대기실 선택시
- GridNm.valueMatrix(iRow ,GridNm.colRef("Sno")) = "false";
- GridNm.valueMatrix(iRow ,GridNm.colRef("Snothing")) = "false";
- GridNm.valueMatrix(ITM002,GridNm.colRef("Syes")) = "false";
- GridNm.valueMatrix(ITM022,GridNm.colRef("Syes")) = "false";
-
- } else if (chk_stay.value == "2") {//환자확인 : 수술실 선택시
- GridNm.valueMatrix(iRow ,GridNm.colRef("Ono")) = "false";
- GridNm.valueMatrix(iRow ,GridNm.colRef("Onothing")) = "false";
- GridNm.valueMatrix(ITM002,GridNm.colRef("Oyes")) = "false";
- GridNm.valueMatrix(ITM022,GridNm.colRef("Oyes")) = "false";
-
- } else if( GridNm.col == GridNm.colRef("Pyes") ){ //간호단위에 예 체크시
- GridNm.valueMatrix(iRow ,GridNm.colRef("Pno")) = "false";
- GridNm.valueMatrix(iRow ,GridNm.colRef("Pnothing")) = "false";
- GridNm.valueMatrix(ITM002,GridNm.colRef("Pyes")) = "false";
- GridNm.valueMatrix(ITM022,GridNm.colRef("Pyes")) = "false";
-
- }else{
- GridNm.valueMatrix(iRow ,GridNm.colRef("Pno")) = "false";
- GridNm.valueMatrix(iRow ,GridNm.colRef("Pnothing")) = "false";
-
- }
- }
- }
- fControlAttribute(grd_ItemCheckList);
- }
- /**
- * CheckBox를 check 해제 선택했을 경우 이벤트
- */
- function fOnUnSelectCheckBox(pGridNm){
-
- if(grd_ItemCheckList.row == 1){
- GridNm = eval(pGridNm);
- for (var iRow = GridNm.fixedrows; iRow < GridNm.rows; iRow++){
- if (chk_stay.value == "1") {
- GridNm.valueMatrix(iRow ,GridNm.colRef("Syes")) = "false";
- } else if (chk_stay.value == "2") {
- GridNm.valueMatrix(iRow ,GridNm.colRef("Oyes")) = "false";
- } else if( grd_spclistnew.col == grd_spclistnew.colRef("Pyes") ) {
- GridNm.valueMatrix(iRow ,GridNm.colRef("Pyes")) = "false";
- } else {
- // GridNm.valueMatrix(iRow ,GridNm.colRef("Pyes")) = "false";
- }
- }
- }
- fControlAttribute(grd_ItemCheckList);
- }
- function fDscRecCopy() {
- // //kjs 수정 시작
- // var item3 = "";
- // var item4 = "";
- // var item5 = "";
- //
- // for (var i = 1; i <= grd_ItemCheckList.rows-2; i++) {
- // item3 = model.getValue("/root/main/MnphccsrData/MnphccsrList/curenurgstatspec/ItemCheckLists/ItemCheckList[" + i + "]/Pyes");
- // item4 = model.getValue("/root/main/MnphccsrData/MnphccsrList/curenurgstatspec/ItemCheckLists/ItemCheckList[" + i + "]/Pno");
- // item5 = model.getValue("/root/main/MnphccsrData/MnphccsrList/curenurgstatspec/ItemCheckLists/ItemCheckList[" + i + "]/Pnothing");
- //
- // model.makeValue("/root/main/MnphccsrData/MnphccsrList/curenurgstatspec/ItemCheckLists/ItemCheckList[" + i + "]/Syes", item3);
- // model.makeValue("/root/main/MnphccsrData/MnphccsrList/curenurgstatspec/ItemCheckLists/ItemCheckList[" + i + "]/Sno", item4);
- // model.makeValue("/root/main/MnphccsrData/MnphccsrList/curenurgstatspec/ItemCheckLists/ItemCheckList[" + i + "]/Snothing", item5);
- // }
- // //grd_ItemCheckList.refresh();
- // //fStayOperCheck();
- // chk_stay.select(0);
- }
- /* ------------------------------------------------- */
- /* ------End Of List ------------------------------- */
- /* -------------------------------------------------- */
- function fNrCpRecord() {
- var cpPid = model.getValue("/root/main/paminfo/list/pid");
- var cpIndd = model.getValue("/root/main/paminfo/list/indd");
- var cpCretno = model.getValue("/root/main/paminfo/list/cretno");
- var cpPatnm = model.getValue("/root/main/paminfo/list/hngnm2");
- var cpRoom = model.getValue("/root/main/paminfo/list/roomcd");
- var cpSexage = model.getValue("/root/main/paminfo/list/sex") + "/" + model.getValue("/root/main/paminfo/list/age");
- var cpOrddeptcd = model.getValue("/root/main/paminfo/list/orddeptcd");
- var cpMedispclid = model.getValue("/root/main/paminfo/list/medispclid");
- var cpWardstartdt = model.getValue("/root/main/MnphccsrData/MnphccsrList/wardstartdt");
- var cpWardstarttm = model.getValue("/root/main/MnphccsrData/MnphccsrList/wardstarttm");
- var cpWardarrvdt = model.getValue("/root/main/MnphccsrData/MnphccsrList/wardarrvdt");
- var cpWardarrvtm = model.getValue("/root/main/MnphccsrData/MnphccsrList/wardarrvtm");
-
- var cpSupcdid = "";
-
- model.removenode("root/send/recinfo");
- model.makeValue("root/send/recinfo/pid", cpPid);
- model.makeValue("root/send/recinfo/indd", cpIndd);
- model.makeValue("root/send/recinfo/cretno", cpCretno);
- model.makeValue("root/send/recinfo/checkdate", getCurrentDate());
-
- //CP 대상 환자여부
- if (submit("TRMNR02903")) {
- var cpCpyn = model.getValue("/root/temp/cpinfo/cpyn");
- var cpCpgno = model.getValue("/root/temp/cpinfo/cpgno");
- var cpRecType = "CP5";
- var cpOrigincd = "";
-
- if (cpCpyn == "Y" && cpCpgno != 0) {
-
- //출발일시 기록이면 수술전 간호기록 _ CP3
- //도착일시 기록이면 수술후 간호기록 _ CP4
- if (cpWardarrvdt == "" || cpWardarrvtm == ""){
- cpRecType = "CP3";
- } else{
- cpRecType = "CP4";
- }
-
- //기록여부 확인
- model.makeValue("/root/temp/cpinfo/cdgrupid", cpRecType);
-
- if (submit("TRMNW01107")) { //간호기록 코드 가지고 오기
-
- cpOrigincd = model.getValue("/root/main/cpinfo/termcd/cdid");
- cpSupcdid = model.getValue("/root/main/cpinfo/termcd/supcdid");
-
- if (cpOrigincd == null || cpOrigincd == "") {
-
- } else {
-
- model.makeValue("root/send/recinfo/origincd", cpOrigincd);
-
- if (submit("TRMNR02902")) {
-
- var recyn = model.getValue("/root/temp/recinfo/recyn");
- if (recyn != "Y") {
-
- var rtnval = "";
-
- if (cpRecType == "CP3") {
- rtnval = messageBox("CP 대상환자입니다. 해당 CP에 구성되어있는 [수술 전 간호기록]을 진행하시겠습니까?", "Q999");
- } else {
- rtnval = messageBox("CP 대상환자입니다. 해당 CP에 구성되어있는 [수술 후 간호기록]을 진행하시겠습니까?", "Q999");
- }
-
- if (rtnval == "6") {
- //기록 화면으로 연결
- setParameter("pid", cpPid);
- setParameter("indd", cpIndd);
- setParameter("cretno", cpCretno);
- setParameter("patnm", cpPatnm);
- setParameter("room", cpRoom);
- setParameter("sexage", cpSexage);
- setParameter("orddeptcd", cpOrddeptcd);
- setParameter("medispclid", cpMedispclid);
- setParameter("cdid", cpOrigincd);
- setParameter("supcdid", cpSupcdid);
-
- modal("SMMNR02900", 1, 0, 0 ,"", "", "");
- }
- }
- }
- }
- }
- }
- }
- }
|