- IBJDB22 ;ALB/RB - REASONS NOT BILLABLE REPORT (PRINT) ;19-JUN-00
- ;;2.0;INTEGRATED BILLING;**123,159,399**;21-MAR-94;Build 8
- ;
- EN ; - Entry point from IBJDB21.
- ;
- ; - Extract summary data.
- I $G(IBXTRACT) D EXTMO(.IB) G ENQ
- ;
- S (IBQ,ECNT,ETOT,SCNT,STOT)=0 D NOW^%DTC S IBRUN=$$DAT2^IBOUTL(%)
- ;
- S IBDIV="" I 'IBSD S VAUTD(0)=""
- F S IBDIV=$O(VAUTD(IBDIV)) Q:IBDIV="" D I IBQ Q
- . F IBEP=1:1:4 I IBSEL[IBEP D I IBQ Q
- . . D @($S(IBRPT="D":"DET",1:"SUM"))
- ;
- I IBQ G ENQ
- ;
- I 'IBQ,IBRPT="D" D
- . S IBDIV="" I 'IBSD S VAUTD(0)=""
- . F S IBDIV=$O(VAUTD(IBDIV)) Q:IBDIV="" D I IBQ Q
- . . F IBEP=1:1:4 I IBSEL[IBEP D SUM I IBQ Q
- ;
- ENQ K %,IB0,IBDH,IBDIV,IBEP,IBEPH,IBN,IBP,IBPAG,IBPT,IBQ,IBRT,IBRUN,IBSORT
- K IBT1,IBU,GTOT,ECNT,ETOT,SCNT,STOT
- Q
- ;
- DET ; - Print detailed report.
- I '$D(^TMP("IBJDB2",$J,IBDIV,IBEP)) D D PAUSE Q
- . D HDR Q:IBQ W !!,"No entries for this episode.",!
- S IBT1=0,(IBSORT1,IBPT,IB0)=""
- F S IBSORT1=$O(^TMP("IBJDB2",$J,IBDIV,IBEP,IBSORT1)) Q:IBSORT1="" D Q:IBQ
- . D HDR Q:IBQ
- . F S IBPT=$O(^TMP("IBJDB2",$J,IBDIV,IBEP,IBSORT1,IBPT)) Q:IBPT="" S IBP=$G(^(IBPT)) D Q:IBQ
- . . I $Y>(IOSL-8) D PAUSE Q:IBQ D HDR Q:IBQ
- . . D WPAT
- . . F S IB0=$O(^TMP("IBJDB2",$J,IBDIV,IBEP,IBSORT1,IBPT,IB0)) Q:IB0="" S IBN=$G(^(IB0)) D Q:IBQ
- . . . I $Y>(IOSL-8) D PAUSE Q:IBQ D HDR Q:IBQ D WPAT
- . . . W ?45,$$DTE(+IBN),?55,$$DTE($P(IBN,U,2))
- . . . I $P(IBN,U,4)'="" W ?65,$$DTE($P(IBN,U,3)),?76,$E($P(IBN,U,4),1,19)
- . . . E W ?65,$$DTE($P(IBN,U,2)) W ?76,"POSTMASTER"
- . . . S IBU=5 S:12[IBEP IBU=$S(IBSORT="R":6,1:IBU)
- . . . I 12[IBEP W ?97,$E($P(IBN,U,IBU),1,25),?124,$J($P(IBN,U,8),8,2),!
- . . . I 34[IBEP,+$P(IBN,U,11)>0 W ?99,$J($P(IBN,U,8),8,2) F X=2:1:$P($P(IBN,U,11),";",1)+1 W ?114,$P($P(IBN,U,11),";",X)_" "
- . . . I 34[IBEP,+$P(IBN,U,11)<0 W ?99,$J($P(IBN,U,8),8,2),!
- . . . I 34[IBEP,+$P(IBN,U,11)>0 W !
- . . . I $P(IBN,U,9)]"" W ?15,"Comments: ",$P(IBN,U,9) W:12'[IBEP !
- . . . I 12[IBEP,+$P(IBN,U,11)>0,$P(IBN,U,9)="" W ?27,"Related Bills: " F X=2:1:$P($P(IBN,U,11),";",1)+1 W ?41,$P($P(IBN,U,11),";",X)_" "
- . . . I 2[IBEP,$P(IBN,U,10)'="" W ?76,"Nx Adm:",?85,$P(IBN,U,10)
- . . . I 12[IBEP,+$P(IBN,U,11)>0,$P(IBN,U,9)'="" W !,?27,"Related Bills: " F X=2:1:$P($P(IBN,U,11),";",1)+1 W ?41,$P($P(IBN,U,11),";",X)_" "
- . . . I 12[IBEP W ?97,$E($P(IBN,U,$S("PR"[IBSORT:7,1:6)),1,25),!
- . . . S SCNT=SCNT+1,ECNT=ECNT+1
- . . . S STOT=STOT+$P(IBN,U,8),ETOT=ETOT+$P(IBN,U,8)
- . I 'IBQ D TOT2 I $O(^TMP("IBJDB2",$J,IBDIV,IBEP,IBSORT1))'="" D PAUSE Q
- I 'IBQ D TOT1,PAUSE
- ;
- DETQ Q
- ;
- EXTMO(IBSM) ; Extract/transmit data to DM Extract Module
- ; IBSM - Array containing the summary information
- ;
- N I,IB,IBI,IBJ,IBLST,IBR,IBRNB,IBSQ,IBTR,IBTP,IBZ,RNBC,RNBN
- ;
- F I=1:1 S RNBN=$P($T(RNB+I),";;",2,99) Q:RNBN="" D
- . S RNBC=$O(^IBE(356.8,"B",RNBN,0)) Q:'RNBC
- . S IBTR(RNBC)=I
- ;
- S IBRNB="",IBLST=$O(^IBE(356.8,999),-1)*2
- F IBTP=1:1:4 D
- . F IBJ=1:1:IBLST,999,1000 S IB(IBTP,IBJ)=$S(IBJ#2:0,1:"0.00")
- . F S IBRNB=$O(IBSM(0,IBTP,IBRNB)) Q:IBRNB="" D
- . . I '$D(IBTR(IBRNB)) Q
- . . S IBSQ=$S(IBRNB<999:IBTR(IBRNB)*2-1,1:999)
- . . S IBZ=$G(IBSM(0,IBTP,IBRNB))
- . . S IB(IBTP,IBSQ)=+IBZ
- . . S IB(IBTP,IBSQ+1)=$FN(+$P(IBZ,"^",2),"",2)
- . F I=1:1:3 D E^IBJDE(21+(IBTP*3)+I,0)
- . K IB(IBTP)
- ;
- Q
- ;
- SUM ; - Print summary line(s).
- I '$D(IB(IBDIV,IBEP)) D D PAUSE Q
- . D SUMH W !!?14,"No statistics available."
- D SUMH Q:IBQ
- S IBRNB=0 F S IBRNB=$O(IB(IBDIV,IBEP,IBRNB)) Q:'IBRNB D Q:IBQ
- . S IBN=IB(IBDIV,IBEP,IBRNB)
- . W !?14,$P($G(^IBE(356.8,IBRNB,0)),U),?48,$J(+IBN,5),?57,$J($P(IBN,U,2),9,2)
- . S $P(GTOT,U)=$P(GTOT,U)+IBN,$P(GTOT,U,2)=$P(GTOT,U,2)+$P(IBN,U,2)
- D SUMT
- ;
- Q
- ;
- SUMH ; - Print summary header.
- I $E(IOST,1,2)="C-"!$G(IBPAG) W @IOF,*13
- S IBPAG=$G(IBPAG)+1 W ?68,"Page: ",IBPAG
- S IBEPH="REASONS NOT BILLABLE SUMMARY/"_IBEPS(IBEP)
- W !!?(80-$L(IBEPH))\2,IBEPH
- I IBDIV D
- .S IBDH="Division: "_$P($G(^DG(40.8,IBDIV,0)),U)
- .W !?(80-$L(IBDH)\2),IBDH
- ;
- W !?22,"Period : from ",$$DTE(IBBDT)," thru ",$$DTE(IBEDT),!
- W !?24,"Run Date: ",IBRUN
- W !!?46,"No. of",?61,"Total",!?14,"RNB Category",?46,"Entries"
- W ?60,"Amount",!?14,$$DASH(52)
- S GTOT="0^0",IBQ=$$STOP^IBOUTL("Reasons Not Billable Summary")
- Q
- ;
- SUMT ; - Print summary totals.
- W !?47,"-------------------"
- W !?33,"Grand Totals:",?47,$J(+GTOT,6),?56,$J($P(GTOT,U,2),10,2) D PAUSE
- Q
- ;
- HDR ; - Write the detailed report header.
- I $E(IOST,1,2)="C-"!$G(IBPAG) W @IOF,*13
- S IBPAG=$G(IBPAG)+1 W "Reasons Not Billable (RNB) Report "
- W ?88,"Run Date: ",IBRUN,?123,"Page: ",$J(IBPAG,3)
- S X=IBE(IBEP)_" events by "
- I 1234[IBEP D
- . S X=X_$S(IBSORT="P":"provider",IBSORT="S":"specialty",1:"RNB category")
- . I $G(IBSORT1)'="" S X=X_" ("_IBSORT1_")"
- E S X=X_"RNB category"
- S X=X_" from "_$$DTE(IBBDT)_" thru "_$$DTE(IBEDT)_" ("_IBD_")"
- I 12[IBEP D
- . I IBSORT'="R" D
- . . S X=X_" / "_$S(IBSRNB="S":"SPECIFIC",1:"ALL")_" REASONS NOT BILLABLE"
- . I IBSORT'="P" D
- . . S X=X_" / "_$S(IBSPRV="S":"SPECIFIC",1:"ALL")_" PROVIDERS"
- . I IBSORT'="S",IBEP=1 D
- . . S X=X_" / "_$S(IBSISP="S":"SPECIFIC",1:"ALL")_" SPECIALTIES"
- . I IBSORT'="S",IBEP=2 D
- . . S X=X_" / "_$S(IBSOSP="S":"SPECIFIC",1:"ALL")_" SPECIALTIES"
- F I=1:1 W !,$E(X,1,132) S X=$E(X,133,999) I X="" Q
- ;
- I IBDIV W !,"Division: ",$P($G(^DG(40.8,IBDIV,0)),U)
- W !!?26,"Last",?32,"Insurance",?45,"Episode Date Dte Last"
- I 12[IBEP W ?97,$S("PS"[IBSORT:"RNB Category",1:"Provider")
- W !,"Patient",?26,"4SSN",?32,"Carrier"
- W ?45,"Date Entered Edited Last Edited By"
- I 12[IBEP W ?97,$S("PR"[IBSORT:"Specialty",1:"Provider")
- ;
- I 34[IBEP W ?101,"Amount",?114,"Related Bills",!,$$DASH(IOM),!
- E W ?126,"Amount",!,$$DASH(IOM),!
- S IBQ=$$STOP^IBOUTL("Reasons Not Billable Report")
- Q
- ;
- WPAT ; - Write patient data.
- W $P(IBPT,"@@"),?26,$P(IBPT,"@@",2),?32,$E($P(IBP,U),1,12)
- Q
- ;
- TOT1 ; - Print episode totals.
- I 34[IBEP W !?97,"----------",!
- E W !?122,"----------",!
- I 34[IBEP W ?55
- E W ?80
- W "TOTAL FOR EPISODE - Count: ",$J(ECNT,5)," Amount: ",$J(ETOT,10,2)
- S (ECNT,ETOT)=0
- Q
- ;
- TOT2 ; - Print sub-totals.
- I 34[IBEP W ?98,"---------",!
- E W ?123,"---------",!
- I 34[IBEP W ?60
- E W ?85
- W "TOTAL EVENTS - Count: ",$J(SCNT,4)," Amount: ",$J(STOT,9,2),!
- S (SCNT,STOT)=0
- Q
- ;
- DASH(X) ; - Return a dashed line.
- Q $TR($J("",X)," ","=")
- ;
- PAUSE ; - Page break.
- I $E(IOST,1,2)'="C-" Q
- N IBX,DIR,DIRUT,DUOUT,DTOUT,DIROUT,X,Y
- F IBX=$Y:1:(IOSL-3) W !
- S DIR(0)="E" D ^DIR S:$D(DIRUT)!($D(DUOUT)) IBQ=1
- Q
- ;
- DTE(X) ; - Format the date.
- Q $S(X:$E(X,4,5)_"/"_$E(X,6,7)_"/"_$E(X,2,3),1:"")
- ;
- RNB ; - Reasons Not Billable
- ;;NOT INSURED
- ;;SC TREATMENT
- ;;AGENT ORANGE
- ;;IONIZING RADIATION
- ;;ENV. CONTAM.
- ;;SERVICE NOT COVERED
- ;;COVERAGE CANCELED
- ;;NEEDS SC DETERMINATION
- ;;NON-BILLABLE APPOINTMENT TYPE
- ;;INVALID PRESCRIPTION ENTRY
- ;;REFILL ON VISIT DATE
- ;;PRESCRIPTION DELETED
- ;;PRESCRIPTION NOT RELEASED
- ;;DRUG NOT BILLABLE
- ;;HMO POLICY
- ;;REFUSES TO SIGN RELEASE (ROI)
- ;;NON-BILLABLE STOP CODE
- ;;RESEARCH VISIT
- ;;BILL PURGED
- ;;NON-BILLABLE CLINIC
- ;;MILITARY SEXUAL TRAUMA
- ;;CREDENTIALING ISSUE
- ;;INSUFFICIENT DOCUMENTATION
- ;;NO DOCUMENTATION
- ;;NON-BILLABLE PROVIDER (RESID.)
- ;;NON-BILLABLE PROVIDER (OTHER)
- ;;OTHER COMPLIANCE
- ;;OUT OF NETWORK (PPO)
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HIBJDB22 7402 printed Feb 18, 2025@23:49:03 Page 2
- IBJDB22 ;ALB/RB - REASONS NOT BILLABLE REPORT (PRINT) ;19-JUN-00
- +1 ;;2.0;INTEGRATED BILLING;**123,159,399**;21-MAR-94;Build 8
- +2 ;
- EN ; - Entry point from IBJDB21.
- +1 ;
- +2 ; - Extract summary data.
- +3 IF $GET(IBXTRACT)
- DO EXTMO(.IB)
- GOTO ENQ
- +4 ;
- +5 SET (IBQ,ECNT,ETOT,SCNT,STOT)=0
- DO NOW^%DTC
- SET IBRUN=$$DAT2^IBOUTL(%)
- +6 ;
- +7 SET IBDIV=""
- IF 'IBSD
- SET VAUTD(0)=""
- +8 FOR
- SET IBDIV=$ORDER(VAUTD(IBDIV))
- if IBDIV=""
- QUIT
- Begin DoDot:1
- +9 FOR IBEP=1:1:4
- IF IBSEL[IBEP
- Begin DoDot:2
- +10 DO @($SELECT(IBRPT="D":"DET",1:"SUM"))
- End DoDot:2
- IF IBQ
- QUIT
- End DoDot:1
- IF IBQ
- QUIT
- +11 ;
- +12 IF IBQ
- GOTO ENQ
- +13 ;
- +14 IF 'IBQ
- IF IBRPT="D"
- Begin DoDot:1
- +15 SET IBDIV=""
- IF 'IBSD
- SET VAUTD(0)=""
- +16 FOR
- SET IBDIV=$ORDER(VAUTD(IBDIV))
- if IBDIV=""
- QUIT
- Begin DoDot:2
- +17 FOR IBEP=1:1:4
- IF IBSEL[IBEP
- DO SUM
- IF IBQ
- QUIT
- End DoDot:2
- IF IBQ
- QUIT
- End DoDot:1
- +18 ;
- ENQ KILL %,IB0,IBDH,IBDIV,IBEP,IBEPH,IBN,IBP,IBPAG,IBPT,IBQ,IBRT,IBRUN,IBSORT
- +1 KILL IBT1,IBU,GTOT,ECNT,ETOT,SCNT,STOT
- +2 QUIT
- +3 ;
- DET ; - Print detailed report.
- +1 IF '$DATA(^TMP("IBJDB2",$JOB,IBDIV,IBEP))
- Begin DoDot:1
- +2 DO HDR
- if IBQ
- QUIT
- WRITE !!,"No entries for this episode.",!
- End DoDot:1
- DO PAUSE
- QUIT
- +3 SET IBT1=0
- SET (IBSORT1,IBPT,IB0)=""
- +4 FOR
- SET IBSORT1=$ORDER(^TMP("IBJDB2",$JOB,IBDIV,IBEP,IBSORT1))
- if IBSORT1=""
- QUIT
- Begin DoDot:1
- +5 DO HDR
- if IBQ
- QUIT
- +6 FOR
- SET IBPT=$ORDER(^TMP("IBJDB2",$JOB,IBDIV,IBEP,IBSORT1,IBPT))
- if IBPT=""
- QUIT
- SET IBP=$GET(^(IBPT))
- Begin DoDot:2
- +7 IF $Y>(IOSL-8)
- DO PAUSE
- if IBQ
- QUIT
- DO HDR
- if IBQ
- QUIT
- +8 DO WPAT
- +9 FOR
- SET IB0=$ORDER(^TMP("IBJDB2",$JOB,IBDIV,IBEP,IBSORT1,IBPT,IB0))
- if IB0=""
- QUIT
- SET IBN=$GET(^(IB0))
- Begin DoDot:3
- +10 IF $Y>(IOSL-8)
- DO PAUSE
- if IBQ
- QUIT
- DO HDR
- if IBQ
- QUIT
- DO WPAT
- +11 WRITE ?45,$$DTE(+IBN),?55,$$DTE($PIECE(IBN,U,2))
- +12 IF $PIECE(IBN,U,4)'=""
- WRITE ?65,$$DTE($PIECE(IBN,U,3)),?76,$EXTRACT($PIECE(IBN,U,4),1,19)
- +13 IF '$TEST
- WRITE ?65,$$DTE($PIECE(IBN,U,2))
- WRITE ?76,"POSTMASTER"
- +14 SET IBU=5
- if 12[IBEP
- SET IBU=$SELECT(IBSORT="R":6,1:IBU)
- +15 IF 12[IBEP
- WRITE ?97,$EXTRACT($PIECE(IBN,U,IBU),1,25),?124,$JUSTIFY($PIECE(IBN,U,8),8,2),!
- +16 IF 34[IBEP
- IF +$PIECE(IBN,U,11)>0
- WRITE ?99,$JUSTIFY($PIECE(IBN,U,8),8,2)
- FOR X=2:1:$PIECE($PIECE(IBN,U,11),";",1)+1
- WRITE ?114,$PIECE($PIECE(IBN,U,11),";",X)_" "
- +17 IF 34[IBEP
- IF +$PIECE(IBN,U,11)<0
- WRITE ?99,$JUSTIFY($PIECE(IBN,U,8),8,2),!
- +18 IF 34[IBEP
- IF +$PIECE(IBN,U,11)>0
- WRITE !
- +19 IF $PIECE(IBN,U,9)]""
- WRITE ?15,"Comments: ",$PIECE(IBN,U,9)
- if 12'[IBEP
- WRITE !
- +20 IF 12[IBEP
- IF +$PIECE(IBN,U,11)>0
- IF $PIECE(IBN,U,9)=""
- WRITE ?27,"Related Bills: "
- FOR X=2:1:$PIECE($PIECE(IBN,U,11),";",1)+1
- WRITE ?41,$PIECE($PIECE(IBN,U,11),";",X)_" "
- +21 IF 2[IBEP
- IF $PIECE(IBN,U,10)'=""
- WRITE ?76,"Nx Adm:",?85,$PIECE(IBN,U,10)
- +22 IF 12[IBEP
- IF +$PIECE(IBN,U,11)>0
- IF $PIECE(IBN,U,9)'=""
- WRITE !,?27,"Related Bills: "
- FOR X=2:1:$PIECE($PIECE(IBN,U,11),";",1)+1
- WRITE ?41,$PIECE($PIECE(IBN,U,11),";",X)_" "
- +23 IF 12[IBEP
- WRITE ?97,$EXTRACT($PIECE(IBN,U,$SELECT("PR"[IBSORT:7,1:6)),1,25),!
- +24 SET SCNT=SCNT+1
- SET ECNT=ECNT+1
- +25 SET STOT=STOT+$PIECE(IBN,U,8)
- SET ETOT=ETOT+$PIECE(IBN,U,8)
- End DoDot:3
- if IBQ
- QUIT
- End DoDot:2
- if IBQ
- QUIT
- +26 IF 'IBQ
- DO TOT2
- IF $ORDER(^TMP("IBJDB2",$JOB,IBDIV,IBEP,IBSORT1))'=""
- DO PAUSE
- QUIT
- End DoDot:1
- if IBQ
- QUIT
- +27 IF 'IBQ
- DO TOT1
- DO PAUSE
- +28 ;
- DETQ QUIT
- +1 ;
- EXTMO(IBSM) ; Extract/transmit data to DM Extract Module
- +1 ; IBSM - Array containing the summary information
- +2 ;
- +3 NEW I,IB,IBI,IBJ,IBLST,IBR,IBRNB,IBSQ,IBTR,IBTP,IBZ,RNBC,RNBN
- +4 ;
- +5 FOR I=1:1
- SET RNBN=$PIECE($TEXT(RNB+I),";;",2,99)
- if RNBN=""
- QUIT
- Begin DoDot:1
- +6 SET RNBC=$ORDER(^IBE(356.8,"B",RNBN,0))
- if 'RNBC
- QUIT
- +7 SET IBTR(RNBC)=I
- End DoDot:1
- +8 ;
- +9 SET IBRNB=""
- SET IBLST=$ORDER(^IBE(356.8,999),-1)*2
- +10 FOR IBTP=1:1:4
- Begin DoDot:1
- +11 FOR IBJ=1:1:IBLST,999,1000
- SET IB(IBTP,IBJ)=$SELECT(IBJ#2:0,1:"0.00")
- +12 FOR
- SET IBRNB=$ORDER(IBSM(0,IBTP,IBRNB))
- if IBRNB=""
- QUIT
- Begin DoDot:2
- +13 IF '$DATA(IBTR(IBRNB))
- QUIT
- +14 SET IBSQ=$SELECT(IBRNB<999:IBTR(IBRNB)*2-1,1:999)
- +15 SET IBZ=$GET(IBSM(0,IBTP,IBRNB))
- +16 SET IB(IBTP,IBSQ)=+IBZ
- +17 SET IB(IBTP,IBSQ+1)=$FNUMBER(+$PIECE(IBZ,"^",2),"",2)
- End DoDot:2
- +18 FOR I=1:1:3
- DO E^IBJDE(21+(IBTP*3)+I,0)
- +19 KILL IB(IBTP)
- End DoDot:1
- +20 ;
- +21 QUIT
- +22 ;
- SUM ; - Print summary line(s).
- +1 IF '$DATA(IB(IBDIV,IBEP))
- Begin DoDot:1
- +2 DO SUMH
- WRITE !!?14,"No statistics available."
- End DoDot:1
- DO PAUSE
- QUIT
- +3 DO SUMH
- if IBQ
- QUIT
- +4 SET IBRNB=0
- FOR
- SET IBRNB=$ORDER(IB(IBDIV,IBEP,IBRNB))
- if 'IBRNB
- QUIT
- Begin DoDot:1
- +5 SET IBN=IB(IBDIV,IBEP,IBRNB)
- +6 WRITE !?14,$PIECE($GET(^IBE(356.8,IBRNB,0)),U),?48,$JUSTIFY(+IBN,5),?57,$JUSTIFY($PIECE(IBN,U,2),9,2)
- +7 SET $PIECE(GTOT,U)=$PIECE(GTOT,U)+IBN
- SET $PIECE(GTOT,U,2)=$PIECE(GTOT,U,2)+$PIECE(IBN,U,2)
- End DoDot:1
- if IBQ
- QUIT
- +8 DO SUMT
- +9 ;
- +10 QUIT
- +11 ;
- SUMH ; - Print summary header.
- +1 IF $EXTRACT(IOST,1,2)="C-"!$GET(IBPAG)
- WRITE @IOF,*13
- +2 SET IBPAG=$GET(IBPAG)+1
- WRITE ?68,"Page: ",IBPAG
- +3 SET IBEPH="REASONS NOT BILLABLE SUMMARY/"_IBEPS(IBEP)
- +4 WRITE !!?(80-$LENGTH(IBEPH))\2,IBEPH
- +5 IF IBDIV
- Begin DoDot:1
- +6 SET IBDH="Division: "_$PIECE($GET(^DG(40.8,IBDIV,0)),U)
- +7 WRITE !?(80-$LENGTH(IBDH)\2),IBDH
- End DoDot:1
- +8 ;
- +9 WRITE !?22,"Period : from ",$$DTE(IBBDT)," thru ",$$DTE(IBEDT),!
- +10 WRITE !?24,"Run Date: ",IBRUN
- +11 WRITE !!?46,"No. of",?61,"Total",!?14,"RNB Category",?46,"Entries"
- +12 WRITE ?60,"Amount",!?14,$$DASH(52)
- +13 SET GTOT="0^0"
- SET IBQ=$$STOP^IBOUTL("Reasons Not Billable Summary")
- +14 QUIT
- +15 ;
- SUMT ; - Print summary totals.
- +1 WRITE !?47,"-------------------"
- +2 WRITE !?33,"Grand Totals:",?47,$JUSTIFY(+GTOT,6),?56,$JUSTIFY($PIECE(GTOT,U,2),10,2)
- DO PAUSE
- +3 QUIT
- +4 ;
- HDR ; - Write the detailed report header.
- +1 IF $EXTRACT(IOST,1,2)="C-"!$GET(IBPAG)
- WRITE @IOF,*13
- +2 SET IBPAG=$GET(IBPAG)+1
- WRITE "Reasons Not Billable (RNB) Report "
- +3 WRITE ?88,"Run Date: ",IBRUN,?123,"Page: ",$JUSTIFY(IBPAG,3)
- +4 SET X=IBE(IBEP)_" events by "
- +5 IF 1234[IBEP
- Begin DoDot:1
- +6 SET X=X_$SELECT(IBSORT="P":"provider",IBSORT="S":"specialty",1:"RNB category")
- +7 IF $GET(IBSORT1)'=""
- SET X=X_" ("_IBSORT1_")"
- End DoDot:1
- +8 IF '$TEST
- SET X=X_"RNB category"
- +9 SET X=X_" from "_$$DTE(IBBDT)_" thru "_$$DTE(IBEDT)_" ("_IBD_")"
- +10 IF 12[IBEP
- Begin DoDot:1
- +11 IF IBSORT'="R"
- Begin DoDot:2
- +12 SET X=X_" / "_$SELECT(IBSRNB="S":"SPECIFIC",1:"ALL")_" REASONS NOT BILLABLE"
- End DoDot:2
- +13 IF IBSORT'="P"
- Begin DoDot:2
- +14 SET X=X_" / "_$SELECT(IBSPRV="S":"SPECIFIC",1:"ALL")_" PROVIDERS"
- End DoDot:2
- +15 IF IBSORT'="S"
- IF IBEP=1
- Begin DoDot:2
- +16 SET X=X_" / "_$SELECT(IBSISP="S":"SPECIFIC",1:"ALL")_" SPECIALTIES"
- End DoDot:2
- +17 IF IBSORT'="S"
- IF IBEP=2
- Begin DoDot:2
- +18 SET X=X_" / "_$SELECT(IBSOSP="S":"SPECIFIC",1:"ALL")_" SPECIALTIES"
- End DoDot:2
- End DoDot:1
- +19 FOR I=1:1
- WRITE !,$EXTRACT(X,1,132)
- SET X=$EXTRACT(X,133,999)
- IF X=""
- QUIT
- +20 ;
- +21 IF IBDIV
- WRITE !,"Division: ",$PIECE($GET(^DG(40.8,IBDIV,0)),U)
- +22 WRITE !!?26,"Last",?32,"Insurance",?45,"Episode Date Dte Last"
- +23 IF 12[IBEP
- WRITE ?97,$SELECT("PS"[IBSORT:"RNB Category",1:"Provider")
- +24 WRITE !,"Patient",?26,"4SSN",?32,"Carrier"
- +25 WRITE ?45,"Date Entered Edited Last Edited By"
- +26 IF 12[IBEP
- WRITE ?97,$SELECT("PR"[IBSORT:"Specialty",1:"Provider")
- +27 ;
- +28 IF 34[IBEP
- WRITE ?101,"Amount",?114,"Related Bills",!,$$DASH(IOM),!
- +29 IF '$TEST
- WRITE ?126,"Amount",!,$$DASH(IOM),!
- +30 SET IBQ=$$STOP^IBOUTL("Reasons Not Billable Report")
- +31 QUIT
- +32 ;
- WPAT ; - Write patient data.
- +1 WRITE $PIECE(IBPT,"@@"),?26,$PIECE(IBPT,"@@",2),?32,$EXTRACT($PIECE(IBP,U),1,12)
- +2 QUIT
- +3 ;
- TOT1 ; - Print episode totals.
- +1 IF 34[IBEP
- WRITE !?97,"----------",!
- +2 IF '$TEST
- WRITE !?122,"----------",!
- +3 IF 34[IBEP
- WRITE ?55
- +4 IF '$TEST
- WRITE ?80
- +5 WRITE "TOTAL FOR EPISODE - Count: ",$JUSTIFY(ECNT,5)," Amount: ",$JUSTIFY(ETOT,10,2)
- +6 SET (ECNT,ETOT)=0
- +7 QUIT
- +8 ;
- TOT2 ; - Print sub-totals.
- +1 IF 34[IBEP
- WRITE ?98,"---------",!
- +2 IF '$TEST
- WRITE ?123,"---------",!
- +3 IF 34[IBEP
- WRITE ?60
- +4 IF '$TEST
- WRITE ?85
- +5 WRITE "TOTAL EVENTS - Count: ",$JUSTIFY(SCNT,4)," Amount: ",$JUSTIFY(STOT,9,2),!
- +6 SET (SCNT,STOT)=0
- +7 QUIT
- +8 ;
- DASH(X) ; - Return a dashed line.
- +1 QUIT $TRANSLATE($JUSTIFY("",X)," ","=")
- +2 ;
- PAUSE ; - Page break.
- +1 IF $EXTRACT(IOST,1,2)'="C-"
- QUIT
- +2 NEW IBX,DIR,DIRUT,DUOUT,DTOUT,DIROUT,X,Y
- +3 FOR IBX=$Y:1:(IOSL-3)
- WRITE !
- +4 SET DIR(0)="E"
- DO ^DIR
- if $DATA(DIRUT)!($DATA(DUOUT))
- SET IBQ=1
- +5 QUIT
- +6 ;
- DTE(X) ; - Format the date.
- +1 QUIT $SELECT(X:$EXTRACT(X,4,5)_"/"_$EXTRACT(X,6,7)_"/"_$EXTRACT(X,2,3),1:"")
- +2 ;
- RNB ; - Reasons Not Billable
- +1 ;;NOT INSURED
- +2 ;;SC TREATMENT
- +3 ;;AGENT ORANGE
- +4 ;;IONIZING RADIATION
- +5 ;;ENV. CONTAM.
- +6 ;;SERVICE NOT COVERED
- +7 ;;COVERAGE CANCELED
- +8 ;;NEEDS SC DETERMINATION
- +9 ;;NON-BILLABLE APPOINTMENT TYPE
- +10 ;;INVALID PRESCRIPTION ENTRY
- +11 ;;REFILL ON VISIT DATE
- +12 ;;PRESCRIPTION DELETED
- +13 ;;PRESCRIPTION NOT RELEASED
- +14 ;;DRUG NOT BILLABLE
- +15 ;;HMO POLICY
- +16 ;;REFUSES TO SIGN RELEASE (ROI)
- +17 ;;NON-BILLABLE STOP CODE
- +18 ;;RESEARCH VISIT
- +19 ;;BILL PURGED
- +20 ;;NON-BILLABLE CLINIC
- +21 ;;MILITARY SEXUAL TRAUMA
- +22 ;;CREDENTIALING ISSUE
- +23 ;;INSUFFICIENT DOCUMENTATION
- +24 ;;NO DOCUMENTATION
- +25 ;;NON-BILLABLE PROVIDER (RESID.)
- +26 ;;NON-BILLABLE PROVIDER (OTHER)
- +27 ;;OTHER COMPLIANCE
- +28 ;;OUT OF NETWORK (PPO)