| 1 | IBOTR ;ALB/CPM - INSURANCE PAYMENT TREND REPORT - USER INTERFACE; 5-JUN-91
 | 
|---|
| 2 |  ;;2.0;INTEGRATED BILLING;**42,100,118,128**;21-MAR-94
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 |  ;MAP TO DGCROTR
 | 
|---|
| 5 |  ;
 | 
|---|
| 6 |  ;***
 | 
|---|
| 7 |  ;S XRTL=$ZU(0),XRTN="IBOTR-1" D T0^%ZOSV ;start rt clock
 | 
|---|
| 8 |  D DT^DICRW,HOME^%ZIS
 | 
|---|
| 9 |  ;
 | 
|---|
| 10 |  ; - Sort by division.
 | 
|---|
| 11 |  S DIR(0)="Y",DIR("B")="NO"
 | 
|---|
| 12 |  S DIR("A")="Do you wish to sort this report by division"
 | 
|---|
| 13 |  S DIR("?")="^S IBOFF=1 W ! D HELP^IBOTR"
 | 
|---|
| 14 |  D ^DIR K DIR I $D(DIRUT)!$D(DTOUT)!$D(DUOUT)!$D(DIROUT) G END
 | 
|---|
| 15 |  S IBSDIV=+Y K DIROUT,DTOUT,DUOUT,DIRUT
 | 
|---|
| 16 |  ;
 | 
|---|
| 17 |  ; - Issue prompt for division.
 | 
|---|
| 18 |  I IBSDIV D PSDR^IBODIV G:Y<0 END
 | 
|---|
| 19 |  ;
 | 
|---|
| 20 |  ; - Select bill type to print.
 | 
|---|
| 21 |  S DIC="^DGCR(399.3,",DIC(0)="AEQMN",DIC("S")="I $P(^(0),U,7)=""i"""
 | 
|---|
| 22 |  W ! D ^DIC K DIC G END:Y<1 S IBRT=+Y,IBRTN=$P(Y,U,2)
 | 
|---|
| 23 |  ;
 | 
|---|
| 24 |  ; - Issue selection field decision prompt.
 | 
|---|
| 25 |  W !!,"You may select a field from the BILL/CLAIMS file which you may"
 | 
|---|
| 26 |  W !,"use to limit the selection of records to appear on the report.",!
 | 
|---|
| 27 |  S DIR(0)="Y",DIR("A")="Do you wish to choose such a field"
 | 
|---|
| 28 |  S DIR("B")="NO",DIR("?")="^S IBOFF=7 W ! D HELP^IBOTR"
 | 
|---|
| 29 |  D ^DIR K DIR G END:$D(DIRUT),CONT:'Y
 | 
|---|
| 30 |  ;
 | 
|---|
| 31 |  ; - Issue selection field prompts.
 | 
|---|
| 32 |  S DIC="^DD(399,",DIC(0)="AEQM",DIC("A")="Select BILL/CLAIMS FIELD: "
 | 
|---|
| 33 |  S DIC("S")="S IBX=$P(^(0),U,2) I $S('$D(^DD(+IBX,.01,0)):1,$P(^(0),U,2)[""M"":0,1:1)"
 | 
|---|
| 34 |  D ^DIC K DIC,IBX I Y<0 G CONT
 | 
|---|
| 35 |  S IBAF=+Y,IBAFN=$P(Y,U,2),IBAFD=$P($G(^DD(399,IBAF,0)),U,2)["D"
 | 
|---|
| 36 |  ;
 | 
|---|
| 37 | FD1 W !?3,"Start with "_IBAFN_": FIRST// " R X:DTIME G END:'$T!(X["^")
 | 
|---|
| 38 |  I $E(X,1,2)="??" S IBOFF=7 D HELP1,HELP2,HELP W ! G FD1
 | 
|---|
| 39 |  I $E(X)="?" S IBOFF=13 D HELP2,HELP W ! G FD1
 | 
|---|
| 40 |  I "@"[X S IBAFF=$S(IBAFD&(X=""):0,1:X) G FD2
 | 
|---|
| 41 |  I IBAFD D ^%DT K %DT S IBAFF=Y I Y<0 K IBAFF W ! S IBOFF=7 D HELP W ! G FD1
 | 
|---|
| 42 |  I 'IBAFD S IBAFF=X
 | 
|---|
| 43 |  ;
 | 
|---|
| 44 | FD2 W !?8,"Go to "_IBAFN_": LAST// " R X:DTIME G END:'$T!(X["^")
 | 
|---|
| 45 |  I $E(X,1,2)="??" S IBOFF=19 D HELP1,HELP2,HELP W ! G FD2
 | 
|---|
| 46 |  I $E(X)="?" S IBOFF=13 D HELP2,HELP W ! G FD2
 | 
|---|
| 47 |  I X="" S IBAFL=$S(IBAFD:9999999,1:"") S:IBAFF="" IBAFZ="ALL" G CONT
 | 
|---|
| 48 |  I X="@",IBAFF="@" S IBAFL="@",IBAFZ="NULL" G CONT
 | 
|---|
| 49 |  I IBAFD D ^%DT K %DT S IBAFL=Y I Y<0!(IBAFF'="@"&(Y<IBAFF)) K IBAFL W !!?3,"LAST DATE must follow the BEGIN DATE.",! G FD2
 | 
|---|
| 50 |  I 'IBAFD,+IBAFF=IBAFF,+X=X G:X'<IBAFF FD21 W !!?3,"The LAST value must follow the FIRST.",! G FD2
 | 
|---|
| 51 |  I 'IBAFD,IBAFF'="@",IBAFF]X W !!?3,"The LAST value must follow the FIRST.",! G FD2
 | 
|---|
| 52 | FD21 I 'IBAFD S IBAFL=X
 | 
|---|
| 53 |  ;
 | 
|---|
| 54 | CONT D ^IBOTR1 ; Continue user interface/compile and print report.
 | 
|---|
| 55 |  ;
 | 
|---|
| 56 | END K IBRT,IBRTN,IBADFREF,IBAF,IBAFN,IBAFD,IBAFF,IBAFL,IBAFZ,IBBRT,IBBRN,IBG
 | 
|---|
| 57 |  K IBDF,IBDFN,IBBDT,IBEDT,IBICF,IBICL,IBIC,IBBRTY,IBOFF,IBTEXT,IBARST
 | 
|---|
| 58 |  K IBCANC,IBCNC,IBINRC,IBPRNT,IBSDIV,IBSORT,IBICPT,VAUTD
 | 
|---|
| 59 |  K DIROUT,DTOUT,DUOUT,DIRUT
 | 
|---|
| 60 |  ;***
 | 
|---|
| 61 |  ;I $D(XRT0) S:'$D(XRTN) XRTN="IBOTR" D T1^%ZOSV ;stop rt clock
 | 
|---|
| 62 |  Q
 | 
|---|
| 63 |  ;
 | 
|---|
| 64 | HELP F  S IBTEXT=$P($T(TEXT+IBOFF),";",3) Q:IBTEXT=""  W !,IBTEXT S IBOFF=IBOFF+1
 | 
|---|
| 65 |  Q
 | 
|---|
| 66 |  ;
 | 
|---|
| 67 | HELP1 W ! S IBX=0 F  S IBX=$O(^DD(399,IBAF,21,IBX)) Q:'IBX  W:$D(^(IBX,0)) !,^(0)
 | 
|---|
| 68 |  K IBX Q
 | 
|---|
| 69 |  ;
 | 
|---|
| 70 | HELP2 W:$D(^DD(399,IBAF,3)) !!,^(3),! Q
 | 
|---|
| 71 |  ;
 | 
|---|
| 72 | TEXT ; - 'Sort by division' prompt.
 | 
|---|
| 73 |  ;;      Enter:  '<CR>' -  To print the report without regard to division
 | 
|---|
| 74 |  ;;              'Y'    -  To select those divisions for which a separate
 | 
|---|
| 75 |  ;;                         report should be created
 | 
|---|
| 76 |  ;;              '^'    -  To quit this option
 | 
|---|
| 77 |  ;
 | 
|---|
| 78 |  ; - 'Additional field' prompt.
 | 
|---|
| 79 |  ;;      Enter:  'Y'    -  To select a field from the BILL/CLAIMS file
 | 
|---|
| 80 |  ;;              'N'    -  To skip this prompt and continue with this
 | 
|---|
| 81 |  ;;                         option
 | 
|---|
| 82 |  ;;              '^'    -  To quit this option
 | 
|---|
| 83 |  ;
 | 
|---|
| 84 |  ; - 'Start with FIELD NAME' prompt.
 | 
|---|
| 85 |  ;;      Enter a valid field value, or
 | 
|---|
| 86 |  ;;              '@'    -  To include null values
 | 
|---|
| 87 |  ;;              '<CR>' -  To start from the 'first' value for this field
 | 
|---|
| 88 |  ;;              '^'    -  To quit this option
 | 
|---|
| 89 |  ;
 | 
|---|
| 90 |  ; - 'Go to FIELD NAME' prompt.
 | 
|---|
| 91 |  ;;      Enter a valid field value, or
 | 
|---|
| 92 |  ;;              '@'    -  To include only null values, if 'Start with'
 | 
|---|
| 93 |  ;;                         value is @
 | 
|---|
| 94 |  ;;              '<CR>' -  To go to the 'last' value for this field
 | 
|---|
| 95 |  ;;              '^'    -  To quit this option
 | 
|---|
| 96 |  ;
 | 
|---|