- IBTOSUM2 ;ALB/AAS - CLAIMS TRACKING BILLING INFORMATION PRINT ; 29-OCT-93
- ;;2.0;INTEGRATED BILLING;**118**;21-MAR-94
- ;
- PRINT ; - Print the report.
- K X,X2,X3
- D HDR,MAIN,PENAL
- I $O(IBCNT(3,0)) D RNB
- I $O(IBCNT(10,0)) D APPROV
- I $O(IBCNT(20,0)) D DENIAL
- Q
- ;
- MAIN ; - Print main body of report.
- S IBPER(1)=$J($S('IBCNT(2):0,1:IBCNT(2)/IBCNT(1)*100),0,2)
- S IBPER(2)=$J($S('IBCNT(3,0):0,1:+IBCNT(3,0)/IBCNT(1)*100),0,2)
- S IBPER(3)=$J($S('IBCNT(4):0,1:IBCNT(4)/IBCNT(1)*100),0,2)
- S IBPER(4)=$J($S('IBCNT(99):0,1:IBCNT(99)/IBCNT(1)*100),0,2)
- S IBPER(5)=$J($S('IBCNT(13):0,1:IBCNT(13)/IBCNT(1)*100),0,2)
- W !?((IOM/2)-16),"Total ",$S(IBSORT="A":"Admissions",1:"Discharges"),": ",$J(IBCNT(1),11)
- W !?((IOM/2)-31),"Total ",$S(IBSORT="A":"Admissions",1:"Discharges")," with Insurance: ",$J(IBCNT(2),11)," (",IBPER(1),"%)"
- W !?((IOM/2)-25),"Total Billable ",$S(IBSORT="A":"Admissions",1:"Discharges"),": ",$J(+$G(IBCNT(3,0)),11)," (",IBPER(2),"%)"
- ;
- W !?((IOM/2)-34),"Total ",$S(IBSORT="A":"Admissions",1:"Discharges")," Requiring Reviews: ",$J(IBCNT(4),11)," (",IBPER(3),"%)"
- W !?((IOM/2)-25),"Total ",$S(IBSORT="A":"Admissions",1:"Discharges")," Reviewed: ",$J(IBCNT(99),11)," (",IBPER(4),"%)"
- W !?((IOM/2)-39),"Total ",$S(IBSORT="A":"Admissions",1:"Discharges")," Reviewed-Multi Carrier: ",$J(IBCNT(13),11)," (",IBPER(5),"%)"
- ;
- I $E(IOST,1,2)="C-" W ! D PAUSE^VALM1 Q:$D(DIRUT) W @IOF
- ;
- W !!?((IOM/2)-18),"Total Reviews Done: ",$J(IBCNT(5),11)
- W !?((IOM/2)-23),"Number of Days Approved: ",$J(IBCNT(10),11)
- S X=IBCNT(11),X2="0$" D COMMA^%DTC
- W !?((IOM/2)-39),"Amount Collectible Approved for Billing: ",X
- ;
- W !!?((IOM/2)-21),"Number of Days Denied: ",$J(IBCNT(20),11)
- S X=IBCNT(21),X2="0$" D COMMA^%DTC
- W !?((IOM/2)-25),"Amount Denied for Billing: ",X
- ;
- W !!?((IOM/2)-20),"Total Cases Appealed: ",$J(IBCNT(80),11)
- W !?((IOM/2)-25),"Number of Initial Appeals: ",$J(IBCNT(81),11)
- W !?((IOM/2)-28),"Number of Subsequent Appeals: ",$J(IBCNT(82),11)
- ;
- Q
- ;
- PENAL ; -- penalty codes; variable; external form
- ; 1; IBCNT(31); NO PRE ADMISSION CERTIFICATION
- ; 2; IBCNT(32); UNTIMELY PRE ADMISSION CERTIFICATION
- ; 3; IBCNT(33); VA A NON-PROVIDER
- ;
- W !!!?((IOM/2)-14),"Penalty Report: Number of cases Dollars"
- W !?((IOM/2)-14),"--------------- ------------------------------------"
- W !?((IOM/2)-30),"No Pre Admission Certification: ",$J($P(IBCNT(31),U),10)," " S X=+$P(IBCNT(31),U,2),X3=9,X2="0$" D COMMA^%DTC W X
- W !?((IOM/2)-36),"Untimely Pre Admission Certification: ",$J($P(IBCNT(32),U),10)," " S X=+$P(IBCNT(32),U,2),X3=9,X2="0$" D COMMA^%DTC W X
- W !?((IOM/2)-17),"VA a Non-Provider: ",$J($P(IBCNT(33),U),10)," " S X=+$P(IBCNT(33),U,2),X3=9,X2="0$" D COMMA^%DTC W X
- Q
- ;
- RNB ; -- print reasons not billable
- D CNT(3)
- W !!!?((IOM/2)-26),"Reason Not Billable Report: Reason Count"
- W !?((IOM/2)-26),"--------------------------- ------------------------------------"
- S I=0 F S I=$O(IBCNT(3,I)) Q:'I D
- .W !?((IOM/2)+3),$E($P($G(^IBE(356.8,+I,0)),U),1,20)
- .W ?((IOM/2)+24),$J(IBCNT(3,I),6)
- .W " (",$J(IBCNT(3,I)/IBCNT(3,"NB")*100,0,2),"%)"
- ;
- W !?((IOM/2)+23),"-------"
- W !?((IOM/2)+3),"Total:",?((IOM/2)+23),$J(IBCNT(3,"NB"),7)
- Q
- ;
- ;
- DENIAL ; -- print days denied by specialty
- D CNT(20)
- W !!!?((IOM/2)-24),"Days Denied by Specialty: Specialty No. Days Dollars"
- W !?((IOM/2)-24),"------------------------- ------------------------------------"
- S I=0 F S I=$O(IBCNT(20,I)) Q:'I D
- .W !?((IOM/2)+3),$E($P($G(^DIC(45.7,+I,0)),U)_" ",1,16)
- .W ?((IOM/2)+20)," ",$J(IBCNT(20,I),6)
- .S X=IBCNT(21,I),X2="0$" D COMMA^%DTC
- .W ?((IOM/2)+30)," ",X
- Q
- ;
- ;
- APPROV ; -- print days approved by specialty
- D CNT(10)
- W !!!?((IOM/2)-26),"Days Approved by Specialty: Specialty No. Days Dollars"
- W !?((IOM/2)-26),"--------------------------- ------------------------------------"
- S I=0 F S I=$O(IBCNT(10,I)) Q:'I D
- .W !?((IOM/2)+3),$E($P($G(^DIC(45.7,+I,0)),U)_" ",1,16)
- .W ?((IOM/2)+20)," ",$J(IBCNT(10,I),6)
- .S X=IBCNT(11,I),X2="0$" D COMMA^%DTC
- .W ?((IOM/2)+30)," ",X
- ;
- Q
- ;
- HDR ; -- print report header
- W:$E(IOST,1,2)["C-"!(IBPAG>0) @IOF
- W !?((IOM-22)/2),"MCCR/UR SUMMARY REPORT"
- W !?((IOM-3)/2),"for"
- D SITE^IBAUTL S IBSNM=$S($D(^DIC(4,IBFAC,0)):$P(^(0),U),1:"")
- W !?((IOM-($L(IBSNM)+6))/2),IBSNM_" ("_IBSITE_")"
- W !!?((IOM-14)/2),"for "_$S(IBSORT="A":"Admissions",1:"Discharges")
- W !?(IOM-18/2),"From: " S Y=IBBDT D DT^DIQ
- W !?((IOM-16)/2)," To: " S Y=IBEDT D DT^DIQ
- W !!?(IOM-26/2),"Date Printed: ",IBHDT
- S IBPAG=IBPAG+1 W !?(IOM-8/2),"Page: ",IBPAG
- W !?(IOM-26/2),"--------------------------",!!
- Q
- ;
- CHK ; -- check task man stop flag
- I $D(ZTQUEUED),$$S^%ZTLOAD S ZTSTOP=1 D HDR W !!,"....task stopped at user request."
- Q
- ;
- CNT(N) ; -- see if enought room on page for list
- Q:'$G(N)
- S (IBC,I)=0 F S I=$O(IBCNT(N,I)) Q:'I S IBC=IBC+1
- I IOSL<($Y+IBC+3),$E(IOST,1,2)="C-" D PAUSE^VALM1 S:$D(DIRUT) IBQUIT=1 W:'IBQUIT @IOF Q
- I IOSL<($Y+IBC+3) D HDR
- Q
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HIBTOSUM2 5172 printed Feb 18, 2025@23:53:53 Page 2
- IBTOSUM2 ;ALB/AAS - CLAIMS TRACKING BILLING INFORMATION PRINT ; 29-OCT-93
- +1 ;;2.0;INTEGRATED BILLING;**118**;21-MAR-94
- +2 ;
- PRINT ; - Print the report.
- +1 KILL X,X2,X3
- +2 DO HDR
- DO MAIN
- DO PENAL
- +3 IF $ORDER(IBCNT(3,0))
- DO RNB
- +4 IF $ORDER(IBCNT(10,0))
- DO APPROV
- +5 IF $ORDER(IBCNT(20,0))
- DO DENIAL
- +6 QUIT
- +7 ;
- MAIN ; - Print main body of report.
- +1 SET IBPER(1)=$JUSTIFY($SELECT('IBCNT(2):0,1:IBCNT(2)/IBCNT(1)*100),0,2)
- +2 SET IBPER(2)=$JUSTIFY($SELECT('IBCNT(3,0):0,1:+IBCNT(3,0)/IBCNT(1)*100),0,2)
- +3 SET IBPER(3)=$JUSTIFY($SELECT('IBCNT(4):0,1:IBCNT(4)/IBCNT(1)*100),0,2)
- +4 SET IBPER(4)=$JUSTIFY($SELECT('IBCNT(99):0,1:IBCNT(99)/IBCNT(1)*100),0,2)
- +5 SET IBPER(5)=$JUSTIFY($SELECT('IBCNT(13):0,1:IBCNT(13)/IBCNT(1)*100),0,2)
- +6 WRITE !?((IOM/2)-16),"Total ",$SELECT(IBSORT="A":"Admissions",1:"Discharges"),": ",$JUSTIFY(IBCNT(1),11)
- +7 WRITE !?((IOM/2)-31),"Total ",$SELECT(IBSORT="A":"Admissions",1:"Discharges")," with Insurance: ",$JUSTIFY(IBCNT(2),11)," (",IBPER(1),"%)"
- +8 WRITE !?((IOM/2)-25),"Total Billable ",$SELECT(IBSORT="A":"Admissions",1:"Discharges"),": ",$JUSTIFY(+$GET(IBCNT(3,0)),11)," (",IBPER(2),"%)"
- +9 ;
- +10 WRITE !?((IOM/2)-34),"Total ",$SELECT(IBSORT="A":"Admissions",1:"Discharges")," Requiring Reviews: ",$JUSTIFY(IBCNT(4),11)," (",IBPER(3),"%)"
- +11 WRITE !?((IOM/2)-25),"Total ",$SELECT(IBSORT="A":"Admissions",1:"Discharges")," Reviewed: ",$JUSTIFY(IBCNT(99),11)," (",IBPER(4),"%)"
- +12 WRITE !?((IOM/2)-39),"Total ",$SELECT(IBSORT="A":"Admissions",1:"Discharges")," Reviewed-Multi Carrier: ",$JUSTIFY(IBCNT(13),11)," (",IBPER(5),"%)"
- +13 ;
- +14 IF $EXTRACT(IOST,1,2)="C-"
- WRITE !
- DO PAUSE^VALM1
- if $DATA(DIRUT)
- QUIT
- WRITE @IOF
- +15 ;
- +16 WRITE !!?((IOM/2)-18),"Total Reviews Done: ",$JUSTIFY(IBCNT(5),11)
- +17 WRITE !?((IOM/2)-23),"Number of Days Approved: ",$JUSTIFY(IBCNT(10),11)
- +18 SET X=IBCNT(11)
- SET X2="0$"
- DO COMMA^%DTC
- +19 WRITE !?((IOM/2)-39),"Amount Collectible Approved for Billing: ",X
- +20 ;
- +21 WRITE !!?((IOM/2)-21),"Number of Days Denied: ",$JUSTIFY(IBCNT(20),11)
- +22 SET X=IBCNT(21)
- SET X2="0$"
- DO COMMA^%DTC
- +23 WRITE !?((IOM/2)-25),"Amount Denied for Billing: ",X
- +24 ;
- +25 WRITE !!?((IOM/2)-20),"Total Cases Appealed: ",$JUSTIFY(IBCNT(80),11)
- +26 WRITE !?((IOM/2)-25),"Number of Initial Appeals: ",$JUSTIFY(IBCNT(81),11)
- +27 WRITE !?((IOM/2)-28),"Number of Subsequent Appeals: ",$JUSTIFY(IBCNT(82),11)
- +28 ;
- +29 QUIT
- +30 ;
- PENAL ; -- penalty codes; variable; external form
- +1 ; 1; IBCNT(31); NO PRE ADMISSION CERTIFICATION
- +2 ; 2; IBCNT(32); UNTIMELY PRE ADMISSION CERTIFICATION
- +3 ; 3; IBCNT(33); VA A NON-PROVIDER
- +4 ;
- +5 WRITE !!!?((IOM/2)-14),"Penalty Report: Number of cases Dollars"
- +6 WRITE !?((IOM/2)-14),"--------------- ------------------------------------"
- +7 WRITE !?((IOM/2)-30),"No Pre Admission Certification: ",$JUSTIFY($PIECE(IBCNT(31),U),10)," "
- SET X=+$PIECE(IBCNT(31),U,2)
- SET X3=9
- SET X2="0$"
- DO COMMA^%DTC
- WRITE X
- +8 WRITE !?((IOM/2)-36),"Untimely Pre Admission Certification: ",$JUSTIFY($PIECE(IBCNT(32),U),10)," "
- SET X=+$PIECE(IBCNT(32),U,2)
- SET X3=9
- SET X2="0$"
- DO COMMA^%DTC
- WRITE X
- +9 WRITE !?((IOM/2)-17),"VA a Non-Provider: ",$JUSTIFY($PIECE(IBCNT(33),U),10)," "
- SET X=+$PIECE(IBCNT(33),U,2)
- SET X3=9
- SET X2="0$"
- DO COMMA^%DTC
- WRITE X
- +10 QUIT
- +11 ;
- RNB ; -- print reasons not billable
- +1 DO CNT(3)
- +2 WRITE !!!?((IOM/2)-26),"Reason Not Billable Report: Reason Count"
- +3 WRITE !?((IOM/2)-26),"--------------------------- ------------------------------------"
- +4 SET I=0
- FOR
- SET I=$ORDER(IBCNT(3,I))
- if 'I
- QUIT
- Begin DoDot:1
- +5 WRITE !?((IOM/2)+3),$EXTRACT($PIECE($GET(^IBE(356.8,+I,0)),U),1,20)
- +6 WRITE ?((IOM/2)+24),$JUSTIFY(IBCNT(3,I),6)
- +7 WRITE " (",$JUSTIFY(IBCNT(3,I)/IBCNT(3,"NB")*100,0,2),"%)"
- End DoDot:1
- +8 ;
- +9 WRITE !?((IOM/2)+23),"-------"
- +10 WRITE !?((IOM/2)+3),"Total:",?((IOM/2)+23),$JUSTIFY(IBCNT(3,"NB"),7)
- +11 QUIT
- +12 ;
- +13 ;
- DENIAL ; -- print days denied by specialty
- +1 DO CNT(20)
- +2 WRITE !!!?((IOM/2)-24),"Days Denied by Specialty: Specialty No. Days Dollars"
- +3 WRITE !?((IOM/2)-24),"------------------------- ------------------------------------"
- +4 SET I=0
- FOR
- SET I=$ORDER(IBCNT(20,I))
- if 'I
- QUIT
- Begin DoDot:1
- +5 WRITE !?((IOM/2)+3),$EXTRACT($PIECE($GET(^DIC(45.7,+I,0)),U)_" ",1,16)
- +6 WRITE ?((IOM/2)+20)," ",$JUSTIFY(IBCNT(20,I),6)
- +7 SET X=IBCNT(21,I)
- SET X2="0$"
- DO COMMA^%DTC
- +8 WRITE ?((IOM/2)+30)," ",X
- End DoDot:1
- +9 QUIT
- +10 ;
- +11 ;
- APPROV ; -- print days approved by specialty
- +1 DO CNT(10)
- +2 WRITE !!!?((IOM/2)-26),"Days Approved by Specialty: Specialty No. Days Dollars"
- +3 WRITE !?((IOM/2)-26),"--------------------------- ------------------------------------"
- +4 SET I=0
- FOR
- SET I=$ORDER(IBCNT(10,I))
- if 'I
- QUIT
- Begin DoDot:1
- +5 WRITE !?((IOM/2)+3),$EXTRACT($PIECE($GET(^DIC(45.7,+I,0)),U)_" ",1,16)
- +6 WRITE ?((IOM/2)+20)," ",$JUSTIFY(IBCNT(10,I),6)
- +7 SET X=IBCNT(11,I)
- SET X2="0$"
- DO COMMA^%DTC
- +8 WRITE ?((IOM/2)+30)," ",X
- End DoDot:1
- +9 ;
- +10 QUIT
- +11 ;
- HDR ; -- print report header
- +1 if $EXTRACT(IOST,1,2)["C-"!(IBPAG>0)
- WRITE @IOF
- +2 WRITE !?((IOM-22)/2),"MCCR/UR SUMMARY REPORT"
- +3 WRITE !?((IOM-3)/2),"for"
- +4 DO SITE^IBAUTL
- SET IBSNM=$SELECT($DATA(^DIC(4,IBFAC,0)):$PIECE(^(0),U),1:"")
- +5 WRITE !?((IOM-($LENGTH(IBSNM)+6))/2),IBSNM_" ("_IBSITE_")"
- +6 WRITE !!?((IOM-14)/2),"for "_$SELECT(IBSORT="A":"Admissions",1:"Discharges")
- +7 WRITE !?(IOM-18/2),"From: "
- SET Y=IBBDT
- DO DT^DIQ
- +8 WRITE !?((IOM-16)/2)," To: "
- SET Y=IBEDT
- DO DT^DIQ
- +9 WRITE !!?(IOM-26/2),"Date Printed: ",IBHDT
- +10 SET IBPAG=IBPAG+1
- WRITE !?(IOM-8/2),"Page: ",IBPAG
- +11 WRITE !?(IOM-26/2),"--------------------------",!!
- +12 QUIT
- +13 ;
- CHK ; -- check task man stop flag
- +1 IF $DATA(ZTQUEUED)
- IF $$S^%ZTLOAD
- SET ZTSTOP=1
- DO HDR
- WRITE !!,"....task stopped at user request."
- +2 QUIT
- +3 ;
- CNT(N) ; -- see if enought room on page for list
- +1 if '$GET(N)
- QUIT
- +2 SET (IBC,I)=0
- FOR
- SET I=$ORDER(IBCNT(N,I))
- if 'I
- QUIT
- SET IBC=IBC+1
- +3 IF IOSL<($Y+IBC+3)
- IF $EXTRACT(IOST,1,2)="C-"
- DO PAUSE^VALM1
- if $DATA(DIRUT)
- SET IBQUIT=1
- if 'IBQUIT
- WRITE @IOF
- QUIT
- +4 IF IOSL<($Y+IBC+3)
- DO HDR
- +5 QUIT