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

ACHSDPVO.m

Go to the documentation of this file.
ACHSDPVO ; IHS/ITSC/PMF - PROVIDER ON FILE REPORT ;    [ 10/16/2001   8:16 AM ]
 ;;3.1;CONTRACT HEALTH MGMT SYSTEM;;JUN 11, 2001
 ;
GO ;
 S ACHDBDT=$$DATE^ACHS("B","PROVIDER (On File)")
 G END:ACHDBDT<1
 S ACHDEDT=$$DATE^ACHS("E","PROVIDER (On File)")
 G GO:ACHDEDT<1
DEV ;
 S %ZIS="PQ"
 D ^%ZIS
 I POP D HOME^%ZIS G END
 G:'$D(IO("Q")) START
 S ZTRTN="START^ACHSDPVO",ZTIO="",ZTDESC="CHS DENIAL "_$P($P($T(ACHSDPVO),"-",2)," ",2,5),ACHSQIO=ION_";"_IOST_";"_IOM_";"_IOSL
 F %="ACHDBDT","ACHDEDT","ACHSQIO" S ZTSAVE(%)=""
 D ^%ZTLOAD
 G:'$D(ZTQUEUED) DEV
END ;
 K ACHDBDT,ACHDEDT,ACHDX
 Q
 ;
START ;
 S ACHD=ACHDBDT-1
 K ^TMP($J,"ACHSDPVO")
GO1 ;
 S ACHD=$O(^ACHSDEN(DUZ(2),"D","AISSUE",ACHD))
 G PRINT:+ACHD=0,PRINT:ACHD>ACHDEDT,GO1:ACHD<ACHDBDT
 S ACHDX=0
GO2 ;
 S ACHDX=$O(^ACHSDEN(DUZ(2),"D","AISSUE",ACHD,ACHDX))
 G GO1:+ACHDX=0
 G GO2:$P($G(^ACHSDEN(DUZ(2),"D",ACHDX,100)),U)'="Y"
 G GO2:'$G(^ACHSDEN(DUZ(2),"D",ACHDX,250))
 ;
 S X=$G(^ACHSDEN(DUZ(2),"D",ACHDX,100)),ACHDPROV=$P(X,U,2),ACHDECHG=$P(X,U,8),ACHDACHG=$P(X,U,9),ACHDTOS=$P(X,U,10)
 ;
 S X=$G(^ACHSDEN(DUZ(2),"D",ACHDX,0)),ACHDN=$P(X,U),ACHDAT=$P(X,U,2)
 S ACHDNR=$P($G(^ACHSDEN(DUZ(2),"D",ACHDX,250)),U)
 S ^TMP($J,"ACHSDPVO",ACHDPROV,ACHDNR,ACHDAT,ACHDN)=ACHDECHG_U_ACHDACHG_U_ACHDTOS
 G GO2
 ;
PRINT ;
 S ACHDTIT=$$C^ACHS("CONTRACT HEALTH PROVIDER (ON-FILE) REPORT")
 D BRPT^ACHS
 D HDR
 G END1:$G(ACHSQUIT)
 I '$D(^TMP($J,"ACHSDPVO")) W !!!,"NO DOCUMENTS FOR THIS REPORT",!!! G END1
 S (ACHDPROV,ACHDETOT,ACHDATOT)=0
PRNT1 ;
 I $Y>ACHSBM D HDR G END1:$G(ACHSQUIT)
 W !,$$REPEAT^XLFSTR("=",79)
 S ACHDPROV=$O(^TMP($J,"ACHSDPVO",ACHDPROV))
 G TOTAL:ACHDPROV=""
 W !?20,"PROVIDER: ",$P($G(^AUTTVNDR(ACHDPROV,0)),U),!,$$REPEAT^XLFSTR("-",79),!
 S (ACHDNR,ACHDTE,ACHDTA)=0
PRNT2 ;
 S ACHDNR=$O(^TMP($J,"ACHSDPVO",ACHDPROV,ACHDNR))
 I +ACHDNR=0 D SUBTOT G PRNT1
 W !?5,"PRIMARY DENIAL REASON: ",$P($G(^ACHSDENS(ACHDNR,0)),U),!
 D HDR1
 S ACHDAT=0
PRNT3 ;   
 S ACHDAT=$O(^TMP($J,"ACHSDPVO",ACHDPROV,ACHDNR,ACHDAT))
 G PRNT2:+ACHDAT=0
 S ACHDN=0
PRNT4 ;
 S ACHDN=$O(^TMP($J,"ACHSDPVO",ACHDPROV,ACHDNR,ACHDAT,ACHDN))
 G PRNT3:+ACHDN=0
 S X=$G(^TMP($J,"ACHSDPVO",ACHDPROV,ACHDNR,ACHDAT,ACHDN)),ACHDECHG=$P(X,U),ACHDACHG=$P(X,U,2),ACHDTOS=$P(X,U,3),ACHDTE=ACHDTE+ACHDECHG,ACHDTA=ACHDTA+ACHDACHG,X=ACHDECHG,X2=2
 D COMMA^%DTC
 S ACHDECHG=X,X=ACHDACHG,X2=2
 D COMMA^%DTC
 S ACHDACHG=X
 W $$FMTE^XLFDT(ACHDAT),?15,ACHDN,?30,$S(ACHDTOS="I":"INPATIENT",ACHDTOS="O":"OUTPATIENT",1:"UNKNOWN"),?45,ACHDECHG,?60,ACHDACHG,!
 I $Y>ACHSBM D HDR G END1:$G(ACHSQUIT) D HDR1
 G PRNT4
 ;
SUBTOT ;
 S X=ACHDTE,X2=2
 D COMMA^%DTC
 S ACHDTET=X,X=ACHDTA,X2=2
 D COMMA^%DTC
 S ACHDTAT=X
 W !?45,"___________",?60,"___________",!?20,"PROVIDER TOTAL",?45,$J(ACHDTET,8),?60,$J(ACHDTAT,8),!!
 S ACHDETOT=ACHDETOT+ACHDTE,ACHDATOT=ACHDATOT+ACHDTA
 Q
 ;
TOTAL ;
 S X=ACHDETOT,X2=2
 D COMMA^%DTC
 S ACHDETOT=X,X=ACHDATOT,X2=2
 D COMMA^%DTC
 S ACHDATOT=X
 W !!,$$REPEAT^XLFSTR("-",79),!!!?20,"TOTAL",?45,$J(ACHDETOT,10),?60,$J(ACHDATOT,10),!
END1 ;
 D ERPT^ACHS
 K ACHD,ACHDBDT,ACHDEDT,ACHDETOT,ACHDPROV,ACHDNR,ACHDAT,ACHDATOT,ACHDN,ACHDECHG,ACHDACHG,ACHDTAT,ACHDTE,ACHDTET,ACHDTIT,ACHDTOS,ACHDTA,^TMP($J,"ACHSDPVO")
 Q
 ;
HDR ;
 D RTRN^ACHS
 Q:$G(ACHSQUIT)
 S ACHSPG=ACHSPG+1
 W @IOF,ACHSUSR,?70,"PAGE ",ACHSPG,!,ACHSLOC,!,ACHDTIT,!,$$C^ACHS("From "_$$FMTE^XLFDT(ACHDBDT)_" To "_$$FMTE^XLFDT(ACHDEDT)),!!,ACHSTIME,!
 Q
 ;
HDR1 ;
 W !,"ISSUE DATE",?15,"DOCUMENT #",?30,"TYPE SVC",?50,"EST AMT",?65,"ACT AMT",!,$$REPEAT^XLFSTR("-",79),!
 Q
 ;