;"===================================================================== ;"================================================================ ENV ;Establish Routine Environment N DDH,DIR,X,Y,ZTENV,ZTKEY,ZTNAME,ZTSK,XUTMUCI D ENV^XUTMUTL Q:'$D(ZTENV) ; new DIC,X,Y set DIC=.401 set DIC(0)="MAEQ" do ^DIC write ! if +Y'>0 quit new templIEN set tempLIEN=+Y new IEN set IEN="" for set IEN=$order(^DIBT(tempLIEN,1,IEN)) quit:IEN="" do . do KILLTSK(IEN) quit KILLTSK(ZTSK) ;"W ! ;"S XUTMT(0)="AL" ;"D ^XUTMT I 'ZTSK K ^TMP($J,"XUTMT") Q ;"I ZTSK["-"!(ZTSK[",") D ^XUTMD1 Q:$D(DTOUT) G SELECT S XUTMT=ZTSK,XUTMT(0)="R3" D ^XUTMT ; STATUS ;Report On Status Of Task And Whether User May Delete It I $D(ZTSK(.11))#2,ZTSK(.11)="UNDEFINED",$O(ZTSK(.3))="" W !!?5,"That task is not defined.",$C(7) G SELECT I $D(ZTSK(.11))#2,ZTSK(.11)="UNDEFINED",$O(ZTSK(.3))="TASK",$O(ZTSK("TASK"))="" W !!?5,"That task is running and has no record." G SELECT I $D(ZTSK(.11))#2,ZTSK(.11)="UNDEFINED" W !!?5,"That task is scheduled but has no record." G CONFIRM:ZTKEY G SELECT ; S5 I $D(ZTSK(.11))#2,$O(ZTSK(.3))="" W !!?5,"That task's record is incomplete." G CONFIRM:ZTKEY G SELECT I $D(ZTSK(.11))#2,$O(ZTSK(.3))="TASK",$O(ZTSK("TASK"))="" W !!?5,"That task is running and has an incomplete record." G SELECT I $D(ZTSK(.11))#2 W !!?5,"That task is scheduled, but has an incomplete record." G CONFIRM:ZTKEY G SELECT ; S9 I $O(ZTSK(.3))="TASK",$O(ZTSK("TASK"))="" W !!?5,"That task is running." G SELECT I 'ZTKEY,$S($P(ZTSK(0),U,11)_","_$P(ZTSK(0),U,12)=XUTMUCI:DUZ'=$P(ZTSK(0),U,3),1:ZTNAME'=$P(ZTSK(0),U,10)) W !!?5,"You may only delete your own tasks." G SELECT ; CONFIRM ;Prompt User To Confirm Unscheduling I $S($D(ZTSK(.11))[0:1,1:ZTSK(.11)'="UNDEFINED") W ! D EN^XUTMTP(ZTSK) ;"W ! ;"K DIR ;"S DIR(0)="Y" ;"S DIR("A")="Are you sure you want to delete this task" ;"S DIR("B")="NO" ;"S DIR("?")=" Answer YES to delete the task." ;"D ^DIR ;"I 'Y W !!?5,"Tasks NOT deleted!" ;"I $D(DTOUT) W $C(7) Q ;"K DIR,DIRUT,DTOUT,DUOUT ;"I 'Y G SELECT ; DELETE ;Delete Task I $D(ZTSK(0))#2,ZTSK(0)["ZTSK^XQ1",$P(ZTSK(0),U,11)_","_$P(ZTSK(0),U,12)=XUTMUCI,$P(ZTSK(0),U,8)]"" D . F DA=0:0 S DA=$O(^DIC(19.2,DA)) Q:DA'>0 I $G(^DIC(19.2,DA,1))=ZTSK D . . N DIE S DIE="^DIC(19.2,",DR="2///@;12///@" D ^DIE Q . Q S XUTMT=ZTSK,XUTMT(0)="D" D ^XUTMT W !!?5,"Deleted!" G SELECT ; SELECT quit loop1 new count set count=0 new DA set DA=0 for set DA=$order(^PSDRUG(DA)) quit:(+DA'>0) do . set count=count+1 . if count#100=0 write "." . I '$G(^PSDRUG(DA,"ND")) quit . new ien set ien=$P(^("ND"),"^",3) . if ien="" write "problem with ien. DA=",DA,! quit . S NEWC1=$P(^PSNDF(50.68,ien,3),"^") . if NEWC1="" do quit . . write !,"File 50, IEN #",DA," points to 50.68 (VA PRODUCT) entry IEN #",ien,",",! . . write "However, in File 50.68, IEN #",ien,", field 15 (primary drug class) is NULL",! . set NEWC=$P(^PS(50.605,NEWC1,0),"^",1) . set DIE="^PSDRUG(",DR="2////"_NEWC_";25////"_NEWC1_";" write !,"done.",! quit loop2 new max set max=$piece($get(^PSDRUG(0)),"^",4) new startTime set startTime=$H new DA S DA=0 F S DA=$O(^PSDRUG(DA)) Q:'DA I $D(^(DA,0)) D . ;"if DA#10=0 do ProgressBar^TMGUSRIF(DA,"",0,max,60,startTime) . new skip set skip=0 . I $G(^PSDRUG(DA,"ND")) do quit:(skip) . . new ien50d68 set ien50d68=+$P(^("ND"),"^",3) . . if ien50d68=0 do quit . . . set skip=1 . . . write "DRUG (50) file IEN #",DA," does not have a pointer>0 in field 22",! . . S NEWC1=$P($get(^PSNDF(50.68,ien50d68,3)),"^") . . if +NEWC1=0 do quit . . . set skip=1 . . . ;"write "VA PRODUCT (50.68) file IEN #",ien50d68," does not have pointer in field 15",! . . . ;"write "Here is $get(^PSNDF(50.68,ien50d68,3)): ",$get(^PSNDF(50.68,ien50d68,3)),! . . . write ien50d68,! . . set NEWC=$P($get(^PS(50.605,NEWC1,0)),"^",1) . . if NEWC="" do quit . . . set skip=1 . . . write "VA DRUG CLASS (50.605) file IEN #",NEWC1," does not have a drug code (.01 field)!",! . . . write !,"Problem (A): ^PSDRUG, DA=",DA,! . . set DIE="^PSDRUG(",DR="2////"_NEWC_";25////"_NEWC1_";" . . ;"D ^DIE Q quit loop3 ;"Purpose: Allow user to browse classes with selector ;"Input: none ;"Results: none new Options,IEN set Options("FIELDS",1)=".01^NAME^60" set Options("FIELDS",1,"NO EDIT")=1 ;"i.e. show for browsing, but don't allow edit set Options("FIELDS",2)="15^VA DRUG CLASS^20" set Options("FIELDS",2,"LOOKUP FN")="$$SECLookup^TMGNDF3A()" set Options("FIELDS","MAX NUM")=2 set Options("FILE")="50.68^VA PRODUCT" ;"Get all records with SKIP THIS RECORD = 0 (KEEP) set Options("IEN LIST",29446)="" set Options("IEN LIST",29555)="" set Options("IEN LIST",29956)="" set Options("IEN LIST",33448)="" set Options("IEN LIST",69944)="" set Options("IEN LIST",69993)="" set Options("IEN LIST",70005)="" set Options("IEN LIST",70070)="" set Options("IEN LIST",70447)="" set Options("IEN LIST",70501)="" set Options("IEN LIST",70519)="" set Options("IEN LIST",70553)="" set Options("IEN LIST",70841)="" set Options("IEN LIST",70935)="" set Options("IEN LIST",70937)="" set Options("IEN LIST",71060)="" set Options("IEN LIST",71063)="" set Options("IEN LIST",71094)="" set Options("IEN LIST",71134)="" set Options("IEN LIST",71317)="" set Options("IEN LIST",71492)="" set Options("IEN LIST",71593)="" set Options("IEN LIST",72010)="" E1 if $$SELED^TMGSELED(.Options)'=2 write "done",! quit