| 1 | IBJDF6 ;ALB/RB - MISCELLANEOUS BILLS FOLLOW-UP REPORT ;15-APR-00
 | 
|---|
| 2 |  ;;2.0;INTEGRATED BILLING;**123,159**;21-MAR-94
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 | EN ; - Option entry point.
 | 
|---|
| 5 |  ;
 | 
|---|
| 6 | SEL ; - Select type of receivables to print.
 | 
|---|
| 7 |  K IBCTG S IBPRT="Choose which type of receivables to print:"
 | 
|---|
| 8 |  S IBCTG(1)="MEDICARE"
 | 
|---|
| 9 |  S IBCTG(2)="NO-FAULT AUTO ACCIDENT"
 | 
|---|
| 10 |  S IBCTG(3)="TORT FEASOR"
 | 
|---|
| 11 |  S IBCTG(4)="WORKMEN'S COMP"
 | 
|---|
| 12 |  S IBCTG(5)="CURRENT EMPLOYEE"
 | 
|---|
| 13 |  S IBCTG(6)="EX-EMPLOYEE"
 | 
|---|
| 14 |  S IBCTG(7)="FEDERAL AGENCIES-REFUND"
 | 
|---|
| 15 |  S IBCTG(8)="FEDERAL AGENCIES-REIMBURSEMENT"
 | 
|---|
| 16 |  S IBCTG(9)="MILITARY"
 | 
|---|
| 17 |  S IBCTG(10)="INTERAGENCY"
 | 
|---|
| 18 |  S IBCTG(11)="VENDOR"
 | 
|---|
| 19 |  S IBCTG(12)="ALL OF THE ABOVE"
 | 
|---|
| 20 |  ;
 | 
|---|
| 21 |  S IBSEL=$$MLTP^IBJD(IBPRT,.IBCTG,1) I 'IBSEL G ENQ
 | 
|---|
| 22 |  S (IB0,IB1)=0
 | 
|---|
| 23 |  F X=1:1 S Y=$P(IBSEL,",",X) Q:'Y  D
 | 
|---|
| 24 |  . I Y=1!(Y=2)!(Y=3)!(Y=4) S IB0=1 Q
 | 
|---|
| 25 |  . S IB1=1
 | 
|---|
| 26 |  G ENQ:'IBSEL S IBSEL=","_IBSEL
 | 
|---|
| 27 |  ;
 | 
|---|
| 28 |  ; - Sort by division.
 | 
|---|
| 29 |  S IBSDV=0 I IB0 S IBSDV=$$SDIV^IBJD() I IBSDV["^" G ENQ
 | 
|---|
| 30 |  ;
 | 
|---|
| 31 |  ; - Select a detailed or summary report.
 | 
|---|
| 32 |  D DS^IBJD I IBRPT["^" G ENQ
 | 
|---|
| 33 |  ;
 | 
|---|
| 34 |  I IBSDV S IB2=0 F X=2:1 S Y=$P(IBSEL,",",X) Q:'Y  D:Y>4
 | 
|---|
| 35 |  . I 'IB2 D  S IB2=1
 | 
|---|
| 36 |  . . W !!,"NOTE: The receivables of these types will NOT be sorted by division:",!,*7
 | 
|---|
| 37 |  . W !?6,IBCTG(Y)
 | 
|---|
| 38 |  ;
 | 
|---|
| 39 |  G DEV:IBRPT="S"
 | 
|---|
| 40 |  ;
 | 
|---|
| 41 |  ; - Determine sorting (By name or Last 4 SSN)
 | 
|---|
| 42 |  S (IBSN,X)=""
 | 
|---|
| 43 |  I IB0 D  I IBSN="^"!(X="^") G ENQ
 | 
|---|
| 44 |  . S IBSN=$$SNL^IBJD() Q:IBSN="^"
 | 
|---|
| 45 |  . W !!,"These receivables will be sorted by PATIENT/SSN:",!
 | 
|---|
| 46 |  . F X=2:1 S Y=$P(IBSEL,",",X) Q:'Y  I Y<5 W !?6,IBCTG(Y)
 | 
|---|
| 47 |  . ; - Determine the PATIENT range
 | 
|---|
| 48 |  . S X=$$INTV^IBJD("PATIENT "_$S(IBSN="N":"NAME",1:"LAST 4")) Q:X="^"
 | 
|---|
| 49 |  . S IBSNF=$P(X,"^",1),IBSNL=$P(X,"^",2),IBSNA=$P(X,"^",3)
 | 
|---|
| 50 |  ;
 | 
|---|
| 51 |  ; - Determine range of debtors.
 | 
|---|
| 52 |  I 'IB1 G AGE
 | 
|---|
| 53 |  ;
 | 
|---|
| 54 |  I IB0 D
 | 
|---|
| 55 |  . W !!,"These receivables will be sorted by DEBTOR:",!
 | 
|---|
| 56 |  . F X=2:1 S Y=$P(IBSEL,",",X) Q:'Y  I Y>4 W !?6,IBCTG(Y)
 | 
|---|
| 57 |  S VAUTD(0)=""
 | 
|---|
| 58 |  ;
 | 
|---|
| 59 |  ; - Determine the DEBTOR range
 | 
|---|
| 60 |  S X=$$INTV^IBJD("DEBTOR") G ENQ:X="^"
 | 
|---|
| 61 |  S IBSDF=$P(X,"^",1),IBSDL=$P(X,"^",2),IBSDA=$P(X,"^",3)
 | 
|---|
| 62 |  ;
 | 
|---|
| 63 | AGE ; - Determine if the active receivable must be within an age range.
 | 
|---|
| 64 |  W !!,"Include (A)LL active AR's or those within an AGE (R)ANGE: ALL// "
 | 
|---|
| 65 |  R X:DTIME G:'$T!(X["^") ENQ S:X="" X="A" S X=$E(X)
 | 
|---|
| 66 |  I "ARar"'[X S IBOFF=1 D HELP^IBJDF6H G AGE
 | 
|---|
| 67 |  W "  ",$S("Rr"[X:"RANGE",1:"ALL")
 | 
|---|
| 68 |  S IBSMN=$S("Rr"[X:"R",1:"A") G:IBSMN="A" AMT
 | 
|---|
| 69 |  ;
 | 
|---|
| 70 |  ; - Determine the active receivable age range.
 | 
|---|
| 71 |  S DIR(0)="NA^1:99999"
 | 
|---|
| 72 |  S DIR("A")="Enter the minimum age of the active receivable: "
 | 
|---|
| 73 |  S DIR("T")=DTIME,DIR("?")="^S IBOFF=9 D HELP^IBJDF6H"
 | 
|---|
| 74 |  D ^DIR K DIR G:$D(DIRUT)!$D(DTOUT)!$D(DUOUT)!$D(DIROUT) ENQ
 | 
|---|
| 75 |  S IBSMN=+Y W "   ",IBSMN," DAYS" K DIROUT,DTOUT,DUOUT,DIRUT
 | 
|---|
| 76 |  ;
 | 
|---|
| 77 |  S DIR(0)="NA^"_IBSMN_":99999",DIR("B")=IBSMN
 | 
|---|
| 78 |  S DIR("A")="Enter the maximum age of the active receivable: "
 | 
|---|
| 79 |  S DIR("T")=DTIME,DIR("?")="^S IBOFF=14 D HELP^IBJDF6H"
 | 
|---|
| 80 |  D ^DIR K DIR G:$D(DIRUT)!$D(DTOUT)!$D(DUOUT)!$D(DIROUT) ENQ
 | 
|---|
| 81 |  S IBSMX=+Y W "   ",IBSMX," DAYS" K DIROUT,DTOUT,DUOUT,DIRUT
 | 
|---|
| 82 |  ;
 | 
|---|
| 83 | AMT ; - Print receivables with a minimum balance.
 | 
|---|
| 84 |  S DIR(0)="Y",DIR("B")="NO" W !
 | 
|---|
| 85 |  S DIR("A")="Print receivables with a minimum balance"
 | 
|---|
| 86 |  S DIR("T")=DTIME,DIR("?")="^S IBOFF=19 D HELP^IBJDF6H"
 | 
|---|
| 87 |  D ^DIR K DIR G:$D(DIRUT)!$D(DTOUT)!$D(DUOUT)!$D(DIROUT) ENQ
 | 
|---|
| 88 |  S IBSAM=+Y K DIROUT,DTOUT,DUOUT,DIRUT G:'IBSAM EXCEL
 | 
|---|
| 89 |  ;
 | 
|---|
| 90 | AMT1 ; - Determine the minimum balance amount.
 | 
|---|
| 91 |  S DIR(0)="NA^1:9999999"
 | 
|---|
| 92 |  S DIR("A")="Enter the minimum balance amount of the receivable: "
 | 
|---|
| 93 |  S DIR("T")=DTIME,DIR("?")="^S IBOFF=26 D HELP^IBJDF6H"
 | 
|---|
| 94 |  D ^DIR K DIR G:$D(DIRUT)!$D(DTOUT)!$D(DUOUT)!$D(DIROUT) ENQ
 | 
|---|
| 95 |  S IBSAM=+Y K DIROUT,DTOUT,DUOUT,DIRUT
 | 
|---|
| 96 |  ;
 | 
|---|
| 97 | EXCEL ; - Determine whether to gather data for Excel report.
 | 
|---|
| 98 |  S IBEXCEL=$$EXCEL^IBJD() G ENQ:IBEXCEL="^"
 | 
|---|
| 99 |  I IBEXCEL S IBSH=1,IBSH1="M" G DEV
 | 
|---|
| 100 |  ;
 | 
|---|
| 101 | BCH ; - Determine whether to include the bill comment history.
 | 
|---|
| 102 |  S DIR(0)="Y",DIR("B")="NO" W !
 | 
|---|
| 103 |  S DIR("A")="Include the bill comment history with each receivable"
 | 
|---|
| 104 |  S DIR("T")=DTIME,DIR("?")="^S IBOFF=31 D HELP^IBJDF6H"
 | 
|---|
| 105 |  D ^DIR K DIR G:$D(DIRUT)!$D(DTOUT)!$D(DUOUT)!$D(DIROUT) ENQ
 | 
|---|
| 106 |  S IBSH=+Y K DIROUT,DTOUT,DUOUT,DIRUT G:'IBSH DEV
 | 
|---|
| 107 |  ;
 | 
|---|
| 108 |  S DIR(0)="SA^A:ALL;M:MOST RECENT"
 | 
|---|
| 109 |  S DIR("A")="Print (A)LL comments or the (M)OST RECENT comment: "
 | 
|---|
| 110 |  S DIR("B")="ALL",DIR("T")=DTIME,DIR("?")="^S IBOFF=40 D HELP^IBJDF6H"
 | 
|---|
| 111 |  D ^DIR K DIR G:$D(DIRUT)!$D(DTOUT)!$D(DUOUT)!$D(DIROUT) ENQ
 | 
|---|
| 112 |  S IBSH1=Y K DIROUT,DTOUT,DUOUT,DIRUT G:IBSH1="A" DEV
 | 
|---|
| 113 |  ;
 | 
|---|
| 114 |  S DIR(0)="NAO^1:999"
 | 
|---|
| 115 |  S DIR("A")="Minimum age of most recent bill comment (optional): "
 | 
|---|
| 116 |  S DIR("T")=DTIME,DIR("?")="^S IBOFF=47 D HELP^IBJDF6H"
 | 
|---|
| 117 |  D ^DIR K DIR G:$D(DTOUT)!$D(DUOUT)!$D(DIROUT) ENQ
 | 
|---|
| 118 |  S IBSH2=+Y W:IBSH2 " DAYS" K DIROUT,DTOUT,DUOUT,DIRUT
 | 
|---|
| 119 |  ;
 | 
|---|
| 120 | DEV ; - Select a device.
 | 
|---|
| 121 |  K IB0,IB1,IB2
 | 
|---|
| 122 |  I '$G(IBEXCEL) D
 | 
|---|
| 123 |  . S X=$S(IBRPT="S":80,1:132)
 | 
|---|
| 124 |  . W !!,"You will need a ",X," column printer for this report!",!
 | 
|---|
| 125 |  . W !,"Note: This report will search through all  active  receivables."
 | 
|---|
| 126 |  . W !,"      You should  queue it to run after normal business hours.",!
 | 
|---|
| 127 |  ;
 | 
|---|
| 128 |  I $G(IBEXCEL) D EXMSG^IBJD
 | 
|---|
| 129 |  ;
 | 
|---|
| 130 |  W ! S %ZIS="QM" D ^%ZIS G:POP ENQ
 | 
|---|
| 131 |  I $D(IO("Q")) D  G ENQ
 | 
|---|
| 132 |  . S ZTRTN="DQ^IBJDF6",ZTDESC="IB - MISC. BILLS FOLLOW-UP REPORT"
 | 
|---|
| 133 |  . F I="IB*","VAUTD","VAUTD(" S ZTSAVE(I)=""
 | 
|---|
| 134 |  . D ^%ZTLOAD
 | 
|---|
| 135 |  . I $D(ZTSK) W !!,"This job has been queued. Task number is ",ZTSK,"."
 | 
|---|
| 136 |  . E  W !!,"Unable to queue this job."
 | 
|---|
| 137 |  . K ZTSK,IO("Q") D HOME^%ZIS
 | 
|---|
| 138 |  ;
 | 
|---|
| 139 |  U IO
 | 
|---|
| 140 |  ;
 | 
|---|
| 141 |  ; If called by the Extraction Module, change extract status for the 3 
 | 
|---|
| 142 |  ; reports: No-fault auto accident, Tort Feasor and Workman's Comp
 | 
|---|
| 143 | DQ I $G(IBXTRACT) F I=22:1:24 D E^IBJDE(I,1)
 | 
|---|
| 144 |  ;
 | 
|---|
| 145 |  D ST^IBJDF61 ;    Compile and print the report.
 | 
|---|
| 146 |  ;
 | 
|---|
| 147 | ENQ K IBSDA,IBSDF,IBSDL,IBSDV,IBSEL,IBSN,IBSNA,IBSNF,IBSNL,IBSH,IBSH1,IBSH2
 | 
|---|
| 148 |  K IBCTG,IBCTS,IBOFF,IBPRT,IBRPT,IBSAM,IBSMN,IBSMX,IBTEXT,IBI,DIROUT
 | 
|---|
| 149 |  K DTOUT,DUOUT,DIRUT,POP,VAUTD,%ZIS,ZTDESC,ZTRTN,ZTSAVE,I,X,Y,Z
 | 
|---|
| 150 |  Q
 | 
|---|