ANRVML3 ;BIRM/LDT - VIST MAILING LABELS BY STATE ; 28 Feb 98 / 3:34 PM
 ;;4.0; Visual Impairment Service Team ;;12 Jun 98
EN1 ;Entry point for Mailing Labels by State
 K ANRVLP W @IOF,!!,"MAILING LABELS BY STATE",!!
 D SEL I '$D(ANRVLP),SEL'="A" G QUIT
 K %ZIS,IOP S %ZIS="QM",%ZIS("B")="" D ^%ZIS I POP W !,"NO DEVICE SELECTED OR REPORT PRINTED!!" G QUIT
 I $D(IO("Q")) K IO("Q") S ZTDESC="VIST MAILING LABELS BY STATE",ZTRTN="DEQ^ANRVML3" S:$D(ANRVLP) ZTSAVE("ANRVLP(")="" S:$D(SEL) ZTSAVE("SEL")=""
 I  D ^%ZTLOAD K ZTSK G QUIT
 U IO
DEQ ;Entry point when queued.
 S ANRVP=0 F  S ANRVP=$O(^ANRV(2040,ANRVP)) Q:'ANRVP  I $P($G(^ANRV(2040,ANRVP,13)),U,2)'="I" S DFN=$P($G(^ANRV(2040,ANRVP,0)),U) D 4^VADPT,MAILBL
 ;
QUIT K %,%H,%I,%T,%Y,ANRVP,ANRV,ANRVLP,DFN,SEL D KVAR^VADPT,KVA^VADPT
 W:$E(IOST)'="C" @IOF D ^%ZISC S:$D(ZTQUEUED) ZTREQ="@"
 Q
 ;
MAILBL ;
 I $D(ANRVLP),VAPA(5)]"",$D(ANRVLP($P(VAPA(5),U,2))) D ^ANRVML
 I $D(SEL),SEL="A" D ^ANRVML
 Q
 ;
SEL W !!,"Do you want to print the mailing labels for:",!?3,"(A)ll states or",!?3,"(S)elect states",!!
 S DIR(0)="SAOBM^A:ALL;S:SELECTED",DIR("A")="Choose A or S: ",DIR("?")="^D HELPSEL^ANRVML3" D ^DIR K DIR
 S SEL=Y I SEL="A" Q
 S:SEL="" SEL="^" G:SEL="^" QUIT2
 W !
ASKST K X,Y S DIC(0)="QEAM",DIC="^DIC(5," D ^DIC K DIC
 I Y<0!($D(DTOUT))!($D(DUOUT)) G QUIT2
 I Y>0 D SETLP G ASKST
QUIT2 K %,DTOUT,DUOUT,X,Y Q
SETLP S ANRVLP($P(Y,U,2))=""
 Q
HELPSEL ;
 W !!,"Enter:",!?3,"""A"" to print mailing labels for ALL states.",!?3,"""S"" to select only a specific state or states.",!?3,"""^"" or <return> to halt." Q
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HANRVML3   1602     printed  Sep 23, 2025@20:21:55                                                                                                                                                                                                     Page 2
ANRVML3   ;BIRM/LDT - VIST MAILING LABELS BY STATE ; 28 Feb 98 / 3:34 PM
 +1       ;;4.0; Visual Impairment Service Team ;;12 Jun 98
EN1       ;Entry point for Mailing Labels by State
 +1        KILL ANRVLP
           WRITE @IOF,!!,"MAILING LABELS BY STATE",!!
 +2        DO SEL
           IF '$DATA(ANRVLP)
               IF SEL'="A"
                   GOTO QUIT
 +3        KILL %ZIS,IOP
           SET %ZIS="QM"
           SET %ZIS("B")=""
           DO ^%ZIS
           IF POP
               WRITE !,"NO DEVICE SELECTED OR REPORT PRINTED!!"
               GOTO QUIT
 +4        IF $DATA(IO("Q"))
               KILL IO("Q")
               SET ZTDESC="VIST MAILING LABELS BY STATE"
               SET ZTRTN="DEQ^ANRVML3"
               if $DATA(ANRVLP)
                   SET ZTSAVE("ANRVLP(")=""
               if $DATA(SEL)
                   SET ZTSAVE("SEL")=""
 +5       IF $TEST
               DO ^%ZTLOAD
               KILL ZTSK
               GOTO QUIT
 +6        USE IO
DEQ       ;Entry point when queued.
 +1        SET ANRVP=0
           FOR 
               SET ANRVP=$ORDER(^ANRV(2040,ANRVP))
               if 'ANRVP
                   QUIT 
               IF $PIECE($GET(^ANRV(2040,ANRVP,13)),U,2)'="I"
                   SET DFN=$PIECE($GET(^ANRV(2040,ANRVP,0)),U)
                   DO 4^VADPT
                   DO MAILBL
 +2       ;
QUIT       KILL %,%H,%I,%T,%Y,ANRVP,ANRV,ANRVLP,DFN,SEL
           DO KVAR^VADPT
           DO KVA^VADPT
 +1        if $EXTRACT(IOST)'="C"
               WRITE @IOF
           DO ^%ZISC
           if $DATA(ZTQUEUED)
               SET ZTREQ="@"
 +2        QUIT 
 +3       ;
MAILBL    ;
 +1        IF $DATA(ANRVLP)
               IF VAPA(5)]""
                   IF $DATA(ANRVLP($PIECE(VAPA(5),U,2)))
                       DO ^ANRVML
 +2        IF $DATA(SEL)
               IF SEL="A"
                   DO ^ANRVML
 +3        QUIT 
 +4       ;
SEL        WRITE !!,"Do you want to print the mailing labels for:",!?3,"(A)ll states or",!?3,"(S)elect states",!!
 +1        SET DIR(0)="SAOBM^A:ALL;S:SELECTED"
           SET DIR("A")="Choose A or S: "
           SET DIR("?")="^D HELPSEL^ANRVML3"
           DO ^DIR
           KILL DIR
 +2        SET SEL=Y
           IF SEL="A"
               QUIT 
 +3        if SEL=""
               SET SEL="^"
           if SEL="^"
               GOTO QUIT2
 +4        WRITE !
ASKST      KILL X,Y
           SET DIC(0)="QEAM"
           SET DIC="^DIC(5,"
           DO ^DIC
           KILL DIC
 +1        IF Y<0!($DATA(DTOUT))!($DATA(DUOUT))
               GOTO QUIT2
 +2        IF Y>0
               DO SETLP
               GOTO ASKST
QUIT2      KILL %,DTOUT,DUOUT,X,Y
           QUIT 
SETLP      SET ANRVLP($PIECE(Y,U,2))=""
 +1        QUIT 
HELPSEL   ;
 +1        WRITE !!,"Enter:",!?3,"""A"" to print mailing labels for ALL states.",!?3,"""S"" to select only a specific state or states.",!?3,"""^"" or <return> to halt."
           QUIT