- IBCNERPB ;DAOU/RO - PAYER LINK REPORT - Prompts ;AUG-2003
- ;;2.0;INTEGRATED BILLING;**184,252,271,416,528,668,687,737,752**;21-MAR-94;Build 20
- ;;Per VA Directive 6402, this routine should not be modified.
- ;
- ; Reference to EN^XUTMDEVQ in ICR #1519
- ;
- ; IB*2*687-rewrote/redesigned the report (basically from scratch) which
- ; included combining 3 routines into 2. The changes based on the patches prior
- ; to IB*2*688 were not tracked in the routine in the past; therefore, you will
- ; not find references to them below. The IB*2*668 reference (translating "IIV"
- ; to "EIV") will be overwritten with the rewrite.
- ;
- ; eIV - Electronic Ins. Verification
- ; IIU - Interfacility Ins. Update
- ;
- ; Input parameters: N/A
- ; Variables ZTSAVED for queueing:
- ; IBCNERTN="IBCNERPB" (current routine)
- ; IBCNESPC("PAPP")=Payer APPLICATION selected (1-eIV, 2-IIU, 3-Both)
- ; IBCNESPC("PDEACT")=Include Deactivated Payers? (1-include, 2-exclude)
- ; IBCNESPC("PDET")=Include Ins detail? (1-include list of ins, 2-do not list)
- ; IBCNESPC("POUT")=Output Format ('E'=EXCEL, 'R'=REPORT)
- ; IBCNESPC("PPYR")=Single Payer name or "" for ALL
- ; IBCNESPC("PSORT")=Primary Sort
- ; IBCNESPC("PTYPE")=Payer type (1-no active ins linked, 2-at least 1 ins linked, 3-All Payers)
- Q
- ;
- EN ; Entry pt
- N IBCNERTN,IBCNESPC,POP,STOP,ZTQUEUED,ZTREQ,ZTSTOP
- S STOP=0,IBCNERTN="IBCNERPB"
- W @IOF
- W !,"Payer Link Report",!
- W !,"In order for an Insurance Company to be eligible for electronic insurance"
- W !,"eligibility communications via the eIV software or to transmit active insurance"
- W !,"to another VAMC via IIU, the Insurance Company needs to be linked to an"
- W !,"appropriate payer from the National EDI Payer list. The National EDI Payer"
- W !,"list contains the names of the payers that are currently participating with"
- W !,"the eIV and/or IIU process."
- W !!,"This report provides access to the following information:"
- W !!?4,"- A list of all payers with current eIV and IIU settings."
- W !?4,"- A list of all payers with associated linked insurance company detail."
- W !?4,"- A list of all payers with no insurance companies linked."
- ;
- R05 ; Include Deactivated Payers?
- N DIC,DTOUT,DUOUT,X,Y
- K IBCNERSPC
- W !!!
- S DIR(0)="Y"
- S DIR("A")="Include deactivated payers"
- S DIR("B")="YES"
- S DIR("?",1)=" Enter YES to include deactivated payers."
- S DIR("?")=" Enter NO to exclude deactivated payers."
- D ^DIR K DIR
- I $D(DUOUT)!$D(DTOUT) S Y="" G REXIT
- I Y=-1 S Y=""
- S IBCNESPC("PDEACT")=Y
- ;
- R10 ; Select Payer (#365.12)
- ;IB*737/TAZ - Removed reference to Most Popular Payer and "~NO PAYER"
- N DIC,DTOUT,DUOUT,X,Y
- W !
- S DIC(0)="ABEQ"
- S DIC("A")=$$FO^IBCNEUT1("Select a Payer (RETURN for ALL Payers): ",40,"L")
- ; Do not allow non-eIV/non-IIU payers
- S DIC("S")="I (($$PYRAPP^IBCNEUT5(""EIV"",$G(Y))'="""")!($$PYRAPP^IBCNEUT5(""IIU"",$G(Y))'=""""))"
- ; If 'no' deactivated payers selected, override the previous "screen" line.
- I '+IBCNESPC("PDEACT") S DIC("S")="I ('+$$PYRDEACT^IBCNINSU($G(Y))),(($$PYRAPP^IBCNEUT5(""EIV"",$G(Y))'="""")!($$PYRAPP^IBCNEUT5(""IIU"",$G(Y))'=""""))"
- S DIC="^IBE(365.12,"
- D ^DIC
- I $D(DUOUT)!$D(DTOUT) S Y="" G:$$STOP^IBCNINSU REXIT G R05
- I Y=-1 S Y=""
- S IBCNESPC("PPYR")=Y
- I +Y,'+IBCNESPC("PDEACT"),+$$PYRDEACT^IBCNINSU(+Y) D G R10
- . W !,*7,"*** Invalid activated payer...Please try again. ***"
- ;
- R20 ; OUTPUT Format
- N DIR,DIROUT,DIRUT,DTOUT,DUOUT,X,Y
- W !
- S DIR(0)="SA^E:Excel;R:Report"
- S DIR("A")="(E)xcel Format or (R)eport Format: "
- S DIR("B")="Report"
- D ^DIR I $D(DIRUT) G:$$STOP^IBCNINSU REXIT G R10
- S IBCNESPC("POUT")=Y
- I IBCNESPC("POUT")="E" S IBCNESPC("PAPP")=3,IBCNESPC("PSORT")=1,IBCNESPC("PTYPE")=3 G R50 ; For EXCEL go straight to Linked Ins Co Detail prompt.
- I IBCNESPC("PPYR")'="" S IBCNESPC("PAPP")=3,IBCNESPC("PTYPE")=3 G R50 ; For a Single P/ayer Only.
- ;
- R30 ; eIV, IIU or ALL Payers
- N DIR,DIROUT,DIRUT,DTOUT,DUOUT,X,Y
- W !!!,"eIV Payer list - displays those payers who can send and receive"
- W !," HIPAA 270/271 transactions for verification."
- W !,"IIU Payer list - displays those payers who are eligible to exchange"
- W !," between VAMCs for active insurance."
- W !,"Both - includes any payer that is defined as either eIV or IIU"
- W !," or both applications."
- S DIR(0)="S^1:eIV Payer List;2:IIU Payer List;3:Both"
- S DIR("A")="Select a report option"
- S DIR("B")="3"
- S DIR("?",1)="1 - Select eIV PAYER LIST to view payers eligible to send and receive"
- S DIR("?",2)=" HIPAA 270/271 transactions for verification."
- S DIR("?",3)="2 - Select IIU PAYER LIST to view payers eligible to exchange between"
- S DIR("?",4)=" VAMCs for active insurance."
- S DIR("?",5)="3 - Select BOTH to view payers that are defined as either eIV or IIU or"
- S DIR("?",6)=" both applications."
- S DIR("?")=" "
- D ^DIR K DIR I $D(DIRUT) G:$$STOP^IBCNINSU REXIT G R20
- S IBCNESPC("PAPP")=Y
- ;
- R40 ; PAYER Type
- N DIR,DIROUT,DIRUT,DTOUT,DUOUT,X,Y
- S DIR(0)="S^1:Unlinked Payers;2:Linked Payers;3:ALL Payers"
- S DIR("A")="Select the type of payers to display"
- S DIR("B")="3"
- S DIR("?",1)=" 1 - Only payers with no active insurance companies linked"
- S DIR("?",2)=" 2 - Only payers with at least one insurance company linked"
- S DIR("?",3)=" 3 - ALL Payers"
- S DIR("?")=" "
- D ^DIR K DIR I $D(DIRUT) G:$$STOP^IBCNINSU REXIT G R30
- S IBCNESPC("PTYPE")=Y I IBCNESPC("PTYPE")=1 S IBCNESPC("PDET")=2 G R60
- ;
- R50 ; Linked Ins Co Detail?
- N DIR,DIROUT,DIRUT,DTOUT,DUOUT,X,Y
- S DIR(0)="S^1:List linked insurance company detail;2:Do not list linked insurance company detail"
- S DIR("A")="Select company detail option"
- S DIR("B")="1"
- S DIR("?",1)=" 1 - Include a list of insurance companies linked to the payers"
- S DIR("?",2)=" 2 - Do not list linked insurance companies, total number only"
- S DIR("?")=" "
- D ^DIR K DIR
- I $D(DIRUT) G:$$STOP^IBCNINSU REXIT G:(IBCNESPC("POUT")="E")!(IBCNESPC("PPYR")'="") R20 G R40
- S IBCNESPC("PDET")=Y
- ;
- R60 ; PRIMARY sort
- N DIR,DIROUT,DIRUT,DTOUT,DUOUT,X,Y
- I IBCNESPC("POUT")="E" S IBCNESPC("PSORT")=1 G R100 ; If EXCEL skip prompt
- I IBCNESPC("PPYR")'="" S IBCNESPC("PSORT")=1 G R100 ; If a single payer skip prompt
- S DIR(0)="S^1:Payer Name;2:VA National Payer ID;3:Nationally Enabled Status;4:Locally Enabled Status;5:# of Linked Insurance Companies"
- S DIR("A")="Select the primary sort field"
- S DIR("B")=1
- S DIR("?")=" Select a data field by which this report should be primarily sorted."
- D ^DIR K DIR
- I $D(DIRUT) G:$$STOP^IBCNINSU REXIT G:(IBCNESPC("PTYPE")=1) R40 G:(IBCNESPC("PPYR")'="") R20 G R50
- S IBCNESPC("PSORT")=Y
- ;
- R100 ; 132 width.
- I IBCNESPC("POUT")="R" W !!!,"*** This report is 132 characters wide ***",!
- I IBCNESPC("POUT")="E" W !!!,"*** To avoid wrapping, enter '0;256;999' at the 'DEVICE' prompt. ***",!
- ;D DEVICE(IBCNERTN,.IBCNESPC) I STOP G:$$STOP^IBCNINSU REXIT G:(IBCNESPC("POUT")="E") R50 G:(IBCNESPC("PTYPE")=1) R60 G:(IBCNESPC("PPYR")'="") R50 G R60
- D DEVICE(IBCNERTN,.IBCNESPC) I STOP G REXIT ;IB*752/DTG remove step back if upcaret and go to exit
- ;
- REXIT ; Exit pt
- Q
- ;
- DEVICE(IBCNERTN,IBCNESPC) ; Device Handler
- ; IBCNERTN = Routine name for ^TMP($J,...
- ; IBCNESPC = Array of params
- N POP,ZTDESC,ZTRTN,ZTSAVE
- S ZTRTN="COMPILE^IBCNERPC("""_IBCNERTN_""",.IBCNESPC)"
- S ZTDESC="Payer Link Report"
- S ZTSAVE("IBCNESPC(")=""
- S ZTSAVE("IBCNERTN")=""
- D EN^XUTMDEVQ(ZTRTN,ZTDESC,.ZTSAVE) ; ICR # 1519
- I POP S STOP=1
- DEVICEX ; DEVICE exit
- Q
- ;
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HIBCNERPB 7622 printed Feb 18, 2025@23:41:32 Page 2
- IBCNERPB ;DAOU/RO - PAYER LINK REPORT - Prompts ;AUG-2003
- +1 ;;2.0;INTEGRATED BILLING;**184,252,271,416,528,668,687,737,752**;21-MAR-94;Build 20
- +2 ;;Per VA Directive 6402, this routine should not be modified.
- +3 ;
- +4 ; Reference to EN^XUTMDEVQ in ICR #1519
- +5 ;
- +6 ; IB*2*687-rewrote/redesigned the report (basically from scratch) which
- +7 ; included combining 3 routines into 2. The changes based on the patches prior
- +8 ; to IB*2*688 were not tracked in the routine in the past; therefore, you will
- +9 ; not find references to them below. The IB*2*668 reference (translating "IIV"
- +10 ; to "EIV") will be overwritten with the rewrite.
- +11 ;
- +12 ; eIV - Electronic Ins. Verification
- +13 ; IIU - Interfacility Ins. Update
- +14 ;
- +15 ; Input parameters: N/A
- +16 ; Variables ZTSAVED for queueing:
- +17 ; IBCNERTN="IBCNERPB" (current routine)
- +18 ; IBCNESPC("PAPP")=Payer APPLICATION selected (1-eIV, 2-IIU, 3-Both)
- +19 ; IBCNESPC("PDEACT")=Include Deactivated Payers? (1-include, 2-exclude)
- +20 ; IBCNESPC("PDET")=Include Ins detail? (1-include list of ins, 2-do not list)
- +21 ; IBCNESPC("POUT")=Output Format ('E'=EXCEL, 'R'=REPORT)
- +22 ; IBCNESPC("PPYR")=Single Payer name or "" for ALL
- +23 ; IBCNESPC("PSORT")=Primary Sort
- +24 ; IBCNESPC("PTYPE")=Payer type (1-no active ins linked, 2-at least 1 ins linked, 3-All Payers)
- +25 QUIT
- +26 ;
- EN ; Entry pt
- +1 NEW IBCNERTN,IBCNESPC,POP,STOP,ZTQUEUED,ZTREQ,ZTSTOP
- +2 SET STOP=0
- SET IBCNERTN="IBCNERPB"
- +3 WRITE @IOF
- +4 WRITE !,"Payer Link Report",!
- +5 WRITE !,"In order for an Insurance Company to be eligible for electronic insurance"
- +6 WRITE !,"eligibility communications via the eIV software or to transmit active insurance"
- +7 WRITE !,"to another VAMC via IIU, the Insurance Company needs to be linked to an"
- +8 WRITE !,"appropriate payer from the National EDI Payer list. The National EDI Payer"
- +9 WRITE !,"list contains the names of the payers that are currently participating with"
- +10 WRITE !,"the eIV and/or IIU process."
- +11 WRITE !!,"This report provides access to the following information:"
- +12 WRITE !!?4,"- A list of all payers with current eIV and IIU settings."
- +13 WRITE !?4,"- A list of all payers with associated linked insurance company detail."
- +14 WRITE !?4,"- A list of all payers with no insurance companies linked."
- +15 ;
- R05 ; Include Deactivated Payers?
- +1 NEW DIC,DTOUT,DUOUT,X,Y
- +2 KILL IBCNERSPC
- +3 WRITE !!!
- +4 SET DIR(0)="Y"
- +5 SET DIR("A")="Include deactivated payers"
- +6 SET DIR("B")="YES"
- +7 SET DIR("?",1)=" Enter YES to include deactivated payers."
- +8 SET DIR("?")=" Enter NO to exclude deactivated payers."
- +9 DO ^DIR
- KILL DIR
- +10 IF $DATA(DUOUT)!$DATA(DTOUT)
- SET Y=""
- GOTO REXIT
- +11 IF Y=-1
- SET Y=""
- +12 SET IBCNESPC("PDEACT")=Y
- +13 ;
- R10 ; Select Payer (#365.12)
- +1 ;IB*737/TAZ - Removed reference to Most Popular Payer and "~NO PAYER"
- +2 NEW DIC,DTOUT,DUOUT,X,Y
- +3 WRITE !
- +4 SET DIC(0)="ABEQ"
- +5 SET DIC("A")=$$FO^IBCNEUT1("Select a Payer (RETURN for ALL Payers): ",40,"L")
- +6 ; Do not allow non-eIV/non-IIU payers
- +7 SET DIC("S")="I (($$PYRAPP^IBCNEUT5(""EIV"",$G(Y))'="""")!($$PYRAPP^IBCNEUT5(""IIU"",$G(Y))'=""""))"
- +8 ; If 'no' deactivated payers selected, override the previous "screen" line.
- +9 IF '+IBCNESPC("PDEACT")
- SET DIC("S")="I ('+$$PYRDEACT^IBCNINSU($G(Y))),(($$PYRAPP^IBCNEUT5(""EIV"",$G(Y))'="""")!($$PYRAPP^IBCNEUT5(""IIU"",$G(Y))'=""""))"
- +10 SET DIC="^IBE(365.12,"
- +11 DO ^DIC
- +12 IF $DATA(DUOUT)!$DATA(DTOUT)
- SET Y=""
- if $$STOP^IBCNINSU
- GOTO REXIT
- GOTO R05
- +13 IF Y=-1
- SET Y=""
- +14 SET IBCNESPC("PPYR")=Y
- +15 IF +Y
- IF '+IBCNESPC("PDEACT")
- IF +$$PYRDEACT^IBCNINSU(+Y)
- Begin DoDot:1
- +16 WRITE !,*7,"*** Invalid activated payer...Please try again. ***"
- End DoDot:1
- GOTO R10
- +17 ;
- R20 ; OUTPUT Format
- +1 NEW DIR,DIROUT,DIRUT,DTOUT,DUOUT,X,Y
- +2 WRITE !
- +3 SET DIR(0)="SA^E:Excel;R:Report"
- +4 SET DIR("A")="(E)xcel Format or (R)eport Format: "
- +5 SET DIR("B")="Report"
- +6 DO ^DIR
- IF $DATA(DIRUT)
- if $$STOP^IBCNINSU
- GOTO REXIT
- GOTO R10
- +7 SET IBCNESPC("POUT")=Y
- +8 ; For EXCEL go straight to Linked Ins Co Detail prompt.
- IF IBCNESPC("POUT")="E"
- SET IBCNESPC("PAPP")=3
- SET IBCNESPC("PSORT")=1
- SET IBCNESPC("PTYPE")=3
- GOTO R50
- +9 ; For a Single P/ayer Only.
- IF IBCNESPC("PPYR")'=""
- SET IBCNESPC("PAPP")=3
- SET IBCNESPC("PTYPE")=3
- GOTO R50
- +10 ;
- R30 ; eIV, IIU or ALL Payers
- +1 NEW DIR,DIROUT,DIRUT,DTOUT,DUOUT,X,Y
- +2 WRITE !!!,"eIV Payer list - displays those payers who can send and receive"
- +3 WRITE !," HIPAA 270/271 transactions for verification."
- +4 WRITE !,"IIU Payer list - displays those payers who are eligible to exchange"
- +5 WRITE !," between VAMCs for active insurance."
- +6 WRITE !,"Both - includes any payer that is defined as either eIV or IIU"
- +7 WRITE !," or both applications."
- +8 SET DIR(0)="S^1:eIV Payer List;2:IIU Payer List;3:Both"
- +9 SET DIR("A")="Select a report option"
- +10 SET DIR("B")="3"
- +11 SET DIR("?",1)="1 - Select eIV PAYER LIST to view payers eligible to send and receive"
- +12 SET DIR("?",2)=" HIPAA 270/271 transactions for verification."
- +13 SET DIR("?",3)="2 - Select IIU PAYER LIST to view payers eligible to exchange between"
- +14 SET DIR("?",4)=" VAMCs for active insurance."
- +15 SET DIR("?",5)="3 - Select BOTH to view payers that are defined as either eIV or IIU or"
- +16 SET DIR("?",6)=" both applications."
- +17 SET DIR("?")=" "
- +18 DO ^DIR
- KILL DIR
- IF $DATA(DIRUT)
- if $$STOP^IBCNINSU
- GOTO REXIT
- GOTO R20
- +19 SET IBCNESPC("PAPP")=Y
- +20 ;
- R40 ; PAYER Type
- +1 NEW DIR,DIROUT,DIRUT,DTOUT,DUOUT,X,Y
- +2 SET DIR(0)="S^1:Unlinked Payers;2:Linked Payers;3:ALL Payers"
- +3 SET DIR("A")="Select the type of payers to display"
- +4 SET DIR("B")="3"
- +5 SET DIR("?",1)=" 1 - Only payers with no active insurance companies linked"
- +6 SET DIR("?",2)=" 2 - Only payers with at least one insurance company linked"
- +7 SET DIR("?",3)=" 3 - ALL Payers"
- +8 SET DIR("?")=" "
- +9 DO ^DIR
- KILL DIR
- IF $DATA(DIRUT)
- if $$STOP^IBCNINSU
- GOTO REXIT
- GOTO R30
- +10 SET IBCNESPC("PTYPE")=Y
- IF IBCNESPC("PTYPE")=1
- SET IBCNESPC("PDET")=2
- GOTO R60
- +11 ;
- R50 ; Linked Ins Co Detail?
- +1 NEW DIR,DIROUT,DIRUT,DTOUT,DUOUT,X,Y
- +2 SET DIR(0)="S^1:List linked insurance company detail;2:Do not list linked insurance company detail"
- +3 SET DIR("A")="Select company detail option"
- +4 SET DIR("B")="1"
- +5 SET DIR("?",1)=" 1 - Include a list of insurance companies linked to the payers"
- +6 SET DIR("?",2)=" 2 - Do not list linked insurance companies, total number only"
- +7 SET DIR("?")=" "
- +8 DO ^DIR
- KILL DIR
- +9 IF $DATA(DIRUT)
- if $$STOP^IBCNINSU
- GOTO REXIT
- if (IBCNESPC("POUT")="E")!(IBCNESPC("PPYR")'="")
- GOTO R20
- GOTO R40
- +10 SET IBCNESPC("PDET")=Y
- +11 ;
- R60 ; PRIMARY sort
- +1 NEW DIR,DIROUT,DIRUT,DTOUT,DUOUT,X,Y
- +2 ; If EXCEL skip prompt
- IF IBCNESPC("POUT")="E"
- SET IBCNESPC("PSORT")=1
- GOTO R100
- +3 ; If a single payer skip prompt
- IF IBCNESPC("PPYR")'=""
- SET IBCNESPC("PSORT")=1
- GOTO R100
- +4 SET DIR(0)="S^1:Payer Name;2:VA National Payer ID;3:Nationally Enabled Status;4:Locally Enabled Status;5:# of Linked Insurance Companies"
- +5 SET DIR("A")="Select the primary sort field"
- +6 SET DIR("B")=1
- +7 SET DIR("?")=" Select a data field by which this report should be primarily sorted."
- +8 DO ^DIR
- KILL DIR
- +9 IF $DATA(DIRUT)
- if $$STOP^IBCNINSU
- GOTO REXIT
- if (IBCNESPC("PTYPE")=1)
- GOTO R40
- if (IBCNESPC("PPYR")'="")
- GOTO R20
- GOTO R50
- +10 SET IBCNESPC("PSORT")=Y
- +11 ;
- R100 ; 132 width.
- +1 IF IBCNESPC("POUT")="R"
- WRITE !!!,"*** This report is 132 characters wide ***",!
- +2 IF IBCNESPC("POUT")="E"
- WRITE !!!,"*** To avoid wrapping, enter '0;256;999' at the 'DEVICE' prompt. ***",!
- +3 ;D DEVICE(IBCNERTN,.IBCNESPC) I STOP G:$$STOP^IBCNINSU REXIT G:(IBCNESPC("POUT")="E") R50 G:(IBCNESPC("PTYPE")=1) R60 G:(IBCNESPC("PPYR")'="") R50 G R60
- +4 ;IB*752/DTG remove step back if upcaret and go to exit
- DO DEVICE(IBCNERTN,.IBCNESPC)
- IF STOP
- GOTO REXIT
- +5 ;
- REXIT ; Exit pt
- +1 QUIT
- +2 ;
- DEVICE(IBCNERTN,IBCNESPC) ; Device Handler
- +1 ; IBCNERTN = Routine name for ^TMP($J,...
- +2 ; IBCNESPC = Array of params
- +3 NEW POP,ZTDESC,ZTRTN,ZTSAVE
- +4 SET ZTRTN="COMPILE^IBCNERPC("""_IBCNERTN_""",.IBCNESPC)"
- +5 SET ZTDESC="Payer Link Report"
- +6 SET ZTSAVE("IBCNESPC(")=""
- +7 SET ZTSAVE("IBCNERTN")=""
- +8 ; ICR # 1519
- DO EN^XUTMDEVQ(ZTRTN,ZTDESC,.ZTSAVE)
- +9 IF POP
- SET STOP=1
- DEVICEX ; DEVICE exit
- +1 QUIT
- +2 ;