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

AGFIX7A.m

Go to the documentation of this file.
  1. AGFIX7A ; IHS/ASDS/EFG - FIX MEDICAID ELIGIBLE FILE ;
  1. ;;7.0;IHS PATIENT REGISTRATION;;MAR 28, 2003
  1. W !,"IF YOU ARE SURE YOU WANT TO RUN THIS ROUTINE",!!,"PLEASE ENTER AT 'START', I.E. 'D START^AGFIX7A'.",!
  1. Q
  1. START I '$D(DT) S %DT="",X="T" D ^%DT S DT=Y K %DT
  1. S AGTOTAL=0
  1. MSG S:'$D(DTIME) DTIME=300 W $$S^AGVDF("IOF")
  1. W !?31,"*** AGFIX7A ***"
  1. W !!?5,"THIS REGISTRATION UTILITY READS THRU THE 'B' INDEX OF THE",!!?5,"MEDICAID ELIGIBLE FILE (^AUPNMCD), REMOVES ALL NON-NUMERIC CHARACTERS",!!?5,"FROM THE M'CAID ELIGIBILITY NUMBERS,"
  1. W !!?5,"AND SETS ^AGPATCH SO THE CORRECTED PATIENTS ARE EXPORTED DURING"
  1. W !!?5,"THE NEXT REGISTRATION EXPORT.",!!?5,"note: THE 'AB' INDEX IS KILLED AND REBUILT DURING THE PROCESS",!!!?10,"DO YOU WANT TO CONTINUE? (Y/N) N // "
  1. D READ G END:$D(DLOUT)!$D(DUOUT)!$D(DFOUT)!$D(DTOUT)!("Nn"[$E(Y)),MSG:$D(DQOUT)!("Yy"'[$E(Y))
  1. USER W !! S DIC="^VA(200,",DIC("A")="Who are you?",DIC(0)="AEFMNQ" D ^DIC G:+Y<0 END S DUZ=+Y
  1. FACILITY W !! S DIC="^AUTTLOC(",DIC(0)="QAZEM",DIC("A")="Set MEDICAID export for which FACILITY? " D ^DIC K DIC G:+Y<0 END S (DUZ2,DUZ(2))=+Y
  1. QUE W !!,"Do you want to q this process? (Y/N) Y // " D READ G END:$D(DTOUT)!$D(DFOUT),FACILITY:$D(DUOUT) S Y=$E(Y_"Y") I $D(DQOUT)!("YN"'[Y) W !!,*7,"You can 'q' this process to TaskMan to run at another time.",! G QUE
  1. I Y="N" G ENTRY
  1. DEV X ^%ZOSF("UCI") S ZTRTN="ENTRY^AGFIX7A",ZTUCI=Y,ZTIO="",ZTDESC="Check MCAID Accounts, non-numerics, for "_$P(^AUTTLOC(DUZ(2),0),U,2)_"." S ZTSAVE=""
  1. D ^%ZTLOAD G:'$D(ZTSK) QUE W !!,"Task Number = ",ZTSK,!!,"Press RETURN..." R Y:DTIME K AG,AGIO,AGQIO,G,ZTDESC,ZTIO,ZTRTN,ZTSAVE,ZTSK,ZTUCI D ^%ZISC Q
  1. ENTRY ; EP - TaskMan.
  1. I '$D(ZTQUEUED) W !! S IOP=ION D ^%ZIS,WAIT^DICD S DX=$X,DY=$Y+1
  1. S (AGTOTAL,DFN)=0
  1. DFN ;
  1. S DFN=$O(^AUPNMCD("B",DFN)) G:+DFN<1 END1
  1. S IEN=0
  1. IEN ;
  1. S IEN=$O(^AUPNMCD("B",DFN,IEN)) G:+IEN<1 DFN
  1. I '$D(^AUPNMCD(IEN,0)) K ^AUPNMCD("B",DFN,IEN) G IEN
  1. S AGST=$P(^AUPNMCD(IEN,0),U,4),AGACCT=$P(^(0),U,3)
  1. I 'AGST!('$L(AGACCT)) G IEN
  1. S ^AUPNMCD("AB",DFN,AGST,AGACCT,IEN)=""
  1. I AGACCT?1N.N G IEN
  1. S AG("STATE")=$P(^DIC(5,AGST,0),U,2) I AG("STATE")'="NM"&(AG("STATE")'="AZ") G IEN
  1. S AGNEWNUM="" F I=1:1:$L(AGACCT) I $E(AGACCT,I)?1N S AGNEWNUM=AGNEWNUM_$E(AGACCT,I)
  1. I '$L(AGNEWNUM) G IEN
  1. K ^AUPNMCD("AB",DFN,AGST,AGACCT,IEN)
  1. S $P(^AUPNMCD(IEN,0),U,3)=AGNEWNUM,^AUPNMCD("AB",DFN,AGST,AGNEWNUM,IEN)="",AGTOTAL=AGTOTAL+1
  1. D NOW^%DTC S AGDTS=%
  1. S:'$D(^AGPATCH(AGDTS,DUZ(2),DFN)) ^AGPATCH(AGDTS,DUZ(2),DFN)=""
  1. G IEN
  1. END1 I '$D(ZTQUEUED) W !,AGTOTAL," records changed.",!
  1. F D=0:0 S D=$O(^AUPNMCD("AB",D)) Q:'D F S=0:0 S S=$O(^AUPNMCD("AB",D,S)) Q:'S S A="" F I=0:0 S A=$O(^AUPNMCD("AB",D,S,A)) Q:A="" F IEN=0:0 S IEN=$O(^AUPNMCD("AB",D,S,A,IEN)) Q:'IEN I '$D(^AUPNMCD(IEN,0)) K ^AUPNMCD("AB",D,S,A,IEN)
  1. END K %DT,A,AGACCT,AG,D,AGDATE,DFN,DFOUT,DLOUT,DQOUT,DTOUT,DUOUT,DUZ2,DX,DY,IEN,AGNEWNUM,S,AGTOTAL,X,XY,Y,AGST,AGDTS
  1. Q
  1. READ K DFOUT,DTOUT,DUOUT,DQOUT,DLOUT R Y:$S($D(DTIME):DTIME,1:300) I '$T W *7 R Y:5 G READ:Y="." I '$T S (DTOUT,Y)="" Q
  1. S:Y="/.," (DFOUT,Y)="" S:Y="" DLOUT="" S:Y="^" (DUOUT,Y)="" S:Y?1"?".E!(Y["^") (DQOUT,Y)=""
  1. Q
  1. COMMENT ; This routine is a one-time-only run.
  1. ; It reads thru the 'B' index of the MEDICAID ELIGIBLE
  1. ; file (^AUPNMCD) to look for patients who are eligible for MEDICAID,
  1. ; fix their eligibility numbers if necessary, and
  1. ; flag them for inclusion with next export.
  1. ; RPMS/GTH