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
|
---|