IBCNETST ;DAOU/ALA - eIV Gate-keeper test scenarios ; 11-OCT-2017
;;2.0;INTEGRATED BILLING;**601,732,778,822**;21-MAR-94;Build 21
;;Per VA Directive 6402, this routine should not be modified.
;
;**Program Description**
;This program serves as a gate-keeper to protect FSC from receiving unexpected
;transmissions from a test account via the electronic Insurance Verification
;interface. Unexpected transmission have been known to take down their test
;systems. DO NOT alter or remove this routine.
;
; IB*2*601/DM XMITOK() Gate-keeper routine moved from IBCNEUT7
; IB*2*732/TZ added Test patients for auto-update with no group number
; IB*2*732/CKB added Test patients for 'Blues'
; IB*2*778/DJW changed acceptable SUBSCRIBER ID for 2 of the scenarios
; IB*2*822/CKB added functionality for IBMEDICARE,xxx patients
; added E1 tag for IBEONE,xxx patients (NCPDP E1 Transactions)
; Fine tuned - dropped DOB and SEX check for most as FSC doesn't need it
; for subscriber 270s. Dependent 270s, only the SEX was removed
;
;
;******************
; Changes made after the release of IB*822
;
Q
;
XMITOK(TQIEN) ;EP
; Checks if the site is a test site (not a production site) and if so
; only allows transactions in the eIV queue that meet specific criteria
; to be transmitted to FSC. Prevents invalid transmissions from a test
; site to FSC which blocks the interface and need to be manually resolved
; at FSC.
; Input: TQIEN - IEN of the IIV Transmission Queue entry
; Returns: 1 - Ok to add item to the eIV queue
; 0 - Not ok to add item to the eIV queue
;
N DFN,GOOD,GRPNUM,IBIEN,IBCNMPI,IENS,IVPIEN,MCARE,PATDOB,PATID,PATNM,PATSEX,PAYRNM,PIEN
N SUBID,SUBNM,TSITE,XX
;
; First check to see if the site is a test or a production site
S TSITE=$S($$PROD^XUPROD(1):0,1:1)
Q:'TSITE 1 ; Production site no checks done
;Q 0 ;Don't send anything
;
S MCARE=$$GET1^DIQ(350.9,"1,",51.25,"E") ; Medicare Payer Name
S (GRPNUM,PATID,SUBID,SUBNM)=""
S DFN=$$GET1^DIQ(365.1,TQIEN_",",.02,"I") ; Patient IEN
S PATNM=$$GET1^DIQ(2,DFN_",",.01,"I") ; Patient Name
S IBCNMPI=$$GET1^DIQ(2,DFN_",",991.01,"I") ; Integration Control Number MPI
; Quit if the Integration Control Number MPI is null - MUST be present
Q:IBCNMPI="" 0
;
; If the patient name contains "EICD" they are test scenario's for the "EICD" process.
I PATNM["EICD" Q 1
I PATNM["IBMEDICARE" Q 1 ; Allow IBMEDICARE,xxx patients
;
S PIEN=$$GET1^DIQ(365.1,TQIEN_",",.03,"I") ; Payer IEN
S IBIEN=$$GET1^DIQ(365.1,TQIEN_",",.13,"I") ; Insurance multiple number
;
; If the insurance multiple is not in the transmission queue, get the
; following fields from the Insurance Verification Processor file
I IBIEN="" D
. S IVPIEN=$$GET1^DIQ(365.1,TQIEN_",",.05,"I") ; IVP file IEN
. S GRPNUM=$$GET1^DIQ(355.33,IVPIEN_",",90.02) ; Group Plan Number
. S PATID=$$GET1^DIQ(355.33,IVPIEN_",",62.01) ; Group Plan Number
. S SUBID=$$GET1^DIQ(355.33,IVPIEN_",",90.03) ; Subscriber ID
. S SUBNM=$$GET1^DIQ(355.33,IVPIEN_",",91.01) ; Subscriber Name
E D
. S IENS=IBIEN_","_DFN_","
. S XX=$$GET1^DIQ(2.312,IENS,.18,"I") ; IEN of the Group Plan
. S GRPNUM=$$GET1^DIQ(355.3,XX_",",2.02) ; Group Plan Number
. S PATID=$$GET1^DIQ(2.312,IENS,5.01) ; Patient ID
. S SUBID=$$GET1^DIQ(2.312,IENS,1) ; Subscriber ID
. S SUBNM=$$GET1^DIQ(2.312,IENS,7.01) ; Subscriber NM
;
I (SUBID="")!(SUBNM="") Q 0 ; Key elements not defined
S XX=$$GET1^DIQ(2,DFN_",",.03,"I") ; Internal Patient DOB
S PATDOB=$TR($$FMTE^XLFDT(XX,"7DZ"),"/","") ; YYYYMMDD format
S PATSEX=$$GET1^DIQ(2,DFN_",",.02,"I") ; Patient Sex
S PATNM=$$GET1^DIQ(2,DFN_",",.01,"I") ; Patient Name
S PAYRNM=$$GET1^DIQ(365.12,PIEN_",",.01) ; Payer Name
S PAYRNM=$$UP^XLFSTR(PAYRNM)
S GOOD=0
;
I PAYRNM="CMS MBI ONLY" G MBI ; this is an MBI test
;
I PAYRNM="AETNA",GRPNUM="GRP NUM 13805",SUBID="111111AE" D Q:GOOD 1
. Q:SUBNM'="IBSUB,ACTIVE"
. ;Q:PATDOB'="19220202"
. ;Q:PATSEX'="M"
. S GOOD=1
;
I PAYRNM="AETNA",GRPNUM="GRP NUM 13188",SUBID="111111FG" D Q:GOOD 1
. Q:SUBNM'="IBSUB,INACTIVE"
. ;Q:PATDOB'="19480101"
. ;Q:PATSEX'="F"
. S GOOD=1
;
; IB*778/DJW SUBID below is more generic
I PAYRNM="CIGNA",GRPNUM="GRP NUM 5442",SUBID="87654321CI" D Q:GOOD 1
. Q:SUBNM'="IBSUB,AAAERROR"
. ;Q:PATDOB'="19470211"
. ;Q:PATSEX'="M"
. S GOOD=1
;
I PAYRNM="AETNA",GRPNUM="AET1234",SUBID="W1234561111" D Q:GOOD 1
. Q:SUBNM'="IBINS,ACTIVE" ; Note this patient is male
. Q:PATID'="W123452222"
. Q:PATNM'="IBDEP,ACTIVE"
. Q:PATDOB'="19900304"
. ;Q:PATSEX'="F" ; Note this is subscriber's spouse
. S GOOD=1
;
I MCARE'="",PAYRNM=MCARE,SUBID="333113333A" D Q:GOOD 1
. Q:SUBNM'="IB,PATIENT"
. ;Q:PATDOB'="19350309"
. ;Q:PATSEX'="M"
. S GOOD=1
;
I MCARE'="",PAYRNM=MCARE,SUBID="111223333A" D Q:GOOD 1
. Q:SUBNM'="IBSUB,TWOTRLRS"
. ;Q:PATDOB'="19550505"
. ;Q:PATSEX'="M"
. S GOOD=1
;
; Added for testing "Stop trigger of EIV Response", FSC's initial response
; indicates no insurance identified therefore there are no policies to reverify
; automatically.
I PAYRNM="AETNA",GRPNUM="GRP NUM 13805",SUBID="222222AE" D Q:GOOD 1
. Q:SUBNM'="IBSUB,CANNOTFIND"
. ;Q:PATDOB'="19220707"
. ;Q:PATSEX'="M"
. S GOOD=1
;
I PAYRNM="CIGNA",GRPNUM="GRP NUM 5442",SUBID="222222CI" D Q:GOOD 1
. Q:SUBNM'="IBSUB,ACTIVE"
. ;Q:PATDOB'="19220202"
. ;Q:PATSEX'="M"
. S GOOD=1
;
; IB*2*732/TAZ - Added Non-medicare patient scenario for auto-update, no group number
I PAYRNM="CIGNA",GRPNUM="GRP NUM 5337",SUBID="555555NO" D Q:GOOD 1
. Q:SUBNM'="IBSUB,NOGROUPNUM"
. ;Q:PATDOB'="19380311"
. ;Q:PATSEX'="M"
. S GOOD=1
;
; IB*2*732/TAZ - Added Medicare patient scenario for auto-update, no group number
; IB*778/DJW SUBID below is more generic
I PAYRNM="CMS",GRPNUM="PART A",SUBID="12345678ME" D Q:GOOD 1
. Q:SUBNM'="IB,MEDICARENOGRP"
. ;Q:PATDOB'="19381110"
. ;Q:PATSEX'="F"
. S GOOD=1
;
; IB*2*732/CKB - Added patient scenario for 'Blues' testing
I PAYRNM="BCBS OF COLORADO",GRPNUM="BLU1234",SUBID="COL98765" D Q:GOOD 1
. Q:SUBNM'="IBSUB,BLUECROSS WGRP"
. ;Q:PATDOB'="19420826"
. ;Q:PATSEX'="M"
. S GOOD=1
;
; IB*2*732/CKB - Added patient scenario for 'Blues' testing
I PAYRNM="BCBS OF COLORADO",GRPNUM="BLU1234",SUBID="COL56789" D Q:GOOD 1
. Q:SUBNM'="IBSUB,BLUECROSS WOGRP"
. ;Q:PATDOB'="19420101"
. ;Q:PATSEX'="M"
. S GOOD=1
Q 0
;
MBI ;
; IB*2*601//DM - MBI testing scenarios
I PAYRNM="CMS MBI ONLY",SUBID="MBIrequest" D Q:GOOD 1
. Q:SUBNM'="IB,MBIPATIENTONE"
. ;Q:PATDOB'="19380311"
. ;Q:PATSEX'="M"
. S GOOD=1
;
I PAYRNM="CMS MBI ONLY",SUBID="MBIrequest" D Q:GOOD 1
. Q:SUBNM'="IB,MBIPATIENTTWO"
. ;Q:PATDOB'="19381110"
. ;Q:PATSEX'="M"
. S GOOD=1
;
I PAYRNM="CMS MBI ONLY",SUBID="MBIrequest" D Q:GOOD 1
. Q:SUBNM'="IB,MBIPATIENTTHREE"
. ;Q:PATDOB'="19470530"
. ;Q:PATSEX'="M"
. S GOOD=1
;
I PAYRNM="CMS MBI ONLY",SUBID="MBIrequest" D Q:GOOD 1
. Q:SUBNM'="IB,MBIPATIENTFOUR"
. Q:PATDOB'="19500130"
. Q:PATSEX'="M"
. S GOOD=1
;
I PAYRNM="CMS MBI ONLY",SUBID="MBIrequest" D Q:GOOD 1
. Q:SUBNM'="IB,MBIPATIENTFIVE"
. ;Q:PATDOB'="19500827"
. ;Q:PATSEX'="M"
. S GOOD=1
;
I PAYRNM="CMS MBI ONLY",SUBID="MBIrequest" D Q:GOOD 1
. Q:SUBNM'="IB,MBIPATIENTSIX"
. ;Q:PATDOB'="19471022"
. ;Q:PATSEX'="M"
. S GOOD=1
;
I PAYRNM="CMS MBI ONLY",SUBID="MBIrequest" D Q:GOOD 1
. Q:SUBNM'="IB,MBIPATIENTSEVEN"
. ;Q:PATDOB'="19490603"
. ;Q:PATSEX'="M"
. S GOOD=1
;
I PAYRNM="CMS MBI ONLY",SUBID="MBIrequest" D Q:GOOD 1
. Q:SUBNM'="IB,MBIPATIENTEIGHT"
. ;Q:PATDOB'="19470921"
. ;Q:PATSEX'="M"
. S GOOD=1
;
I PAYRNM="CMS MBI ONLY",SUBID="MBIrequest" D Q:GOOD 1
. Q:SUBNM'="IB,MBIPATIENTNINE"
. ;Q:PATDOB'="19430301"
. ;Q:PATSEX'="M"
. S GOOD=1
;
I PAYRNM="CMS MBI ONLY",SUBID="MBIrequest" D Q:GOOD 1
. Q:SUBNM'="IB,MBIPATIENTTEN"
. ;Q:PATDOB'="19580129"
. ;Q:PATSEX'="M"
. S GOOD=1
;
Q 0
;
E1(DFN,BPRIEN) ;IB*822/DG - added to handle NCPDP E1 test patients IBEONE,xxx
N CLAIM,IBA,IBSDT,PATDOB,PATNM
;
; First check to see if the site is a test or a production site
I '$S($$PROD^XUPROD(1):0,1:1) Q ; Production site no overwriting the E1 BPS Response !!!
;
S PATNM=$$GET1^DIQ(2,DFN_",",.01,"I") ; Patient Name
S IBA=$$GET1^DIQ(2,DFN_",",.03,"I") ; Internal Patient DOB
S PATDOB=$TR($$FMTE^XLFDT(IBA,"7DZ"),"/","") ; YYYYMMDD format
S CLAIM=$P(^BPSR(BPRIEN,0),U),CLAIM=$P(^BPSC(CLAIM,0),U)
S IBSDT=$TR($$FMTE^XLFDT(DT,"7Z"),"/","") ; service date
;
I PATNM="IBEONE,REJECT NCPDP" D Q
. ; Don't change zero node
. K ^BPSR(BPRIEN,504),^BPSR(BPRIEN,1000),^BPSR(BPRIEN,"M")
. ;
. S ^BPSR(BPRIEN,100)="^D0^E1^^^^^^1"
. S ^BPSR(BPRIEN,200)="1790743797 ^01"
. S ^BPSR(BPRIEN,400)=IBSDT
. S ^BPSR(BPRIEN,500)="R"
. S ^BPSR(BPRIEN,504)="NC1-Could not receive the response from the clearinghouse. The connection failed."
. S ^BPSR(BPRIEN,1000,0)="^9002313.0301A^1^1"
. S ^BPSR(BPRIEN,1000,1,0)=1
. S ^BPSR(BPRIEN,1000,1,110)="^R"
. S ^BPSR(BPRIEN,1000,1,500)="R^^^^^^^^^1"
. S ^BPSR(BPRIEN,1000,1,511,0)="^9002313.03511A^1^1"
. S ^BPSR(BPRIEN,1000,1,511,1,0)="07"
. S ^BPSR(BPRIEN,1000,1,511,"B","07",1)=""
. S ^BPSR(BPRIEN,1000,"B",1,1)=""
. S ^BPSR(BPRIEN,"M",0)="^^3^3^"_DT
. S ^BPSR(BPRIEN,"M",1,0)=CLAIM_"D0E11R011790743797 "_DT_"\X1E\\X1C\AM20\X"
. S ^BPSR(BPRIEN,"M",2,0)="1C\F4NC1-Could not receive the response from the clearing house. The connection "
. S ^BPSR(BPRIEN,"M",3,0)="failed.\X1D\\X1E\\X1C\AM21\X1C\ANR\X1C\FA1\X1C\FBNN"
;
I PATNM="IBEONE,REJECT NOTFOUND" D Q
. ; Don't change zero node
. K ^BPSR(BPRIEN,504),^BPSR(BPRIEN,1000),^BPSR(BPRIEN,"M")
. ;
. S ^BPSR(BPRIEN,100)="^D0^E1^^^^^^1"
. S ^BPSR(BPRIEN,200)="1295793248 ^01"
. S ^BPSR(BPRIEN,400)=IBSDT
. S ^BPSR(BPRIEN,500)="A"
. S ^BPSR(BPRIEN,504)="ERX108Patient Not Found"
. S ^BPSR(BPRIEN,1000,0)="^9002313.0301A^1^1"
. S ^BPSR(BPRIEN,1000,1,0)=1
. S ^BPSR(BPRIEN,1000,1,110)="^R"
. S ^BPSR(BPRIEN,1000,1,500)="R^^^^^^^^^1"
. S ^BPSR(BPRIEN,1000,1,511,0)="^9002313.03511A^1^1"
. S ^BPSR(BPRIEN,1000,1,511,1,0)=65
. S ^BPSR(BPRIEN,1000,1,511,"B",65,1)=""
. S ^BPSR(BPRIEN,1000,"B",1,1)=""
. S ^BPSR(BPRIEN,"M",0)="^^2^2^"_DT
. S ^BPSR(BPRIEN,"M",1,0)=CLAIM_"D0E11A011295793248 "_DT_"\X1E\\X1C\AM20\X"
. S ^BPSR(BPRIEN,"M",2,0)="1C\F4ERX108Patient Not Found\X1D\\X1E\\X1C\AM21\X1C\ANR\X1C\FA1\X1C\FB65"
;
;
I PATNM="IBEONE,REJECT NOTCOVERED" D Q
. ; Don't change zero node
. K ^BPSR(BPRIEN,504),^BPSR(BPRIEN,1000),^BPSR(BPRIEN,"M")
. ;
. S ^BPSR(BPRIEN,100)="^D0^E1^^^^^^1"
. S ^BPSR(BPRIEN,200)="1295793248 ^01"
. S ^BPSR(BPRIEN,400)=IBSDT
. S ^BPSR(BPRIEN,500)="A"
. S ^BPSR(BPRIEN,504)="ERX180Patient Found Coverage Not Active On Submitted Date of Service"
. S ^BPSR(BPRIEN,1000,0)="^9002313.0301A^1^1"
. S ^BPSR(BPRIEN,1000,1,0)=1
. S ^BPSR(BPRIEN,1000,1,110)="^R"
. S ^BPSR(BPRIEN,1000,1,500)="R^^^^^^^^^1"
. S ^BPSR(BPRIEN,1000,1,511,0)="^9002313.03511A^1^1"
. S ^BPSR(BPRIEN,1000,1,511,1,0)=85
. S ^BPSR(BPRIEN,1000,1,511,"B",85,1)=""
. S ^BPSR(BPRIEN,1000,"B",1,1)=""
. S ^BPSR(BPRIEN,"M",0)="^^3^3^"_DT
. S ^BPSR(BPRIEN,"M",1,0)=CLAIM_"D0E11A011295793248 "_DT_"\X1E\\X1C\AM20\X"
. S ^BPSR(BPRIEN,"M",2,0)="1C\F4ERX180Patient Found Coverage Not Active On Submitted Date of Service\X1D\\"
. S ^BPSR(BPRIEN,"M",3,0)="X1E\\X1C\AM21\X1C\ANR\X1C\FA1\X1C\FB85"
;
;
I PATNM="IBEONE,REJECT MEDPARTD" D Q
. ; Don't change zero node
. K ^BPSR(BPRIEN,504),^BPSR(BPRIEN,1000),^BPSR(BPRIEN,"M")
. ;
. S ^BPSR(BPRIEN,100)="^D0^E1^^^^^^1"
. S ^BPSR(BPRIEN,200)="1295793248 ^01"
. S ^BPSR(BPRIEN,400)=IBSDT
. S ^BPSR(BPRIEN,500)="A"
. S ^BPSR(BPRIEN,504)="ERX128: COMMERCIAL ELIGIBILITY PARTNER HAS INDICATED PRIMARY COVERAGE AS MEDICARE PART D"
. S ^BPSR(BPRIEN,1000,0)="^9002313.0301A^1^1"
. S ^BPSR(BPRIEN,1000,1,0)=1
. S ^BPSR(BPRIEN,1000,1,110)="^A"
. S ^BPSR(BPRIEN,1000,1,350)="^^^^1"
. S ^BPSR(BPRIEN,1000,1,355.01,0)="^9002313.035501A^1^1"
. S ^BPSR(BPRIEN,1000,1,355.01,1,0)="1^001^0^^^8009221557"
. S ^BPSR(BPRIEN,1000,1,355.01,1,1)="01^03^610014^^089999943110^GA23BLE"
. S ^BPSR(BPRIEN,1000,1,355.01,"B",1,1)=""
. S ^BPSR(BPRIEN,1000,1,500)="A"
. S ^BPSR(BPRIEN,1000,"B",1,1)=""
. S ^BPSR(BPRIEN,"M",0)="^^5^5^"_DT
. S ^BPSR(BPRIEN,"M",1,0)=CLAIM_"D0E11A011295793248 "_DT_"\X1E\\X1C\AM20\X"
. S ^BPSR(BPRIEN,"M",2,0)="1C\F4ERX128: COMMERCIAL ELIGIBILITY PARTNER HAS INDICATED PRIMARY COVERAGE AS M"
. S ^BPSR(BPRIEN,"M",3,0)="EDICARE PART D\X1E\\X1C\AM29\X1C\CAREJECT\X1C\CBIBEONE\X1C\C4"_PATDOB_"\X1D\\X1"
. S ^BPSR(BPRIEN,"M",4,0)="E\\X1C\AM21\X1C\ANA\X1E\\X1C\AM28\X1C\NT1\X1C\5C01\X1C\6C03\X1C\7C610014\X1C\NU"
. S ^BPSR(BPRIEN,"M",5,0)="089999943110\X1C\MJGA23BLE\X1C\UV001\X1C\UW0\X1C\UB8009221557"
;
I PATNM="IBEONE,APPROVE TWO" D Q
. ; Don't change zero node
. K ^BPSR(BPRIEN,504),^BPSR(BPRIEN,1000),^BPSR(BPRIEN,"M")
. ;
. S ^BPSR(BPRIEN,100)="^D0^E1^^^^^^1"
. S ^BPSR(BPRIEN,200)="1295793248 ^01"
. S ^BPSR(BPRIEN,400)=IBSDT
. S ^BPSR(BPRIEN,500)="A"
. S ^BPSR(BPRIEN,1000,0)="^9002313.0301A^1^1"
. S ^BPSR(BPRIEN,1000,1,0)=1
. S ^BPSR(BPRIEN,1000,1,110)="^A"
. S ^BPSR(BPRIEN,1000,350)="^^^^2"
. S ^BPSR(BPRIEN,1000,1,355.01,0)="^9002313.035501A^2^2"
. S ^BPSR(BPRIEN,1000,1,355.01,1,0)="1^001^0^^^8008240898"
. S ^BPSR(BPRIEN,1000,1,355.01,1,1)="01^03^003858^A4^00999930300^DODA"
. S ^BPSR(BPRIEN,1000,1,355.01,2,0)="2^05^1^20151019^20391231^8004212342"
. S ^BPSR(BPRIEN,1000,1,355.01,2,1)="02^03^610239^FEPRX^R6999992105^65006500"
. S ^BPSR(BPRIEN,1000,1,355.01,"B",1,1)=""
. S ^BPSR(BPRIEN,1000,1,355.01,"B",2,2)=""
. S ^BPSR(BPRIEN,1000,1,500)="A"
. S ^BPSR(BPRIEN,1000,"B",1,1)=""
. S ^BPSR(BPRIEN,1000,"B",2,2)=""
. S ^BPSR(BPRIEN,"M",0)="^^6^6^"_DT
. S ^BPSR(BPRIEN,"M",1,0)=CLAIM_"D0E11A011295793248 "_DT_"\X1E\\X1C\AM29\X"
. S ^BPSR(BPRIEN,"M",2,0)="1C\CAAPPROVE\X1C\CBIBEONE\X1C\C4"_PATDOB_"\X1D\\X1E\\X1C\AM21\X1C\ANA\X1E\\X1C\AM28\"
. S ^BPSR(BPRIEN,"M",3,0)="X1C\NT2\X1C\5C01\X1C\6C03\X1C\7C003858\X1C\MHA4\X1C\NU00999930300\X1C\MJDODA\X1"
. S ^BPSR(BPRIEN,"M",4,0)="C\UV001\X1C\UW0\X1C\UB8008240898\X1C\5C02\X1C\6C03\X1C\7C610239\X1C\MHFEPRX\X1C"
. S ^BPSR(BPRIEN,"M",5,0)="\NUR6999992105\X1C\MJ65006500\X1C\UV05\X1C\UW0\X1C\UB8004212342\X1C\UX20151019\"
. S ^BPSR(BPRIEN,"M",6,0)="X1C\UY20391231"
;
I PATNM="IBEONE,APPROVE ONE" D Q
. ; Don't change zero node
. K ^BPSR(BPRIEN,504),^BPSR(BPRIEN,1000),^BPSR(BPRIEN,"M")
. ;
. S ^BPSR(BPRIEN,100)="^D0^E1^^^^^^1"
. S ^BPSR(BPRIEN,200)="1295793248 ^01"
. S ^BPSR(BPRIEN,400)=IBSDT
. S ^BPSR(BPRIEN,500)="A"
. S ^BPSR(BPRIEN,1000,0)="^9002313.0301A^1^1"
. S ^BPSR(BPRIEN,1000,1,0)=1
. S ^BPSR(BPRIEN,1000,1,110)="^A"
. S ^BPSR(BPRIEN,1000,1,350)="^^^^1"
. S ^BPSR(BPRIEN,1000,1,355.01,0)="^9002313.035501A^1^1"
. S ^BPSR(BPRIEN,1000,1,355.01,1,0)="1^00^0^20250101^20391231^8004212342"
. S ^BPSR(BPRIEN,1000,1,355.01,1,1)="01^03^004336^ADV^8LM9999974300^RX4097"
. S ^BPSR(BPRIEN,1000,1,355.01,"B",1,1)=""
. S ^BPSR(BPRIEN,1000,1,500)="A"
. S ^BPSR(BPRIEN,1000,"B",1,1)=""
. S ^BPSR(BPRIEN,"M",0)="^^4^4^"_DT
. S ^BPSR(BPRIEN,"M",1,0)=CLAIM_"D0E11A011295793248 "_DT_"\X1E\\X1C\AM29\X"
. S ^BPSR(BPRIEN,"M",2,0)="1C\CAAPPROVE\X1C\CBIBEONE\X1C\C4"_PATDOB_"\X1D\\X1E\\X1C\AM21\X1C\ANA\X1E\\X1C\AM2"
. S ^BPSR(BPRIEN,"M",3,0)="8\X1C\NT1\X1C\5C01\X1C\6C03\X1C\7C004336\X1C\MHADV\X1C\NU8LM9999974300\X1C\MJRX"
. S ^BPSR(BPRIEN,"M",4,0)="4097\X1C\UV00\X1C\UW0\X1C\UB8004212342\X1C\UX20250101\X1C\UY20391231"
;
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HIBCNETST 16058 printed Mar 25, 2026@15:40:19 Page 2
IBCNETST ;DAOU/ALA - eIV Gate-keeper test scenarios ; 11-OCT-2017
+1 ;;2.0;INTEGRATED BILLING;**601,732,778,822**;21-MAR-94;Build 21
+2 ;;Per VA Directive 6402, this routine should not be modified.
+3 ;
+4 ;**Program Description**
+5 ;This program serves as a gate-keeper to protect FSC from receiving unexpected
+6 ;transmissions from a test account via the electronic Insurance Verification
+7 ;interface. Unexpected transmission have been known to take down their test
+8 ;systems. DO NOT alter or remove this routine.
+9 ;
+10 ; IB*2*601/DM XMITOK() Gate-keeper routine moved from IBCNEUT7
+11 ; IB*2*732/TZ added Test patients for auto-update with no group number
+12 ; IB*2*732/CKB added Test patients for 'Blues'
+13 ; IB*2*778/DJW changed acceptable SUBSCRIBER ID for 2 of the scenarios
+14 ; IB*2*822/CKB added functionality for IBMEDICARE,xxx patients
+15 ; added E1 tag for IBEONE,xxx patients (NCPDP E1 Transactions)
+16 ; Fine tuned - dropped DOB and SEX check for most as FSC doesn't need it
+17 ; for subscriber 270s. Dependent 270s, only the SEX was removed
+18 ;
+19 ;
+20 ;******************
+21 ; Changes made after the release of IB*822
+22 ;
+23 QUIT
+24 ;
XMITOK(TQIEN) ;EP
+1 ; Checks if the site is a test site (not a production site) and if so
+2 ; only allows transactions in the eIV queue that meet specific criteria
+3 ; to be transmitted to FSC. Prevents invalid transmissions from a test
+4 ; site to FSC which blocks the interface and need to be manually resolved
+5 ; at FSC.
+6 ; Input: TQIEN - IEN of the IIV Transmission Queue entry
+7 ; Returns: 1 - Ok to add item to the eIV queue
+8 ; 0 - Not ok to add item to the eIV queue
+9 ;
+10 NEW DFN,GOOD,GRPNUM,IBIEN,IBCNMPI,IENS,IVPIEN,MCARE,PATDOB,PATID,PATNM,PATSEX,PAYRNM,PIEN
+11 NEW SUBID,SUBNM,TSITE,XX
+12 ;
+13 ; First check to see if the site is a test or a production site
+14 SET TSITE=$SELECT($$PROD^XUPROD(1):0,1:1)
+15 ; Production site no checks done
if 'TSITE
QUIT 1
+16 ;Q 0 ;Don't send anything
+17 ;
+18 ; Medicare Payer Name
SET MCARE=$$GET1^DIQ(350.9,"1,",51.25,"E")
+19 SET (GRPNUM,PATID,SUBID,SUBNM)=""
+20 ; Patient IEN
SET DFN=$$GET1^DIQ(365.1,TQIEN_",",.02,"I")
+21 ; Patient Name
SET PATNM=$$GET1^DIQ(2,DFN_",",.01,"I")
+22 ; Integration Control Number MPI
SET IBCNMPI=$$GET1^DIQ(2,DFN_",",991.01,"I")
+23 ; Quit if the Integration Control Number MPI is null - MUST be present
+24 if IBCNMPI=""
QUIT 0
+25 ;
+26 ; If the patient name contains "EICD" they are test scenario's for the "EICD" process.
+27 IF PATNM["EICD"
QUIT 1
+28 ; Allow IBMEDICARE,xxx patients
IF PATNM["IBMEDICARE"
QUIT 1
+29 ;
+30 ; Payer IEN
SET PIEN=$$GET1^DIQ(365.1,TQIEN_",",.03,"I")
+31 ; Insurance multiple number
SET IBIEN=$$GET1^DIQ(365.1,TQIEN_",",.13,"I")
+32 ;
+33 ; If the insurance multiple is not in the transmission queue, get the
+34 ; following fields from the Insurance Verification Processor file
+35 IF IBIEN=""
Begin DoDot:1
+36 ; IVP file IEN
SET IVPIEN=$$GET1^DIQ(365.1,TQIEN_",",.05,"I")
+37 ; Group Plan Number
SET GRPNUM=$$GET1^DIQ(355.33,IVPIEN_",",90.02)
+38 ; Group Plan Number
SET PATID=$$GET1^DIQ(355.33,IVPIEN_",",62.01)
+39 ; Subscriber ID
SET SUBID=$$GET1^DIQ(355.33,IVPIEN_",",90.03)
+40 ; Subscriber Name
SET SUBNM=$$GET1^DIQ(355.33,IVPIEN_",",91.01)
End DoDot:1
+41 IF '$TEST
Begin DoDot:1
+42 SET IENS=IBIEN_","_DFN_","
+43 ; IEN of the Group Plan
SET XX=$$GET1^DIQ(2.312,IENS,.18,"I")
+44 ; Group Plan Number
SET GRPNUM=$$GET1^DIQ(355.3,XX_",",2.02)
+45 ; Patient ID
SET PATID=$$GET1^DIQ(2.312,IENS,5.01)
+46 ; Subscriber ID
SET SUBID=$$GET1^DIQ(2.312,IENS,1)
+47 ; Subscriber NM
SET SUBNM=$$GET1^DIQ(2.312,IENS,7.01)
End DoDot:1
+48 ;
+49 ; Key elements not defined
IF (SUBID="")!(SUBNM="")
QUIT 0
+50 ; Internal Patient DOB
SET XX=$$GET1^DIQ(2,DFN_",",.03,"I")
+51 ; YYYYMMDD format
SET PATDOB=$TRANSLATE($$FMTE^XLFDT(XX,"7DZ"),"/","")
+52 ; Patient Sex
SET PATSEX=$$GET1^DIQ(2,DFN_",",.02,"I")
+53 ; Patient Name
SET PATNM=$$GET1^DIQ(2,DFN_",",.01,"I")
+54 ; Payer Name
SET PAYRNM=$$GET1^DIQ(365.12,PIEN_",",.01)
+55 SET PAYRNM=$$UP^XLFSTR(PAYRNM)
+56 SET GOOD=0
+57 ;
+58 ; this is an MBI test
IF PAYRNM="CMS MBI ONLY"
GOTO MBI
+59 ;
+60 IF PAYRNM="AETNA"
IF GRPNUM="GRP NUM 13805"
IF SUBID="111111AE"
Begin DoDot:1
+61 if SUBNM'="IBSUB,ACTIVE"
QUIT
+62 ;Q:PATDOB'="19220202"
+63 ;Q:PATSEX'="M"
+64 SET GOOD=1
End DoDot:1
if GOOD
QUIT 1
+65 ;
+66 IF PAYRNM="AETNA"
IF GRPNUM="GRP NUM 13188"
IF SUBID="111111FG"
Begin DoDot:1
+67 if SUBNM'="IBSUB,INACTIVE"
QUIT
+68 ;Q:PATDOB'="19480101"
+69 ;Q:PATSEX'="F"
+70 SET GOOD=1
End DoDot:1
if GOOD
QUIT 1
+71 ;
+72 ; IB*778/DJW SUBID below is more generic
+73 IF PAYRNM="CIGNA"
IF GRPNUM="GRP NUM 5442"
IF SUBID="87654321CI"
Begin DoDot:1
+74 if SUBNM'="IBSUB,AAAERROR"
QUIT
+75 ;Q:PATDOB'="19470211"
+76 ;Q:PATSEX'="M"
+77 SET GOOD=1
End DoDot:1
if GOOD
QUIT 1
+78 ;
+79 IF PAYRNM="AETNA"
IF GRPNUM="AET1234"
IF SUBID="W1234561111"
Begin DoDot:1
+80 ; Note this patient is male
if SUBNM'="IBINS,ACTIVE"
QUIT
+81 if PATID'="W123452222"
QUIT
+82 if PATNM'="IBDEP,ACTIVE"
QUIT
+83 if PATDOB'="19900304"
QUIT
+84 ;Q:PATSEX'="F" ; Note this is subscriber's spouse
+85 SET GOOD=1
End DoDot:1
if GOOD
QUIT 1
+86 ;
+87 IF MCARE'=""
IF PAYRNM=MCARE
IF SUBID="333113333A"
Begin DoDot:1
+88 if SUBNM'="IB,PATIENT"
QUIT
+89 ;Q:PATDOB'="19350309"
+90 ;Q:PATSEX'="M"
+91 SET GOOD=1
End DoDot:1
if GOOD
QUIT 1
+92 ;
+93 IF MCARE'=""
IF PAYRNM=MCARE
IF SUBID="111223333A"
Begin DoDot:1
+94 if SUBNM'="IBSUB,TWOTRLRS"
QUIT
+95 ;Q:PATDOB'="19550505"
+96 ;Q:PATSEX'="M"
+97 SET GOOD=1
End DoDot:1
if GOOD
QUIT 1
+98 ;
+99 ; Added for testing "Stop trigger of EIV Response", FSC's initial response
+100 ; indicates no insurance identified therefore there are no policies to reverify
+101 ; automatically.
+102 IF PAYRNM="AETNA"
IF GRPNUM="GRP NUM 13805"
IF SUBID="222222AE"
Begin DoDot:1
+103 if SUBNM'="IBSUB,CANNOTFIND"
QUIT
+104 ;Q:PATDOB'="19220707"
+105 ;Q:PATSEX'="M"
+106 SET GOOD=1
End DoDot:1
if GOOD
QUIT 1
+107 ;
+108 IF PAYRNM="CIGNA"
IF GRPNUM="GRP NUM 5442"
IF SUBID="222222CI"
Begin DoDot:1
+109 if SUBNM'="IBSUB,ACTIVE"
QUIT
+110 ;Q:PATDOB'="19220202"
+111 ;Q:PATSEX'="M"
+112 SET GOOD=1
End DoDot:1
if GOOD
QUIT 1
+113 ;
+114 ; IB*2*732/TAZ - Added Non-medicare patient scenario for auto-update, no group number
+115 IF PAYRNM="CIGNA"
IF GRPNUM="GRP NUM 5337"
IF SUBID="555555NO"
Begin DoDot:1
+116 if SUBNM'="IBSUB,NOGROUPNUM"
QUIT
+117 ;Q:PATDOB'="19380311"
+118 ;Q:PATSEX'="M"
+119 SET GOOD=1
End DoDot:1
if GOOD
QUIT 1
+120 ;
+121 ; IB*2*732/TAZ - Added Medicare patient scenario for auto-update, no group number
+122 ; IB*778/DJW SUBID below is more generic
+123 IF PAYRNM="CMS"
IF GRPNUM="PART A"
IF SUBID="12345678ME"
Begin DoDot:1
+124 if SUBNM'="IB,MEDICARENOGRP"
QUIT
+125 ;Q:PATDOB'="19381110"
+126 ;Q:PATSEX'="F"
+127 SET GOOD=1
End DoDot:1
if GOOD
QUIT 1
+128 ;
+129 ; IB*2*732/CKB - Added patient scenario for 'Blues' testing
+130 IF PAYRNM="BCBS OF COLORADO"
IF GRPNUM="BLU1234"
IF SUBID="COL98765"
Begin DoDot:1
+131 if SUBNM'="IBSUB,BLUECROSS WGRP"
QUIT
+132 ;Q:PATDOB'="19420826"
+133 ;Q:PATSEX'="M"
+134 SET GOOD=1
End DoDot:1
if GOOD
QUIT 1
+135 ;
+136 ; IB*2*732/CKB - Added patient scenario for 'Blues' testing
+137 IF PAYRNM="BCBS OF COLORADO"
IF GRPNUM="BLU1234"
IF SUBID="COL56789"
Begin DoDot:1
+138 if SUBNM'="IBSUB,BLUECROSS WOGRP"
QUIT
+139 ;Q:PATDOB'="19420101"
+140 ;Q:PATSEX'="M"
+141 SET GOOD=1
End DoDot:1
if GOOD
QUIT 1
+142 QUIT 0
+143 ;
MBI ;
+1 ; IB*2*601//DM - MBI testing scenarios
+2 IF PAYRNM="CMS MBI ONLY"
IF SUBID="MBIrequest"
Begin DoDot:1
+3 if SUBNM'="IB,MBIPATIENTONE"
QUIT
+4 ;Q:PATDOB'="19380311"
+5 ;Q:PATSEX'="M"
+6 SET GOOD=1
End DoDot:1
if GOOD
QUIT 1
+7 ;
+8 IF PAYRNM="CMS MBI ONLY"
IF SUBID="MBIrequest"
Begin DoDot:1
+9 if SUBNM'="IB,MBIPATIENTTWO"
QUIT
+10 ;Q:PATDOB'="19381110"
+11 ;Q:PATSEX'="M"
+12 SET GOOD=1
End DoDot:1
if GOOD
QUIT 1
+13 ;
+14 IF PAYRNM="CMS MBI ONLY"
IF SUBID="MBIrequest"
Begin DoDot:1
+15 if SUBNM'="IB,MBIPATIENTTHREE"
QUIT
+16 ;Q:PATDOB'="19470530"
+17 ;Q:PATSEX'="M"
+18 SET GOOD=1
End DoDot:1
if GOOD
QUIT 1
+19 ;
+20 IF PAYRNM="CMS MBI ONLY"
IF SUBID="MBIrequest"
Begin DoDot:1
+21 if SUBNM'="IB,MBIPATIENTFOUR"
QUIT
+22 if PATDOB'="19500130"
QUIT
+23 if PATSEX'="M"
QUIT
+24 SET GOOD=1
End DoDot:1
if GOOD
QUIT 1
+25 ;
+26 IF PAYRNM="CMS MBI ONLY"
IF SUBID="MBIrequest"
Begin DoDot:1
+27 if SUBNM'="IB,MBIPATIENTFIVE"
QUIT
+28 ;Q:PATDOB'="19500827"
+29 ;Q:PATSEX'="M"
+30 SET GOOD=1
End DoDot:1
if GOOD
QUIT 1
+31 ;
+32 IF PAYRNM="CMS MBI ONLY"
IF SUBID="MBIrequest"
Begin DoDot:1
+33 if SUBNM'="IB,MBIPATIENTSIX"
QUIT
+34 ;Q:PATDOB'="19471022"
+35 ;Q:PATSEX'="M"
+36 SET GOOD=1
End DoDot:1
if GOOD
QUIT 1
+37 ;
+38 IF PAYRNM="CMS MBI ONLY"
IF SUBID="MBIrequest"
Begin DoDot:1
+39 if SUBNM'="IB,MBIPATIENTSEVEN"
QUIT
+40 ;Q:PATDOB'="19490603"
+41 ;Q:PATSEX'="M"
+42 SET GOOD=1
End DoDot:1
if GOOD
QUIT 1
+43 ;
+44 IF PAYRNM="CMS MBI ONLY"
IF SUBID="MBIrequest"
Begin DoDot:1
+45 if SUBNM'="IB,MBIPATIENTEIGHT"
QUIT
+46 ;Q:PATDOB'="19470921"
+47 ;Q:PATSEX'="M"
+48 SET GOOD=1
End DoDot:1
if GOOD
QUIT 1
+49 ;
+50 IF PAYRNM="CMS MBI ONLY"
IF SUBID="MBIrequest"
Begin DoDot:1
+51 if SUBNM'="IB,MBIPATIENTNINE"
QUIT
+52 ;Q:PATDOB'="19430301"
+53 ;Q:PATSEX'="M"
+54 SET GOOD=1
End DoDot:1
if GOOD
QUIT 1
+55 ;
+56 IF PAYRNM="CMS MBI ONLY"
IF SUBID="MBIrequest"
Begin DoDot:1
+57 if SUBNM'="IB,MBIPATIENTTEN"
QUIT
+58 ;Q:PATDOB'="19580129"
+59 ;Q:PATSEX'="M"
+60 SET GOOD=1
End DoDot:1
if GOOD
QUIT 1
+61 ;
+62 QUIT 0
+63 ;
E1(DFN,BPRIEN) ;IB*822/DG - added to handle NCPDP E1 test patients IBEONE,xxx
+1 NEW CLAIM,IBA,IBSDT,PATDOB,PATNM
+2 ;
+3 ; First check to see if the site is a test or a production site
+4 ; Production site no overwriting the E1 BPS Response !!!
IF '$SELECT($$PROD^XUPROD(1):0,1:1)
QUIT
+5 ;
+6 ; Patient Name
SET PATNM=$$GET1^DIQ(2,DFN_",",.01,"I")
+7 ; Internal Patient DOB
SET IBA=$$GET1^DIQ(2,DFN_",",.03,"I")
+8 ; YYYYMMDD format
SET PATDOB=$TRANSLATE($$FMTE^XLFDT(IBA,"7DZ"),"/","")
+9 SET CLAIM=$PIECE(^BPSR(BPRIEN,0),U)
SET CLAIM=$PIECE(^BPSC(CLAIM,0),U)
+10 ; service date
SET IBSDT=$TRANSLATE($$FMTE^XLFDT(DT,"7Z"),"/","")
+11 ;
+12 IF PATNM="IBEONE,REJECT NCPDP"
Begin DoDot:1
+13 ; Don't change zero node
+14 KILL ^BPSR(BPRIEN,504),^BPSR(BPRIEN,1000),^BPSR(BPRIEN,"M")
+15 ;
+16 SET ^BPSR(BPRIEN,100)="^D0^E1^^^^^^1"
+17 SET ^BPSR(BPRIEN,200)="1790743797 ^01"
+18 SET ^BPSR(BPRIEN,400)=IBSDT
+19 SET ^BPSR(BPRIEN,500)="R"
+20 SET ^BPSR(BPRIEN,504)="NC1-Could not receive the response from the clearinghouse. The connection failed."
+21 SET ^BPSR(BPRIEN,1000,0)="^9002313.0301A^1^1"
+22 SET ^BPSR(BPRIEN,1000,1,0)=1
+23 SET ^BPSR(BPRIEN,1000,1,110)="^R"
+24 SET ^BPSR(BPRIEN,1000,1,500)="R^^^^^^^^^1"
+25 SET ^BPSR(BPRIEN,1000,1,511,0)="^9002313.03511A^1^1"
+26 SET ^BPSR(BPRIEN,1000,1,511,1,0)="07"
+27 SET ^BPSR(BPRIEN,1000,1,511,"B","07",1)=""
+28 SET ^BPSR(BPRIEN,1000,"B",1,1)=""
+29 SET ^BPSR(BPRIEN,"M",0)="^^3^3^"_DT
+30 SET ^BPSR(BPRIEN,"M",1,0)=CLAIM_"D0E11R011790743797 "_DT_"\X1E\\X1C\AM20\X"
+31 SET ^BPSR(BPRIEN,"M",2,0)="1C\F4NC1-Could not receive the response from the clearing house. The connection "
+32 SET ^BPSR(BPRIEN,"M",3,0)="failed.\X1D\\X1E\\X1C\AM21\X1C\ANR\X1C\FA1\X1C\FBNN"
End DoDot:1
QUIT
+33 ;
+34 IF PATNM="IBEONE,REJECT NOTFOUND"
Begin DoDot:1
+35 ; Don't change zero node
+36 KILL ^BPSR(BPRIEN,504),^BPSR(BPRIEN,1000),^BPSR(BPRIEN,"M")
+37 ;
+38 SET ^BPSR(BPRIEN,100)="^D0^E1^^^^^^1"
+39 SET ^BPSR(BPRIEN,200)="1295793248 ^01"
+40 SET ^BPSR(BPRIEN,400)=IBSDT
+41 SET ^BPSR(BPRIEN,500)="A"
+42 SET ^BPSR(BPRIEN,504)="ERX108Patient Not Found"
+43 SET ^BPSR(BPRIEN,1000,0)="^9002313.0301A^1^1"
+44 SET ^BPSR(BPRIEN,1000,1,0)=1
+45 SET ^BPSR(BPRIEN,1000,1,110)="^R"
+46 SET ^BPSR(BPRIEN,1000,1,500)="R^^^^^^^^^1"
+47 SET ^BPSR(BPRIEN,1000,1,511,0)="^9002313.03511A^1^1"
+48 SET ^BPSR(BPRIEN,1000,1,511,1,0)=65
+49 SET ^BPSR(BPRIEN,1000,1,511,"B",65,1)=""
+50 SET ^BPSR(BPRIEN,1000,"B",1,1)=""
+51 SET ^BPSR(BPRIEN,"M",0)="^^2^2^"_DT
+52 SET ^BPSR(BPRIEN,"M",1,0)=CLAIM_"D0E11A011295793248 "_DT_"\X1E\\X1C\AM20\X"
+53 SET ^BPSR(BPRIEN,"M",2,0)="1C\F4ERX108Patient Not Found\X1D\\X1E\\X1C\AM21\X1C\ANR\X1C\FA1\X1C\FB65"
End DoDot:1
QUIT
+54 ;
+55 ;
+56 IF PATNM="IBEONE,REJECT NOTCOVERED"
Begin DoDot:1
+57 ; Don't change zero node
+58 KILL ^BPSR(BPRIEN,504),^BPSR(BPRIEN,1000),^BPSR(BPRIEN,"M")
+59 ;
+60 SET ^BPSR(BPRIEN,100)="^D0^E1^^^^^^1"
+61 SET ^BPSR(BPRIEN,200)="1295793248 ^01"
+62 SET ^BPSR(BPRIEN,400)=IBSDT
+63 SET ^BPSR(BPRIEN,500)="A"
+64 SET ^BPSR(BPRIEN,504)="ERX180Patient Found Coverage Not Active On Submitted Date of Service"
+65 SET ^BPSR(BPRIEN,1000,0)="^9002313.0301A^1^1"
+66 SET ^BPSR(BPRIEN,1000,1,0)=1
+67 SET ^BPSR(BPRIEN,1000,1,110)="^R"
+68 SET ^BPSR(BPRIEN,1000,1,500)="R^^^^^^^^^1"
+69 SET ^BPSR(BPRIEN,1000,1,511,0)="^9002313.03511A^1^1"
+70 SET ^BPSR(BPRIEN,1000,1,511,1,0)=85
+71 SET ^BPSR(BPRIEN,1000,1,511,"B",85,1)=""
+72 SET ^BPSR(BPRIEN,1000,"B",1,1)=""
+73 SET ^BPSR(BPRIEN,"M",0)="^^3^3^"_DT
+74 SET ^BPSR(BPRIEN,"M",1,0)=CLAIM_"D0E11A011295793248 "_DT_"\X1E\\X1C\AM20\X"
+75 SET ^BPSR(BPRIEN,"M",2,0)="1C\F4ERX180Patient Found Coverage Not Active On Submitted Date of Service\X1D\\"
+76 SET ^BPSR(BPRIEN,"M",3,0)="X1E\\X1C\AM21\X1C\ANR\X1C\FA1\X1C\FB85"
End DoDot:1
QUIT
+77 ;
+78 ;
+79 IF PATNM="IBEONE,REJECT MEDPARTD"
Begin DoDot:1
+80 ; Don't change zero node
+81 KILL ^BPSR(BPRIEN,504),^BPSR(BPRIEN,1000),^BPSR(BPRIEN,"M")
+82 ;
+83 SET ^BPSR(BPRIEN,100)="^D0^E1^^^^^^1"
+84 SET ^BPSR(BPRIEN,200)="1295793248 ^01"
+85 SET ^BPSR(BPRIEN,400)=IBSDT
+86 SET ^BPSR(BPRIEN,500)="A"
+87 SET ^BPSR(BPRIEN,504)="ERX128: COMMERCIAL ELIGIBILITY PARTNER HAS INDICATED PRIMARY COVERAGE AS MEDICARE PART D"
+88 SET ^BPSR(BPRIEN,1000,0)="^9002313.0301A^1^1"
+89 SET ^BPSR(BPRIEN,1000,1,0)=1
+90 SET ^BPSR(BPRIEN,1000,1,110)="^A"
+91 SET ^BPSR(BPRIEN,1000,1,350)="^^^^1"
+92 SET ^BPSR(BPRIEN,1000,1,355.01,0)="^9002313.035501A^1^1"
+93 SET ^BPSR(BPRIEN,1000,1,355.01,1,0)="1^001^0^^^8009221557"
+94 SET ^BPSR(BPRIEN,1000,1,355.01,1,1)="01^03^610014^^089999943110^GA23BLE"
+95 SET ^BPSR(BPRIEN,1000,1,355.01,"B",1,1)=""
+96 SET ^BPSR(BPRIEN,1000,1,500)="A"
+97 SET ^BPSR(BPRIEN,1000,"B",1,1)=""
+98 SET ^BPSR(BPRIEN,"M",0)="^^5^5^"_DT
+99 SET ^BPSR(BPRIEN,"M",1,0)=CLAIM_"D0E11A011295793248 "_DT_"\X1E\\X1C\AM20\X"
+100 SET ^BPSR(BPRIEN,"M",2,0)="1C\F4ERX128: COMMERCIAL ELIGIBILITY PARTNER HAS INDICATED PRIMARY COVERAGE AS M"
+101 SET ^BPSR(BPRIEN,"M",3,0)="EDICARE PART D\X1E\\X1C\AM29\X1C\CAREJECT\X1C\CBIBEONE\X1C\C4"_PATDOB_"\X1D\\X1"
+102 SET ^BPSR(BPRIEN,"M",4,0)="E\\X1C\AM21\X1C\ANA\X1E\\X1C\AM28\X1C\NT1\X1C\5C01\X1C\6C03\X1C\7C610014\X1C\NU"
+103 SET ^BPSR(BPRIEN,"M",5,0)="089999943110\X1C\MJGA23BLE\X1C\UV001\X1C\UW0\X1C\UB8009221557"
End DoDot:1
QUIT
+104 ;
+105 IF PATNM="IBEONE,APPROVE TWO"
Begin DoDot:1
+106 ; Don't change zero node
+107 KILL ^BPSR(BPRIEN,504),^BPSR(BPRIEN,1000),^BPSR(BPRIEN,"M")
+108 ;
+109 SET ^BPSR(BPRIEN,100)="^D0^E1^^^^^^1"
+110 SET ^BPSR(BPRIEN,200)="1295793248 ^01"
+111 SET ^BPSR(BPRIEN,400)=IBSDT
+112 SET ^BPSR(BPRIEN,500)="A"
+113 SET ^BPSR(BPRIEN,1000,0)="^9002313.0301A^1^1"
+114 SET ^BPSR(BPRIEN,1000,1,0)=1
+115 SET ^BPSR(BPRIEN,1000,1,110)="^A"
+116 SET ^BPSR(BPRIEN,1000,350)="^^^^2"
+117 SET ^BPSR(BPRIEN,1000,1,355.01,0)="^9002313.035501A^2^2"
+118 SET ^BPSR(BPRIEN,1000,1,355.01,1,0)="1^001^0^^^8008240898"
+119 SET ^BPSR(BPRIEN,1000,1,355.01,1,1)="01^03^003858^A4^00999930300^DODA"
+120 SET ^BPSR(BPRIEN,1000,1,355.01,2,0)="2^05^1^20151019^20391231^8004212342"
+121 SET ^BPSR(BPRIEN,1000,1,355.01,2,1)="02^03^610239^FEPRX^R6999992105^65006500"
+122 SET ^BPSR(BPRIEN,1000,1,355.01,"B",1,1)=""
+123 SET ^BPSR(BPRIEN,1000,1,355.01,"B",2,2)=""
+124 SET ^BPSR(BPRIEN,1000,1,500)="A"
+125 SET ^BPSR(BPRIEN,1000,"B",1,1)=""
+126 SET ^BPSR(BPRIEN,1000,"B",2,2)=""
+127 SET ^BPSR(BPRIEN,"M",0)="^^6^6^"_DT
+128 SET ^BPSR(BPRIEN,"M",1,0)=CLAIM_"D0E11A011295793248 "_DT_"\X1E\\X1C\AM29\X"
+129 SET ^BPSR(BPRIEN,"M",2,0)="1C\CAAPPROVE\X1C\CBIBEONE\X1C\C4"_PATDOB_"\X1D\\X1E\\X1C\AM21\X1C\ANA\X1E\\X1C\AM28\"
+130 SET ^BPSR(BPRIEN,"M",3,0)="X1C\NT2\X1C\5C01\X1C\6C03\X1C\7C003858\X1C\MHA4\X1C\NU00999930300\X1C\MJDODA\X1"
+131 SET ^BPSR(BPRIEN,"M",4,0)="C\UV001\X1C\UW0\X1C\UB8008240898\X1C\5C02\X1C\6C03\X1C\7C610239\X1C\MHFEPRX\X1C"
+132 SET ^BPSR(BPRIEN,"M",5,0)="\NUR6999992105\X1C\MJ65006500\X1C\UV05\X1C\UW0\X1C\UB8004212342\X1C\UX20151019\"
+133 SET ^BPSR(BPRIEN,"M",6,0)="X1C\UY20391231"
End DoDot:1
QUIT
+134 ;
+135 IF PATNM="IBEONE,APPROVE ONE"
Begin DoDot:1
+136 ; Don't change zero node
+137 KILL ^BPSR(BPRIEN,504),^BPSR(BPRIEN,1000),^BPSR(BPRIEN,"M")
+138 ;
+139 SET ^BPSR(BPRIEN,100)="^D0^E1^^^^^^1"
+140 SET ^BPSR(BPRIEN,200)="1295793248 ^01"
+141 SET ^BPSR(BPRIEN,400)=IBSDT
+142 SET ^BPSR(BPRIEN,500)="A"
+143 SET ^BPSR(BPRIEN,1000,0)="^9002313.0301A^1^1"
+144 SET ^BPSR(BPRIEN,1000,1,0)=1
+145 SET ^BPSR(BPRIEN,1000,1,110)="^A"
+146 SET ^BPSR(BPRIEN,1000,1,350)="^^^^1"
+147 SET ^BPSR(BPRIEN,1000,1,355.01,0)="^9002313.035501A^1^1"
+148 SET ^BPSR(BPRIEN,1000,1,355.01,1,0)="1^00^0^20250101^20391231^8004212342"
+149 SET ^BPSR(BPRIEN,1000,1,355.01,1,1)="01^03^004336^ADV^8LM9999974300^RX4097"
+150 SET ^BPSR(BPRIEN,1000,1,355.01,"B",1,1)=""
+151 SET ^BPSR(BPRIEN,1000,1,500)="A"
+152 SET ^BPSR(BPRIEN,1000,"B",1,1)=""
+153 SET ^BPSR(BPRIEN,"M",0)="^^4^4^"_DT
+154 SET ^BPSR(BPRIEN,"M",1,0)=CLAIM_"D0E11A011295793248 "_DT_"\X1E\\X1C\AM29\X"
+155 SET ^BPSR(BPRIEN,"M",2,0)="1C\CAAPPROVE\X1C\CBIBEONE\X1C\C4"_PATDOB_"\X1D\\X1E\\X1C\AM21\X1C\ANA\X1E\\X1C\AM2"
+156 SET ^BPSR(BPRIEN,"M",3,0)="8\X1C\NT1\X1C\5C01\X1C\6C03\X1C\7C004336\X1C\MHADV\X1C\NU8LM9999974300\X1C\MJRX"
+157 SET ^BPSR(BPRIEN,"M",4,0)="4097\X1C\UV00\X1C\UW0\X1C\UB8004212342\X1C\UX20250101\X1C\UY20391231"
End DoDot:1
QUIT
+158 ;
+159 QUIT