1 | IBCEBUL ;ALB/TMP - 837 EDI SPECIAL BULLETINS PROCESSING ;19-SEP-96
|
---|
2 | ;;2.0;INTEGRATED BILLING;**137,250,377**;21-MAR-94;Build 23
|
---|
3 | ;;Per VHA Directive 2004-038, this routine should not be modified.
|
---|
4 | ;
|
---|
5 | NOTSENT ; Check for batches in pending status (no confirmation from Austin)
|
---|
6 | ; from yesterday or before
|
---|
7 | N XMTO,XMSUBJ,XMBODY,XMDUZ,IBT,IB,IBE,IBCT,IBI,IB0,IB1,Z,IBTYP
|
---|
8 | K ^TMP($J,"IBNOTSENT")
|
---|
9 | S (IBCT,IBI)=0
|
---|
10 | F S IBI=$O(^IBA(364.1,"ASTAT","P",IBI)) Q:'IBI D
|
---|
11 | . I $$BCHCHK(IBI) Q ; Batch check function
|
---|
12 | . S IBCT=IBCT+1
|
---|
13 | . S IBTYP=$P($G(^IBA(364.1,IBI,0)),U,7)
|
---|
14 | . I IBCT'>10,IBTYP'="" S ^TMP($J,"IBNOTSENT",IBTYP,IBI)=""
|
---|
15 | . Q
|
---|
16 | ;
|
---|
17 | I IBCT D
|
---|
18 | .S IBT(1)="There are "_IBCT_" EDI batch(es) still pending Austin receipt "
|
---|
19 | .S IBT(2)="for more than 1 day. Please investigate why they have not yet been confirmed"
|
---|
20 | .S IBT(3)="as being received by Austin."
|
---|
21 | .S IBT(4)=" "
|
---|
22 | .I IBCT>10 S IBT(5)="Since there were more than 10 batches found, please run the ",IBT(6)=" EDI BATCHES PENDING RECEIPT report to get a list of these batches."
|
---|
23 | .I IBCT'>10 D
|
---|
24 | ..S IBT(5)=" BATCH # PENDING SINCE MAIL MESSAGE #",IBT(6)="",$P(IBT(6),"-",76)="",IBT(6)=" "_IBT(6),IBE=6
|
---|
25 | ..S IBTYP=""
|
---|
26 | ..F S IBTYP=$O(^TMP($J,"IBNOTSENT",IBTYP)) Q:IBTYP="" D
|
---|
27 | ...S Z=$$EXPAND^IBTRE(364.1,.07,IBTYP) S:Z="" Z="??"
|
---|
28 | ...I $O(^TMP($J,"IBNOTSENT",IBTYP),-1)'="" S IBE=IBE+1,IBT(IBE)=" "
|
---|
29 | ...S IBE=IBE+1,IBT(IBE)=" BATCH TYPE: "_Z
|
---|
30 | ...S IBI=0 F S IBI=$O(^TMP($J,"IBNOTSENT",IBTYP,IBI)) Q:'IBI D
|
---|
31 | ....S IBE=IBE+1,IB0=$G(^IBA(364.1,IBI,0)),IB1=$G(^(1))
|
---|
32 | ....S IBT(IBE)=" "_$E($P(IB0,U)_$J("",10),1,10)_" "_$E($$FMTE^XLFDT($P(IB1,U,6),1)_$J("",20),1,20)_" "_$P(IB0,U,4),IBE=IBE+1,IBT(IBE)=$J("",8)_$E($P(IB0,U,8),1,72)
|
---|
33 | .S XMSUBJ="EDI BATCHES WAITING AUSTIN RECEIPT FOR OVER 1 DAY",XMBODY="IBT",XMDUZ="",XMTO("I:G.IB EDI")=""
|
---|
34 | .D SENDMSG^XMXAPI(XMDUZ,XMSUBJ,XMBODY,.XMTO)
|
---|
35 | K ^TMP($J,"IBNOTSENT")
|
---|
36 | Q
|
---|
37 | ;
|
---|
38 | UPDBCH(BCHIEN) ; update the status of this batch to show A0:received in Austin
|
---|
39 | NEW DIE,DA,DR
|
---|
40 | S DIE=364.1,DA=+BCHIEN,DR=".02///A0"
|
---|
41 | I $D(^IBA(DIE,DA,0)) D ^DIE
|
---|
42 | UPDBCHX ;
|
---|
43 | Q
|
---|
44 | ;
|
---|
45 | BCHCHK(BCHIEN) ; This function will check the EDI claims associated with this
|
---|
46 | ; batch and determine if this batch has been received in Austin or not.
|
---|
47 | ;
|
---|
48 | ; ** This function is also called by routine IBCERP3 **
|
---|
49 | ;
|
---|
50 | ; Function value = 1 if we can determine that the batch was received in Austin, or
|
---|
51 | ; = 1 if there are no claims in this batch, or
|
---|
52 | ; = 1 if the batch is less than 24 hours old - too new to worry about
|
---|
53 | ; = 1 means don't display on report or MailMan message
|
---|
54 | ;
|
---|
55 | ; Function value = 0 if the batch has not yet been received in Austin
|
---|
56 | ; = 0 means we need to display batch on report and in MailMan message
|
---|
57 | ;
|
---|
58 | NEW IBEDI,IBOK,IBZ,IBIFN,IB0,AR,IBSECS
|
---|
59 | S IBEDI=0,IBOK=1,BCHIEN=+$G(BCHIEN)
|
---|
60 | ;
|
---|
61 | ; if the batch transmission is still less than 24 hours old, skip this batch and get out
|
---|
62 | S IBSECS=$$FMDIFF^XLFDT($$NOW^XLFDT,$P($G(^IBA(364.1,BCHIEN,1)),U,6),2)
|
---|
63 | I IBSECS<86400 G BCHCHKX ; # seconds in a day
|
---|
64 | ;
|
---|
65 | ; if no edi claims in this batch, update batch status and get out
|
---|
66 | I '$O(^IBA(364,"C",BCHIEN,0)) D UPDBCH(BCHIEN) G BCHCHKX
|
---|
67 | ;
|
---|
68 | F S IBEDI=$O(^IBA(364,"C",BCHIEN,IBEDI)) Q:'IBEDI D Q:'IBOK
|
---|
69 | . S IBZ=$G(^IBA(364,IBEDI,0))
|
---|
70 | . S IBIFN=+IBZ,IB0=$G(^DGCR(399,IBIFN,0))
|
---|
71 | . I $P(IB0,U,13)=7 Q ; cancelled in IB
|
---|
72 | . I $P(IBZ,U,3)'="P" Q ; edi claim status is not pending
|
---|
73 | . S AR=$P($$BILL^RCJIBFN2(IBIFN),U,2) ; AR status DBIA 1452
|
---|
74 | . I $F(".22.26.39.","."_AR_".") Q ; collected/closed or cancelled
|
---|
75 | . ;
|
---|
76 | . ; if we get to this point, then we have found an EDI claim in this batch
|
---|
77 | . ; that is not cancelled in IB, the EDI claim status is "P", and the
|
---|
78 | . ; AR status is not collected/closed nor cancelled in AR. So therefore
|
---|
79 | . ; this claim didn't get to Austin, so the batch didn't get to Austin.
|
---|
80 | . S IBOK=0
|
---|
81 | . Q
|
---|
82 | ;
|
---|
83 | ; If we find the batch has been received in Austin, then change the batch status.
|
---|
84 | I IBOK D UPDBCH(BCHIEN)
|
---|
85 | ;
|
---|
86 | BCHCHKX ;
|
---|
87 | Q IBOK
|
---|
88 | ;
|
---|