IBCBB11 ;ALB/AAS - CONTINUATION OF EDIT CHECK ROUTINE ;12 Jun 2006 3:45 PM ;;2.0;INTEGRATED BILLING;**51,343,363**;21-MAR-94;Build 35 ;;Per VHA Directive 2004-038, this routine should not be modified. ; WARN(IBDISP) ; Set warning in global ; DISP = warning text to display ; N Z S Z=+$O(^TMP($J,"BILL-WARN",""),-1) I Z=0 S ^TMP($J,"BILL-WARN",1)=$J("",5)_"**Warnings**:",Z=1 S Z=Z+1,^TMP($J,"BILL-WARN",Z)=$J("",5)_IBDISP Q ; MULTDIV(IBIFN,IBND0) ; Check for multiple divisions on a bill ien IBIFN ; IBND0 = 0-node of bill ; ; Function returns 1 if more than 1 division found on bill N Z,Z0,Z1,MULT S MULT=0,Z1=$P(IBND0,U,22) I Z1 D . S Z=0 F S Z=$O(^DGCR(399,IBIFN,"RC",Z)) Q:'Z S Z0=$P(^(Z,0),U,7) I Z0,Z0'=Z1 S MULT=1 Q . S Z=0 F S Z=$O(^DGCR(399,IBIFN,"CP",Z)) Q:'Z S Z0=$P(^(Z,0),U,6) I Z0,Z0'=Z1 S MULT=2 Q I 'Z1 S MULT=3 Q MULT ; ;; PREGNANCY DX CODES: V22**-V24**, V27**-V28**, 630**-677** ;; FLU SHOTS PROCEDURE CODES: 90724, G0008, 90732, G0009 ; ; Check for required NPIs NPICHK ; N IBNPIS,IBNONPI,IBNPIREQ,Z S IBNPIREQ=$$NPIREQ^IBCEP81(DT) ; Check if NPI is required ; Check providers S IBNPIS=$$PROVNPI^IBCEF73A(IBIFN,.IBNONPI) I $L(IBNONPI) F Z=1:1:$L(IBNONPI,U) D . I IBNPIREQ S IBER=IBER_"IB"_(140+$P(IBNONPI,U,Z))_";" Q ; If required, set error . D WARN("NPI for the "_$P("referring^operating^rendering^attending^supervising^^^^other",U,$P(IBNONPI,U,Z))_" provider has no value") ; Else, set warning ; Check organizations S IBNONPI="" S IBNPIS=$$ORGNPI^IBCEF73A(IBIFN,.IBNONPI) I $L(IBNONPI) F Z=1:1:$L(IBNONPI,U) D . I IBNPIREQ S IBER=IBER_"IB"_(160+$P(IBNONPI,U,Z))_";" Q ; If required, set error . ; PRXM/KJH - Changed descriptions. . D WARN("NPI for the "_$P("Division^Non-VA Service Facility^Billing Provider",U,$P(IBNONPI,U,Z))_" has no value") ; Else, set warning Q ; ; Check for required taxonomies TAXCHK ; N IBTAXS,IBNOTAX,IBTAXREQ,Z S IBTAXREQ=$$TAXREQ^IBCEP81(DT) ; Check if taxonomy is required ; Check providers S IBTAXS=$$PROVTAX^IBCEF73A(IBIFN,.IBNOTAX) I $L(IBNOTAX) F Z=1:1:$L(IBNOTAX,U) D . I IBTAXREQ S IBER=IBER_"IB"_(250+$P(IBNOTAX,U,Z))_";" Q ; If required, set error . D WARN("Taxonomy for the "_$P("referring^operating^rendering^attending^supervising^^^^other",U,$P(IBNOTAX,U,Z))_" provider has no value") ; Else, set warning ; Check organizations S IBNOTAX="" S IBTAXS=$$ORGTAX^IBCEF73A(IBIFN,.IBNOTAX) I $L(IBNOTAX) F Z=1:1:$L(IBNOTAX,U) D . I IBTAXREQ S IBER=IBER_"IB"_(164+$P(IBNOTAX,U,Z))_";" Q ; If required, set error . ; PRXM/KJH - Changed descriptions. . D WARN("Taxonomy for the "_$P("Division^Non-VA Service Facility^Billing Provider",U,$P(IBNOTAX,U,Z))_" has no value") ; Else, set warning Q ; VALNDC(IBIFN,IBDFN) ; IB*2*363 - validate NDC# between PRESCRIPTION file (#52) ; and IB BILL/CLAIMS PRESCRIPTION REFILL file (#362.4) ; input - IBIFN = internal entry number of the billing record in the BILL/CLAIMS file (#399) ; IBDFN = internal entry number of patient record in the PATIENT file (#2) N IBX,IBRXCOL ; call program that determines if NDC differences exist D VALNDC^IBEFUNC3(IBIFN,IBDFN,.IBRXCOL) Q:'$D(IBRXCOL) ; at least one RX on the IB record has an NDC discrepancy S IBX=0 F S IBX=$O(IBRXCOL(IBX)) Q:'IBX D WARN("NDC# on Bill does not equal the NDC# on Rx "_IBRXCOL(IBX)) Q