PSAUNM ;BIR/LTL-Report of Unlinked DRUG/ITEM MASTER file Entries ;7/23/97
 ;;3.0; DRUG ACCOUNTABILITY/INVENTORY INTERFACE;**15**; 10/24/97
 ;
 ;References to ^PSDRUG( are covered by IA #2095
 ;
 D DT^DICRW
DEV ;asks device and queueing info
 K IO("Q") N %ZIS,DTOUT,DUOUT,IOP,POP,PSAOUT S %ZIS="Q" D ^%ZIS I POP W !,"NO DEVICE SELECTED OR REPORT PRINTED!" S PSAOUT=1 G QUIT
 I $D(IO("Q")) N ZTDESC,ZTIO,ZTRTN,ZTSAVE,ZTDTH,ZTSK S ZTRTN="START^PSAUNM",ZTDESC="Unlinked DRUG/ITEM FILE entries" D ^%ZTLOAD,HOME^%ZIS S PSAOUT=1 G QUIT
START ;compiles and prints data for report
 N DIR,DIRUT,POP,PSAB,PSAD,PSADD,PSAIT,PSALN,PSAPG,PSARPDT,X,Y S (PSAD,PSAPG,PSAOUT)=0,Y=DT D DD^%DT S PSARPDT=Y D HEADER
LOOP F  S PSAD=$O(^PSDRUG(PSAD)) G:'PSAD QUIT D:$Y+4>IOSL HEADER G:PSAOUT QUIT I '$O(^PSDRUG(PSAD,441,0)),'$D(^PSDRUG(PSAD,"I")) W !!,$E($P(^PSDRUG(PSAD,0),U),1,35),?36,$P(^(0),U,6),?56,$P($G(^(2)),U,4),?75,$S($D(^("ND")):"YES",1:"NO")
QUIT I $E(IOST)'="C" W @IOF
 I $E(IOST,1,2)="C-",'PSAOUT W !! S DIR(0)="E",DIR("A")="END OF REPORT!  Press <RET> to return to the menu" D ^DIR
 D ^%ZISC S:$D(ZTQUEUED) ZTREQ="@" K IO("Q")
 Q
 I $E(IOST,1,2)'="P-",PSAPG S DIR(0)="E" D ^DIR K DIR I 'Y S PSAOUT=1 Q
 I $$S^%ZTLOAD W !!,"Task #",$G(ZTSK),", ",$G(ZTDESC)," was stopped by ",$P($G(^VA(200,+$G(DUZ),0)),U),"." S PSAOUT=1 Q
 W:$Y @IOF S $P(PSALN,"*",81)="",PSAPG=PSAPG+1 W !?2,"Unlinked DRUG/ITEM MASTER file entries",?55,PSARPDT,?70,"PAGE: "_PSAPG,!,PSALN,!,"DRUG",?36,"FSN",?56,"NDC",?75,"NDF?"
 Q
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HPSAUNM   1537     printed  Sep 23, 2025@19:26:47                                                                                                                                                                                                      Page 2
PSAUNM    ;BIR/LTL-Report of Unlinked DRUG/ITEM MASTER file Entries ;7/23/97
 +1       ;;3.0; DRUG ACCOUNTABILITY/INVENTORY INTERFACE;**15**; 10/24/97
 +2       ;
 +3       ;References to ^PSDRUG( are covered by IA #2095
 +4       ;
 +5        DO DT^DICRW
DEV       ;asks device and queueing info
 +1        KILL IO("Q")
           NEW %ZIS,DTOUT,DUOUT,IOP,POP,PSAOUT
           SET %ZIS="Q"
           DO ^%ZIS
           IF POP
               WRITE !,"NO DEVICE SELECTED OR REPORT PRINTED!"
               SET PSAOUT=1
               GOTO QUIT
 +2        IF $DATA(IO("Q"))
               NEW ZTDESC,ZTIO,ZTRTN,ZTSAVE,ZTDTH,ZTSK
               SET ZTRTN="START^PSAUNM"
               SET ZTDESC="Unlinked DRUG/ITEM FILE entries"
               DO ^%ZTLOAD
               DO HOME^%ZIS
               SET PSAOUT=1
               GOTO QUIT
START     ;compiles and prints data for report
 +1        NEW DIR,DIRUT,POP,PSAB,PSAD,PSADD,PSAIT,PSALN,PSAPG,PSARPDT,X,Y
           SET (PSAD,PSAPG,PSAOUT)=0
           SET Y=DT
           DO DD^%DT
           SET PSARPDT=Y
           DO HEADER
LOOP       FOR 
               SET PSAD=$ORDER(^PSDRUG(PSAD))
               if 'PSAD
                   GOTO QUIT
               if $Y+4>IOSL
                   DO HEADER
               if PSAOUT
                   GOTO QUIT
               IF '$ORDER(^PSDRUG(PSAD,441,0))
                   IF '$DATA(^PSDRUG(PSAD,"I"))
                       WRITE !!,$EXTRACT($PIECE(^PSDRUG(PSAD,0),U),1,35),?36,$PIECE(^(0),U,6),?56,$PIECE($GET(^(2)),U,4),?75,$SELECT($DATA(^("ND")):"YES",1:"NO")
QUIT       IF $EXTRACT(IOST)'="C"
               WRITE @IOF
 +1        IF $EXTRACT(IOST,1,2)="C-"
               IF 'PSAOUT
                   WRITE !!
                   SET DIR(0)="E"
                   SET DIR("A")="END OF REPORT!  Press <RET> to return to the menu"
                   DO ^DIR
 +2        DO ^%ZISC
           if $DATA(ZTQUEUED)
               SET ZTREQ="@"
           KILL IO("Q")
 +3        QUIT 
 +1        IF $EXTRACT(IOST,1,2)'="P-"
               IF PSAPG
                   SET DIR(0)="E"
                   DO ^DIR
                   KILL DIR
                   IF 'Y
                       SET PSAOUT=1
                       QUIT 
 +2        IF $$S^%ZTLOAD
               WRITE !!,"Task #",$GET(ZTSK),", ",$GET(ZTDESC)," was stopped by ",$PIECE($GET(^VA(200,+$GET(DUZ),0)),U),"."
               SET PSAOUT=1
               QUIT 
 +3        if $Y
               WRITE @IOF
           SET $PIECE(PSALN,"*",81)=""
           SET PSAPG=PSAPG+1
           WRITE !?2,"Unlinked DRUG/ITEM MASTER file entries",?55,PSARPDT,?70,"PAGE: "_PSAPG,!,PSALN,!,"DRUG",?36,"FSN",?56,"NDC",?75,"NDF?"
 +4        QUIT