Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: DGDEP

DGDEP.m

Go to the documentation of this file.
  1. DGDEP ;ALB/CAW,BAJ - Dependent Driver ; 8/1/08 12:55pm
  1. ;;5.3;Registration;**45,688,1015,1016**;Aug 13, 1993;Build 20
  1. ;
  1. EN ;
  1. S VALMBCK=""
  1. D WAIT^DICD,EN^VALM("DGMT DEPENDENTS")
  1. S VALMBCK="R"
  1. ENQ K DEP,DGCNT,DGDEP,DGIR0,DGINI,DGLN,DGPRI,DGREL,^TMP("DGDEP",$J)
  1. Q
  1. ;
  1. PAT ; Patient Lookup
  1. N DIC,Y
  1. S DIC="^DPT(",DIC(0)="AEMQZ" D ^DIC I Y'>0 G PATQ
  1. I ($G(DTOUT)!$G(DUOUT)) G PATQ
  1. S DFN=+Y
  1. PATQ Q
  1. ;
  1. HDR ; Header
  1. N VA,VAERR,SSNV
  1. D PID^VADPT
  1. ; Capture and display SSN Verification Status with SSN BAJ DG*5.3*688 11/22/2005
  1. D GETSTAT^DGRP1(.SSNV)
  1. I $G(DGSCR8) D G HDRQ
  1. .S X="",VALMHDR(1)=" FAMILY DEMOGRAPHIC DATA, SCREEN <8>"
  1. .S VALMHDR(1)=$$SETSTR^VALM1(X,VALMHDR(1),80-$L(X),$L(X))
  1. .S VALMHDR(2)=$E($P("Patient: "_$G(^DPT(DFN,0)),"^",1),1,30)_" ("_VA("PID")_")"_" "_SSNV
  1. .S X=$S($D(^DPT(DFN,.1)):"Ward: "_^(.1),1:"Outpatient")
  1. .S VALMHDR(2)=$$SETSTR^VALM1(X,VALMHDR(2),80-$L(X),$L(X))
  1. S X="",VALMHDR(1)=" MARITAL STATUS/DEPENDENTS, SCREEN <1>"
  1. S VALMHDR(2)=$E($P("Patient: "_$G(^DPT(DFN,0)),"^",1),1,30)_" ("_VA("PID")_")"_" "_SSNV
  1. S X=$S($D(^DPT(DFN,.1)):"Ward: "_^(.1),1:"Outpatient")
  1. S VALMHDR(2)=$$SETSTR^VALM1(X,VALMHDR(2),80-$L(X),$L(X))
  1. HDRQ Q
  1. ;
  1. INIT ; Find all dependents
  1. K DGDEP("DGDEP",$J),^TMP("DGDEP",$J)
  1. N CNT,DGDATE,DGDDEP0,DGINCP,DGINI,DGIRI,DGWHERE
  1. D NEW^DGRPEIS1 ; Sets up veteran in person file
  1. ; Get all active dependents
  1. D ALL^DGMTU21(DFN,"VSD",$S($G(DGMTDT):DGMTDT,1:DT),"IPR",$G(DGMTI))
  1. ;
  1. ; Get all dependents active and inactive
  1. S (CNT,DGDEP)=0,DGLN=1
  1. F S DGDEP=$O(^DGPR(408.12,"B",DFN,DGDEP)) Q:'DGDEP D
  1. .N DGDEP0 S CNT=CNT+1
  1. .S DGDEP0=^DGPR(408.12,DGDEP,0)
  1. .D GETIENS^DGMTU2(DFN,+DGDEP,$S($G(DGMTDT):DGMTDT,1:DT)) ;Get Annual Income IEN and Income Person IEN
  1. .S DGWHERE=$P(DGDEP0,U,3)
  1. .S DGINCP=$G(@("^"_$P(DGWHERE,";",2)_+DGWHERE_",0)"))
  1. .S DGDEP("DGDEP",$J,$P(DGDEP0,U,2),CNT)=DGINCP
  1. .S $P(DGDEP("DGDEP",$J,$P(DGDEP0,U,2),CNT),U,20)=DGDEP
  1. .S $P(DGDEP("DGDEP",$J,$P(DGDEP0,U,2),CNT),U,21)=$S($G(DGINI):DGINI,1:$G(DGINC))
  1. .S $P(DGDEP("DGDEP",$J,$P(DGDEP0,U,2),CNT),U,22)=$S($G(DGIRI):DGIRI,1:$G(DGINR))
  1. .N DGEDATE S DGEDATE=0
  1. .F S DGEDATE=$O(^DGPR(408.12,DGDEP,"E",DGEDATE)) Q:'DGEDATE D
  1. ..S DGDATE=^DGPR(408.12,DGDEP,"E",DGEDATE,0)
  1. ..S DGDEP("DGDEP",$J,$P(DGDEP0,U,2),CNT,-$P(DGDATE,U))=DGDATE
  1. D RETDEP^DGDEP0
  1. S VALMCNT=DGLN-1
  1. Q
  1. ;
  1. SET(X) ; Set in array
  1. ;
  1. S ^TMP("DGDEP",$J,DGLN,0)=X,^TMP("DGDEP",$J,"IDX",CNT,CNT)=""
  1. S DGLN=DGLN+1
  1. Q