PSAFIX ;BHM/DB - FIX INACTIVE DRUGS IN 58.8;10/3/97
;;3.0; DRUG ACCOUNTABILITY/INVENTORY INTERFACE;**3**; 10/24/97
D NOW^%DTC W @IOF K PSALOC,PSACNT
W !!,"Correcting erroneous Drug entries in file 58.8.",!
BGN ;begin the loop
S PSALOC=$S('$D(PSALOC):$O(^PSD(58.8,0)),1:$O(^PSD(58.8,PSALOC))) G DONE:PSALOC'>0
;
K DRUG
DRUG S DRUG=$S('$D(DRUG):$O(^PSD(58.8,PSALOC,1,0)),1:$O(^PSD(58.8,PSALOC,1,DRUG))) G BGN:DRUG'>0 G DRUG:'$D(^PSD(58.8,PSALOC,1,DRUG,0)) S DATA=^PSD(58.8,PSALOC,1,DRUG,0) I $P(DATA,"^",1)'="" G DRUG
S $P(^PSD(58.8,PSALOC,1,DRUG,0),"^",1)=DRUG,^PSD(58.8,PSALOC,1,"B",DRUG,DRUG)="",PSACNT=$G(PSACNT)+1
G DRUG
DONE W !!,"Patch PSA*3*3 has finished, and corrected ",$G(PSACNT)," bad entries.",!
Q Q
PSAFIX ;BHM/DB - FIX INACTIVE DRUGS IN 58.8;10/3/97
+1 ;;3.0; DRUG ACCOUNTABILITY/INVENTORY INTERFACE;**3**; 10/24/97
+2 DO NOW^%DTC
WRITE @IOF
KILL PSALOC,PSACNT
+3 WRITE !!,"Correcting erroneous Drug entries in file 58.8.",!
BGN ;begin the loop
+1 SET PSALOC=$SELECT('$DATA(PSALOC):$ORDER(^PSD(58.8,0)),1:$ORDER(^PSD(58.8,PSALOC)))
IF PSALOC'>0
GOTO DONE
+2 ;
+3 KILL DRUG
DRUG SET DRUG=$SELECT('$DATA(DRUG):$ORDER(^PSD(58.8,PSALOC,1,0)),1:$ORDER(^PSD(58.8,PSALOC,1,DRUG)))
IF DRUG'>0
GOTO BGN
IF '$DATA(^PSD(58.8,PSALOC,1,DRUG,0))
GOTO DRUG
SET DATA=^PSD(58.8,PSALOC,1,DRUG,0)
IF $PIECE(DATA,"^",1)'=""
GOTO DRUG
+1 SET $PIECE(^PSD(58.8,PSALOC,1,DRUG,0),"^",1)=DRUG
SET ^PSD(58.8,PSALOC,1,"B",DRUG,DRUG)=""
SET PSACNT=$GET(PSACNT)+1
+2 GOTO DRUG
DONE WRITE !!,"Patch PSA*3*3 has finished, and corrected ",$GET(PSACNT)," bad entries.",!
Q QUIT