IBJTRA1 ;ALB/AAS,ARH - TPI CT INSURANCE COMMUNICATIONS BUILD ; 4/1/95
 ;;2.0;INTEGRATED BILLING;**39,91,347,389,458**;21-MAR-94;Build 4
 ;;Per VHA Directive 2004-038, this routine should not be modified.
 ;
 ; copyed from IBTRC with modifications to show reviews for multiple events
 ;
 ;
BLD ; -- Build list of Insurance contacts, including reviews, appeals, and denials
 K ^TMP("IBJTRA",$J),^TMP("IBJTRADX",$J),IBJTA1,IBJTA2
 N X,IBI,IBJ,J,IBTRC,IBTRCD,IBTRCD1,IBJTEVNT,IBCNT,IBTRN,IBTRND,IBETYP,IBBEG
 S VALMSG=$$MSG^IBTUTL3(DFN)
 S (IBTRC,IBCNT,VALMCNT)=0,IBI=""
 D IFNTRN^IBJTU5(IBIFN,.IBJTA1,.IBJTA2)
 I 'IBJTA1 S IBCNT=1 D SET1(" ") S IBCNT=2 D SET1("No Claims Tracking Entries.") G BLDQ
 S IBJ=0 F  S IBJ=$O(IBJTA2(IBJ)) Q:'IBJ  S IBTRN=IBJTA2(IBJ) D
 .S IBTRND=$G(^IBT(356,IBTRN,0))
 .S IBJTEVNT="    "_$$EVNT(IBTRND)
 .F  S IBI=$O(^IBT(356.2,"ATIDT",IBTRN,IBI)) Q:'IBI  S IBTRC=0 F  S IBTRC=$O(^IBT(356.2,"ATIDT",IBTRN,IBI,IBTRC)) Q:'IBTRC  D
 ..S IBTRCD=$G(^IBT(356.2,+IBTRC,0))
 ..S IBTRCD1=$G(^IBT(356.2,+IBTRC,1))
 ..Q:'+$P(IBTRCD,"^",19)  ;quit if inactive
 ..S IBCNT=IBCNT+1
 ..I IBJTEVNT'="" D SET(" ",0),SET(IBJTEVNT,0) S IBJTEVNT=""
 ..S IBETYP=$G(^IBE(356.11,+$P(IBTRCD,"^",4),0))
 ..W "."
 ..S X=""
 ..S X=$$SETFLD^VALM1(IBCNT,X,"NUMBER")
 ..S X=$$SETFLD^VALM1($P($$DAT1^IBOUTL(+IBTRCD,"2P")," "),X,"DATE")
 ..S X=$$SETFLD^VALM1($P($G(^DIC(36,+$P(IBTRCD,"^",8),0)),"^"),X,"INS CO")
 ..S X=$$SETFLD^VALM1($$EXPAND^IBTRE(356.2,.11,$P(IBTRCD,"^",11)),X,"ACTION")
 ..;
 ..S X=$$SETFLD^VALM1($P(IBETYP,"^",3),X,"TYPE")
 ..S X=$$SETFLD^VALM1($$AUTHN^IBTRC(IBTRC,10),X,"PRE-CERT")
 ..I $P(IBTRCD,"^",13) S X=$$SETFLD^VALM1($J($$DAY^IBTUTL3($P(IBTRCD,"^",12),$P(IBTRCD,"^",13),IBTRN),3),X,"DAYS")
 ..I $P($G(^IBE(356.7,+$P(IBTRCD,"^",11),0)),"^",3)=20 S X=$$SETFLD^VALM1($J($$DAY^IBTUTL3($P(IBTRCD,"^",15),$P(IBTRCD,"^",16),IBTRN),3),X,"DAYS")
 ..I $P(IBTRCD1,"^",7)!($P(IBTRCD1,"^",8)) S X=$$SETFLD^VALM1("ALL",X,"DAYS")
 ..S X=$$SETFLD^VALM1($P(IBTRCD,"^",6),X,"CONTACT")
 ..S X=$$SETFLD^VALM1($P(IBTRCD,"^",7),X,"PHONE")
 ..S X=$$SETFLD^VALM1($$CREFN^IBTRC(IBTRC,12),X,"REF NO")
 ..I $P(IBETYP,"^",2)=60!($P(IBETYP,"^",2)=65) D APPEAL^IBTRC3
 ..D SET(X,1)
 I 'IBCNT S IBCNT=1 D SET1(" ") S IBCNT=2 D SET1("No Insurance Reviews for Episodes on this Bill.") G BLDQ
BLDQ K IBJTA1,IBJTA2
 Q
 ;
SET1(X) ; set array (no selection)
 S VALMCNT=VALMCNT+1
 S ^TMP("IBJTRA",$J,VALMCNT,0)=X
 Q
 ;
SET(X,Y) ; -- set arrays
 S VALMCNT=VALMCNT+1
 S ^TMP("IBJTRA",$J,VALMCNT,0)=X
 S ^TMP("IBJTRA",$J,"IDX",VALMCNT,IBCNT)=""
 I +$G(Y) S ^TMP("IBJTRADX",$J,IBCNT)=VALMCNT_"^"_IBTRC
 Q
 ;
EVNT(IBTRND) ; return line for display on event
 N X,Y,IBTYP S X="" I $G(IBTRND)="" G EVNTQ
 S IBTYP=+$P(IBTRND,U,18)
 S X=$$EXSET^IBJU1(IBTYP,356,.18)
 I IBTYP=2 S X=X_" of "_$P($G(^DIC(40.7,+$$SCE^IBSDU(+$P(IBTRND,U,4),3),0)),U,1)
 I IBTYP=3 S X=X_" of "_$P($$PIN^IBCSC5B(+$P(IBTRND,U,9)),U,2)
 I IBTYP=4 S X=X_" of "_$$FILE^IBRXUTL(+$P(IBTRND,U,8),.01)
 S X=X_" on "_$$DAT1^IBOUTL($P(IBTRND,U,6),"2P")
EVNTQ Q X
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HIBJTRA1   3067     printed  Sep 23, 2025@20:00:22                                                                                                                                                                                                     Page 2
IBJTRA1   ;ALB/AAS,ARH - TPI CT INSURANCE COMMUNICATIONS BUILD ; 4/1/95
 +1       ;;2.0;INTEGRATED BILLING;**39,91,347,389,458**;21-MAR-94;Build 4
 +2       ;;Per VHA Directive 2004-038, this routine should not be modified.
 +3       ;
 +4       ; copyed from IBTRC with modifications to show reviews for multiple events
 +5       ;
 +6       ;
BLD       ; -- Build list of Insurance contacts, including reviews, appeals, and denials
 +1        KILL ^TMP("IBJTRA",$JOB),^TMP("IBJTRADX",$JOB),IBJTA1,IBJTA2
 +2        NEW X,IBI,IBJ,J,IBTRC,IBTRCD,IBTRCD1,IBJTEVNT,IBCNT,IBTRN,IBTRND,IBETYP,IBBEG
 +3        SET VALMSG=$$MSG^IBTUTL3(DFN)
 +4        SET (IBTRC,IBCNT,VALMCNT)=0
           SET IBI=""
 +5        DO IFNTRN^IBJTU5(IBIFN,.IBJTA1,.IBJTA2)
 +6        IF 'IBJTA1
               SET IBCNT=1
               DO SET1(" ")
               SET IBCNT=2
               DO SET1("No Claims Tracking Entries.")
               GOTO BLDQ
 +7        SET IBJ=0
           FOR 
               SET IBJ=$ORDER(IBJTA2(IBJ))
               if 'IBJ
                   QUIT 
               SET IBTRN=IBJTA2(IBJ)
               Begin DoDot:1
 +8                SET IBTRND=$GET(^IBT(356,IBTRN,0))
 +9                SET IBJTEVNT="    "_$$EVNT(IBTRND)
 +10               FOR 
                       SET IBI=$ORDER(^IBT(356.2,"ATIDT",IBTRN,IBI))
                       if 'IBI
                           QUIT 
                       SET IBTRC=0
                       FOR 
                           SET IBTRC=$ORDER(^IBT(356.2,"ATIDT",IBTRN,IBI,IBTRC))
                           if 'IBTRC
                               QUIT 
                           Begin DoDot:2
 +11                           SET IBTRCD=$GET(^IBT(356.2,+IBTRC,0))
 +12                           SET IBTRCD1=$GET(^IBT(356.2,+IBTRC,1))
 +13      ;quit if inactive
                               if '+$PIECE(IBTRCD,"^",19)
                                   QUIT 
 +14                           SET IBCNT=IBCNT+1
 +15                           IF IBJTEVNT'=""
                                   DO SET(" ",0)
                                   DO SET(IBJTEVNT,0)
                                   SET IBJTEVNT=""
 +16                           SET IBETYP=$GET(^IBE(356.11,+$PIECE(IBTRCD,"^",4),0))
 +17                           WRITE "."
 +18                           SET X=""
 +19                           SET X=$$SETFLD^VALM1(IBCNT,X,"NUMBER")
 +20                           SET X=$$SETFLD^VALM1($PIECE($$DAT1^IBOUTL(+IBTRCD,"2P")," "),X,"DATE")
 +21                           SET X=$$SETFLD^VALM1($PIECE($GET(^DIC(36,+$PIECE(IBTRCD,"^",8),0)),"^"),X,"INS CO")
 +22                           SET X=$$SETFLD^VALM1($$EXPAND^IBTRE(356.2,.11,$PIECE(IBTRCD,"^",11)),X,"ACTION")
 +23      ;
 +24                           SET X=$$SETFLD^VALM1($PIECE(IBETYP,"^",3),X,"TYPE")
 +25                           SET X=$$SETFLD^VALM1($$AUTHN^IBTRC(IBTRC,10),X,"PRE-CERT")
 +26                           IF $PIECE(IBTRCD,"^",13)
                                   SET X=$$SETFLD^VALM1($JUSTIFY($$DAY^IBTUTL3($PIECE(IBTRCD,"^",12),$PIECE(IBTRCD,"^",13),IBTRN),3),X,"DAYS")
 +27                           IF $PIECE($GET(^IBE(356.7,+$PIECE(IBTRCD,"^",11),0)),"^",3)=20
                                   SET X=$$SETFLD^VALM1($JUSTIFY($$DAY^IBTUTL3($PIECE(IBTRCD,"^",15),$PIECE(IBTRCD,"^",16),IBTRN),3),X,"DAYS")
 +28                           IF $PIECE(IBTRCD1,"^",7)!($PIECE(IBTRCD1,"^",8))
                                   SET X=$$SETFLD^VALM1("ALL",X,"DAYS")
 +29                           SET X=$$SETFLD^VALM1($PIECE(IBTRCD,"^",6),X,"CONTACT")
 +30                           SET X=$$SETFLD^VALM1($PIECE(IBTRCD,"^",7),X,"PHONE")
 +31                           SET X=$$SETFLD^VALM1($$CREFN^IBTRC(IBTRC,12),X,"REF NO")
 +32                           IF $PIECE(IBETYP,"^",2)=60!($PIECE(IBETYP,"^",2)=65)
                                   DO APPEAL^IBTRC3
 +33                           DO SET(X,1)
                           End DoDot:2
               End DoDot:1
 +34       IF 'IBCNT
               SET IBCNT=1
               DO SET1(" ")
               SET IBCNT=2
               DO SET1("No Insurance Reviews for Episodes on this Bill.")
               GOTO BLDQ
BLDQ       KILL IBJTA1,IBJTA2
 +1        QUIT 
 +2       ;
SET1(X)   ; set array (no selection)
 +1        SET VALMCNT=VALMCNT+1
 +2        SET ^TMP("IBJTRA",$JOB,VALMCNT,0)=X
 +3        QUIT 
 +4       ;
SET(X,Y)  ; -- set arrays
 +1        SET VALMCNT=VALMCNT+1
 +2        SET ^TMP("IBJTRA",$JOB,VALMCNT,0)=X
 +3        SET ^TMP("IBJTRA",$JOB,"IDX",VALMCNT,IBCNT)=""
 +4        IF +$GET(Y)
               SET ^TMP("IBJTRADX",$JOB,IBCNT)=VALMCNT_"^"_IBTRC
 +5        QUIT 
 +6       ;
EVNT(IBTRND) ; return line for display on event
 +1        NEW X,Y,IBTYP
           SET X=""
           IF $GET(IBTRND)=""
               GOTO EVNTQ
 +2        SET IBTYP=+$PIECE(IBTRND,U,18)
 +3        SET X=$$EXSET^IBJU1(IBTYP,356,.18)
 +4        IF IBTYP=2
               SET X=X_" of "_$PIECE($GET(^DIC(40.7,+$$SCE^IBSDU(+$PIECE(IBTRND,U,4),3),0)),U,1)
 +5        IF IBTYP=3
               SET X=X_" of "_$PIECE($$PIN^IBCSC5B(+$PIECE(IBTRND,U,9)),U,2)
 +6        IF IBTYP=4
               SET X=X_" of "_$$FILE^IBRXUTL(+$PIECE(IBTRND,U,8),.01)
 +7        SET X=X_" on "_$$DAT1^IBOUTL($PIECE(IBTRND,U,6),"2P")
EVNTQ      QUIT X