| 1 | RCDPRTP1 ;ALB/LDB - CLAIMS MATCHING REPORT (PRINT) ;1/26/01 2:56 PM
|
---|
| 2 | ;;4.5;Accounts Receivable;**151,169**;Mar 20, 1995
|
---|
| 3 | ;
|
---|
| 4 | ;
|
---|
| 5 | EN ; Entry point to print the Claims Matching Report.
|
---|
| 6 | N %,DATEDIS1,DATEDIS2,NOW,PG,RCBILL,RCAMT,RCAMT1,RCIBDAT,RCIBFN,RCNAM,RCNAM1,RCNO,RCNOW,RCDLINE,RCLINE,RCPHIT,RCQ,RCSSN,RCSTAT,RCTP,X,Y
|
---|
| 7 | ;
|
---|
| 8 | ; - initialize report header variables
|
---|
| 9 | S PG=0
|
---|
| 10 | I RCSORT'=2,(RCSORT'=4) D
|
---|
| 11 | .S Y=$P(DATESTRT,".") D DD^%DT S DATEDIS1=Y
|
---|
| 12 | .S Y=$P(DATEEND,".") D DD^%DT S DATEDIS2=Y
|
---|
| 13 | D NOW^%DTC S Y=% D DD^%DT S RCNOW=$E(Y,1,18)
|
---|
| 14 | S RCDLINE=$TR($J("",80)," ","-")
|
---|
| 15 | S RCLINE=$TR($J("",80)," ","*")
|
---|
| 16 | ;
|
---|
| 17 | ; - main report loop
|
---|
| 18 | K ^TMP($J)
|
---|
| 19 | ;
|
---|
| 20 | ;
|
---|
| 21 | D HDR ; initial header
|
---|
| 22 | S RCNO=0 ; flag to indicate at least one matching claim
|
---|
| 23 | ;
|
---|
| 24 | S RCNAM="" F S RCNAM=$O(^TMP("RCDPRTPB",$J,RCNAM)) Q:RCNAM=""!$G(RCQ) D
|
---|
| 25 | .S RCBILL=0 F S RCBILL=$O(^TMP("RCDPRTPB",$J,RCNAM,RCBILL)) Q:'RCBILL!$G(RCQ) D
|
---|
| 26 | ..;
|
---|
| 27 | ..S RCPHIT=0 ; flag that requires patient info to print
|
---|
| 28 | ..D PROC ; process a single third party bill
|
---|
| 29 | ..K ^TMP("IBRBT",$J),^TMP("IBRBF",$J)
|
---|
| 30 | ;
|
---|
| 31 | I $G(RCQ) G ENQ
|
---|
| 32 | ;
|
---|
| 33 | I $O(^TMP("RCDPRTPB",$J,0))="" W !!,?18,"No matching debts." Q
|
---|
| 34 | I 'RCNO W !!,?18,"No matching debts."
|
---|
| 35 | ENQ ;
|
---|
| 36 | Q
|
---|
| 37 | ;
|
---|
| 38 | ;
|
---|
| 39 | PROC ; Process each third party bill for a patient.
|
---|
| 40 | D RELBILL^IBRFN(RCBILL)
|
---|
| 41 | ;
|
---|
| 42 | ; - quit if there are no associated first party bills
|
---|
| 43 | I '$O(^TMP("IBRBF",$J,0)) K ^TMP("RCDPRTPB",$J,RCNAM,RCBILL) G PROCQ
|
---|
| 44 | ;
|
---|
| 45 | S (RCAMT(0),RCAMT(1))=0
|
---|
| 46 | ;
|
---|
| 47 | S RCTP(0)=0 F S RCTP(0)=$O(^TMP("IBRBF",$J,RCTP(0))) Q:'RCTP(0) S RCTP(1)=0 F S RCTP(1)=$O(^TMP("IBRBF",$J,RCTP(0),RCTP(1))) Q:'RCTP(1) S ^TMP($J,"IBRBF",RCTP(1),RCTP(0))=""
|
---|
| 48 | S RCPT(0)=0 F S RCTP(0)=$O(^TMP($J,"IBRBF",RCTP(0))) Q:'RCTP(0) S RCTP(1)=0 F S RCTP(1)=$O(^TMP($J,"IBRBF",RCTP(0),RCTP(1))) Q:'RCTP(1) D
|
---|
| 49 | .I RCTP(1)=RCBILL Q
|
---|
| 50 | .I $D(^TMP($J,"IBRBF",RCTP(0),RCBILL))!(RCTP(1)'=$O(^TMP($J,"IBRBF",RCTP(0),0))) K ^TMP("IBRBF",$J,RCTP(1),RCTP(0)),^TMP($J,"IBRBF",RCTP(0),RCTP(1)) I '$O(^TMP("IBRBF",$J,RCTP(1),0)) K ^TMP("IBRBF",$J,RCTP(1))
|
---|
| 51 | S RCTP(0)="" F S RCTP(0)=$O(^TMP("IBRBT",$J,RCBILL,RCTP(0))) Q:RCTP(0)="" D
|
---|
| 52 | .;if associated third party has had payment also do not list twice
|
---|
| 53 | .I $D(^TMP("RCDPRTPB",$J,RCNAM,RCTP(0))),(RCBILL'=RCTP(0)) S RCTP(RCTP(0))=^TMP("RCDPRTPB",$J,RCNAM,RCTP(0)) K ^(RCTP(0))
|
---|
| 54 | .;if no prescription coverage exclude associated rx co-pay charges
|
---|
| 55 | .I '$P(^TMP("IBRBT",$J,RCBILL),"^") D
|
---|
| 56 | ..S RCTP(1)=0 F S RCTP(1)=$O(^TMP("IBRBF",$J,RCTP(0),RCTP(1))) Q:RCTP(1)="" I $G(^TMP("IBRBF",$J,RCTP(0),RCTP(1)))["RX" K ^TMP("IBRBF",$J,RCTP(0),RCTP(1)) I '$O(^TMP("IBRBF",$J,RCTP(0),"")) K ^TMP("IBRBF",$J,RCTP(0))
|
---|
| 57 | .;if duplicate charges exclude them from report
|
---|
| 58 | S RCTP(0)=0 F S RCTP(0)=$O(^TMP("IBRBF",$J,RCTP(0))) Q:RCTP(0)="" S RCTP(1)=0 F S RCTP(1)=$O(^TMP("IBRBF",$J,RCTP(0),RCTP(1))) Q:'RCTP(1) D
|
---|
| 59 | .I RCTP(0)'=RCBILL,($D(^TMP("IBRBF",$J,RCBILL,RCTP(1)))) K ^TMP("IBRBF",$J,RCTP(0),RCTP(1)) K:'$O(^TMP("IBRBF",$J,RCTP(0),0)) ^TMP("IBRBF",$J,RCTP(0))
|
---|
| 60 | ;exclude cancelled charges if not selected to be on report
|
---|
| 61 | I 'RCAN D
|
---|
| 62 | .S RCTP(0)=0 F S RCTP(0)=$O(^TMP("IBRBF",$J,RCTP(0))) Q:RCTP(0)="" S RCTP(1)=0 F S RCTP(1)=$O(^TMP("IBRBF",$J,RCTP(0),RCTP(1))) Q:'RCTP(1) D
|
---|
| 63 | ..I $P(^TMP("IBRBF",$J,RCTP(0),RCTP(1)),"^",3) K ^TMP("IBRBF",$J,RCTP(0),RCTP(1)) Q
|
---|
| 64 | ..S RCPT(2)=$O(^PRCA(430,"B",+$P(^TMP("IBRBF",$J,RCTP(0),RCTP(1)),"^",4),0)) I $P($G(^PRCA(430,+RCPT(2),0)),"^",8)=39 K ^TMP("IBRBF",$J,RCTP(0),RCTP(1))
|
---|
| 65 | ..I '$O(^TMP("IBRBF",$J,RCTP(0),"")) K ^TMP("IBRBF",$J,RCTP(0))
|
---|
| 66 | I '$O(^TMP("IBRBF",$J,RCBILL,0)) K ^TMP("RCDPRTPB",$J,RCNAM,RCBILL) G PROCQ
|
---|
| 67 | ;
|
---|
| 68 | ; - print patient detail line
|
---|
| 69 | I 'RCPHIT S RCPHIT=1 D PRINT3^RCDPRTP2 G:$G(RCQ) PROCQ
|
---|
| 70 | ;
|
---|
| 71 | ; - print third party bills
|
---|
| 72 | ; o print the header first; need room for the header and
|
---|
| 73 | ; the bill that was paid.
|
---|
| 74 | ; o print the bill that was paid.
|
---|
| 75 | S RCTP=RCBILL,RCIBDAT=$G(^TMP("IBRBT",$J,RCBILL,RCBILL))
|
---|
| 76 | I $Y>(IOSL-7) D PAUSE^RCDPRTP2 G:$G(RCQ) PROCQ D HDR
|
---|
| 77 | D HDR1^RCDPRTP2,PRINT1^RCDPRTP2 G:$G(RCQ) PROCQ
|
---|
| 78 | ;
|
---|
| 79 | ; - print the other assoicated third party bills
|
---|
| 80 | S RCTP=0 F S RCTP=$O(^TMP("IBRBT",$J,RCBILL,RCTP)) Q:'RCTP!$G(RCQ) D
|
---|
| 81 | .I RCBILL=RCTP Q ; don't reprint the bill that was paid.
|
---|
| 82 | .S RCIBDAT=$G(^TMP("IBRBT",$J,RCBILL,RCTP))
|
---|
| 83 | .I 'RCAN,($P(RCIBDAT,"^",3)) Q ; exclude cancelled claims
|
---|
| 84 | .D PRINT1^RCDPRTP2
|
---|
| 85 | G:$G(RCQ) PROCQ
|
---|
| 86 | ;
|
---|
| 87 | ; - print the third party totals
|
---|
| 88 | I $Y>(IOSL-2) D PAUSE^RCDPRTP2 G:$G(RCQ) PROCQ D HDR W !
|
---|
| 89 | W !,?57,"---------",?68,"---------"
|
---|
| 90 | W !,?57,$J(RCAMT(0),9,2),?68,$J(RCAMT(1),9,2)
|
---|
| 91 | ;
|
---|
| 92 | ; - print the associated first party charges
|
---|
| 93 | S RCTP(0)=0 F S RCTP(0)=$O(^TMP("IBRBF",$J,RCTP(0))) Q:'RCTP(0)!$G(RCQ) D
|
---|
| 94 | .I RCTP(0)=$O(^TMP("IBRBF",$J,0)) D
|
---|
| 95 | ..I $Y>(IOSL-5) D PAUSE^RCDPRTP2 Q:$G(RCQ) D HDR
|
---|
| 96 | ..D HDR2^RCDPRTP2
|
---|
| 97 | .S RCTP=0 F S RCTP=$O(^TMP("IBRBF",$J,RCTP(0),RCTP)) Q:'RCTP!$G(RCQ) D
|
---|
| 98 | ..S RCNO=1 ; set flag for at least one match
|
---|
| 99 | ..;
|
---|
| 100 | ..S RCIBDAT=$G(^TMP("IBRBF",$J,RCTP(0),RCTP))
|
---|
| 101 | ..;
|
---|
| 102 | ..; - print the header for the first charge
|
---|
| 103 | ..;
|
---|
| 104 | ..; - print the patient detail line
|
---|
| 105 | ..D PRINT2^RCDPRTP2
|
---|
| 106 | ;.
|
---|
| 107 | PROCQ K ^TMP($J) Q
|
---|
| 108 | ;
|
---|
| 109 | ;
|
---|
| 110 | HDR ; Print the main report header.
|
---|
| 111 | S PG=PG+1 I PG'=1!($E(IOST,1,2)="C-") W @IOF
|
---|
| 112 | W !,?5,"THIRD PARTY CLAIMS W/MATCHING FIRST PARTY DEBTS ",RCNOW," PAGE ",PG
|
---|
| 113 | I RCSORT'=2,(RCSORT'=4) W !,?18,"FOR THE PAYMENT DATES: ",DATEDIS1," TO ",DATEDIS2
|
---|
| 114 | I RCSORT=4 W !,?18,"RECEIPT NUMBER ",RCPT
|
---|
| 115 | W !,RCDLINE
|
---|
| 116 | I PG=1 D
|
---|
| 117 | .W !!,"Remember that any actions taken to decrease the first party receivables must"
|
---|
| 118 | .W !,"consider any applicable deductibles or coinsurance amounts specified on the EOB."
|
---|
| 119 | Q
|
---|
| 120 | ;
|
---|