- IBCEMVU ;DAOU/ESG - STAND-ALONE VIEW MRA EOB ;18-APR-2003
- ;;2.0;INTEGRATED BILLING;**155**;21-MAR-94
- ;;Per VHA Directive 10-93-142, this routine should not be modified.
- ;
- EN ; Entry point
- NEW DA,DIC,DILN,DISYS,X,Y,DTOUT,DUOUT,IBIFN,IBEOBIFN
- LOOP ;
- K IBIFN
- D INIT
- W !
- S DIC="^IBM(361.1,"
- S DIC(0)="AEMQ"
- S DIC("S")="I $P(^(0),U,4)=1" ; MRA EOB type
- S DIC("W")="D EOBLST^IBCEMU1(Y)" ; modify generic lister
- D ^DIC
- I Y=-1!$D(DTOUT)!$D(DUOUT) G EX
- S IBIFN=+$P(Y,U,2)
- I IBIFN D VIEWEOB(IBIFN,+$P(Y,U,1))
- I $$MRACNT^IBCEMU1(IBIFN)'>1 G LOOP
- ;
- ; At this point, we know the selected bill has multiple MRA's on file.
- ; Display the multiple MRA lister and let the user choose again
- ML1 ;
- D INIT
- S IBEOBIFN=$$SEL^IBCEMU1(IBIFN,1)
- I 'IBEOBIFN G LOOP
- D VIEWEOB(IBIFN,IBEOBIFN)
- G ML1
- ;
- EX ; Exit point
- Q
- ;
- INIT ; clear screen, intro text
- W @IOF
- W !?33,"View MRA EOB's"
- W !!?1,"This option will allow you to select and view Medicare Remittance Advice (MRA)"
- W !?1,"Explanations of Benefits (EOB). Only Medicare EOB's are displayed here."
- INITX ;
- Q
- ;
- VIEWEOB(IBIFN,IBEOBIFN) ; This procedure is responsible for
- ; invoking the ListManager list for viewing an EOB.
- ; IBIFN is the internal bill# (required)
- ; IBEOBIFN is the ien to file 361.1 if known (optional)
- ;
- NEW COL,CTRLCOL,FINISH,IB,IBCNT,IBONE,POP,VALMBCK,VALMY,X,Y,Z
- D EN^VALM("IBCEM VIEW EOB")
- VIEWX ;
- Q
- ;
- SCR(IBIFN) ; ?MRA action from the IB Bill Enter/Edit screens
- NEW DIR,X,Y,DTOUT,DUOUT,DIRUT,DIROUT,CNT,IBFASTXT,IBEOBIFN
- I '$D(IOUON)!'$D(IORVON) D ENS^%ZISS
- D SCHD
- S CNT=$$MRACNT^IBCEMU1(IBIFN)
- I 'CNT D G SCRX
- . W !!!?8,"There are no MRA EOB's on file for this bill."
- . D EOP
- . Q
- ;
- I CNT=1 D VIEWEOB(IBIFN) G SCRX ; only one MRA
- ;
- SCLOOP ; Multiple MRA's on file. Call the MRA/EOB lister.
- ;
- D SCHD
- S IBEOBIFN=$$SEL^IBCEMU1(IBIFN,1)
- I 'IBEOBIFN G SCRX
- D VIEWEOB(IBIFN,IBEOBIFN)
- G SCLOOP
- ;
- SCRX ;
- Q
- ;
- SCHD ; screen header info
- W @IOF
- W !!?24,"View Medicare Remittance Advice"
- W !?28,"Explanation of Benefits"
- SCHDX ;
- Q
- ;
- EOP ; End of page
- W !! S DIR("A")=" Press RETURN to continue",DIR(0)="E" D ^DIR K DIR
- EOPX ;
- Q
- ;
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HIBCEMVU 2238 printed Mar 13, 2025@21:16:06 Page 2
- IBCEMVU ;DAOU/ESG - STAND-ALONE VIEW MRA EOB ;18-APR-2003
- +1 ;;2.0;INTEGRATED BILLING;**155**;21-MAR-94
- +2 ;;Per VHA Directive 10-93-142, this routine should not be modified.
- +3 ;
- EN ; Entry point
- +1 NEW DA,DIC,DILN,DISYS,X,Y,DTOUT,DUOUT,IBIFN,IBEOBIFN
- LOOP ;
- +1 KILL IBIFN
- +2 DO INIT
- +3 WRITE !
- +4 SET DIC="^IBM(361.1,"
- +5 SET DIC(0)="AEMQ"
- +6 ; MRA EOB type
- SET DIC("S")="I $P(^(0),U,4)=1"
- +7 ; modify generic lister
- SET DIC("W")="D EOBLST^IBCEMU1(Y)"
- +8 DO ^DIC
- +9 IF Y=-1!$DATA(DTOUT)!$DATA(DUOUT)
- GOTO EX
- +10 SET IBIFN=+$PIECE(Y,U,2)
- +11 IF IBIFN
- DO VIEWEOB(IBIFN,+$PIECE(Y,U,1))
- +12 IF $$MRACNT^IBCEMU1(IBIFN)'>1
- GOTO LOOP
- +13 ;
- +14 ; At this point, we know the selected bill has multiple MRA's on file.
- +15 ; Display the multiple MRA lister and let the user choose again
- ML1 ;
- +1 DO INIT
- +2 SET IBEOBIFN=$$SEL^IBCEMU1(IBIFN,1)
- +3 IF 'IBEOBIFN
- GOTO LOOP
- +4 DO VIEWEOB(IBIFN,IBEOBIFN)
- +5 GOTO ML1
- +6 ;
- EX ; Exit point
- +1 QUIT
- +2 ;
- INIT ; clear screen, intro text
- +1 WRITE @IOF
- +2 WRITE !?33,"View MRA EOB's"
- +3 WRITE !!?1,"This option will allow you to select and view Medicare Remittance Advice (MRA)"
- +4 WRITE !?1,"Explanations of Benefits (EOB). Only Medicare EOB's are displayed here."
- INITX ;
- +1 QUIT
- +2 ;
- VIEWEOB(IBIFN,IBEOBIFN) ; This procedure is responsible for
- +1 ; invoking the ListManager list for viewing an EOB.
- +2 ; IBIFN is the internal bill# (required)
- +3 ; IBEOBIFN is the ien to file 361.1 if known (optional)
- +4 ;
- +5 NEW COL,CTRLCOL,FINISH,IB,IBCNT,IBONE,POP,VALMBCK,VALMY,X,Y,Z
- +6 DO EN^VALM("IBCEM VIEW EOB")
- VIEWX ;
- +1 QUIT
- +2 ;
- SCR(IBIFN) ; ?MRA action from the IB Bill Enter/Edit screens
- +1 NEW DIR,X,Y,DTOUT,DUOUT,DIRUT,DIROUT,CNT,IBFASTXT,IBEOBIFN
- +2 IF '$DATA(IOUON)!'$DATA(IORVON)
- DO ENS^%ZISS
- +3 DO SCHD
- +4 SET CNT=$$MRACNT^IBCEMU1(IBIFN)
- +5 IF 'CNT
- Begin DoDot:1
- +6 WRITE !!!?8,"There are no MRA EOB's on file for this bill."
- +7 DO EOP
- +8 QUIT
- End DoDot:1
- GOTO SCRX
- +9 ;
- +10 ; only one MRA
- IF CNT=1
- DO VIEWEOB(IBIFN)
- GOTO SCRX
- +11 ;
- SCLOOP ; Multiple MRA's on file. Call the MRA/EOB lister.
- +1 ;
- +2 DO SCHD
- +3 SET IBEOBIFN=$$SEL^IBCEMU1(IBIFN,1)
- +4 IF 'IBEOBIFN
- GOTO SCRX
- +5 DO VIEWEOB(IBIFN,IBEOBIFN)
- +6 GOTO SCLOOP
- +7 ;
- SCRX ;
- +1 QUIT
- +2 ;
- SCHD ; screen header info
- +1 WRITE @IOF
- +2 WRITE !!?24,"View Medicare Remittance Advice"
- +3 WRITE !?28,"Explanation of Benefits"
- SCHDX ;
- +1 QUIT
- +2 ;
- EOP ; End of page
- +1 WRITE !!
- SET DIR("A")=" Press RETURN to continue"
- SET DIR(0)="E"
- DO ^DIR
- KILL DIR
- EOPX ;
- +1 QUIT
- +2 ;