[613] | 1 | IBCEM1 ;ALB/TMP - 837 EDI RETURN MESSAGE MAIN LIST TEMPLATE ;02-MAY-96
|
---|
| 2 | ;;2.0;INTEGRATED BILLING;**137,155**;21-MAR-94
|
---|
| 3 | ;
|
---|
| 4 | EN ; Main entry point
|
---|
| 5 | D DT^DICRW
|
---|
| 6 | K XQORS,VALMEVL,IBFASTXT,IBDA
|
---|
| 7 | D EN^VALM("IBCEM 837 MESSAGE LIST")
|
---|
| 8 | K IBFASTXT,IBDA
|
---|
| 9 | Q
|
---|
| 10 | ;
|
---|
| 11 | INIT ; -- set up inital variables
|
---|
| 12 | S U="^",VALMCNT=0,VALMBG=1
|
---|
| 13 | D BLD
|
---|
| 14 | Q
|
---|
| 15 | ;
|
---|
| 16 | REBLD ; Set up formatted global
|
---|
| 17 | ;
|
---|
| 18 | BLD ; -- build list of messages
|
---|
| 19 | N IBCNT,IBEOB,IBMSGT,IBMSG,X,IB0
|
---|
| 20 | K ^TMP("IBCEM-837",$J),^TMP("IBCEM-837DX",$J)
|
---|
| 21 | S (IBCNT,IBMSG,VALMCNT)=0,IBEOB=+$O(^IBE(364.3,"B","835EOB",0))
|
---|
| 22 | F S IBMSG=$O(^IBA(364.2,IBMSG)) Q:'IBMSG S IB0=$G(^(IBMSG,0)) D
|
---|
| 23 | . N IBSTOP
|
---|
| 24 | . S IBSTOP=0
|
---|
| 25 | . S IBMSGT=$P(IB0,U,2)
|
---|
| 26 | . I IBMSGT,IBEOB,IBMSGT=IBEOB D Q:IBSTOP
|
---|
| 27 | .. N Z,Z0 ; Only allow MRA EOB's to be viewed
|
---|
| 28 | .. S Z=0 F S Z=$O(^IBA(364.2,IBMSG,2,Z)) Q:'Z!(IBSTOP) S Z0=$G(^(Z,0)) I $E(Z0,1,12)="##RAW DATA: ",$E(Z0,13,18)="835EOB",$P(Z0,U,5)'="Y" S IBSTOP=1 Q
|
---|
| 29 | . ; -- add to list
|
---|
| 30 | . S IBCNT=IBCNT+1,X=""
|
---|
| 31 | . S X=$$SETFLD^VALM1(IBCNT,X,"NUMBER")
|
---|
| 32 | . S X=$$SETFLD^VALM1($$FMTE^XLFDT($P(IB0,U,3),2),X,"DATEREC")
|
---|
| 33 | . I IB0'="" S X=$$SETFLD^VALM1($$FMTE^XLFDT($P(IB0,U,10),2),X,"DATEMSG")
|
---|
| 34 | . S X=$$SETFLD^VALM1(+IB0,X,"MENTRY")
|
---|
| 35 | . S Z=$P($G(^IBE(364.3,+$P(IB0,U,2),0)),U,6) S:Z="EOB" Z="MRA"
|
---|
| 36 | . S X=$$SETFLD^VALM1($E(Z_$J("",6),1,6),X,"TYPE")
|
---|
| 37 | . S X=$$SETFLD^VALM1($P($G(^IBA(364.1,+$P(IB0,U,4),0)),U),X,"BATCH")
|
---|
| 38 | . S X=$$SETFLD^VALM1($$BILLNO($P(IB0,U,5)),X,"BILL")
|
---|
| 39 | . S X=$$SETFLD^VALM1($$EXPAND^IBTRE(364.2,.06,$P(IB0,U,6)),X,"STATUS")
|
---|
| 40 | . D SET(X)
|
---|
| 41 | ;
|
---|
| 42 | I '$D(^TMP("IBCEM-837",$J)) S VALMCNT=2,IBCNT=2,^TMP("IBCEM-837",$J,1,0)=" ",^TMP("IBCEM-837",$J,2,0)=" All Incoming EDI Messages For Billing Have Filed - No Action Needed"
|
---|
| 43 | Q
|
---|
| 44 | ;
|
---|
| 45 | FNL ; -- Clean up list
|
---|
| 46 | K ^TMP("IBCEM-837DX",$J)
|
---|
| 47 | D CLEAN^VALM10
|
---|
| 48 | K IBFASTXT
|
---|
| 49 | Q
|
---|
| 50 | ;
|
---|
| 51 | SET(X) ; -- set arrays for 837 return messages
|
---|
| 52 | S VALMCNT=VALMCNT+1,^TMP("IBCEM-837",$J,VALMCNT,0)=X
|
---|
| 53 | S ^TMP("IBCEM-837",$J,"IDX",VALMCNT,IBCNT)=""
|
---|
| 54 | S ^TMP("IBCEM-837DX",$J,IBCNT)=VALMCNT_U_IBMSG
|
---|
| 55 | Q
|
---|
| 56 | ;
|
---|
| 57 | BILLNO(DA) ; Return bill # from entry in file 364
|
---|
| 58 | N Z
|
---|
| 59 | S Z=$P($G(^DGCR(399,+$P($G(^IBA(364,+DA,0)),U),0)),U)
|
---|
| 60 | Q $S($L(Z):Z,1:DA)
|
---|
| 61 | ;
|
---|
| 62 | BATNO(DA) ; Return batch # from entry in file 364
|
---|
| 63 | Q $P($G(^IBA(364.1,+$P($G(^IBA(364,+DA,0)),U,2),0)),U)
|
---|
| 64 | ;
|
---|
| 65 | HDR ;
|
---|
| 66 | S VALMHDR(1)=$J("",17)_"RETURN MESSAGES NEEDING TO BE FILED"
|
---|
| 67 | S VALMHDR(2)=" "
|
---|
| 68 | Q
|
---|
| 69 | ;
|
---|