| 1 | IBCERP3 ;ALB/TMP - EDI BATCHES WAITING MORE THAN 1 DAY REPORT ;30-SEP-96 | 
|---|
| 2 | ;;2.0;INTEGRATED BILLING;**137,296,377**;21-MAR-94;Build 23 | 
|---|
| 3 | ;;Per VHA Directive 2004-038, this routine should not be modified. | 
|---|
| 4 | ; | 
|---|
| 5 | Q | 
|---|
| 6 | ; | 
|---|
| 7 | PENDING ; Report of batches not sent after the day the bills in it were extracted - report entry point | 
|---|
| 8 | ; | 
|---|
| 9 | NEW DIR,X,Y,DTOUT,DUOUT,DIRUT,DIROUT,IBCLM | 
|---|
| 10 | I '$O(^IBA(364.1,"ASTAT","P",0)) W !!,"There are no batches that are Pending Austin Receipt.",! S DIR(0)="E" D ^DIR K DIR G EX | 
|---|
| 11 | ; | 
|---|
| 12 | ; Ask user if they want to include claim level detail | 
|---|
| 13 | S DIR(0)="Y",DIR("A")="Include Claims in each Batch",DIR("B")="Yes" | 
|---|
| 14 | W ! D ^DIR K DIR | 
|---|
| 15 | I $D(DIRUT) G EX | 
|---|
| 16 | S IBCLM=+Y | 
|---|
| 17 | ; | 
|---|
| 18 | D DEVICE | 
|---|
| 19 | EX ; | 
|---|
| 20 | Q | 
|---|
| 21 | ; | 
|---|
| 22 | DEVICE ; selection of device on which to print report | 
|---|
| 23 | NEW ZTRTN,ZTDESC,ZTSAVE,POP | 
|---|
| 24 | W !!,"This report is 80 characters wide." | 
|---|
| 25 | S ZTRTN="COMPILE^IBCERP3" | 
|---|
| 26 | S ZTDESC="REPORT OF BILL BATCHES WAITING AUSTIN RECEIPT AFTER 1 DAY" | 
|---|
| 27 | S ZTSAVE("IBCLM")="" | 
|---|
| 28 | D EN^XUTMDEVQ(ZTRTN,ZTDESC,.ZTSAVE,"QM") | 
|---|
| 29 | DEVICEX ; | 
|---|
| 30 | Q | 
|---|
| 31 | ; | 
|---|
| 32 | COMPILE ; Queued job entrypoint | 
|---|
| 33 | N IBBA,IB0,IB1,IEN,IBZ,IBIFN,IB399,CLM,BALDUE,IBSTAT,ARSTAT,IB | 
|---|
| 34 | ; | 
|---|
| 35 | K ^TMP($J,"IBSORT") | 
|---|
| 36 | S IBBA=0 | 
|---|
| 37 | F  S IBBA=$O(^IBA(364.1,"ASTAT","P",IBBA)) Q:'IBBA  D | 
|---|
| 38 | . I $$BCHCHK^IBCEBUL(IBBA) Q    ; Batch check function | 
|---|
| 39 | . S IB0=$G(^IBA(364.1,IBBA,0)),IB1=$G(^(1)) | 
|---|
| 40 | . S:$P(IB0,U,7)="" $P(IB0,U,7)="~" | 
|---|
| 41 | . S ^TMP($J,"IBSORT",$P(IB0,U,7),$P(IB0,U,1),IBBA)=$P(IB1,U,6)_U_$P(IB0,U,4) | 
|---|
| 42 | . ; | 
|---|
| 43 | . I 'IBCLM Q   ; include claim data flag | 
|---|
| 44 | . ; | 
|---|
| 45 | . ; gather the EDI claim data for this batch | 
|---|
| 46 | . S IEN=0 F  S IEN=$O(^IBA(364,"C",IBBA,IEN)) Q:'IEN  D | 
|---|
| 47 | .. S IBZ=$G(^IBA(364,IEN,0)),IBIFN=+IBZ,IB399=$G(^DGCR(399,IBIFN,0)) | 
|---|
| 48 | .. S CLM=$P(IB399,U,1) S:CLM="" CLM="~" | 
|---|
| 49 | .. S BALDUE=$G(^DGCR(399,IBIFN,"U1")),BALDUE=$P(BALDUE,U,1)-$P(BALDUE,U,2) | 
|---|
| 50 | .. S IBSTAT=$$EXTERNAL^DILFD(399,.13,,$P(IB399,U,13)) | 
|---|
| 51 | .. S ARSTAT=$$EXTERNAL^DILFD(430,8,,+$P($$BILL^RCJIBFN2(IBIFN),U,2)) | 
|---|
| 52 | .. S IB=$P(IBZ,U,8)_U_BALDUE_U_$P(IBZ,U,3)_U_IBSTAT_U_ARSTAT | 
|---|
| 53 | .. S ^TMP($J,"IBSORT",$P(IB0,U,7),$P(IB0,U,1),IBBA,CLM,IEN)=IB | 
|---|
| 54 | .. Q | 
|---|
| 55 | . Q | 
|---|
| 56 | ; | 
|---|
| 57 | D PRINT                         ; print report | 
|---|
| 58 | D ^%ZISC                        ; close the device | 
|---|
| 59 | K ^TMP($J,"IBSORT")             ; clean up scratch global | 
|---|
| 60 | I $D(ZTQUEUED) S ZTREQ="@"      ; purge the task record | 
|---|
| 61 | ; | 
|---|
| 62 | COMPX ; | 
|---|
| 63 | Q | 
|---|
| 64 | ; | 
|---|
| 65 | PRINT ; print the report to the specified device | 
|---|
| 66 | ; | 
|---|
| 67 | NEW CRT,IBPAGE,IBSTOP,IBCT,IBTYP,IBBAT,IBBA,IBV,CLM,IEN,DIR,X,Y,Z | 
|---|
| 68 | I IOST["C-" S CRT=1 | 
|---|
| 69 | E  S CRT=0 | 
|---|
| 70 | ; | 
|---|
| 71 | S IBPAGE=0 | 
|---|
| 72 | I '$D(^TMP($J,"IBSORT")) D HDR1 W !,?3,"No batches found Pending Austin Receipt for >1 day." | 
|---|
| 73 | S (IBSTOP,IBCT)=0 | 
|---|
| 74 | ; | 
|---|
| 75 | S IBTYP="" | 
|---|
| 76 | F  S IBTYP=$O(^TMP($J,"IBSORT",IBTYP)) Q:IBTYP=""  D  Q:IBSTOP | 
|---|
| 77 | . D HDR1 | 
|---|
| 78 | . S IBBAT="" | 
|---|
| 79 | . F  S IBBAT=$O(^TMP($J,"IBSORT",IBTYP,IBBAT)) Q:'IBBAT!(IBSTOP)  S IBBA=0 F  S IBBA=$O(^TMP($J,"IBSORT",IBTYP,IBBAT,IBBA)) Q:'IBBA!IBSTOP  S IBV=$G(^(IBBA)) D  Q:IBSTOP | 
|---|
| 80 | .. D:$Y>(IOSL-4) HDR1 Q:IBSTOP | 
|---|
| 81 | .. W !,?2,IBBAT,?16,$$FMTE^XLFDT($P(IBV,U,1),"5Z"),?42,$P(IBV,U,2) | 
|---|
| 82 | .. S IBCT=IBCT+1 | 
|---|
| 83 | .. I 'IBCLM Q    ; no claim level detail | 
|---|
| 84 | .. I $O(^TMP($J,"IBSORT",IBTYP,IBBAT,IBBA,""))="" Q   ; no claim data | 
|---|
| 85 | .. ; | 
|---|
| 86 | .. D:$Y>(IOSL-4) HDR1 Q:IBSTOP | 
|---|
| 87 | .. W !!?5,"Claim",?14,"Seq",?22,"Bal Due",?32,"EDI Stat",?43,"IB Status",?57,"AR Status" | 
|---|
| 88 | .. S CLM="" F  S CLM=$O(^TMP($J,"IBSORT",IBTYP,IBBAT,IBBA,CLM)) Q:CLM=""!IBSTOP  S IEN=0 F  S IEN=$O(^TMP($J,"IBSORT",IBTYP,IBBAT,IBBA,CLM,IEN)) Q:'IEN!IBSTOP  D  Q:IBSTOP | 
|---|
| 89 | ... S IBV=$G(^TMP($J,"IBSORT",IBTYP,IBBAT,IBBA,CLM,IEN)) | 
|---|
| 90 | ... D:$Y>(IOSL-4) HDR1 Q:IBSTOP | 
|---|
| 91 | ... W !,?5,CLM,?15,$P(IBV,U,1),?19,$J($FN($P(IBV,U,2),"",2),10),?35,$P(IBV,U,3),?43,$E($P(IBV,U,4),1,11),?57,$E($P(IBV,U,5),1,16) | 
|---|
| 92 | ... Q | 
|---|
| 93 | .. ; | 
|---|
| 94 | .. Q:IBSTOP | 
|---|
| 95 | .. D:$Y>(IOSL-4) HDR1 Q:IBSTOP | 
|---|
| 96 | .. W ! | 
|---|
| 97 | .. Q | 
|---|
| 98 | . Q | 
|---|
| 99 | ; | 
|---|
| 100 | I IBSTOP G PRINTX | 
|---|
| 101 | D:$Y>(IOSL-4) HDR1 G:IBSTOP PRINTX | 
|---|
| 102 | W !!,"Total Number of Batches: ",IBCT | 
|---|
| 103 | D:$Y>(IOSL-4) HDR1 G:IBSTOP PRINTX | 
|---|
| 104 | W !!?5,"*** End of Report ***" | 
|---|
| 105 | I CRT,'$D(ZTQUEUED) S DIR(0)="E" D ^DIR K DIR | 
|---|
| 106 | PRINTX ; | 
|---|
| 107 | Q | 
|---|
| 108 | ; | 
|---|
| 109 | HDR1 ; Report header | 
|---|
| 110 | ; | 
|---|
| 111 | ; if screen output and page# already exists, do a page break | 
|---|
| 112 | I IBPAGE,CRT D  I IBSTOP G HDR1X | 
|---|
| 113 | . S DIR(0)="E" D ^DIR K DIR | 
|---|
| 114 | . I 'Y S IBSTOP=1 | 
|---|
| 115 | . Q | 
|---|
| 116 | ; | 
|---|
| 117 | ; if screen output OR page# already exists, do a form feed | 
|---|
| 118 | I IBPAGE!CRT W @IOF | 
|---|
| 119 | ; | 
|---|
| 120 | S IBPAGE=IBPAGE+1 | 
|---|
| 121 | ; | 
|---|
| 122 | W !,"EDI Batches Pending Austin Receipt After 1 Day",?70,"Page: ",IBPAGE | 
|---|
| 123 | W !,"Run Date: ",$$FMTE^XLFDT($$NOW^XLFDT,"5Z") | 
|---|
| 124 | W !!?2,"Batch #",?16,"Transmission Date",?42,"Mail Message #" | 
|---|
| 125 | S Z="",$P(Z,"-",79)="" W !?1,Z | 
|---|
| 126 | ; | 
|---|
| 127 | ; check for a TaskManager stop request | 
|---|
| 128 | I $D(ZTQUEUED),$$S^%ZTLOAD() D  G HDR1X | 
|---|
| 129 | . S (ZTSTOP,IBSTOP)=1 | 
|---|
| 130 | . W !!!?5,"*** Report Halted by TaskManager Request ***" | 
|---|
| 131 | . Q | 
|---|
| 132 | HDR1X ; | 
|---|
| 133 | Q | 
|---|
| 134 | ; | 
|---|