| 1 | IBOTR1 ;ALB/CPM - INSURANCE PAYMENT TREND REPORT - USER INTERFACE ; 5-JUN-91
 | 
|---|
| 2 |  ;;2.0;INTEGRATED BILLING;**21,42,72,100,118,128**;21-MAR-94
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 |  ;MAP TO DGCROTR1
 | 
|---|
| 5 |  ;
 | 
|---|
| 6 | OUTPT W !!,"Select (I)NPATIENT, (O)UTPATIENT, or (B)OTH bill records: BOTH// "
 | 
|---|
| 7 |  R X:DTIME G:'$T!(X["^") END S:X="" X="B" S X=$E(X)
 | 
|---|
| 8 |  I "BIObio"'[X S IBOFF=1 D HELP^IBOTR11 G OUTPT
 | 
|---|
| 9 |  W "  ",$S("Ii"[X:"INPATIENT","Oo"[X:"OUTPATIENT",1:"BOTH")
 | 
|---|
| 10 |  S (IBBRT,IBBRTY)=$S("Ii"[X:"I","Oo"[X:"O",1:"A") I "Bb"'[X G ARST
 | 
|---|
| 11 |  ;
 | 
|---|
| 12 | REPTY W !,"Print (C)OMBINED or (S)EPARATE reports: COMBINED// "
 | 
|---|
| 13 |  R X:DTIME G:'$T!(X["^") END S:X="" X="C" S X=$E(X)
 | 
|---|
| 14 |  I "CScs"'[X S IBOFF=7 D HELP^IBOTR11 G REPTY
 | 
|---|
| 15 |  W "  ",$S("Cc"[X:"COMBINED",1:"SEPARATE")
 | 
|---|
| 16 |  S IBBRN=$S("Cc"[X:"C",1:"S")
 | 
|---|
| 17 |  ;
 | 
|---|
| 18 | ARST W !,"Select (O)PEN, (C)LOSED, or (B)OTH types of bills: BOTH// "
 | 
|---|
| 19 |  R X:DTIME G:'$T!(X["^") END S:X="" X="B" S X=$E(X)
 | 
|---|
| 20 |  I "BCObco"'[X S IBOFF=14 D HELP^IBOTR11 G ARST
 | 
|---|
| 21 |  W "  ",$S("Oo"[X:"OPEN","Cc"[X:"CLOSED",1:"BOTH")
 | 
|---|
| 22 |  S IBARST=$S("Oo"[X:"O","Cc"[X:"C",1:"A")
 | 
|---|
| 23 |  ;
 | 
|---|
| 24 | CANC I $G(IBAF)=16 G QDATE ; Skip if CANCEL BILL? field was selected.
 | 
|---|
| 25 |  S DIR(0)="Y",DIR("B")="NO"
 | 
|---|
| 26 |  S DIR("A")="Do you want to include cancelled bills"
 | 
|---|
| 27 |  S DIR("?")="^S IBOFF=20 D HELP^IBOTR11"
 | 
|---|
| 28 |  D ^DIR K DIR S IBCANC=+Y I $D(DIRUT)!$D(DTOUT)!$D(DUOUT) G END
 | 
|---|
| 29 |  ;
 | 
|---|
| 30 | QDATE S DIR(0)="SA^1:DATE BILL PRINTED;2:TREATMENT DATE"
 | 
|---|
| 31 |  S DIR("A")="Print report by 1-DATE BILL PRINTED or 2-TREATMENT DATE: "
 | 
|---|
| 32 |  S DIR("B")="1",DIR("T")=20,DIR("?")="^S IBOFF=25 D HELP^IBOTR11"
 | 
|---|
| 33 |  W ! D ^DIR K DIR G:Y=""!(X="^") END S IBDF=Y,IBDFN=Y(0)
 | 
|---|
| 34 | BEGDT S %DT="AEPX",%DT("A")="   Start with "_IBDFN_": "
 | 
|---|
| 35 |  D ^%DT K %DT G:Y<0 END S IBBDT=Y
 | 
|---|
| 36 |  S %DT="AEPX",%DT("A")="        Go to "_IBDFN_": "
 | 
|---|
| 37 |  D ^%DT K %DT G:Y<0 END S IBEDT=Y
 | 
|---|
| 38 |  I Y<IBBDT W *7,!!?3,"The END DATE must follow the BEGIN DATE.",! G BEGDT
 | 
|---|
| 39 |  ;
 | 
|---|
| 40 | PRINT W !!,"Print (M)AIN REPORT, (S)UMMARY, or (G)RAND TOTALS: M// "
 | 
|---|
| 41 |  R X:DTIME G:'$T!(X["^") END S:X="" X="M" S X=$E(X)
 | 
|---|
| 42 |  I "GMSgms"'[X S IBOFF=30 D HELP^IBOTR11 G PRINT
 | 
|---|
| 43 |  W "  ",$S("Mm"[X:"MAIN REPORT","Ss"[X:"SUMMARY",1:"GRAND TOTALS")
 | 
|---|
| 44 |  S IBPRNT=$S("Mm"[X:"M","Ss"[X:"S",1:"G")
 | 
|---|
| 45 |  ;
 | 
|---|
| 46 | INS W !,"Run ",$S("MS"[IBPRNT:"report",1:"totals")
 | 
|---|
| 47 |  W " for (S)PECIFIC insurance companies or a (R)ANGE: RANGE// "
 | 
|---|
| 48 |  R X:DTIME G:'$T!(X["^") END S:X="" X="R" S X=$E(X)
 | 
|---|
| 49 |  I "RSrs"'[X S IBOFF=38 D HELP^IBOTR11 G INS
 | 
|---|
| 50 |  W "  ",$S("Ss"[X:"SPECIFIC",1:"RANGE") G:"Rr"[X INSO1 K IBICPT
 | 
|---|
| 51 | INSO S DIC="^DIC(36,",DIC(0)="AEQMZ",DIC("S")="I '$G(^(5))"
 | 
|---|
| 52 |  S DIC("A")="   Select "_$S($G(IBICPT):"another ",1:"")_"INSURANCE CO.: "
 | 
|---|
| 53 |  D ^DIC K DIC I Y'>0 G END:'$G(IBICPT),INSO3
 | 
|---|
| 54 |  I $D(IBICPT(+Y)) D  G INSO
 | 
|---|
| 55 |  .W !!?3,"Already selected. Choose another insurance company.",!,*7
 | 
|---|
| 56 |  S IBICPT(+Y)="",IBICPT=$G(IBICPT)+1 G INSO
 | 
|---|
| 57 | INSO1 W !?3,"Start with INSURANCE COMPANY: FIRST// " R X:DTIME
 | 
|---|
| 58 |  G:'$T!(X["^") END I $E(X)="?" S IBOFF=43 D HELP^IBOTR11 G INSO1
 | 
|---|
| 59 |  S IBICF=X
 | 
|---|
| 60 | INSO2 W !?8,"Go to INSURANCE COMPANY: LAST// " R X:DTIME
 | 
|---|
| 61 |  G:'$T!(X["^") END I $E(X)="?" S IBOFF=49 D HELP^IBOTR11 G INSO2
 | 
|---|
| 62 |  I X="" S IBICL="zzzzz" S:IBICF="" IBIC="ALL" G INSO3
 | 
|---|
| 63 |  I X="@",IBICF="@" S IBICL="@",IBIC="NULL" G INSO3
 | 
|---|
| 64 |  I IBICF'="@",IBICF]X D  G INSO2
 | 
|---|
| 65 |  .W *7,!!?3,"The LAST value must follow the FIRST.",!
 | 
|---|
| 66 |  S IBICL=X
 | 
|---|
| 67 | INSO3 I IBPRNT="G" S IBSORT="I" S:$G(IBICPT)!($G(IBIC)'="ALL") IBG=1 G EXRC
 | 
|---|
| 68 |  I $G(IBICPT)=1 S IBSORT="I" G EXRC
 | 
|---|
| 69 |  W !,"Sort by AMOUNT (O)WED, AMOUNT (P)AID, or (I)NSURANCE CO.: I// "
 | 
|---|
| 70 |  R X:DTIME G:'$T!(X["^") END S:X="" X="I" S X=$E(X)
 | 
|---|
| 71 |  I "IOPiop"'[X S IBOFF=56 D HELP^IBOTR11 G INSO3
 | 
|---|
| 72 |  W "  ",$S("Oo"[X:"AMOUNT OWED","Pp"[X:"AMOUNT PAID",1:"INSURANCE CO.")
 | 
|---|
| 73 |  S IBSORT=$S("Oo"[X:"O","Pp"[X:"P",1:"I")
 | 
|---|
| 74 |  ;
 | 
|---|
| 75 | EXRC S DIR(0)="Y",DIR("B")="NO"
 | 
|---|
| 76 |  S DIR("A")="Do you want to include receivables referred to Reg. Counsel"
 | 
|---|
| 77 |  S DIR("?")="^S IBOFF=66 D HELP^IBOTR11"
 | 
|---|
| 78 |  W ! D ^DIR K DIR S IBINRC=+Y I $D(DIRUT)!$D(DTOUT)!$D(DUOUT) G END
 | 
|---|
| 79 |  ;
 | 
|---|
| 80 | DEV W !!,"You will need a 132 column printer for this report!"
 | 
|---|
| 81 |  S %ZIS="QM" D ^%ZIS G:POP END
 | 
|---|
| 82 |  I $D(IO("Q")) D  G END
 | 
|---|
| 83 |  .S ZTRTN="^IBOTR2",ZTDESC="INSURANCE PAYMENT TREND REPORT"
 | 
|---|
| 84 |  .F X="IB*","VAUTD","VAUTD(" S ZTSAVE(X)=""
 | 
|---|
| 85 |  .D ^%ZTLOAD W !!,$S($D(ZTSK):"This job has been queued. The task number is "_ZTSK_".",1:"Unable to queue this job.")
 | 
|---|
| 86 |  .K ZTSK,IO("Q") D HOME^%ZIS
 | 
|---|
| 87 |  U IO
 | 
|---|
| 88 |  ;***
 | 
|---|
| 89 |  ;I $D(XRT0) S:'$D(XRTN) XRTN="IBOTR1" D T1^%ZOSV ;stop rt clock
 | 
|---|
| 90 |  D ^IBOTR2 ; Compile and print report.
 | 
|---|
| 91 |  ;
 | 
|---|
| 92 | END K DIRUT,DTOUT,DUOUT,DIROUT
 | 
|---|
| 93 |  Q
 | 
|---|