EASECDP2 ;ALB/LBD Dependent Utilities ;19 AUG 2001
 ;;1.0;ENROLLMENT APPLICATION SYSTEM;**5,7**;Mar 15, 2001
 ;
 ; NOTE: This routine was modified from DGDEP2 for LTC Co-pay
 ;
EN1 ; Add dependent to means test
 ;
 N DGSAVE,DGMTD,DGSAVE1
 I '$G(DGMTI),$G(DGMTYPT)'=3 W !,"Not a LTC copay test - use LTC copay test options." H 2 G EN1Q
 I $G(DGMTACT)="VEW" W !,"Cannot edit when viewing a LTC copay test." H 2 G EN1Q
 S VALMBCK="",DGSAVE=VALMLST,DGSAVE1=VALMBG
 S VALMBG=1,VALMLST=DGCNT D SEL^VALM2 S VALMBG=DGSAVE1,VALMLST=DGSAVE G EN1Q:'$O(VALMY(0))
 N CTR S CTR=0 F  S CTR=$O(VALMY(CTR)) Q:'CTR  D
 .D ADD(DFN,DGDEP(CTR),$G(DGMTI))
 S DGMTD=$S($G(DGMTI):$P(^DGMT(408.31,DGMTI,0),U),1:DT)
 D ALL^EASECU21(DFN,"VSC",DGMTD,"IPR",DGMTI)
 K DGDEP D INIT^EASECDEP
EN1Q S VALMBCK="R" Q
 ;
ADD(DFN,DGDEP,DGMTI) ;Add
 N DA,DR,DIE,DGMTD,DGIRI
 I '$G(DGMTI),$G(DGMTYPT)'=3 W !,"Not a LTC copay test - use LTC copay test options." H 2 G ADDQ
 I $G(DGMTACT)="VEW" W !,"Cannot edit when viewing a LTC copay test." G ADDQ
 S DGMTR=$O(^DG(408.11,"B",$P(DGDEP,U,2),"")) I '$P(^DG(408.11,DGMTR,0),U,4) D  G ADDQ
 .W !,"Cannot add a "_$P(DGDEP,U,2)_" as a dependent to the LTC copay test." H 2
 S DGMTD=$S($G(DGMTI):$P($G(^DGMT(408.31,DGMTI,0)),U),1:DT)
 D GETIENS^EASECU2(DFN,$P(DGDEP,U,20),DGMTD)
 S DA=DGIRI
 S DIE="^DGMT(408.22,",DR="31////"_DGMTI
 D ^DIE
ADDQ Q
 ;
EN2 ; Remove dependent from means test
 ;
 N DGSAVE1,DGSAVE2,DGMTD
 I '$G(DGMTI),$G(DGMTYPT)'=3 W !,"Not a LTC copay test - use LTC copay test options." H 2 G EN2Q
 I $G(DGMTACT)="VEW" W !,"Cannot edit when viewing a LTC copay test." H 2 G EN2Q
 S VALMBCK="",DGSAVE1=VALMBG,DGSAVE2=VALMLST,VALMBG=2
 S VALMLST=DGCNT D SEL^VALM2 S VALMBG=DGSAVE1,VALMLST=DGSAVE2 G EN1Q:'$O(VALMY(0))
 N CTR S CTR=0 F  S CTR=$O(VALMY(CTR)) Q:'CTR  D
 .D REMOVE(DFN,DGDEP(CTR),$G(DGMTI))
 S DGMTD=$S($G(DGMTI):$P(^DGMT(408.31,DGMTI,0),U),1:DT)
 D ALL^EASECU21(DFN,"VSC",DGMTD,"IPR",DGMTI)
EN2Q S VALMBCK="R" Q
 ;
REMOVE(DFN,DGDEP,DGMTI) ;Remove
 N DA,DR,DIE,DGMTD
 I '$G(DGMTI),$G(DGMTYPT)'=3 W !,"Not a LTC copay test - use LTC copay test options." H 2 G REMOVEQ
 I $G(DGMTACT)="VEW" W !,"Cannot edit when viewing a LTC copay test." H 2 G EN2Q
 S DGMTD=$S($G(DGMTI):$P($G(^DGMT(408.31,DGMTI,0)),U),1:DT)
 D GETIENS^EASECU2(DFN,$P(DGDEP,U,20),DGMTD)
 S DA=DGIRI
 S DIE="^DGMT(408.22,",DR="31////@"
 D ^DIE S DGREMOVE=1
 K DGDEP D INIT^EASECDEP
REMOVEQ K DGREMOVE Q
 ;
EN3 ; Edit dependent demo
 ;
 S VALMBCK=""
 N DGSAVE1,DGSAVE2,DGMTD,DGBEG,I
 I $G(DGMTACT)="VEW" W !,"Cannot edit when viewing a LTC copay test." H 2 G EN3Q
 I '$D(DGMTI),$G(DGRPV)=1 W !,"Not while viewing" H 2 G EN3Q
 S VALMBCK="",DGSAVE1=VALMBG,DGSAVE2=VALMLST,VALMBG=1
 S VALMLST=DGCNT D SEL^VALM2 S VALMBG=DGSAVE1,VALMLST=DGSAVE2 G EN1Q:'$O(VALMY(0))
 N CTR S CTR=0 F  S CTR=$O(VALMY(CTR)) Q:'CTR  D
 .D EDITD(DFN,DGDEP(CTR),CTR,$G(DGMTI))
 S VALMBCK="R"
 K DGDEP D INIT^EASECDEP
EN3Q Q
 ;
EDITD(DFN,DGDEP,DGW,DGMTI) ; Edit
 N DA,DR,DIE,DGMTDT,SPOUSE,DGREL,DGDR,CNT,RELATION
 I $G(DGMTACT)="VEW" W !,"Cannot edit when viewing a LTC copay test." H 2 G EDITDQ
 W !!,$P(DGDEP,U)
 I '$G(DGMTI),$P(DGDEP,U,2)="SELF" D  G EDITDQ
 .S DGREL("V")=$P(DGDEP,U,20) D SPOUSE^EASECED2
 I '$G(DGMTI) W !,"Can only input information for veteran." H 2 G EN3Q
 S DGMTDT=$P(^DGMT(408.31,DGMTI,0),U)
 I $P(DGDEP,U,2)="SPOUSE" W !,"Married information is entered under the veteran." H 2 G EDITDQ
 I $P(DGDEP,U,2)="SELF" D  G EDITDQ
 .S DGDR=101
 .D GETREL^DGMTU11(DFN,"S",$S($G(DGMTDT):DGMTDT,1:DT))
 .S DA=DGVIRI,DIE="^DGMT(408.22,",DR="[EASEC EDIT MARITAL STATUS]" D ^DIE K DA,DIE,DR
 .I $G(DGMTI),$G(DGREL("S")) D
 ..S SPOUSE=+DGREL("S")
 ..D INIT^EASECDEP
 ..S CNT=0 F  S CNT=$O(DGDEP(CNT)) Q:'CNT  I $P(DGDEP(CNT),U,20)=SPOUSE D ADD(DFN,DGDEP(CNT),DGMTI)
 S RELATION=$O(^DG(408.11,"B",$P(DGDEP,U,2),""))
 I '$P(^DG(408.11,+RELATION,0),U,4) W !,"Not applicable for LTC copay test" H 2 G EDITDQ
 S DGPRI=$P(DGDEP,U,20)
 D EDT
 I $G(DGFL)'<0 D ADD(DFN,DGDEP,DGMTI)
EDITDQ ;
 Q
 ;
EDT ;Edit dependent child data
 ; NOTE: this code was modified from DGMTSC11
 N DA,DGERR,DGFIN,DGINI,DGIRI,DIE,DR
 D GETIENS^EASECU2(DFN,+DGPRI,DGMTDT) G EDTQ:DGERR
 S DA=DGIRI,DIE="^DGMT(408.22,",DR="[EASEC EDIT DEPENDENTS]" D ^DIE
 S:'$D(DGFIN) DGFL=$S($D(DTOUT):-2,$D(DUOUT):-1,($D(Y))=10:-1,1:0)
EDTQ Q
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HEASECDP2   4376     printed  Sep 23, 2025@19:30                                                                                                                                                                                                       Page 2
EASECDP2  ;ALB/LBD Dependent Utilities ;19 AUG 2001
 +1       ;;1.0;ENROLLMENT APPLICATION SYSTEM;**5,7**;Mar 15, 2001
 +2       ;
 +3       ; NOTE: This routine was modified from DGDEP2 for LTC Co-pay
 +4       ;
EN1       ; Add dependent to means test
 +1       ;
 +2        NEW DGSAVE,DGMTD,DGSAVE1
 +3        IF '$GET(DGMTI)
               IF $GET(DGMTYPT)'=3
                   WRITE !,"Not a LTC copay test - use LTC copay test options."
                   HANG 2
                   GOTO EN1Q
 +4        IF $GET(DGMTACT)="VEW"
               WRITE !,"Cannot edit when viewing a LTC copay test."
               HANG 2
               GOTO EN1Q
 +5        SET VALMBCK=""
           SET DGSAVE=VALMLST
           SET DGSAVE1=VALMBG
 +6        SET VALMBG=1
           SET VALMLST=DGCNT
           DO SEL^VALM2
           SET VALMBG=DGSAVE1
           SET VALMLST=DGSAVE
           if '$ORDER(VALMY(0))
               GOTO EN1Q
 +7        NEW CTR
           SET CTR=0
           FOR 
               SET CTR=$ORDER(VALMY(CTR))
               if 'CTR
                   QUIT 
               Begin DoDot:1
 +8                DO ADD(DFN,DGDEP(CTR),$GET(DGMTI))
               End DoDot:1
 +9        SET DGMTD=$SELECT($GET(DGMTI):$PIECE(^DGMT(408.31,DGMTI,0),U),1:DT)
 +10       DO ALL^EASECU21(DFN,"VSC",DGMTD,"IPR",DGMTI)
 +11       KILL DGDEP
           DO INIT^EASECDEP
EN1Q       SET VALMBCK="R"
           QUIT 
 +1       ;
ADD(DFN,DGDEP,DGMTI) ;Add
 +1        NEW DA,DR,DIE,DGMTD,DGIRI
 +2        IF '$GET(DGMTI)
               IF $GET(DGMTYPT)'=3
                   WRITE !,"Not a LTC copay test - use LTC copay test options."
                   HANG 2
                   GOTO ADDQ
 +3        IF $GET(DGMTACT)="VEW"
               WRITE !,"Cannot edit when viewing a LTC copay test."
               GOTO ADDQ
 +4        SET DGMTR=$ORDER(^DG(408.11,"B",$PIECE(DGDEP,U,2),""))
           IF '$PIECE(^DG(408.11,DGMTR,0),U,4)
               Begin DoDot:1
 +5                WRITE !,"Cannot add a "_$PIECE(DGDEP,U,2)_" as a dependent to the LTC copay test."
                   HANG 2
               End DoDot:1
               GOTO ADDQ
 +6        SET DGMTD=$SELECT($GET(DGMTI):$PIECE($GET(^DGMT(408.31,DGMTI,0)),U),1:DT)
 +7        DO GETIENS^EASECU2(DFN,$PIECE(DGDEP,U,20),DGMTD)
 +8        SET DA=DGIRI
 +9        SET DIE="^DGMT(408.22,"
           SET DR="31////"_DGMTI
 +10       DO ^DIE
ADDQ       QUIT 
 +1       ;
EN2       ; Remove dependent from means test
 +1       ;
 +2        NEW DGSAVE1,DGSAVE2,DGMTD
 +3        IF '$GET(DGMTI)
               IF $GET(DGMTYPT)'=3
                   WRITE !,"Not a LTC copay test - use LTC copay test options."
                   HANG 2
                   GOTO EN2Q
 +4        IF $GET(DGMTACT)="VEW"
               WRITE !,"Cannot edit when viewing a LTC copay test."
               HANG 2
               GOTO EN2Q
 +5        SET VALMBCK=""
           SET DGSAVE1=VALMBG
           SET DGSAVE2=VALMLST
           SET VALMBG=2
 +6        SET VALMLST=DGCNT
           DO SEL^VALM2
           SET VALMBG=DGSAVE1
           SET VALMLST=DGSAVE2
           if '$ORDER(VALMY(0))
               GOTO EN1Q
 +7        NEW CTR
           SET CTR=0
           FOR 
               SET CTR=$ORDER(VALMY(CTR))
               if 'CTR
                   QUIT 
               Begin DoDot:1
 +8                DO REMOVE(DFN,DGDEP(CTR),$GET(DGMTI))
               End DoDot:1
 +9        SET DGMTD=$SELECT($GET(DGMTI):$PIECE(^DGMT(408.31,DGMTI,0),U),1:DT)
 +10       DO ALL^EASECU21(DFN,"VSC",DGMTD,"IPR",DGMTI)
EN2Q       SET VALMBCK="R"
           QUIT 
 +1       ;
REMOVE(DFN,DGDEP,DGMTI) ;Remove
 +1        NEW DA,DR,DIE,DGMTD
 +2        IF '$GET(DGMTI)
               IF $GET(DGMTYPT)'=3
                   WRITE !,"Not a LTC copay test - use LTC copay test options."
                   HANG 2
                   GOTO REMOVEQ
 +3        IF $GET(DGMTACT)="VEW"
               WRITE !,"Cannot edit when viewing a LTC copay test."
               HANG 2
               GOTO EN2Q
 +4        SET DGMTD=$SELECT($GET(DGMTI):$PIECE($GET(^DGMT(408.31,DGMTI,0)),U),1:DT)
 +5        DO GETIENS^EASECU2(DFN,$PIECE(DGDEP,U,20),DGMTD)
 +6        SET DA=DGIRI
 +7        SET DIE="^DGMT(408.22,"
           SET DR="31////@"
 +8        DO ^DIE
           SET DGREMOVE=1
 +9        KILL DGDEP
           DO INIT^EASECDEP
REMOVEQ    KILL DGREMOVE
           QUIT 
 +1       ;
EN3       ; Edit dependent demo
 +1       ;
 +2        SET VALMBCK=""
 +3        NEW DGSAVE1,DGSAVE2,DGMTD,DGBEG,I
 +4        IF $GET(DGMTACT)="VEW"
               WRITE !,"Cannot edit when viewing a LTC copay test."
               HANG 2
               GOTO EN3Q
 +5        IF '$DATA(DGMTI)
               IF $GET(DGRPV)=1
                   WRITE !,"Not while viewing"
                   HANG 2
                   GOTO EN3Q
 +6        SET VALMBCK=""
           SET DGSAVE1=VALMBG
           SET DGSAVE2=VALMLST
           SET VALMBG=1
 +7        SET VALMLST=DGCNT
           DO SEL^VALM2
           SET VALMBG=DGSAVE1
           SET VALMLST=DGSAVE2
           if '$ORDER(VALMY(0))
               GOTO EN1Q
 +8        NEW CTR
           SET CTR=0
           FOR 
               SET CTR=$ORDER(VALMY(CTR))
               if 'CTR
                   QUIT 
               Begin DoDot:1
 +9                DO EDITD(DFN,DGDEP(CTR),CTR,$GET(DGMTI))
               End DoDot:1
 +10       SET VALMBCK="R"
 +11       KILL DGDEP
           DO INIT^EASECDEP
EN3Q       QUIT 
 +1       ;
EDITD(DFN,DGDEP,DGW,DGMTI) ; Edit
 +1        NEW DA,DR,DIE,DGMTDT,SPOUSE,DGREL,DGDR,CNT,RELATION
 +2        IF $GET(DGMTACT)="VEW"
               WRITE !,"Cannot edit when viewing a LTC copay test."
               HANG 2
               GOTO EDITDQ
 +3        WRITE !!,$PIECE(DGDEP,U)
 +4        IF '$GET(DGMTI)
               IF $PIECE(DGDEP,U,2)="SELF"
                   Begin DoDot:1
 +5                    SET DGREL("V")=$PIECE(DGDEP,U,20)
                       DO SPOUSE^EASECED2
                   End DoDot:1
                   GOTO EDITDQ
 +6        IF '$GET(DGMTI)
               WRITE !,"Can only input information for veteran."
               HANG 2
               GOTO EN3Q
 +7        SET DGMTDT=$PIECE(^DGMT(408.31,DGMTI,0),U)
 +8        IF $PIECE(DGDEP,U,2)="SPOUSE"
               WRITE !,"Married information is entered under the veteran."
               HANG 2
               GOTO EDITDQ
 +9        IF $PIECE(DGDEP,U,2)="SELF"
               Begin DoDot:1
 +10               SET DGDR=101
 +11               DO GETREL^DGMTU11(DFN,"S",$SELECT($GET(DGMTDT):DGMTDT,1:DT))
 +12               SET DA=DGVIRI
                   SET DIE="^DGMT(408.22,"
                   SET DR="[EASEC EDIT MARITAL STATUS]"
                   DO ^DIE
                   KILL DA,DIE,DR
 +13               IF $GET(DGMTI)
                       IF $GET(DGREL("S"))
                           Begin DoDot:2
 +14                           SET SPOUSE=+DGREL("S")
 +15                           DO INIT^EASECDEP
 +16                           SET CNT=0
                               FOR 
                                   SET CNT=$ORDER(DGDEP(CNT))
                                   if 'CNT
                                       QUIT 
                                   IF $PIECE(DGDEP(CNT),U,20)=SPOUSE
                                       DO ADD(DFN,DGDEP(CNT),DGMTI)
                           End DoDot:2
               End DoDot:1
               GOTO EDITDQ
 +17       SET RELATION=$ORDER(^DG(408.11,"B",$PIECE(DGDEP,U,2),""))
 +18       IF '$PIECE(^DG(408.11,+RELATION,0),U,4)
               WRITE !,"Not applicable for LTC copay test"
               HANG 2
               GOTO EDITDQ
 +19       SET DGPRI=$PIECE(DGDEP,U,20)
 +20       DO EDT
 +21       IF $GET(DGFL)'<0
               DO ADD(DFN,DGDEP,DGMTI)
EDITDQ    ;
 +1        QUIT 
 +2       ;
EDT       ;Edit dependent child data
 +1       ; NOTE: this code was modified from DGMTSC11
 +2        NEW DA,DGERR,DGFIN,DGINI,DGIRI,DIE,DR
 +3        DO GETIENS^EASECU2(DFN,+DGPRI,DGMTDT)
           if DGERR
               GOTO EDTQ
 +4        SET DA=DGIRI
           SET DIE="^DGMT(408.22,"
           SET DR="[EASEC EDIT DEPENDENTS]"
           DO ^DIE
 +5        if '$DATA(DGFIN)
               SET DGFL=$SELECT($DATA(DTOUT):-2,$DATA(DUOUT):-1,($DATA(Y))=10:-1,1:0)
EDTQ       QUIT