- IBTOBI1 ;ALB/AAS - CLAIMS TRACKING BILLING INFORMATION PRINT ;27-OCT-93
- ;;2.0;INTEGRATED BILLING;**276,377,516**;21-MAR-94;Build 123
- ;;Per VA Directive 6402, this routine should not be modified.
- ;
- % ;
- F IBTAG="INS","BI","SC","CLIN^IBTOBI4","IR^IBTOBI2","HR^IBTOBI3" D @IBTAG Q:IBQUIT
- Q
- ;
- INS ; -- print ins. stuff
- N TAB,TAB2,IBALLIN,IBDT,IBINS,IBCNT,I,X,IBI,PHON,PHON2,PHON3,P,IBI
- S TAB=5,TAB2=45,IBALLIN=1
- S IBDT=$P(IBTRND,"^",6)
- I '$G(IBDT) S IBDT=DT
- W !," Insurance Information "
- ;
- D ALL^IBCNS1(DFN,"IBINS",1,IBDT)
- I $G(IBINS(0))<1 W !,?TAB,"No Insurance Information",!!! G INSQ
- S IBI=0,IBCNT=0 F S IBI=$O(IBINS(IBI)) Q:'IBI!(IBQUIT) S IBINS=IBINS(IBI,0) D Q:IBQUIT
- .S IBCNT=IBCNT+1
- .I ($Y+10)>IOSL D HDR^IBTOBI Q:IBQUIT
- .I IBCNT>1 W !
- .W !?TAB," Ins. Co "_IBCNT_": ",$E($P($G(^DIC(36,+IBINS,0)),"^"),1,59)
- .S X=$G(^DIC(36,+IBINS,.13))
- .S PHON=$S($P(X,"^",3)'="":$P(X,"^",3),1:$P(X,"^"))
- .S PHON2=$S($P(X,"^",2)'="":$P(X,"^",2),1:$P(X,"^"))
- .S P=$S($P(IBETYP,"^",3)=1:5,$P(IBETYP,"^",3)=2:6,$P(IBETYP,"^",3)=3:11,1:1)
- .S PHON3=$S($P(X,"^",P)'="":$P(X,"^",P),1:$P(X,"^"))
- .; MRD;IB*2.0*516 - Rearranged some fields to allow more characters
- .; to be displayed for some fields.
- .W !?TAB," Type: ",$E($P($G(^IBE(355.1,+$P($G(^IBA(355.3,+$P(IBINS,"^",18),0)),"^",9),0)),"^"),1,18)
- .W ?TAB2,"Pre-Cert Phone: ",PHON
- .W !?TAB," Subsc.: ",$E($P(IBINS,"^",17),1,59)
- .W !?TAB," Subsc. ID: ",$E($P(IBINS,"^",2),1,59)
- .W !?TAB," Group: ",$E($$GRP^IBCNS($P(IBINS,"^",18)),1,59)
- .W !?TAB," Coord Ben: ",$E($$EXPAND^IBTRE(2.312,.2,$P(IBINS,"^",20)),1,18)
- .W ?TAB2," Billing Phone: ",PHON2
- .W !,?TAB,"Filing Time Fr: ",$$EXPAND^IBTRE(36,.12,$P($G(^DIC(36,+IBINS,0)),"^",12))
- .W ?TAB2," Claims Phone: ",PHON3
- .S X=$P($G(IBINS(IBI,1)),"^",8) I X'="" W !," Policy Comment: " W:($L(X)+23)>IOM ! W " ",X
- .D COMM(+$P(IBINS,"^",18))
- .Q:IBQUIT
- .W !?30,"-----------------------------------"
- W:'IBQUIT !?4,$TR($J(" ",IOM-8)," ","-"),!
- INSQ Q
- ;
- BI ; -- print billing information
- Q:$D(IBCTHDR)
- I ($Y+8)>IOSL D HDR^IBTOBI Q:IBQUIT
- BI1 W !," Billing Information "
- N IBDGCR,IBDGCRU1,IBDGCRU,IBAMNT,IBD,I,IBIFN,IBLN,IBECME
- S IBIFN=+$P(IBTRND,"^",11)
- S IBDGCR=$G(^DGCR(399,IBIFN,0)),IBDGCRU1=$G(^("U1")),IBDGCRU=$G(^("U"))
- S IBECME=$P($P($G(^DGCR(399,IBIFN,"M1")),U,8),";")
- S IBAMNT=$$BILLD^IBTRED1(IBTRN)
- S IBLN=0
- S IBLN=IBLN+1,IBD(IBLN,1)=" Initial Bill: "_$P(IBDGCR,U,1)
- I IBECME D
- . S IBD(IBLN,1)=IBD(IBLN,1)_"e"
- . S IBLN=IBLN+1,IBD(IBLN,1)=" ECME Number: "_IBECME
- S IBLN=IBLN+1,IBD(IBLN,1)=" Bill Status: "_$E($$EXPAND^IBTRE(399,.13,$P(IBDGCR,U,13)),1,14)
- S IBLN=IBLN+1,IBD(IBLN,1)=" Total Charges: $ "_$J($P(IBAMNT,"^"),8)
- S IBLN=IBLN+1,IBD(IBLN,1)=" Amount Paid: $ "_$J($P(IBAMNT,"^",2),8)
- ;
- I $P(IBTRND,U,19) D
- . S IBLN=IBLN+1,IBD(IBLN,1)="Reason Not Billable: "_$$EXPAND^IBTRE(356,.19,$P(IBTRND,U,19))
- . S IBLN=IBLN+1,IBD(IBLN,1)="Additional Comment: "_$P(IBTRND1,U,8)
- . Q
- ;
- I '$P(IBTRND,U,19),$L($P(IBTRND1,U,8))>0 S IBLN=IBLN+1,IBD(IBLN,1)="Additional Comment: "_$P(IBTRND1,U,8)
- ;
- S IBD(1,2)="Estimated Recv (Pri): $ "_$J($P(IBTRND,"^",21),8)
- S IBD(2,2)="Estimated Recv (Sec): $ "_$J($P(IBTRND,"^",22),8)
- S IBD(3,2)="Estimated Recv (ter): $ "_$J($P(IBTRND,"^",23),8)
- S IBD(4,2)=" Means Test Charges: $ "_$J($P(IBTRND,"^",28),8)
- ;
- S I=0 F S I=$O(IBD(I)) Q:'I W !,$G(IBD(I,1)),?39,$E($G(IBD(I,2)),1,36)
- W:'IBQUIT !,?4,$TR($J(" ",IOM-8)," ","-")
- Q
- ;
- SC ; -- print SC information
- I ($Y+7)>IOSL D HDR^IBTOBI Q:IBQUIT
- N VAEL,TAB,IBTRCSC
- D ELIG^VADPT
- W !!," Eligibility Information"
- W !," Primary Eligibility: "_$P(VAEL(1),"^",2)
- W !," Means Test Status: "_$P(VAEL(9),"^",2)
- W !," Service Connected Percent: "_$S(+VAEL(3):+$P(VAEL(3),"^",2)_"%",1:"")
- I 'VAEL(3) W "Patient Not Service Connected",!! G SCQ
- S TAB=5,IBTRCSC=1 D SC^IBTOAT2
- SCQ W:'IBQUIT !?4,$TR($J(" ",IOM-8)," ","-"),!
- Q
- ;
- COMM(DA) ; -- print comments from GROUP plans.
- Q:IBQUIT
- W !,"Group Plan Comments: "
- Q:'$D(^IBA(355.3,DA,11))
- K ^UTILITY($J,"W")
- S DIWL=10,DIWR=IOM-12,DIWF="W"
- S IBJ=0 F S IBJ=$O(^IBA(355.3,DA,11,IBJ)) Q:'IBJ S X=^(IBJ,0) D ^DIWP I IOSL<($Y+3) Q:IBQUIT D HDR^IBTOBI
- Q:IBQUIT
- D ^DIWW
- K ^UTILITY($J,"W")
- Q
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HIBTOBI1 4334 printed Feb 18, 2025@23:53:40 Page 2
- IBTOBI1 ;ALB/AAS - CLAIMS TRACKING BILLING INFORMATION PRINT ;27-OCT-93
- +1 ;;2.0;INTEGRATED BILLING;**276,377,516**;21-MAR-94;Build 123
- +2 ;;Per VA Directive 6402, this routine should not be modified.
- +3 ;
- % ;
- +1 FOR IBTAG="INS","BI","SC","CLIN^IBTOBI4","IR^IBTOBI2","HR^IBTOBI3"
- DO @IBTAG
- if IBQUIT
- QUIT
- +2 QUIT
- +3 ;
- INS ; -- print ins. stuff
- +1 NEW TAB,TAB2,IBALLIN,IBDT,IBINS,IBCNT,I,X,IBI,PHON,PHON2,PHON3,P,IBI
- +2 SET TAB=5
- SET TAB2=45
- SET IBALLIN=1
- +3 SET IBDT=$PIECE(IBTRND,"^",6)
- +4 IF '$GET(IBDT)
- SET IBDT=DT
- +5 WRITE !," Insurance Information "
- +6 ;
- +7 DO ALL^IBCNS1(DFN,"IBINS",1,IBDT)
- +8 IF $GET(IBINS(0))<1
- WRITE !,?TAB,"No Insurance Information",!!!
- GOTO INSQ
- +9 SET IBI=0
- SET IBCNT=0
- FOR
- SET IBI=$ORDER(IBINS(IBI))
- if 'IBI!(IBQUIT)
- QUIT
- SET IBINS=IBINS(IBI,0)
- Begin DoDot:1
- +10 SET IBCNT=IBCNT+1
- +11 IF ($Y+10)>IOSL
- DO HDR^IBTOBI
- if IBQUIT
- QUIT
- +12 IF IBCNT>1
- WRITE !
- +13 WRITE !?TAB," Ins. Co "_IBCNT_": ",$EXTRACT($PIECE($GET(^DIC(36,+IBINS,0)),"^"),1,59)
- +14 SET X=$GET(^DIC(36,+IBINS,.13))
- +15 SET PHON=$SELECT($PIECE(X,"^",3)'="":$PIECE(X,"^",3),1:$PIECE(X,"^"))
- +16 SET PHON2=$SELECT($PIECE(X,"^",2)'="":$PIECE(X,"^",2),1:$PIECE(X,"^"))
- +17 SET P=$SELECT($PIECE(IBETYP,"^",3)=1:5,$PIECE(IBETYP,"^",3)=2:6,$PIECE(IBETYP,"^",3)=3:11,1:1)
- +18 SET PHON3=$SELECT($PIECE(X,"^",P)'="":$PIECE(X,"^",P),1:$PIECE(X,"^"))
- +19 ; MRD;IB*2.0*516 - Rearranged some fields to allow more characters
- +20 ; to be displayed for some fields.
- +21 WRITE !?TAB," Type: ",$EXTRACT($PIECE($GET(^IBE(355.1,+$PIECE($GET(^IBA(355.3,+$PIECE(IBINS,"^",18),0)),"^",9),0)),"^"),1,18)
- +22 WRITE ?TAB2,"Pre-Cert Phone: ",PHON
- +23 WRITE !?TAB," Subsc.: ",$EXTRACT($PIECE(IBINS,"^",17),1,59)
- +24 WRITE !?TAB," Subsc. ID: ",$EXTRACT($PIECE(IBINS,"^",2),1,59)
- +25 WRITE !?TAB," Group: ",$EXTRACT($$GRP^IBCNS($PIECE(IBINS,"^",18)),1,59)
- +26 WRITE !?TAB," Coord Ben: ",$EXTRACT($$EXPAND^IBTRE(2.312,.2,$PIECE(IBINS,"^",20)),1,18)
- +27 WRITE ?TAB2," Billing Phone: ",PHON2
- +28 WRITE !,?TAB,"Filing Time Fr: ",$$EXPAND^IBTRE(36,.12,$PIECE($GET(^DIC(36,+IBINS,0)),"^",12))
- +29 WRITE ?TAB2," Claims Phone: ",PHON3
- +30 SET X=$PIECE($GET(IBINS(IBI,1)),"^",8)
- IF X'=""
- WRITE !," Policy Comment: "
- if ($LENGTH(X)+23)>IOM
- WRITE !
- WRITE " ",X
- +31 DO COMM(+$PIECE(IBINS,"^",18))
- +32 if IBQUIT
- QUIT
- +33 WRITE !?30,"-----------------------------------"
- End DoDot:1
- if IBQUIT
- QUIT
- +34 if 'IBQUIT
- WRITE !?4,$TRANSLATE($JUSTIFY(" ",IOM-8)," ","-"),!
- INSQ QUIT
- +1 ;
- BI ; -- print billing information
- +1 if $DATA(IBCTHDR)
- QUIT
- +2 IF ($Y+8)>IOSL
- DO HDR^IBTOBI
- if IBQUIT
- QUIT
- BI1 WRITE !," Billing Information "
- +1 NEW IBDGCR,IBDGCRU1,IBDGCRU,IBAMNT,IBD,I,IBIFN,IBLN,IBECME
- +2 SET IBIFN=+$PIECE(IBTRND,"^",11)
- +3 SET IBDGCR=$GET(^DGCR(399,IBIFN,0))
- SET IBDGCRU1=$GET(^("U1"))
- SET IBDGCRU=$GET(^("U"))
- +4 SET IBECME=$PIECE($PIECE($GET(^DGCR(399,IBIFN,"M1")),U,8),";")
- +5 SET IBAMNT=$$BILLD^IBTRED1(IBTRN)
- +6 SET IBLN=0
- +7 SET IBLN=IBLN+1
- SET IBD(IBLN,1)=" Initial Bill: "_$PIECE(IBDGCR,U,1)
- +8 IF IBECME
- Begin DoDot:1
- +9 SET IBD(IBLN,1)=IBD(IBLN,1)_"e"
- +10 SET IBLN=IBLN+1
- SET IBD(IBLN,1)=" ECME Number: "_IBECME
- End DoDot:1
- +11 SET IBLN=IBLN+1
- SET IBD(IBLN,1)=" Bill Status: "_$EXTRACT($$EXPAND^IBTRE(399,.13,$PIECE(IBDGCR,U,13)),1,14)
- +12 SET IBLN=IBLN+1
- SET IBD(IBLN,1)=" Total Charges: $ "_$JUSTIFY($PIECE(IBAMNT,"^"),8)
- +13 SET IBLN=IBLN+1
- SET IBD(IBLN,1)=" Amount Paid: $ "_$JUSTIFY($PIECE(IBAMNT,"^",2),8)
- +14 ;
- +15 IF $PIECE(IBTRND,U,19)
- Begin DoDot:1
- +16 SET IBLN=IBLN+1
- SET IBD(IBLN,1)="Reason Not Billable: "_$$EXPAND^IBTRE(356,.19,$PIECE(IBTRND,U,19))
- +17 SET IBLN=IBLN+1
- SET IBD(IBLN,1)="Additional Comment: "_$PIECE(IBTRND1,U,8)
- +18 QUIT
- End DoDot:1
- +19 ;
- +20 IF '$PIECE(IBTRND,U,19)
- IF $LENGTH($PIECE(IBTRND1,U,8))>0
- SET IBLN=IBLN+1
- SET IBD(IBLN,1)="Additional Comment: "_$PIECE(IBTRND1,U,8)
- +21 ;
- +22 SET IBD(1,2)="Estimated Recv (Pri): $ "_$JUSTIFY($PIECE(IBTRND,"^",21),8)
- +23 SET IBD(2,2)="Estimated Recv (Sec): $ "_$JUSTIFY($PIECE(IBTRND,"^",22),8)
- +24 SET IBD(3,2)="Estimated Recv (ter): $ "_$JUSTIFY($PIECE(IBTRND,"^",23),8)
- +25 SET IBD(4,2)=" Means Test Charges: $ "_$JUSTIFY($PIECE(IBTRND,"^",28),8)
- +26 ;
- +27 SET I=0
- FOR
- SET I=$ORDER(IBD(I))
- if 'I
- QUIT
- WRITE !,$GET(IBD(I,1)),?39,$EXTRACT($GET(IBD(I,2)),1,36)
- +28 if 'IBQUIT
- WRITE !,?4,$TRANSLATE($JUSTIFY(" ",IOM-8)," ","-")
- +29 QUIT
- +30 ;
- SC ; -- print SC information
- +1 IF ($Y+7)>IOSL
- DO HDR^IBTOBI
- if IBQUIT
- QUIT
- +2 NEW VAEL,TAB,IBTRCSC
- +3 DO ELIG^VADPT
- +4 WRITE !!," Eligibility Information"
- +5 WRITE !," Primary Eligibility: "_$PIECE(VAEL(1),"^",2)
- +6 WRITE !," Means Test Status: "_$PIECE(VAEL(9),"^",2)
- +7 WRITE !," Service Connected Percent: "_$SELECT(+VAEL(3):+$PIECE(VAEL(3),"^",2)_"%",1:"")
- +8 IF 'VAEL(3)
- WRITE "Patient Not Service Connected",!!
- GOTO SCQ
- +9 SET TAB=5
- SET IBTRCSC=1
- DO SC^IBTOAT2
- SCQ if 'IBQUIT
- WRITE !?4,$TRANSLATE($JUSTIFY(" ",IOM-8)," ","-"),!
- +1 QUIT
- +2 ;
- COMM(DA) ; -- print comments from GROUP plans.
- +1 if IBQUIT
- QUIT
- +2 WRITE !,"Group Plan Comments: "
- +3 if '$DATA(^IBA(355.3,DA,11))
- QUIT
- +4 KILL ^UTILITY($JOB,"W")
- +5 SET DIWL=10
- SET DIWR=IOM-12
- SET DIWF="W"
- +6 SET IBJ=0
- FOR
- SET IBJ=$ORDER(^IBA(355.3,DA,11,IBJ))
- if 'IBJ
- QUIT
- SET X=^(IBJ,0)
- DO ^DIWP
- IF IOSL<($Y+3)
- if IBQUIT
- QUIT
- DO HDR^IBTOBI
- +7 if IBQUIT
- QUIT
- +8 DO ^DIWW
- +9 KILL ^UTILITY($JOB,"W")
- +10 QUIT