IBINUT1 ;YMG/EDE - MEGABUS Act (Indian Self-Identification) Utilities ;NOV 23 2021
;;2.0;INTEGRATED BILLING;**716,782**;21-MAR-94;Build 9
;;Per VA Directive 6402, this routine should not be modified.
;
Q
;
INDCHK(IBTO,IBDFN) ; check if bill is covered by Indian Attestation exemption
;
; IBTO - "Bill To" date (350/.15)
; IBDFN - patient's DFN
;
; returns 1 if bill is covered by Indian Attestation exemption, 0 otherwise
;
N IBINDATA
S IBINDATA=$$INDGET(IBDFN)
I $P(IBINDATA,U)'="Y" Q 0 ; self-identification flag is not set
Q $$INDCHKDT(+IBTO,+$P(IBINDATA,U,2))
;
INDCHKDT(IBTO,IBINSTDT) ; check if bill timeframe is covered by Indian Attestation exemption
;
; IBTO - "Bill To" date (350/.15)
; IBINSTDT - indian self-identification start date (2/.572)
;
; returns 1 if bill timeframe is covered by Indian Attestation exemption, 0 otherwise
;
N RES
S RES=0
I $G(IBTO)>0,$G(IBINSTDT)>0,IBTO'<3220105,IBTO'<IBINSTDT S RES=1
Q RES
;
INDGET(DFN) ; get Indian Attestation data
;
; DFN - patient's DFN
;
; returns indian self-identification flag (2/.571) ^ indian self-identification start date (2/.572) ^ indian self-identification end date (2/.574)
;
N RES,VADEMO
S RES="^^"
I +$G(DFN)>0 D DEMUPD^VADPT S $P(RES,U)=$G(VADEMO(15,1)),$P(RES,U,2)=$G(VADEMO(15,2)),$P(RES,U,3)=$G(VADEMO(15,4)) ; IB*2.0*782
Q RES
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HIBINUT1 1385 printed Nov 22, 2024@17:32:35 Page 2
IBINUT1 ;YMG/EDE - MEGABUS Act (Indian Self-Identification) Utilities ;NOV 23 2021
+1 ;;2.0;INTEGRATED BILLING;**716,782**;21-MAR-94;Build 9
+2 ;;Per VA Directive 6402, this routine should not be modified.
+3 ;
+4 QUIT
+5 ;
INDCHK(IBTO,IBDFN) ; check if bill is covered by Indian Attestation exemption
+1 ;
+2 ; IBTO - "Bill To" date (350/.15)
+3 ; IBDFN - patient's DFN
+4 ;
+5 ; returns 1 if bill is covered by Indian Attestation exemption, 0 otherwise
+6 ;
+7 NEW IBINDATA
+8 SET IBINDATA=$$INDGET(IBDFN)
+9 ; self-identification flag is not set
IF $PIECE(IBINDATA,U)'="Y"
QUIT 0
+10 QUIT $$INDCHKDT(+IBTO,+$PIECE(IBINDATA,U,2))
+11 ;
INDCHKDT(IBTO,IBINSTDT) ; check if bill timeframe is covered by Indian Attestation exemption
+1 ;
+2 ; IBTO - "Bill To" date (350/.15)
+3 ; IBINSTDT - indian self-identification start date (2/.572)
+4 ;
+5 ; returns 1 if bill timeframe is covered by Indian Attestation exemption, 0 otherwise
+6 ;
+7 NEW RES
+8 SET RES=0
+9 IF $GET(IBTO)>0
IF $GET(IBINSTDT)>0
IF IBTO'<3220105
IF IBTO'<IBINSTDT
SET RES=1
+10 QUIT RES
+11 ;
INDGET(DFN) ; get Indian Attestation data
+1 ;
+2 ; DFN - patient's DFN
+3 ;
+4 ; returns indian self-identification flag (2/.571) ^ indian self-identification start date (2/.572) ^ indian self-identification end date (2/.574)
+5 ;
+6 NEW RES,VADEMO
+7 SET RES="^^"
+8 ; IB*2.0*782
IF +$GET(DFN)>0
DO DEMUPD^VADPT
SET $PIECE(RES,U)=$GET(VADEMO(15,1))
SET $PIECE(RES,U,2)=$GET(VADEMO(15,2))
SET $PIECE(RES,U,3)=$GET(VADEMO(15,4))
+9 QUIT RES