| 1 | IBCEMSG ;ALB/JEH - EDI PURGE STATUS MESSAGES ;10-APR-01
 | 
|---|
| 2 |  ;;2.0;INTEGRATED BILLING:**137**;21-MAR-94
 | 
|---|
| 3 |  ;;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
| 4 | EN ;
 | 
|---|
| 5 |  N IBDELDT,IBSEL,IBQUIT,IBPRT,DTOUT,DUOUT,DIRUT,X,Y
 | 
|---|
| 6 |  K ^TMP("IBCEMSGA",$J)
 | 
|---|
| 7 |  I '$D(^XUSEC("IB SUPERVISOR",DUZ)) W !!,"You do not have the appropriate authority to delete status messages.  See your supervisor for assistance." G MSGQ
 | 
|---|
| 8 |  W !,"This option will delete status messages in one of the Final Review statuses",!,"prior to a selected date",!!
 | 
|---|
| 9 |  S DIR("A")="DELETE (A)LL OR (S)ELECTED STATUS MESSAGES? ",DIR("B")="SELECTED"
 | 
|---|
| 10 |  S DIR(0)="SAXB^A:ALL STATUS MESSAGES;S:SELECTED STATUS MESSAGES"
 | 
|---|
| 11 |  D ^DIR K DIR
 | 
|---|
| 12 |  I $D(DTOUT)!$D(DUOUT) G MSGQ
 | 
|---|
| 13 |  S IBSEL=Y
 | 
|---|
| 14 |  ;
 | 
|---|
| 15 |  W !
 | 
|---|
| 16 |  I IBSEL="A" D  G:IBQUIT MSGQ
 | 
|---|
| 17 |  . S IBQUIT=0
 | 
|---|
| 18 |  . S DIR("A")="DELETE STATUS MESSAGES REVIEWED PRIOR TO"
 | 
|---|
| 19 |  . S DIR(0)="D^:DTP:EX" W ! D ^DIR K DIR
 | 
|---|
| 20 |  . I $D(DTOUT)!$D(DUOUT) S IBQUIT=1 Q
 | 
|---|
| 21 |  . S IBDELDT=Y
 | 
|---|
| 22 |  . S DIR("A",1)="This action will delete all status messages with a"
 | 
|---|
| 23 |  . S DIR("A",2)="final review action dated before "_$$FMTE^XLFDT(IBDELDT)
 | 
|---|
| 24 |  . S DIR("A",3)=""
 | 
|---|
| 25 |  . S DIR("A")="ARE YOU SURE THIS IS WHAT YOU WANT TO DO",DIR("B")="YES"
 | 
|---|
| 26 |  . S DIR(0)="Y" D ^DIR K DIR
 | 
|---|
| 27 |  . I $D(DTOUT)!$D(DUOUT)!(+Y=0) S IBQUIT=1 Q
 | 
|---|
| 28 |  . S DIR("A")="DO YOU WANT TO PRINT STATUS MESSAGES BEFORE DELETION"
 | 
|---|
| 29 |  . S DIR(0)="Y",DIR("B")="YES"
 | 
|---|
| 30 |  . D ^DIR K DIR
 | 
|---|
| 31 |  . I $D(DTOUT)!$D(DUOUT) S IBQUIT=1 Q
 | 
|---|
| 32 |  . S IBPRT=Y
 | 
|---|
| 33 |  I IBSEL="A" D SET,PRT:IBPRT,DEL
 | 
|---|
| 34 |  I IBSEL="S" D EN^IBCEMSG1
 | 
|---|
| 35 | MSGQ ;
 | 
|---|
| 36 |  Q
 | 
|---|
| 37 | SET ;set up tmp global
 | 
|---|
| 38 |  N IBDT,IBIEN,IB0,IBNUM,IBSEV,IBFNR,IBFRD,IBQUIT,IBAUTO
 | 
|---|
| 39 |  S (IBDT,IBQUIT)=0 F  S IBDT=$O(^IBM(361,"AFR",IBDT)) Q:'IBDT!(IBQUIT)  S IBIEN=0 F  S IBIEN=$O(^IBM(361,"AFR",IBDT,IBIEN)) Q:'IBIEN!(IBQUIT)  D
 | 
|---|
| 40 |  . I IBDT>IBDELDT S IBQUIT=1 Q
 | 
|---|
| 41 |  . S IB0=$G(^IBM(361,IBIEN,0))
 | 
|---|
| 42 |  . S IBNUM=$$BN1^PRCAFN($P($G(IB0),U))
 | 
|---|
| 43 |  . S IBSEV=$$EXPAND^IBTRE(361,.03,$P($G(IB0),U,3))
 | 
|---|
| 44 |  . S IBFNR=$$EXPAND^IBTRE(361,.1,$P($G(IB0),U,10))
 | 
|---|
| 45 |  . S IBFRD=$$DAT1^IBOUTL($P($G(IB0),U,13))
 | 
|---|
| 46 |  . S IBAUTO=$$EXPAND^IBTRE(361,.14,$P(IB0,U,5))
 | 
|---|
| 47 |  . S ^TMP("IBCEMSGA",$J,IBIEN)=IBNUM_U_IBSEV_U_IBFNR_U_IBFRD
 | 
|---|
| 48 |  Q
 | 
|---|
| 49 |  ;
 | 
|---|
| 50 | PRT ;print status message list
 | 
|---|
| 51 |  N IBPG,%ZIS
 | 
|---|
| 52 |  S IBPG=0
 | 
|---|
| 53 |  S %ZIS="M" D ^%ZIS G:POP MSGQ
 | 
|---|
| 54 |  U IO
 | 
|---|
| 55 | PRT1 ;
 | 
|---|
| 56 |  N IBIEN,IB0 D HDR
 | 
|---|
| 57 |  S IBIEN=0 F  S IBIEN=$O(^TMP("IBCEMSGA",$J,IBIEN)) Q:'IBIEN  S IB0=^(IBIEN) D
 | 
|---|
| 58 |  .I ($Y+5)>IOSL D  Q:IBQUIT
 | 
|---|
| 59 |  .. D ASK Q:IBQUIT  D HDR
 | 
|---|
| 60 |  . W !,$P(IB0,U),?13,$P(IB0,U,2),?34,$P(IB0,U,3),?71,$P(IB0,U,4)
 | 
|---|
| 61 |  W !
 | 
|---|
| 62 |  D ^%ZISC
 | 
|---|
| 63 |  Q
 | 
|---|
| 64 | ASK ;
 | 
|---|
| 65 |  I $E(IOST,1,2)'["C-" Q
 | 
|---|
| 66 |  N DIR,DIROUT,DIRUT,DTOUT,DUOUT
 | 
|---|
| 67 |  S DIR(0)="E" D ^DIR
 | 
|---|
| 68 |  I ($D(DIRUT))!($D(DUOUT)) S IBQUIT=1 Q
 | 
|---|
| 69 |  Q
 | 
|---|
| 70 |  ;
 | 
|---|
| 71 | HDR ; - report header
 | 
|---|
| 72 |  I $E(IOST,1,2)="C-" W @IOF,*13
 | 
|---|
| 73 |  S IBPG=IBPG+1
 | 
|---|
| 74 |  W !!,"Status Messages Selected for Deletion",?57,$$FMTE^XLFDT(DT),?71,"Page: ",IBPG,!
 | 
|---|
| 75 |  W !,?13,"Message",?34,"Final Review",?67,"Final Review",!,"Bill #",?13,"Severity",?37,"Action",?72,"Date"
 | 
|---|
| 76 |  W !,$TR($J("",IOM)," ","=")
 | 
|---|
| 77 |  Q
 | 
|---|
| 78 | DEL ;Delete status messages in final review status
 | 
|---|
| 79 |  N DIK,DA,Y,IBIEN,IBCNT
 | 
|---|
| 80 |  W !
 | 
|---|
| 81 |  S DIR("A")="ARE YOU SURE YOU WANT TO DELETE STATUS MESSAGES",DIR("B")="YES"
 | 
|---|
| 82 |  S DIR(0)="Y" D ^DIR K DIR
 | 
|---|
| 83 |  I $D(DTOUT)!$D(DUOUT)!(Y=0) G DELQ
 | 
|---|
| 84 |  S IBCNT=0,DIK="^IBM(361,"
 | 
|---|
| 85 |  S IBIEN=0 F  S IBIEN=$O(^TMP("IBCEMSGA",$J,IBIEN)) Q:'IBIEN  S DA=IBIEN D ^DIK S IBCNT=IBCNT+1
 | 
|---|
| 86 |  W !!,IBCNT_$S(IBCNT>1:" Messages",1:" Message")_" deleted"
 | 
|---|
| 87 | DELQ Q
 | 
|---|
| 88 |  ;
 | 
|---|