[613] | 1 | DGMTARR ;ALB/GRR/PHH - PRINT ROUTINES FOR MEANS TEST VERIFICATION; JAN 21, 1999
|
---|
| 2 | ;;5.3;Registration;**217,535**;AUG 13, 1993
|
---|
| 3 | ;DGLOW - LOW DOLLAR AMOUNT RANGE
|
---|
| 4 | ;DGHIGH - HIGH DOLLAR AMOUNT RANGE
|
---|
| 5 | ;DGSDAT - START DATE RANGE
|
---|
| 6 | ;DGTDAT - END DATE RANGE
|
---|
| 7 | ;DGINC - PATIENT INCOME AMOUNT
|
---|
| 8 | ;DGTHR - PATIENT THRESHOLD AMOUNT
|
---|
| 9 | ;DGNAME - PATIENT NAME
|
---|
| 10 | ;DGDIFF - AMOUNT OF DIFFERENCE BETWEEN INCOME AND THRESHOLD
|
---|
| 11 | ;DGVISN - VISN NUMBER
|
---|
| 12 | ;DGVAMC - VAMC NUMBER
|
---|
| 13 | ;
|
---|
| 14 | ENSDA ;ENTRY FOR REPORT OF VETERANS WITH SPECIFIC INCOME DOLLAR AMOUNT
|
---|
| 15 | N DFN,SEX,DGLOW,DGHIGH,DGFDOL,DGTDOL,DGSDAT,DGTDAT
|
---|
| 16 | W !!,"Veterans with Income of a Specified Dollar Amount"
|
---|
| 17 | S DGLOW=0,DGHIGH=99999
|
---|
| 18 | S Y=$$DOLRAN(DGLOW,DGHIGH) Q:Y<0
|
---|
| 19 | S DGFDOL=$P(Y,"^"),DGTDOL=$P(Y,"^",2)
|
---|
| 20 | S Y=$$DATRAN() Q:'Y
|
---|
| 21 | S DGSDAT=$P(Y,"^"),DGTDAT=$P(Y,"^",2)
|
---|
| 22 | F X="DGFDOL","DGTDOL","DGSDAT","DGTDAT" S ZTSAVE(X)=""
|
---|
| 23 | D EN^XUTMDEVQ("RPTSDA^DGMTARR","MT Specific Income Report",.ZTSAVE)
|
---|
| 24 | D HOME^%ZIS
|
---|
| 25 | Q
|
---|
| 26 | RPTSDA ;ENTRY POINT FROM XUTMDEVQ
|
---|
| 27 | N DFN,SEX,VADM,DGDAT,DGIEN,DGMT0,DGINC,DGNAME,SSN,DGMTDATE,DGPMDT,DGPVISN,DGPVAMC,Y,VAERR,VA,DGPDG,DGPHDOL,DGPLDOL,DGPSDAT,DGPTDAT,DGPVASN
|
---|
| 28 | D DFORM(DGSDAT,DGTDAT,DGFDOL,DGTDOL)
|
---|
| 29 | K ^TMP($J,"MTSPI")
|
---|
| 30 | S DGDAT=DGSDAT-1 F S DGDAT=$O(^DGMT(408.31,"AG",DGDAT)) Q:DGDAT'>0!(DGDAT\1>DGTDAT) S DGIEN=0 F S DGIEN=$O(^DGMT(408.31,"AG",DGDAT,DGIEN)) Q:DGIEN'>0 D
|
---|
| 31 | .S DGMT0=$G(^DGMT(408.31,DGIEN,0))
|
---|
| 32 | .S DGINC=$P(DGMT0,"^",4) Q:DGINC=""
|
---|
| 33 | .Q:$P(DGMT0,"^",19)'=1
|
---|
| 34 | .I DGINC'<DGFDOL&(DGINC'>DGTDOL) D
|
---|
| 35 | ..S DFN=$P(DGMT0,"^",2) D DEM^VADPT Q:$G(VADM(6))]"" S DGNAME=$G(VADM(1)),SSN=$P($G(VADM(2)),"^",2)
|
---|
| 36 | ..S ^TMP($J,"MTSPI",DGINC,DGNAME,DFN)=SSN_"^"_DGDAT
|
---|
| 37 | I $E(IOST,1,2)="C-" W @IOF
|
---|
| 38 | D NOFF
|
---|
| 39 | I $O(^TMP($J,"MTSPI",-1))="" W !,"NO MATCHING PATIENTS FOUND!",@IOF G RPTSDAQ
|
---|
| 40 | S DGINC=-1 F S DGINC=$O(^TMP($J,"MTSPI",DGINC)) Q:DGINC="" D Q:$D(DTOUT)!($D(DUOUT))
|
---|
| 41 | .S DGNAME="" W ! F S DGNAME=$O(^TMP($J,"MTSPI",DGINC,DGNAME)) Q:DGNAME="" S DFN=0 F S DFN=$O(^TMP($J,"MTSPI",DGINC,DGNAME,DFN)) Q:DFN="" D Q:$D(DTOUT)!($D(DUOUT))
|
---|
| 42 | ..S SSN=$P(^TMP($J,"MTSPI",DGINC,DGNAME,DFN),"^"),DGMTDATE=$P(^(DFN),"^",2),Y=DGMTDATE D DD^%DT S DGPMDT=Y
|
---|
| 43 | ..I $Y+2>IOSL D Q:$D(DTOUT)!($D(DUOUT))
|
---|
| 44 | ...I $E(IOST,1,2)="C-" S DIR(0)="E" D ^DIR K DIR Q:$D(DTOUT)!($D(DUOUT))
|
---|
| 45 | ...D HED
|
---|
| 46 | ..W !,DGNAME,?32,SSN,?53-$L(DGINC),DGINC,?60,DGPMDT
|
---|
| 47 | W !
|
---|
| 48 | RPTSDAQ ;EXIT POINT FOR SPECIFIC INCOME REPORT
|
---|
| 49 | K ^TMP($J,"MTSPI"),DGSDAT,DGTDAT,Y Q
|
---|
| 50 | DATRAN() ;ASK DATE RANGE
|
---|
| 51 | N DGFDAT,DGTDAT
|
---|
| 52 | D DT^DICRW
|
---|
| 53 | S DIR(0)="D^2990101:"_DT_":EX",DIR("A")="Enter From Date" D ^DIR K DIR
|
---|
| 54 | Q:$D(DUOUT)!($D(DTOUT))!($D(DIRUT))!($D(DIROUT)) 0
|
---|
| 55 | S DGFDAT=Y\1
|
---|
| 56 | S DIR(0)="D^"_DGFDAT_":"_DT_":EX",DIR("A")="Enter To Date" D ^DIR K DIR
|
---|
| 57 | Q:$D(DUOUT)!($D(DTOUT))!($D(DIRUT))!($D(DIROUT)) 0
|
---|
| 58 | S DGTDAT=Y
|
---|
| 59 | Q DGFDAT_"^"_DGTDAT
|
---|
| 60 | DOLRAN(DGLOW,DGHIGH) ;ASK DOLLAR RANGE
|
---|
| 61 | N DGLDOL,DGHDOL,Y
|
---|
| 62 | S DIR(0)="N^"_DGLOW_":"_DGHIGH_":2",DIR("A")="Enter Low Dollar Amount" D ^DIR K DIR
|
---|
| 63 | Q:$D(DUOUT)!($D(DTOUT))!($D(DIRUT))!($D(DIROUT)) -1
|
---|
| 64 | S DGLDOL=Y
|
---|
| 65 | S DIR(0)="N^"_DGLDOL_":"_DGHIGH_":2",DIR("A")="Enter High Dollar Amount" D ^DIR K DIR
|
---|
| 66 | Q:$D(DUOUT)!($D(DTOUT))!($D(DIRUT))!($D(DIROUT)) -1
|
---|
| 67 | S DGHDOL=Y
|
---|
| 68 | Q DGLDOL_"^"_DGHDOL
|
---|
| 69 | HED ;PRINT HEADER
|
---|
| 70 | W @IOF
|
---|
| 71 | NOFF ;SKIP FORM FEED
|
---|
| 72 | S Y=$$GETVV(),DGPVAMC=$P(Y,"^"),DGPVISN=$P(Y,"^",3),DGPVASN=$P(Y,"^",2)
|
---|
| 73 | W !,?25,"VETERANS WITH INCOME - $",DGPLDOL," - $",DGPHDOL
|
---|
| 74 | W !,?20,"DETAILED REPORT ",DGPSDAT," - ",DGPTDAT
|
---|
| 75 | W !,?26,"DATE PRINTED - ",DGPDG
|
---|
| 76 | W !!,"VISN: ",DGPVISN," - VAMC: ",DGPVAMC," (",DGPVASN,")"
|
---|
| 77 | W !!,"NAME",?32,"SSN",?45,"$ AMOUNT",?60,"MT COMPLETED",!
|
---|
| 78 | Q
|
---|
| 79 | ;
|
---|
| 80 | ENLTT ;CREATE AND PRINT VETERANS WITH INCOME LESS THAN THRESHOLD
|
---|
| 81 | N DGLOW,DGHIGH,DGLDOL,DGHDOL,DGSDAT,DGTDAT
|
---|
| 82 | W !!,"Veterans with Income Less than MT Threshold"
|
---|
| 83 | S DGLOW=0,DGHIGH=99999
|
---|
| 84 | S Y=$$DOLRAN(DGLOW,DGHIGH) Q:Y<0
|
---|
| 85 | S DGFDOL=$P(Y,"^"),DGTDOL=$P(Y,"^",2)
|
---|
| 86 | S Y=$$DATRAN() Q:Y<0
|
---|
| 87 | S DGSDAT=$P(Y,"^"),DGTDAT=$P(Y,"^",2)
|
---|
| 88 | F X="DGFDOL","DGTDOL","DGSDAT","DGTDAT" S ZTSAVE(X)=""
|
---|
| 89 | D EN^XUTMDEVQ("RPTLTT^DGMTARR","MT less than threshold report",.ZTSAVE)
|
---|
| 90 | D HOME^%ZIS
|
---|
| 91 | Q
|
---|
| 92 | RPTLTT ;BUILD AND PRINT LESS THAN THRESHOLD REPORT. ENTRY POINT FROM XUTMDEVQ
|
---|
| 93 | N DGDAT,DFN,SEX,DGIEN,DGINC,DGTHR,DGLDOL,DGHDOL,VADM,SSN,DGPVISN,DGPVAMC,DGDIFF,DGMT0,DGNAME,DGPDG,DGPHDOL,DGPLDOL,DGPMDT,DGPSDAT,DGPTDAT,DGPVASN
|
---|
| 94 | D DFORM(DGSDAT,DGTDAT,DGFDOL,DGTDOL)
|
---|
| 95 | K ^TMP($J,"MTLTT")
|
---|
| 96 | S DGDAT=DGSDAT-1 F S DGDAT=$O(^DGMT(408.31,"AG",DGDAT)) Q:DGDAT'>0!(DGDAT\1>DGTDAT) S DGIEN=0 F S DGIEN=$O(^DGMT(408.31,"AG",DGDAT,DGIEN)) Q:DGIEN'>0 D
|
---|
| 97 | .S DGMT0=$G(^DGMT(408.31,DGIEN,0))
|
---|
| 98 | .S DGINC=$P(DGMT0,"^",4),DGTHR=+$P(DGMT0,"^",12) Q:DGINC=""
|
---|
| 99 | .Q:$P(DGMT0,"^",19)'=1
|
---|
| 100 | .Q:DGINC>DGTHR
|
---|
| 101 | .S DGDIFF=DGTHR-DGINC
|
---|
| 102 | .I DGDIFF'<DGFDOL&(DGDIFF'>DGTDOL) D
|
---|
| 103 | ..S DFN=$P(DGMT0,"^",2) D DEM^VADPT Q:$G(VADM(6))]"" S DGNAME=$G(VADM(1)),SSN=$P($G(VADM(2)),"^",2)
|
---|
| 104 | ..S ^TMP($J,"MTLTT",DGTHR,DGINC,DGNAME,DFN)=SSN_"^"_DGDAT
|
---|
| 105 | I $E(IOST,1,2)="C-" W @IOF
|
---|
| 106 | D NOFF2
|
---|
| 107 | I $O(^TMP($J,"MTLTT",-1))'>0 W !,"NO MATCHING PATIENTS FOUND!",@IOF G RPTLTTQ
|
---|
| 108 | S DGTHR=-1 F S DGTHR=$O(^TMP($J,"MTLTT",DGTHR)) Q:DGTHR="" D Q:$D(DTOUT)!($D(DUOUT))
|
---|
| 109 | .S DGINC=-1 W !
|
---|
| 110 | .F S DGINC=$O(^TMP($J,"MTLTT",DGTHR,DGINC)) Q:DGINC="" S DGNAME="" F S DGNAME=$O(^TMP($J,"MTLTT",DGTHR,DGINC,DGNAME)) Q:DGNAME="" S DFN=0 F S DFN=$O(^TMP($J,"MTLTT",DGTHR,DGINC,DGNAME,DFN)) Q:DFN="" D Q:$D(DTOUT)!($D(DUOUT))
|
---|
| 111 | ..S SSN=$P(^TMP($J,"MTLTT",DGTHR,DGINC,DGNAME,DFN),"^"),DGDAT=$P(^(DFN),"^",2),Y=DGDAT D DD^%DT S DGPMDT=$S(Y["@":$P(Y,"@"),1:Y)
|
---|
| 112 | ..I $Y+2>IOSL D Q:$D(DTOUT)!($D(DUOUT))
|
---|
| 113 | ...I $E(IOST,1,2)="C-" S DIR(0)="E" D ^DIR K DIR Q:$D(DTOUT)!($D(DUOUT))
|
---|
| 114 | ...D HED2
|
---|
| 115 | ..W !,DGNAME,?32,SSN,?53-$L($J(DGINC,7,2)),$J(DGINC,7,2),?57,DGTHR,?65,DGPMDT
|
---|
| 116 | W !
|
---|
| 117 | RPTLTTQ ;EXIT POINT FOR LESS THAN THRESHOLD REPORT
|
---|
| 118 | K ^TMP($J,"MTLTT"),Y,VA,VAERR,DGFDOL,DGTDOL Q
|
---|
| 119 | DFORM(DGSDAT,DGTDAT,DGLDOL,DGHDOL) ;
|
---|
| 120 | D DT^DICRW S Y=DT D DD^%DT S DGPDG=Y
|
---|
| 121 | S Y=DGSDAT D DD^%DT S DGPSDAT=Y
|
---|
| 122 | S Y=DGTDAT D DD^%DT S DGPTDAT=Y
|
---|
| 123 | S DGPLDOL=$S($P(DGLDOL,".",2)="":DGLDOL_".00",1:DGLDOL)
|
---|
| 124 | S DGPHDOL=$S($P(DGHDOL,".",2)="":DGHDOL_".00",1:DGHDOL)
|
---|
| 125 | Q
|
---|
| 126 | HED2 ;
|
---|
| 127 | W @IOF
|
---|
| 128 | NOFF2 ;SKIP FORM FEED
|
---|
| 129 | S Y=$$GETVV(),DGPVAMC=$P(Y,"^"),DGPVISN=$P(Y,"^",3),DGPVASN=$P(Y,"^",2)
|
---|
| 130 | W !,?12,"VETERANS WITH INCOME - $",DGPLDOL," - $",DGPHDOL," LESS THAN MT THRESHOLD"
|
---|
| 131 | W !,?20,"DETAILED REPORT ",DGPSDAT," - ",DGPTDAT
|
---|
| 132 | W !,?26,"DATE PRINTED - ",DGPDG
|
---|
| 133 | W !!,"VISN: ",DGPVISN," - VAMC: ",DGPVAMC," (",DGPVASN,")"
|
---|
| 134 | W !!,?47,"INCOME"
|
---|
| 135 | W !,"NAME",?32,"SSN",?47,"$ AMT.",?55,"THRESHOLD",?65,"MT COMPLETED"
|
---|
| 136 | Q
|
---|
| 137 | GETVV() ;GET VISN AND VAMC
|
---|
| 138 | N Z,DGVISN,DGVAMCNA,DGVAMCSN
|
---|
| 139 | Q:$G(DUZ(2))="" ""
|
---|
| 140 | S Z=$$NS^XUAF4(DUZ(2))
|
---|
| 141 | S DGVAMCNA=$P(Z,"^"),DGVAMCSN=$P(Z,"^",2)
|
---|
| 142 | D PARENT^XUAF4("DGVISN","`"_DUZ(2),"VISN") I $D(DGVISN) S J=$O(DGVISN("P",0)) S $P(Z,"^",3)=$P($G(DGVISN("P",J)),"^")
|
---|
| 143 | Q Z
|
---|