DGYPREG4 ;ALB/REW - POST-INIT CONVERSION/REPORTING ;5-APR-93
 ;;5.3;Registration;;Aug 13, 1993
 ;
 ;  Note: By removing the ;(comment) before D NUMLIM the user is
 ;        prompted for the maximum number of patients to print.
MAX ;
 N DIR,DGXM,DGTXT,X,Y,%DT,Z
 W !,?5,"This report will print problem records sorted by Last Activity Date."
 W !,?5,"It also prints a total of convertible and un-convertible patients"
 W !?5,"for Active and Inactive patients",!
 D PRHEAD1^DGYPREG2 ;Displays definition of Last Activity Date
 W !?5,"Because this may be a very long report, you may wish to only"
 W !?5,"print recently active patients.  The default is 2 years ago.",!
 S DIR("A")="Oldest Activity Date to Print: ",Z=(DT-20000),DIR("B")=$E(Z,4,5)_"/"_$E(Z,6,7)_"/"_$E(Z,2,3),%DT="AE",DIR(0)="D^2800101:2950101:EX"
 D ^DIR
 G:Y<0!($G(DIRUT)) QTMAX
 S:Y DGFSTDT=Y
 I DGFSTDT=2800101 D
 .N DIR
 .W !?5,"Because you have chosen the earliest date (1-1-80) records with NO"
 .W !?5,"Activity Date will be printed at the end.  An example of this"
 .W !?5,"is a patient that never completed registration.",!
 .S DGFSTDT=0
 .S DIR(0)="E" D ^DIR
 ;D NUMLIM
 S:'$G(DGMAXPT) DGMAXPT=1999
QTMAX Q
MBQUE ;
 N DIR,DIRUT,DUOUT,DGFSTDT,DGMAXPT,DGDOMB,DGVAR,DGPGM,X,Y,ZTIO
 S DGDOMB=1,DGVAR="DGMAXPT^DGFSTDT^DGDOMB^DUZ",DGPGM="EN^DGYPREG",ZTIO=""
 D MAX,QUEMESS:'$G(DIRUT)
 D:'$G(DIRUT) QUE^DGUTQ
QTMBQ Q
CFLQUE ;
 N DIR,DIRUT,DUOUT,DGFSTDT,DGMAXPT,DGDOCFL,DGVAR,DGPGM,X,Y,ZTIO
 S DGDOCFL=1,DGVAR="DGMAXPT^DGFSTDT^DGDOCFL^DUZ",DGPGM="EN^DGYPREG",ZTIO=""
 D MAX,QUEMESS:'$G(DIRUT)
 D:'$G(DIRUT) QUE^DGUTQ
QTCFLQ Q
QUEMESS ;
 I $D(ZTQUEUED) G QTQMESS
 W !!?5,"You will be receiving a Mail Message indicating records whose "
 W:$G(DGDOMB) !?5,"monetary benefit amount fields can not be converted into the"
 W:$G(DGDOMB) !?5,"TOTAL ANNUAL VA CHECK AMOUNT field.",!
 W:$G(DGDOCFL) !?5,"Claim Folder Location field in the Patient File does not "
 W:$G(DGDOCFL) !?5,"begin with an institution's station number."
 W !?5,$S($G(DGDOMB)=1:"NO",$G(DGDOCFL)=1:"NO",1:"")," Data will be changed.",!!
 W !?5,"This is a queued task.  Because this searches the entire Patient File,"
 W !?5,"you may wish to run this during off-hours.",!!
QTQMESS Q
NUMLIM ;
 W !!?5,"You may wish to limit the number of patients to print in the"
 W !?5,"listing to a maximum number of unconvertible patients.",!
 S DIR(0)="NA^20:99999:0",DIR("A")="Maximum number of Unconvertible Patients to print: "
 S DIR("B")=999
 D ^DIR
 Q:'Y
 S:Y DGMAXPT=Y
 Q
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HDGYPREG4   2551     printed  Sep 23, 2025@20:36:26                                                                                                                                                                                                    Page 2
DGYPREG4  ;ALB/REW - POST-INIT CONVERSION/REPORTING ;5-APR-93
 +1       ;;5.3;Registration;;Aug 13, 1993
 +2       ;
 +3       ;  Note: By removing the ;(comment) before D NUMLIM the user is
 +4       ;        prompted for the maximum number of patients to print.
MAX       ;
 +1        NEW DIR,DGXM,DGTXT,X,Y,%DT,Z
 +2        WRITE !,?5,"This report will print problem records sorted by Last Activity Date."
 +3        WRITE !,?5,"It also prints a total of convertible and un-convertible patients"
 +4        WRITE !?5,"for Active and Inactive patients",!
 +5       ;Displays definition of Last Activity Date
           DO PRHEAD1^DGYPREG2
 +6        WRITE !?5,"Because this may be a very long report, you may wish to only"
 +7        WRITE !?5,"print recently active patients.  The default is 2 years ago.",!
 +8        SET DIR("A")="Oldest Activity Date to Print: "
           SET Z=(DT-20000)
           SET DIR("B")=$EXTRACT(Z,4,5)_"/"_$EXTRACT(Z,6,7)_"/"_$EXTRACT(Z,2,3)
           SET %DT="AE"
           SET DIR(0)="D^2800101:2950101:EX"
 +9        DO ^DIR
 +10       if Y<0!($GET(DIRUT))
               GOTO QTMAX
 +11       if Y
               SET DGFSTDT=Y
 +12       IF DGFSTDT=2800101
               Begin DoDot:1
 +13               NEW DIR
 +14               WRITE !?5,"Because you have chosen the earliest date (1-1-80) records with NO"
 +15               WRITE !?5,"Activity Date will be printed at the end.  An example of this"
 +16               WRITE !?5,"is a patient that never completed registration.",!
 +17               SET DGFSTDT=0
 +18               SET DIR(0)="E"
                   DO ^DIR
               End DoDot:1
 +19      ;D NUMLIM
 +20       if '$GET(DGMAXPT)
               SET DGMAXPT=1999
QTMAX      QUIT 
MBQUE     ;
 +1        NEW DIR,DIRUT,DUOUT,DGFSTDT,DGMAXPT,DGDOMB,DGVAR,DGPGM,X,Y,ZTIO
 +2        SET DGDOMB=1
           SET DGVAR="DGMAXPT^DGFSTDT^DGDOMB^DUZ"
           SET DGPGM="EN^DGYPREG"
           SET ZTIO=""
 +3        DO MAX
           if '$GET(DIRUT)
               DO QUEMESS
 +4        if '$GET(DIRUT)
               DO QUE^DGUTQ
QTMBQ      QUIT 
CFLQUE    ;
 +1        NEW DIR,DIRUT,DUOUT,DGFSTDT,DGMAXPT,DGDOCFL,DGVAR,DGPGM,X,Y,ZTIO
 +2        SET DGDOCFL=1
           SET DGVAR="DGMAXPT^DGFSTDT^DGDOCFL^DUZ"
           SET DGPGM="EN^DGYPREG"
           SET ZTIO=""
 +3        DO MAX
           if '$GET(DIRUT)
               DO QUEMESS
 +4        if '$GET(DIRUT)
               DO QUE^DGUTQ
QTCFLQ     QUIT 
QUEMESS   ;
 +1        IF $DATA(ZTQUEUED)
               GOTO QTQMESS
 +2        WRITE !!?5,"You will be receiving a Mail Message indicating records whose "
 +3        if $GET(DGDOMB)
               WRITE !?5,"monetary benefit amount fields can not be converted into the"
 +4        if $GET(DGDOMB)
               WRITE !?5,"TOTAL ANNUAL VA CHECK AMOUNT field.",!
 +5        if $GET(DGDOCFL)
               WRITE !?5,"Claim Folder Location field in the Patient File does not "
 +6        if $GET(DGDOCFL)
               WRITE !?5,"begin with an institution's station number."
 +7        WRITE !?5,$SELECT($GET(DGDOMB)=1:"NO",$GET(DGDOCFL)=1:"NO",1:"")," Data will be changed.",!!
 +8        WRITE !?5,"This is a queued task.  Because this searches the entire Patient File,"
 +9        WRITE !?5,"you may wish to run this during off-hours.",!!
QTQMESS    QUIT 
NUMLIM    ;
 +1        WRITE !!?5,"You may wish to limit the number of patients to print in the"
 +2        WRITE !?5,"listing to a maximum number of unconvertible patients.",!
 +3        SET DIR(0)="NA^20:99999:0"
           SET DIR("A")="Maximum number of Unconvertible Patients to print: "
 +4        SET DIR("B")=999
 +5        DO ^DIR
 +6        if 'Y
               QUIT 
 +7        if Y
               SET DGMAXPT=Y
 +8        QUIT