| [613] | 1 | IBCEMSG1 ;ALB/JEH - EDI PURGE STATUS MESSAGES CONT. ;04-MAY-01 | 
|---|
|  | 2 | ;;2.0;INTEGRATED BILLING;**137**;21-MAR-94 | 
|---|
|  | 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
|  | 4 | ; | 
|---|
|  | 5 | EN ; - main entry | 
|---|
|  | 6 | N IBDELDT,IBIEN,IBMSG,IBSORT,IBQUIT,IBFNR,IBFRD,IBREC,IBNUM,IBSEV,IB0,IBK | 
|---|
|  | 7 | D EN^VALM("IBCEM STATUS MESSAGE") | 
|---|
|  | 8 | Q | 
|---|
|  | 9 | HDR ; -- header code | 
|---|
|  | 10 | S VALMHDR(1)="Selected by "_$S(IBSORT="A":"Auto Filed/No Review",IBSORT="B":"Bill Number: "_IBNUM,IBSORT="S":"Message Severity: "_IBSEV,1:"Message Text containing word or phrase "_IBMSG) | 
|---|
|  | 11 | S VALMHDR(2)="Reviewed Prior to: "_$$FMTE^XLFDT(IBDELDT,"2D") | 
|---|
|  | 12 | Q | 
|---|
|  | 13 | ; | 
|---|
|  | 14 | INIT ; -- set up variables | 
|---|
|  | 15 | N DIR,X,Y | 
|---|
|  | 16 | K ^TMP("IBCEMSGA",$J) | 
|---|
|  | 17 | S DIR("A")="Select messages based on" | 
|---|
|  | 18 | S DIR(0)="S^A:Auto Filed/No Review Only;B:Bill Number;S:Message Severity;T:Specific Message Text" | 
|---|
|  | 19 | D ^DIR K DIR | 
|---|
|  | 20 | I $D(DTOUT)!$D(DUOUT)!(Y<0) S VALMQUIT=1 G INITQ | 
|---|
|  | 21 | S IBSORT=Y | 
|---|
|  | 22 | I IBSORT="B" D  G:$G(VALMQUIT) INITQ | 
|---|
|  | 23 | . S DIR("A")="Enter Bill Number" | 
|---|
|  | 24 | . S DIR(0)="P^361:AEMQZ" | 
|---|
|  | 25 | . D ^DIR K DIR | 
|---|
|  | 26 | . I $D(DTOUT)!$D(DUOUT)!(Y<0) S VALMQUIT=1 Q | 
|---|
|  | 27 | . S IBIEN=$P(Y,U,2),IBNUM=$$BN1^PRCAFN(IBIEN) | 
|---|
|  | 28 | I IBSORT="S" D  G:$G(VALMQUIT) INITQ | 
|---|
|  | 29 | . S DIR("A")="(I)nformation/Warning or (R)ejection" | 
|---|
|  | 30 | . S DIR(0)="SB^I:Information/Warning;R:Rejection" | 
|---|
|  | 31 | . D ^DIR K DIR | 
|---|
|  | 32 | . I $D(DUOUT)!$D(DTOUT)!(Y<0) S VALMQUIT=1 Q | 
|---|
|  | 33 | . S IBSEV=Y | 
|---|
|  | 34 | I IBSORT="T" D  G:$G(VALMQUIT) INITQ | 
|---|
|  | 35 | . S DIR("A")="Enter specific word or phrase the message should contain to be deleted" | 
|---|
|  | 36 | . S DIR(0)="F^5:15^K:X'?.U X" | 
|---|
|  | 37 | . D ^DIR K DIR | 
|---|
|  | 38 | . I $D(DUOUT)!$D(DTOUT)!(Y<0) S VALMQUIT=1 Q | 
|---|
|  | 39 | . S IBMSG=Y | 
|---|
|  | 40 | S DIR("A")="INCLUDE STATUS MESSAGES REVIEWED PRIOR TO" | 
|---|
|  | 41 | S DIR(0)="D^:DTP:EX" W ! D ^DIR K DIR | 
|---|
|  | 42 | I $D(DTOUT)!$D(DUOUT) S VALMQUIT=1 Q | 
|---|
|  | 43 | S IBDELDT=Y | 
|---|
|  | 44 | D @IBSORT | 
|---|
|  | 45 | D BLD^IBCEMSG2 | 
|---|
|  | 46 | INITQ ; | 
|---|
|  | 47 | Q | 
|---|
|  | 48 | HELP ; -- help code | 
|---|
|  | 49 | S X="?" D DISP^XQORM1 W !! | 
|---|
|  | 50 | Q | 
|---|
|  | 51 | EXIT ; -- clean up and exit | 
|---|
|  | 52 | K ^TMP("IBCEMSGA",$J),^TMP("IBCEMSGB",$J) | 
|---|
|  | 53 | D CLEAN^VALM10 | 
|---|
|  | 54 | Q | 
|---|
|  | 55 | A ; -- sort by auto filed | 
|---|
|  | 56 | S IBK=0 F  S IBK=$O(^IBM(361,"ANR",1,IBK)) Q:'IBK  S IB0=$G(^IBM(361,IBK,0)) D | 
|---|
|  | 57 | . I '$P(IB0,U,13)!($P(IB0,U,13)>IBDELDT) Q | 
|---|
|  | 58 | . D SET | 
|---|
|  | 59 | Q | 
|---|
|  | 60 | ; | 
|---|
|  | 61 | B ; -- sort by bill number | 
|---|
|  | 62 | S IBK=0 F  S IBK=$O(^IBM(361,"B",IBIEN,IBK)) Q:'IBK  S IB0=$G(^IBM(361,IBK,0)) D | 
|---|
|  | 63 | . I '$P(IB0,U,13)!($P(IB0,U,13)>IBDELDT) Q | 
|---|
|  | 64 | . D SET | 
|---|
|  | 65 | Q | 
|---|
|  | 66 | ; | 
|---|
|  | 67 | S ; -- sort by message severity | 
|---|
|  | 68 | S IBK=0 F  S IBK=$O(^IBM(361,"ASV",IBSEV,IBK)) Q:'IBK  S IB0=$G(^IBM(361,IBK,0)) D | 
|---|
|  | 69 | . I '$P(IB0,U,13)!($P(IB0,U,13)>IBDELDT) Q | 
|---|
|  | 70 | . D SET | 
|---|
|  | 71 | Q | 
|---|
|  | 72 | ; | 
|---|
|  | 73 | T ; -- sort by message text | 
|---|
|  | 74 | N Z,IBTXT,IB,IBDT | 
|---|
|  | 75 | S IBDT=0 F  S IBDT=$O(^IBM(361,"AFR",IBDT)) Q:'IBDT!(IBDT>IBDELDT)  S IBK=0 F  S IBK=$O(^IBM(361,"AFR",IBDT,IBK)) Q:'IBK  S IB0=$G(^IBM(361,IBK,0)) D | 
|---|
|  | 76 | . I '$O(^IBM(361,IBK,1,0)) Q | 
|---|
|  | 77 | . S IB=0 F  S IB=$O(^IBM(361,IBK,1,IB)) Q:'IB  S Z=$G(^IBM(361,IBK,1,IB,0)) I $$UPPER^VALM1(Z)[IBMSG S IBTXT=$E(Z,1,60) D | 
|---|
|  | 78 | .. D SET | 
|---|
|  | 79 | .. S ^TMP("IBCEMSGA",$J,IBK)=^TMP("IBCEMSGA",$J,IBK)_U_IBTXT | 
|---|
|  | 80 | Q | 
|---|
|  | 81 | ; | 
|---|
|  | 82 | SET S IBNUM=$$BN1^PRCAFN($P(IB0,U)) | 
|---|
|  | 83 | S IBSEV=$$EXPAND^IBTRE(361,.03,$P(IB0,U,3)) | 
|---|
|  | 84 | S IBFNR=$$EXPAND^IBTRE(361,.1,$P(IB0,U,10)) | 
|---|
|  | 85 | S IBFRD=$$DAT1^IBOUTL($P(IB0,U,13)) | 
|---|
|  | 86 | S IBAUTO=$$EXPAND^IBTRE(361,.14,$P(IB0,U,14)) | 
|---|
|  | 87 | S ^TMP("IBCEMSGA",$J,IBK)=IBNUM_U_IBSEV_U_IBFNR_U_IBFRD_U_IBAUTO | 
|---|
|  | 88 | Q | 
|---|