| 1 | IBRFN1 ;ALB/CPM - PASS PATIENT STATEMENT DATA TO A/R ; 24-FEB-93
|
---|
| 2 | ;;Version 2.0 ; INTEGRATED BILLING ;**27,57,52**; 21-MAR-94
|
---|
| 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
| 4 | ;
|
---|
| 5 | STMT(TRAN) ; Pass clinical data to AR for the patient statement.
|
---|
| 6 | ; Input: TRAN -- AR Transaction number (ptr to #433)
|
---|
| 7 | ; Returns: ^TMP("IBRFN1",$J,n)=1^2^3^4^5^6^7^8 , where
|
---|
| 8 | ;
|
---|
| 9 | ; -----------------------------------------------------------
|
---|
| 10 | ; | | Transaction Type |
|
---|
| 11 | ; |----------|------------------------------------------------|
|
---|
| 12 | ; | Piece | Pharmacy | Outpatient | Inpatient |
|
---|
| 13 | ; |----------|----------------|--------------|----------------|
|
---|
| 14 | ; | 1 | IB Ref# | IB Ref# | IB Ref# |
|
---|
| 15 | ; | 2 | Rx# | Visit Date | Adm Date |
|
---|
| 16 | ; | 3 | Drug | -- | Bill From Date |
|
---|
| 17 | ; | 4 | Days Supply | -- | Bill To Date |
|
---|
| 18 | ; | 5 | Physician | -- | Disc Date |
|
---|
| 19 | ; | 6 | Quantity | -- | -- |
|
---|
| 20 | ; | 7 |Fill/Refill Date| -- | -- |
|
---|
| 21 | ; | 8 | Charge Amt | Charge Amt | Charge Amt |
|
---|
| 22 | ; -----------------------------------------------------------
|
---|
| 23 | ;
|
---|
| 24 | Q:'$G(TRAN) K ^TMP("IBRFN1",$J)
|
---|
| 25 | N IBN,IBJ,IBND,IBBG,IBSL,IBPE,IBCHG
|
---|
| 26 | S IBN=0 F IBJ=1:1 S IBN=$O(^IB("AT",TRAN,IBN)) Q:'IBN D
|
---|
| 27 | . S IBND=$G(^IB(IBN,0)),IBSL=$P(IBND,"^",4),IBCHG=$P(IBND,"^",7) Q:'IBND
|
---|
| 28 | . I +IBSL=52 D RX Q
|
---|
| 29 | . S IBBG=$P($G(^IBE(350.1,+$P(IBND,"^",3),0)),"^",11)
|
---|
| 30 | . I IBBG=4 S ^TMP("IBRFN1",$J,IBJ)=+IBND_"^"_$P(IBND,"^",14)_"^^^^^^"_IBCHG Q
|
---|
| 31 | . S IBPE=$G(^IB(+$P(IBND,"^",16),0))
|
---|
| 32 | . I +IBSL'=405,+IBSL'=45 S IBSL=$P(IBPE,"^",4)
|
---|
| 33 | . I +IBSL=405!(+IBSL=45) D INP Q
|
---|
| 34 | . S ^TMP("IBRFN1",$J,IBJ)=+IBND_"^^"_$P(IBND,"^",14)_"^"_$P(IBND,"^",15)_"^^^^"_IBCHG
|
---|
| 35 | Q
|
---|
| 36 | ;
|
---|
| 37 | RX ; Build array element for Pharmacy Co-pay charges.
|
---|
| 38 | N %DT,I,IBRX,IBFILL,PSOFILL,PSONTALK,PSORX0,PSORX1,PSORXN,PSOTMP,VA,VAERR,X,Y,Z
|
---|
| 39 | S IBRX=$P($P(IBSL,";"),":",2),IBFILL=+$P($P(IBSL,";",2),":",2)
|
---|
| 40 | S X=IBRX_"^"_IBFILL,PSONTALK="" D EN^PSOCPVW
|
---|
| 41 | S Z=+IBND F I=.01,6,8,4,7,22 S Z=Z_"^"_$G(PSOTMP(52,IBRX,I,"E"))
|
---|
| 42 | S:IBFILL $P(Z,"^",7)=$G(PSOTMP(52.1,IBFILL,.01,"E"))
|
---|
| 43 | S X=$P(Z,"^",7),%DT="" D ^%DT S $P(Z,"^",7)=$S(Y>0:Y,1:"")
|
---|
| 44 | S ^TMP("IBRFN1",$J,IBJ)=Z_"^"_IBCHG
|
---|
| 45 | Q
|
---|
| 46 | ;
|
---|
| 47 | INP ; Build array element for inpatient charges.
|
---|
| 48 | N IBADM,IBDIS,IBFR,IBTO,PM,PM0,X,X1,X2
|
---|
| 49 | I +IBSL=405 D
|
---|
| 50 | . S PM=+$P(IBSL,":",2),PM0=$G(^DGPM(PM,0))
|
---|
| 51 | . S IBADM=$S(PM0:+PM0\1,1:$P(IBPE,"^",17))
|
---|
| 52 | . S IBDIS=$S(PM0:$S($D(^DGPM(+$P(PM0,"^",17),0)):+^(0)\1,1:""),1:"")
|
---|
| 53 | I +IBSL=45 D
|
---|
| 54 | . S PM=+$P(IBSL,":",2),PM0=$G(^DGPT(PM,0))
|
---|
| 55 | . S IBADM=$S(PM0:+$P(PM0,"^",2)\1,1:$P(IBPE,"^",17))
|
---|
| 56 | . S IBDIS=$S($G(^DGPT(PM,70)):+^(70)\1,1:"")
|
---|
| 57 | ;
|
---|
| 58 | S IBFR=$P(IBND,"^",14),IBTO=$P(IBND,"^",15)
|
---|
| 59 | ; - check for per diems added through C/E/A which are off by one day
|
---|
| 60 | I IBBG=3 S X1=IBTO,X2=IBFR D ^%DTC I X+1'=$P(IBND,"^",6) S X1=IBTO,X2=-1 D C^%DTC S IBTO=X
|
---|
| 61 | S ^TMP("IBRFN1",$J,IBJ)=+IBND_"^"_IBADM_"^"_IBFR_"^"_IBTO_"^"_IBDIS_"^^^"_IBCHG
|
---|
| 62 | Q
|
---|
| 63 | ;
|
---|
| 64 | ;
|
---|
| 65 | STMTB(BILL) ; AR Patient Statement Entry point for CHAMPVA Subsistence
|
---|
| 66 | ; Input: BILL -- AR Bill number (field #.01 value of #430)
|
---|
| 67 | ; Returns: Same output as described above in the Pharmacy
|
---|
| 68 | ; and inpatient columns.
|
---|
| 69 | ;
|
---|
| 70 | Q:$G(BILL)="" K ^TMP("IBRFN1",$J)
|
---|
| 71 | N IBN,IBJ,IBND,IBBG,IBSL,IBPE,IBCHG,IBAT
|
---|
| 72 | S IBN=$O(^IB("ABIL",BILL,0)) Q:'IBN
|
---|
| 73 | S IBND=$G(^IB(IBN,0)),IBSL=$P(IBND,"^",4),IBCHG=$P(IBND,"^",7) Q:'IBND
|
---|
| 74 | S IBAT=$G(^IBE(350.1,+$P(IBND,"^",3),0)),IBBG=$P(IBAT,"^",11),IBJ=1
|
---|
| 75 | I +IBSL=52 D RX Q
|
---|
| 76 | I $P(IBAT,"^")["OPT COPAY" S ^TMP("IBRFN1",$J,IBJ)=+IBND_"^"_$P(IBND,"^",14)_"^^^^^^"_IBCHG Q
|
---|
| 77 | S IBPE=$G(^IB(+$P(IBND,"^",16),0))
|
---|
| 78 | I +IBSL'=405,+IBSL'=45 S IBSL=$P(IBPE,"^",4)
|
---|
| 79 | I +IBSL=405!(+IBSL=45) D INP Q
|
---|
| 80 | S ^TMP("IBRFN1",$J,IBJ)=+IBND_"^^"_$P(IBND,"^",14)_"^"_$P(IBND,"^",15)_"^^^^"_IBCHG
|
---|
| 81 | Q
|
---|