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

AGMCRP4.m

Go to the documentation of this file.
AGMCRP4 ; IHS/ASDS/EFG - PRINT ALPHA LIST OF MEDICARE PART D ;   
 ;;7.1;PATIENT REGISTRATION;**2**;JAN 31, 2007
 ;;;MODIFIED FROM AGMCRP3
 S AGIO=IO,AG("HAT")=""
PTS ;
 S DIR(0)="S^B:ALL BENEFICIARIES;A:ACTIVE PATIENTS ONLY;D:DECEASED AND INACTIVE PATIENTS ONLY"
 S DIR("A")="SELECT DESIRED ACCOUNTS"
 D ^DIR K DIR
 S AGPTS=Y
 Q:$D(DTOUT)!(Y="^")!(Y="/.,")!(Y="^^")
DEV S %ZIS="OPQ" D ^%ZIS I POP S IOP=ION D ^%ZIS Q
 G:'$D(IO("Q")) START
 K IO("Q") I $D(IO("S"))!($E(IOST)'="P") W *7,!,"Please queue to system printers." D ^%ZISC G DEV
 X ^%ZOSF("UCI")
 S ZTRTN="START^AGMCRP",ZTUCI=Y,ZTIO=""
 S ZTDESC="Alpha List MEDICARE/RR Holders for "_$P(^AUTTLOC(DUZ(2),0),U,2)_"."
 S AGQIO=IO F G="AGQIO" S ZTSAVE(G)=""
 D ^%ZTLOAD
 G:'$D(ZTSK) DEV
 K AG,AGIO,AGQIO,G,ZTDESC,ZTIO,ZTRTN,ZTSK,ZTUCI
 D ^%ZISC
 Q
START ;EP - From TaskMan.
 S (DFN,AGTOT,AGTOTAL)=0 K ^TMP($J)
 F  S DFN=$O(^AUPNMCR(DFN)) Q:+DFN<1  D
 .S AGFLAG=0
 .;if there is an HRN for this person and data in VA PATIENT
 .I $D(^AUPNPAT(DFN,41,DUZ(2))),$D(^DPT(DFN,0)) D
 ..I AGPTS="A" D   ;active people only
 ...I $P($G(^AUPNPAT(DFN,41,DUZ(2),0)),U,3)="",$P($G(^DPT(DFN,.35)),U)="" S AGFLAG=1
 ..I AGPTS="D" D   ;deceased/inactive only
 ...I $P($G(^AUPNPAT(DFN,41,DUZ(2),0)),U,3)'=""!($P($G(^DPT(DFN,.35)),U)'="") S AGFLAG=1
 ..I AGPTS="B" S AGFLAG=1
 ..I AGFLAG S ^TMP($J,$P(^DPT(DFN,0),U),DFN)="",AGTOT=AGTOT+1
 I $D(AGQIO) F AGZ("I")=1:1 S IOP=AGQIO D ^%ZIS Q:'POP  H 30
 X ^%ZOSF("UCI") S X="UCI: "_$P(Y,",",1)
 D CTR^AG
 S AGUCI=X,AGPGPG=0,AG("LOC")=$P(^DIC(4,DUZ(2),0),U)
 S AG("USR")=$P(^VA(200,DUZ,0),U)
 S AG("USRLOC")=AG("USR")_$J("",40-($L(AG("LOC"))\2)-$L(AG("USR")))_AG("LOC"),AGBM=IOSL-10
 I $D(AGIO),AGIO=IO S AGBM=IOSL-4
 K AG("LOC"),AG("USR")
 D LINES^AG,NOW^AG
 S AGNM="",X="as of "_AGTIME D CTR^AG S AGTIME=X U IO D HDR
 F AGZ("I")=1:1 S AGNM=$O(^TMP($J,AGNM)) Q:AGNM=""  S DFN=0 F AGZ("I")=1:1 S DFN=$O(^TMP($J,AGNM,DFN)) Q:DFN=""  D PRINT I $Y>AGBM D RTRN^AG G END1:$D(DUOUT)!$D(DTOUT)!$D(DFOUT) D HDR
END W !!!,"TOTAL MEDICARE/RAILROAD RET. PATIENTS: ",AGTOT K AG("HAT") D RTRN^AG W $$S^AGVDF("IOF")
 ;W !!!,"TOTAL MEDICARE/RAILROAD RET. PATIENTS: ",AGTOTAL K AG("HAT") D RTRN^AG W $$S^AGVDF("IOF")
END1 D ^%ZISC K ^TMP($J),A,AG,AGBM,AGDOB,AGIO,AGTIME,DA,AG("DENT"),DIC,DFN,DR,G,AGL,I,AG("LKDATA"),AG("LKPRINT"),AGNEW,AGNM,AGPCC,AGPGPG,AGTOT,AGUCI,AG("USRLOC"),X,Y D:$D(ZTQUEUED) KILL^%ZTLOAD
 Q
PRINT ;Print a Patient's MEDICARE/RAILROAD file.
 ;this is to make sure they are Part D somewhere
 S (I,AGCFLAG)=""
 F  S I=$O(^AUPNMCR(DFN,11,I)) Q:I=""  D
 .S AGCOV=$P($G(^AUPNMCR(DFN,11,I,0)),U,3)
 .I AGCOV="D" S AGCFLAG=1
 .Q:AGCOV'="D"
 .S AGTOTAL=AGTOTAL+1
 .S AGMCRBD=$P($G(^AUPNMCR(DFN,11,I,0)),U)
 .S AGMCRED=$P($G(^AUPNMCR(DFN,11,I,0)),U,2)
 .;Q:'$$ISACTIVE^AGUTILS(AGMCRBD,AGMCRED)
 .S Y=AGMCRBD X ^DD("DD") S AGMCRBD=Y
 .S Y=AGMCRED X ^DD("DD") S AGMCRED=Y
 .S AGMCRPN=$P($G(^AUPNMCR(DFN,11,I,0)),U,4)
 .S:AGMCRPN'="" AGMCRPN=$P($G(^AUTNINS(AGMCRPN,0)),U)
 .S AGMCRNM=$P($G(^AUPNMCR(DFN,11,I,0)),U,5)
 .S AGMCRNO=$P($G(^AUPNMCR(DFN,11,I,0)),U,6)
 .S AGMCRDB=$P($G(^AUPNMCR(DFN,11,I,0)),U,9) S Y=AGMCRDB X ^DD("DD") S AGMCRDB=Y
 .S DIC=2,DA=DFN,DR=.03 D ^AGDICLK K AGDOB S:$D(AG("LKPRINT")) AGDOB=AG("LKPRINT")
 .W "(REG) ",AGNM,?36,$P($G(^AUPNPAT(DFN,41,DUZ(2),0)),U,2),?49
 .;G RR:^TMP($J,AGNM,DFN)="R"
 .W AGMCRNO
 .W ?64,AGDOB
 .W !,"(MCR) ",AGMCRNM W ?64,AGMCRDB
 .W !,"(PLN) ",AGMCRPN
 .W !,"(MCR) ",?15,AGMCRBD,?36,AGCOV,?49,AGMCRED
 .W !,AG("-"),!
 D RR
 Q
RR ;
 S (I,AGCFLAG)=""
 F  S I=$O(^AUPNRRE(DFN,11,I)) Q:I=""  D
 .S AGCOV=$P($G(^AUPNRRE(DFN,11,I,0)),U,3)
 .I AGCOV="D" S AGCFLAG=1
 .Q:AGCOV'="D"
 .S AGMCRBD=$P($G(^AUPNRRE(DFN,11,I,0)),U)
 .S AGMCRED=$P($G(^AUPNRRE(DFN,11,I,0)),U,2)
 .;Q:'$$ISACTIVE^AGUTILS(AGMCRBD,AGMCRED)
 .S Y=AGMCRBD X ^DD("DD") S AGMCRBD=Y
 .S Y=AGMCRED X ^DD("DD") S AGMCRED=Y
 .S AGMCRPN=$P($G(^AUPNRRE(DFN,11,I,0)),U,4)
 .S:AGMCRPN'="" AGMCRPN=$P($G(^AUTNINS(AGMCRPN,0)),U)
 .S AGMCRNM=$P($G(^AUPNRRE(DFN,11,I,0)),U,5)
 .S AGMCRNO=$P($G(^AUPNRRE(DFN,11,I,0)),U,6)
 .S AGMCRDB=$P($G(^AUPNRRE(DFN,11,I,0)),U,9) S Y=AGMCRDB X ^DD("DD") S AGMCRDB=Y
 .S DIC=2,DA=DFN,DR=.03 D ^AGDICLK K AGDOB S:$D(AG("LKPRINT")) AGDOB=AG("LKPRINT")
 .W "(REG) ",AGNM,?36,$P($G(^AUPNPAT(DFN,41,DUZ(2),0)),U,2),?49
 .W AGMCRNO
 .W ?64,AGDOB
 .W !,"(MCR) ",AGMCRNM W ?64,AGMCRDB
 .W !,"(PLN) ",AGMCRPN
 .W !,"(MCR) ",?15,AGMCRBD,?36,AGCOV,?49,AGMCRED
 .W !,AG("-"),!
 Q
HDR S AGPGPG=AGPGPG+1
 W $$S^AGVDF("IOF"),!!,AG("USRLOC"),?72,"page ",AGPGPG
 W !?17,"REGISTERED PATIENTS - MEDICARE/RAILROAD PART D ACCOUNTS"
 W !,AGUCI,!,AGTIME
 W !!?17,"REPORT CONTAINS "_$S(AGPTS="B":"ALL BENEFICIARIES",AGPTS="A":"ACTIVE PATIENTS ONLY",AGPTS="D":"DECEASED AND INACTIVE PATIENTS ONLY")
 W !!?5,"NAME",?36,"CHART #",?49,"NUMBER"
 W !,"(TYPE)",?15,"ELIG DATE",?36,"COVERAGE",?49,"ELIG END DATE",?64,"DATE OF BIRTH"
 W !,AG("="),!
 Q