IBCBB9 ;ALB/BGA MEDICARE PART B EDIT CHECKS ;10/15/98
;;2.0;INTEGRATED BILLING;**51,137,155,349,371,432,547**;21-MAR-94;Build 119
;;Per VA Directive 6402, this routine should not be modified.
;
PARTB ; MEDICARE specific edit checks for PART B claims (CMS-1500)
;
N IBXDATA,IBXERR,IBXIEN,IBXSAVE,IBPR,IBDTFLG
;
I $$NEEDMRA^IBEFUNC(IBIFN) D
. K IBXDATA
. D F^IBCEF("N-HCFA 1500 SERVICE LINE (EDI)",,,IBIFN)
. S IBI=0
. F S IBI=$O(IBXDATA(IBI)) Q:'IBI D
.. S IBJ=$P(IBXDATA(IBI),U,5)
.. I IBJ'="","^CJ^HC^"[(U_$P(IBXDATA(IBI),U,6)_U) S IBPR(IBJ)=""
. I $$REQMRA^IBEFUNC(IBIFN),$O(IBXDATA(""),-1)>12 D WARN^IBCBB11("This claim will be split into multiple EOB'S since there are more than 12"),WARN^IBCBB11("service lines being submitted on the claim.")
. I $$REQMRA^IBEFUNC(IBIFN),$E(IBFDT,1,3)'=$E(IBTDT,1,3) D WARN^IBCBB11("This claim will be split into multiple EOB'S due to the service dates"),WARN^IBCBB11("spanning different calendar years.")
. D NONMCR^IBCBB3(.IBPR,.IBLABS) ; Oxygen, labs, influenza shots
. S Z="80000" F S Z=$O(IBPR(Z)) Q:Z'?1"8"4N S IBLABS=1
. I $G(IBLABS) D WARN^IBCBB11("There are Lab procedures on this claim."),WARN^IBCBB11("Please verify that Medicare does not reimburse these labs at 100%.") Q
. I $O(IBPR(""))="" S IBQUIT=$$IBER^IBCBB3(.IBER,"098")
;
; First char of the pat's first and last name must be present and
; must be an alpha
; IB*2.0*547 - remove error check 300
K IBXDATA D F^IBCEF("N-PATIENT NAME",,,IBIFN)
S IBXDATA=$$NAME^IBCEFG1(IBXDATA)
;I $S($G(IBXDATA)="":1,$E($P(IBXDATA,U))=" "!($E($P(IBXDATA,U))'?1A):1,$E($P(IBXDATA,U,2))=" "!($E($P(IBXDATA,U,2))'?1A):1,1:0) S IBQUIT=$$IBER^IBCBB3(.IBER,300) Q:IBQUIT
;
; Must be a valid HIC #
I '$$VALID^IBCBB8(IBIFN) S IBQUIT=$$IBER^IBCBB3(.IBER,215) Q:IBQUIT
;
; Specialty code 99 is not valid for Medicare MRA request claims
;I $$REQMRA^IBEFUNC(IBIFN),$$BILLSPEC^IBCEU3(IBIFN)=99 S IBQUIT=$$IBER^IBCBB3(.IBER,122) Q:IBQUIT
; IB*2.0*432 add line-level check
I $$REQMRA^IBEFUNC(IBIFN),$$LINSPEC^IBCEU3(IBIFN)[99 S IBQUIT=$$IBER^IBCBB3(.IBER,122) Q:IBQUIT
;
Q
;
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HIBCBB9 2129 printed Oct 16, 2024@18:09:40 Page 2
IBCBB9 ;ALB/BGA MEDICARE PART B EDIT CHECKS ;10/15/98
+1 ;;2.0;INTEGRATED BILLING;**51,137,155,349,371,432,547**;21-MAR-94;Build 119
+2 ;;Per VA Directive 6402, this routine should not be modified.
+3 ;
PARTB ; MEDICARE specific edit checks for PART B claims (CMS-1500)
+1 ;
+2 NEW IBXDATA,IBXERR,IBXIEN,IBXSAVE,IBPR,IBDTFLG
+3 ;
+4 IF $$NEEDMRA^IBEFUNC(IBIFN)
Begin DoDot:1
+5 KILL IBXDATA
+6 DO F^IBCEF("N-HCFA 1500 SERVICE LINE (EDI)",,,IBIFN)
+7 SET IBI=0
+8 FOR
SET IBI=$ORDER(IBXDATA(IBI))
if 'IBI
QUIT
Begin DoDot:2
+9 SET IBJ=$PIECE(IBXDATA(IBI),U,5)
+10 IF IBJ'=""
IF "^CJ^HC^"[(U_$PIECE(IBXDATA(IBI),U,6)_U)
SET IBPR(IBJ)=""
End DoDot:2
+11 IF $$REQMRA^IBEFUNC(IBIFN)
IF $ORDER(IBXDATA(""),-1)>12
DO WARN^IBCBB11("This claim will be split into multiple EOB'S since there are more than 12")
DO WARN^IBCBB11("service lines being submitted on the claim.")
+12 IF $$REQMRA^IBEFUNC(IBIFN)
IF $EXTRACT(IBFDT,1,3)'=$EXTRACT(IBTDT,1,3)
DO WARN^IBCBB11("This claim will be split into multiple EOB'S due to the service dates")
DO WARN^IBCBB11("spanning different calendar years.")
+13 ; Oxygen, labs, influenza shots
DO NONMCR^IBCBB3(.IBPR,.IBLABS)
+14 SET Z="80000"
FOR
SET Z=$ORDER(IBPR(Z))
if Z'?1"8"4N
QUIT
SET IBLABS=1
+15 IF $GET(IBLABS)
DO WARN^IBCBB11("There are Lab procedures on this claim.")
DO WARN^IBCBB11("Please verify that Medicare does not reimburse these labs at 100%.")
QUIT
+16 IF $ORDER(IBPR(""))=""
SET IBQUIT=$$IBER^IBCBB3(.IBER,"098")
End DoDot:1
+17 ;
+18 ; First char of the pat's first and last name must be present and
+19 ; must be an alpha
+20 ; IB*2.0*547 - remove error check 300
+21 KILL IBXDATA
DO F^IBCEF("N-PATIENT NAME",,,IBIFN)
+22 SET IBXDATA=$$NAME^IBCEFG1(IBXDATA)
+23 ;I $S($G(IBXDATA)="":1,$E($P(IBXDATA,U))=" "!($E($P(IBXDATA,U))'?1A):1,$E($P(IBXDATA,U,2))=" "!($E($P(IBXDATA,U,2))'?1A):1,1:0) S IBQUIT=$$IBER^IBCBB3(.IBER,300) Q:IBQUIT
+24 ;
+25 ; Must be a valid HIC #
+26 IF '$$VALID^IBCBB8(IBIFN)
SET IBQUIT=$$IBER^IBCBB3(.IBER,215)
if IBQUIT
QUIT
+27 ;
+28 ; Specialty code 99 is not valid for Medicare MRA request claims
+29 ;I $$REQMRA^IBEFUNC(IBIFN),$$BILLSPEC^IBCEU3(IBIFN)=99 S IBQUIT=$$IBER^IBCBB3(.IBER,122) Q:IBQUIT
+30 ; IB*2.0*432 add line-level check
+31 IF $$REQMRA^IBEFUNC(IBIFN)
IF $$LINSPEC^IBCEU3(IBIFN)[99
SET IBQUIT=$$IBER^IBCBB3(.IBER,122)
if IBQUIT
QUIT
+32 ;
+33 QUIT
+34 ;