| 1 | PRCAXP ;WASH-ISC@ALTOONA,PA/TJK-PRINT RX-COPAY EXEMPTION REPORT ;10/23/93  10:01 AM
 | 
|---|
| 2 | V ;;4.5;Accounts Receivable;;Mar 20, 1995
 | 
|---|
| 3 |  ;;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
| 4 |  NEW BEG,END,%DT,%ZIS,IOP,POP,Y,%
 | 
|---|
| 5 | BEG W ! D NOW^%DTC S %DT(0)=-%,%DT="AEXP",%DT("A")="Start Date: " D ^%DT G:Y<0 Q S BEG=Y
 | 
|---|
| 6 |  S %DT="AEX",%DT("A")="     End Date: ",%DT("B")="T" D ^%DT G:Y<0 Q S END=Y
 | 
|---|
| 7 |  W ! K IO("Q") S %ZIS="MQ" D ^%ZIS G:POP Q
 | 
|---|
| 8 |  I $D(IO("Q")) S ZTRTN="DQ^PRCAXP",ZTSAVE("BEG")="",ZTSAVE("END")="" D ^%ZTLOAD G Q
 | 
|---|
| 9 |  U IO
 | 
|---|
| 10 | DQ ;ENTRY POINT FROM TASK MANAGER FOR PRINTING REPORT
 | 
|---|
| 11 |  NEW Y,TODAY,PG,I,PRCA,PRCAHDR,BEGPR,ENDPR,TRDATE,TRNO,T0,T1,BILL,TRAMT,OUT,PTNM,DFN,CONTINUE,ID,REC,TTYPE,VA,PTOT,PGTOT,TOT
 | 
|---|
| 12 | COMPUTE ;SETS TEMPORARY GLOBAL FOR PRINTING
 | 
|---|
| 13 |  K ^TMP($J) S TRDATE=BEG-1,(TOT("D"),TOT("E"),TOT("I"))=0,U="^"
 | 
|---|
| 14 |  F  S TRDATE=$O(^PRCA(433,"ACE",TRDATE)) G PRINT:'TRDATE!($P(TRDATE,".")>END) S TRNO=0 D
 | 
|---|
| 15 |     .F  S TRNO=$O(^PRCA(433,"ACE",TRDATE,TRNO)) Q:'TRNO  D
 | 
|---|
| 16 |       ..S T0=$G(^PRCA(433,TRNO,0)),T1=$G(^(1)) Q:T0=""
 | 
|---|
| 17 |       ..S BILL=$P(T0,U,2),TRAMT=$P(T1,U,5),TTYPE=$S($P(T1,U,2)=35:"D",$P(T1,U,2)=1:"I",1:"E")
 | 
|---|
| 18 |       ..S DFN=$P(^PRCA(430,BILL,0),U,9),BILL=$P(^(0),U)
 | 
|---|
| 19 |       ..S DFN=$P(^RCD(340,+DFN,0),U) Q:'DFN!(DFN'["DPT(")  S DFN=+DFN
 | 
|---|
| 20 |       ..D DEM^VADPT S PTNM=VADM(1),ID=VA("PID") S DTH=$S(+VADM(6):"*",1:"") D KVAR^VADPT
 | 
|---|
| 21 |       ..S ^TMP($J,PTNM,DFN,BILL,TRNO)=TRAMT_U_ID_U_TTYPE_U_DTH K DTH
 | 
|---|
| 22 | PRINT ;PRINT REPORT
 | 
|---|
| 23 |  S Y=BEG X ^DD("DD") S BEGPR=Y
 | 
|---|
| 24 |  S Y=END X ^DD("DD") S ENDPR=Y
 | 
|---|
| 25 |  S Y=DT X ^DD("DD") S TODAY=Y,PG=0 D HEAD
 | 
|---|
| 26 |  I '$D(^TMP($J)) W !!,"NO EXEMPTIONS FOR THIS TIME PERIOD" G Q
 | 
|---|
| 27 |  S PTNM="" F  S PTNM=$O(^TMP($J,PTNM)) Q:PTNM=""!($D(OUT))  D
 | 
|---|
| 28 |     .S DFN=0 F  S DFN=$O(^TMP($J,PTNM,DFN)) Q:'DFN!($D(OUT))  S CONTINUE="",PTOT=0 D  I PTOT W !,?66,"-------------",!,?66,$J(+PTOT,13,2),!
 | 
|---|
| 29 |        ..S BILL="" F  S BILL=$O(^TMP($J,PTNM,DFN,BILL)) Q:BILL=""!($D(OUT))  D
 | 
|---|
| 30 |           ...S TRNO=0 F  S TRNO=$O(^TMP($J,PTNM,DFN,BILL,TRNO)) Q:TRNO=""!($D(OUT))  D
 | 
|---|
| 31 |  ....S REC=^TMP($J,PTNM,DFN,BILL,TRNO) W ! W:$D(CONTINUE) $P(^(TRNO),"^",4),$E(PTNM,1,25)," ",?27,$P(REC,U,2) W ?43,BILL,?55,TRNO,?63,$P(REC,U,3),?66,$J(+REC,13,2)
 | 
|---|
| 32 |  ....S PTOT=PTOT+REC,PGTOT=+$G(PGTOT)+REC,TOT($S($P(REC,U,3)]"":$P(REC,U,3),1:"UNK"))=$G(TOT($S($P(REC,U,3)]"":$P(REC,U,3),1:"UNK")))+REC
 | 
|---|
| 33 |  ....K CONTINUE D HEAD:($Y+4)>IOSL
 | 
|---|
| 34 |  G:$D(OUT) Q
 | 
|---|
| 35 |  W !,"* -indicates patient is deceased"
 | 
|---|
| 36 |  D HEAD:($Y+7)>IOSL
 | 
|---|
| 37 |  W !!,"EXEMPTION TYPES AND TOTALS"
 | 
|---|
| 38 |  W !!,"D=DECREASE ADJUSTMENT ",?35,$J(TOT("D"),13,2),!,"E=INTEREST/ADMIN EXEMPTION ",?35,$J(TOT("E"),13,2),!,"I=INCREASE ADJUSTMENT FOR REFUND ",?35,$J(TOT("I"),13,2)
 | 
|---|
| 39 |  I $D(TOT("UNK")) W !,"UNK=EXEMPTION TYPE UNKNOWN",?35,$J(TOT("UNK"),13,2)
 | 
|---|
| 40 |  W !,?35,"-------------",!,?35,$J(PGTOT,13,2)
 | 
|---|
| 41 | Q K BEG,END,IO("Q") K ^TMP($J) D ^%ZISC Q
 | 
|---|
| 42 | HEAD ;PRINTS HEADING
 | 
|---|
| 43 |  I PG,$E(IOST,1,2)["C-" D SCR Q:$D(OUT)
 | 
|---|
| 44 |  W @IOF S PG=PG+1
 | 
|---|
| 45 |  W !!,"Pg. "_PG,?79-$L(TODAY),TODAY
 | 
|---|
| 46 |  S PRCAHDR="MEDICATION CO-PAY EXEMPTION REPORT",PRCA="",$P(PRCA,"*",(77-$L(PRCAHDR))\2)="*",PRCAHDR=PRCA_" "_PRCAHDR_" "_PRCA
 | 
|---|
| 47 |  W !,PRCAHDR,!,?28,BEGPR,"-",ENDPR
 | 
|---|
| 48 |  W !,?42,"BILL",?54,"TRAN.",?62,"EXEMPTION"
 | 
|---|
| 49 |  W !,"PATIENT",?26,"ID",?42,"NUMBER",?54,"NUMBER",?62,"TYPE",?73,"AMOUNT"
 | 
|---|
| 50 |  S PRCA="",$P(PRCA,"-",80)="" W !,PRCA
 | 
|---|
| 51 |  S CONTINUE=""
 | 
|---|
| 52 |  Q
 | 
|---|
| 53 | SCR ;
 | 
|---|
| 54 |  Q:$E(IOST,1,2)'["C-"
 | 
|---|
| 55 |  N DIR,YY,DIRUT,DUOUT,DTOUT,DIROUT,X,Y
 | 
|---|
| 56 |  F YY=$Y:1:(IOSL-2) W !
 | 
|---|
| 57 |  S DIR(0)="E" D ^DIR I $D(DIRUT)!($D(DTOUT)) S OUT=1
 | 
|---|
| 58 |  Q
 | 
|---|