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

AGOV64.m

Go to the documentation of this file.
  1. AGOV64 ; IHS/ASDS/EFG - PRINT ALL PATS OVER 64 WITH MEDICARE/RAILROAD/SOC SEC NUMBERS ;
  1. ;;7.1;PATIENT REGISTRATION;**2,4,9,11,14**;AUG 25, 2005;Build 1
  1. ;IHS/OIT/NKD AG*7.1*11 REMOVED DEBUG DISPLAY
  1. ;IHS/OIT/NKD AG*7.1*14 MBI PHASE 2, FIXED BUG WITH ONLY DISPLAYING ONE PATIENT PER DOB
  1. ;
  1. S AGIO=IO,AG("HAT")=""
  1. ;AG*7.1*2 IM 21608
  1. W !!
  1. K DIR
  1. S DIR(0)="Y"
  1. S DIR("A")="Include inactive patients?"
  1. S DIR("B")="N"
  1. D ^DIR
  1. Q:$D(DUOUT)!$D(DTOUT)
  1. S AGINACT=+Y
  1. K DTOUT,DUOUT,DIR
  1. W !!
  1. ;END
  1. DEV S %ZIS="OPQ" D ^%ZIS I POP S IOP=ION D ^%ZIS Q
  1. 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
  1. X ^%ZOSF("UCI") S ZTRTN="START^AGOV64",ZTUCI=Y,ZTIO="",ZTDESC="PATIENTS OVER 64 for "_$P(^AUTTLOC(DUZ(2),0),U,2)_".",AGQIO=IO F G="AGQIO","DUZ","AGINACT" S ZTSAVE(G)=""
  1. D ^%ZTLOAD G:'$D(ZTSK) DEV K AG,AGIO,ZTDESC,ZTIO,ZTRTN,ZTSK,ZTUCI D ^%ZISC
  1. Q
  1. START ;EP - From TaskMan.
  1. S AG("64")=DT-640000,(AGTOT,AGTOTM,AGTOTR,AGPGPG)=0
  1. K ^TMP($J),AG("LOC"),AG("USR")
  1. ;F I=0:0 S I=$O(^DPT("ADOB",I)) Q:+I=0!(+I>AG("64")) S J=$O(^(I,"")) I $D(^AUPNPAT(J,41,DUZ(2))),$D(^DPT(J,0)),'$P($G(^DPT(J,.35)),"^",1) S ^TMP($J,J)=""
  1. ;F I=0:0 S I=$O(^DPT("ADOB",I)) Q:+I=0!(+I>AG("64")) S J=$O(^(I,"")) Q:($P($G(^AUPNPAT(J,41,DUZ(2),0)),U,3)'="")&('AGINACT) I $D(^AUPNPAT(J,41,DUZ(2))),$D(^DPT(J,0)),'$P($G(^DPT(J,.35)),"^",1) S ^TMP($J,J)="" ;AG*7.1*2 IM21608
  1. F I=0:0 S I=$O(^DPT("ADOB",I)) Q:+I=0!(+I>AG("64")) D
  1. .;S J=$O(^(I,""))
  1. . ;IHS/OIT/NKD AG*7.1*14 START OLD CODE - BUF FIX TO ALLOW MULTIPLE PATIENTS WITH THE SAME DOB
  1. . ;S J=$O(^DPT("ADOB",I,"")) ;AG*1.8*4 SAC:TOOK OUT NAKED REFERENCE
  1. . ;IHS/OIT/NKD AG*7.1*11 REMOVED DEBUG DISPLAY
  1. . ;I ($P($G(^AUPNPAT(J,41,DUZ(2),0)),U,3)'="")&('AGINACT) W !,J," ",$P($G(^DPT(J,0)),U)
  1. . ;Q:($P($G(^AUPNPAT(J,41,DUZ(2),0)),U,3)'="")&('AGINACT)
  1. . ;Q:((I+650000)>DT) ;IHS/SD/SDR 11/4/10 HEAT20844
  1. . ;I $D(^AUPNPAT(J,41,DUZ(2))),$D(^DPT(J,0)),'$P($G(^DPT(J,.35)),"^",1) S NAME=$P($G(^DPT(J,0)),U) S ^TMP($J,NAME)=J ;AG*7.1*2 IM21608
  1. . ;IHS/OIT/NKD AG*7.1*14 END OLD CODE - START NEW CODE
  1. . S J="" F S J=$O(^DPT("ADOB",I,J)) Q:'J D
  1. . . Q:($P($G(^AUPNPAT(J,41,DUZ(2),0)),U,3)'="")&('AGINACT)
  1. . . Q:((I+650000)>DT) ;IHS/SD/SDR 11/4/10 HEAT20844
  1. . . I $D(^AUPNPAT(J,41,DUZ(2))),$D(^DPT(J,0)),'$P($G(^DPT(J,.35)),"^",1) S NAME=$P($G(^DPT(J,0)),U) S ^TMP($J,NAME)=J ;AG*7.1*2 IM21608
  1. . ;IHS/OIT/NKD AG*7.1*14 END NEW CODE
  1. I $D(AGQIO) F AGZ("I")=1:1 S IOP=AGQIO D ^%ZIS Q:'POP
  1. S AG("LOC")=$P(^DIC(4,DUZ(2),0),U),AG("USR")=$P(^VA(200,DUZ,0),U),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
  1. K AG("LOC"),AG("USR") U IO
  1. D LINES^AG,NOW^AG
  1. S X="Report date: "_AGTIME D CTR^AG S AGTIME=X D HDR
  1. ;MAIN LOOP IM21608
  1. K DUOUT,DFOUT,DTOUT
  1. S NAME=""
  1. F S NAME=$O(^TMP($J,NAME)) Q:NAME="" D Q:$D(DUOUT)!$D(DFOUT)!$D(DTOUT)
  1. .S DFN=$G(^TMP($J,NAME))
  1. .S AGRRESW="N"
  1. .S MCDREC=""
  1. .S PRVTREC=0
  1. .D PRINT
  1. .I $Y>AGBM D RTRN^AG Q:$D(DUOUT)!$D(DFOUT)!$D(DTOUT) D HDR
  1. K AG("HAT")
  1. Q:$D(DUOUT)!$D(DFOUT)!$D(DTOUT)
  1. ;F DFN=0:0 S DFN=$O(^TMP($J,DFN)) Q:'DFN S AGRRESW="N" D PRINT I $Y>AGBM D RTRN^AG G:$D(DUOUT)!$D(DFOUT)!$D(DTOUT) END D HDR
  1. K AG("HAT") D RTRN^AG W !!,"Total patients 65 yrs or older: ",AGTOT,!!,"Total patients 65 or older with Medicare: ",AGTOTM,!!,"Total patients 65 or older with Railroad Ret: ",AGTOTR D RTRN^AG W $$S^AGVDF("IOF")
  1. END D ^%ZISC K ^TMP($J),A,AG,AGIO,AGTIME,AGBM,DA,DIC,DFN,DLOUT,DR,G,AGL,I,J,AG("LKDATA"),AG("LKPRINT"),AGPCC,AGPGPG,AGRRESW,AGTOT,AGTOTM,AGTOTR,AG("USRLOC"),X,Y D:$D(ZTQUEUED) KILL^%ZTLOAD
  1. Q
  1. PRINT S AGTOT=AGTOT+1 W $P(^DPT(DFN,0),U)," (",$P(^AUPNPAT(DFN,41,DUZ(2),0),U,2),")"
  1. W $S($P(^AUPNPAT(DFN,41,DUZ(2),0),U,3)'="":"*",1:"")
  1. I $D(^DPT(DFN,.13)) S AGPHONE=$P(^(.13),U),AGPHONE=$S($L(AGPHONE)=10:$E(AGPHONE,1,3)_"-"_$E(AGPHONE,4,6)_"-"_$E(AGPHONE,7,10),$L(AGPHONE)=7:$E(AGPHONE,1,3)_"-"_$E(AGPHONE,4,7),1:AGPHONE) W ?35,AGPHONE K AGPHONE
  1. ;IHS/OIT/NKD AG*7.1*14 - START OLD CODE
  1. ;MCR G:'$D(^AUPNMCR(DFN,0)) RRE1 S AGMCRNO=$P(^AUPNMCR(DFN,0),U,3) S:$L(AGMCRNO)=9 AGMCRNO=$E(AGMCRNO,1,3)_"-"_$E(AGMCRNO,4,5)_"-"_$E(AGMCRNO,6,9) W ?49,"M=",AGMCRNO,"-"
  1. ;W:(AGMCRNO)="" ?49,"NO NUMBER " W:$P(^AUPNMCR(DFN,0),U,4)]"" $P(^AUTTMCS($P(^AUPNMCR(DFN,0),U,4),0),U) S AGTOTM=AGTOTM+1 K AGMCRNO G SSN
  1. ;IHS/OIT/NKD AG*7.1*14 - END OLD CODE - START NEW CODE
  1. MCR ;
  1. G:'$D(^AUPNMCR(DFN,0)) RRE1
  1. S AGMCRNO=$$GETMCR^AGUTL(DFN),AGISMBI=$$ISMBI^AGUTL(AGMCRNO)
  1. I 'AGISMBI,AGISMBI["MCR" S AGMCRNO=$E(AGMCRNO,1,3)_"-"_$E(AGMCRNO,4,5)_"-"_$E(AGMCRNO,6,9)_"-"_$E(AGMCRNO,10,11)
  1. W ?49,$S($L(AGMCRNO):"M="_AGMCRNO,1:"NO NUMBER ")
  1. S AGTOTM=AGTOTM+1 K AGMCRNO,AGISMBI G SSN
  1. ;IHS/OIT/NKD AG*7.1*14 - END NEW CODE
  1. RRE1 I '$D(^AUPNMCR(DFN,0)),$D(^AUPNRRE(DFN,0)) D WRRE S AGRRESW="Y"
  1. SSN ;S DIC=2,DR=.09,DA=DFN D ^AGDICLK I $D(AG("LKDATA")) S:$L(AG("LKDATA"))=9 AG("LKDATA")=$E(AG("LKDATA"),1,3)_"-"_$E(AG("LKDATA"),4,5)_"-"_$E(AG("LKDATA"),6,99) W ?67,AG("LKDATA")
  1. W ?67,$$GET1^DIQ(9000001,DFN_",",1107.3) ;IHS/SD/TPF AG*7.1*4
  1. G CKRRE:'$D(^DPT(DFN,.11))
  1. S AGA=^DPT(DFN,.11) W:$P(AGA,U)]"" !?10,$P(AGA,U) S AG("ADDR")=$P(AGA,U,4)_" " I $P(AGA,U,5)]"",$D(^DIC(5,$P(AGA,U,5),0)) S AG("ADDR")=AG("ADDR")_$P(^(0),U,2)_" " G RRE
  1. CKRRE I $D(^AUPNRRE(DFN,0)),AGRRESW'="Y" W !
  1. RRE G ADDR1:'$D(^AUPNRRE(DFN,0))!(AGRRESW="Y") D WRRE
  1. ADDR1 I $D(^DPT(DFN,.11)) S AG("ADDR")=AG("ADDR")_$P(AGA,U,6) W:AG("ADDR")]"" !?10,AG("ADDR")
  1. D PMCNM,RRENM W !,AG("-"),!
  1. Q
  1. HDR S AGPGPG=AGPGPG+1 W $$S^AGVDF("IOF"),!,AG("USRLOC"),?70,"page ",AGPGPG,!?26,"PATIENTS 65 YRS OLD AND OLDER",!,AGTIME,!!?51,"MEDICARE(M)",?69,"SOCIAL",!,"NAME (CHART #)",?35,"HOME PHONE",?51,"RAILROAD(R)",?66,"SECURITY NO.",!,AG("="),!
  1. Q
  1. ;WRRE S AGRRNO=$P(^AUPNRRE(DFN,0),U,4) S:$L(AGRRNO)=9 AGRRNO=$E(AGRRNO,1,3)_"-"_$E(AGRRNO,4,5)_"-"_$E(AGRRNO,6,9) W ?49,"R=" W:$P(^AUPNRRE(DFN,0),U,3) $P(^AUTTRRP($P(^AUPNRRE(DFN,0),U,3),0),U),"-" W AGRRNO S AGTOTR=AGTOTR+1 K AGRRNO ;IHS/OIT/NKD AG*7.1*14
  1. ;IHS/OIT/NKD AG*7.1*14 - START NEW CODE
  1. WRRE ;
  1. S AGRRNO=$$GETRRE^AGUTL(DFN),AGISMBI=$$ISMBI^AGUTL(AGRRNO)
  1. I 'AGISMBI,AGISMBI["RRE" S AGRRNO=$S($L(AGRRNO)>9:$E(AGRRNO,1,$L(AGRRNO)-9)_"-",1:"")_$E(AGRRNO,$L(AGRRNO)-8,$L(AGRRNO)-6)_"-"_$E(AGRRNO,$L(AGRRNO)-5,$L(AGRRNO)-4)_"-"_$E(AGRRNO,$L(AGRRNO)-3,$L(AGRRNO))
  1. W ?49,$S($L(AGRRNO):"R="_AGRRNO,1:"NO NUMBER ")
  1. S AGTOTR=AGTOTR+1 K AGRRNO,AGISMBI
  1. Q
  1. ;IHS/OIT/NKD AG*7.1*14 - END NEW CODE
  1. PMCNM K AGMCRNM I $D(^AUPNMCR(DFN,0)),$D(^AUPNMCR(DFN,21)) S AGMCRNM=$P(^AUPNMCR(DFN,21),U) W:AGMCRNM]"" !,"(MCR) ",AGMCRNM K AGMCRNM
  1. Q
  1. RRENM K AGRRNM I $D(^AUPNRRE(DFN,0)),$D(^AUPNRRE(DFN,21)) S AGRRNM=$P(^AUPNRRE(DFN,21),U) W:AGRRNM]"" !,"(RR) ",AGRRNM K AGRRNM
  1. Q