IBTRPR ;ALB/AAS - CLAIMS TRACKING - PENDING WORK SCREEN ; 22-JUL-1993
;;Version 2.0 ; INTEGRATED BILLING ;; 21-MAR-94
;;Per VHA Directive 10-93-142, this routine should not be modified.
;
% ;
EN ; -- main entry point for IBT EDIT PENDING REVIEW from menu's
I '$D(DT) D DT^DICRW
K XQORS,VALMQUIT,VALMEVL,IBTRN,IBTRV,IBTRC,IBTRD,DFN,IBCNS,IBFASTXT
W !!,"Pending Reviews Option",!
D DATE^IBTRPR0
D SORT^IBTRPR0
S IBTWHO="A" I IBSORT="A" D WHOSE^IBTRPR0
S IBTPRT="B",VAUTD=1 I IBSORT="T" D TYPE^IBTRPR0
I $D(VALMQUIT) G ENQ
I '$G(IBTRPRF) S IBTRPRF=12
D EN^VALM("IBT EDIT PENDING REVIEW")
ENQ K IBFASTXT,VALMQUIT,IBSORT,IBTPBDT,IBTPEDT,DIR,DIRUT,DUOUT,X,Y,IBTRN,IBTRV,IBTRC,IBTRD,DFN,IBCNS,XQORS,IBTRPRF,IBQUIT,IBTWHO,IBTPRT,DIC,DR,DIE,DA,I,J
K IBAMT,IBAPR,IBADG,IBDA,IBDGCR,IBDGCRU1,IBDV,IBETYP,IBETYPD,IBI,IBICD,IBLCNT,IBSEL,IBT,IBTEXT,IBTNOD,IBTSAV,VAUTD
K IBAPEAL,IBCDFN,IBCNT,IBDEN,IBDENIAL,IBDENIAL,IBPARNT,IBPEN,IBPENAL,IBTCOD,IBTRDD,IBTRSV,IBTYPE,VAINDT,VA
D KVAR^VADPT
K IBFASTXT,IBSCP,IBOTB,XQORS,VALMEVL,DFN,IBTRN,IBTRV,IBTRC,IBTRD,IBCNS,IBCDFN,VA,VAERR,VA200,IBCNT,IBI,IBTBDT,IBTEDT,IBUR,IBTRPRF,VAEL,VAIN,PRECERT,IBAMNT,IBDGCR,IBDGCRU1,IBETYP,IBETYPD,IBLCNT,IBTEXT,IBTRND,X,Y,Z,IBTMPNM
Q
;
HDR ; -- header code
S VALMHDR(1)="List of PENDING WORK for: "_$$DAT1^IBOUTL(IBTPBDT,"2P")_" to "_$$DAT1^IBOUTL(IBTPEDT,"2P")
S VALMHDR(2)=""
Q
;
INIT ; -- init variables and list array
S U="^",VALMCNT=0,VALMBG=1
K ^TMP("IBTRPR",$J),^TMP("IBTRPRDX",$J)
K I,X,XQORNOD,DA,DR,DNM,DQ
;
; -- run the scheduled admissions list
D ^IBTRKR2 W !!,"Building your work list..."
D BLD
Q
;
BLD ; -- build list
; 1. build pending hospital reviews
; 2. build pending insurance reviews
;
K ^TMP("IBTRPR",$J),^TMP("IBTRPRDX",$J),^TMP("IBSRT",$J),^TMP("IBSRT1",$J)
N IBI,J
S (IBCNT,VALMCNT)=0,IBI=""
I '$D(IBTPRT) S IBTRPT="B"
I '$D(IBTWHO) S IBTWHO="A"
I '$G(IBTRPRF) S IBTRPRF=12
I IBTRPRF<10 S X=$S(IBTRPRF=1:"IBTRPR HR MENU",IBTRPRF=2:"IBTRPR IR MENU",1:"IBTRPR MENU") D PROT(X)
D:IBTRPRF[1 1^IBTRPR01
D:IBTRPRF[2 2^IBTRPR01
;
; -- go through sorted list
S IBDV="" F S IBDV=$O(^TMP("IBSRT",$J,IBDV)) Q:IBDV="" S TYPE="" F S TYPE=$O(^TMP("IBSRT",$J,IBDV,TYPE)) Q:TYPE="" D
.S IBI="" F S IBI=$O(^TMP("IBSRT",$J,IBDV,TYPE,IBI)) Q:IBI="" S IBJ="" F S IBJ=$O(^TMP("IBSRT",$J,IBDV,TYPE,IBI,IBJ)) Q:IBJ="" D
..S IBK="" F S IBK=$O(^TMP("IBSRT",$J,IBDV,TYPE,IBI,IBJ,IBK)) Q:IBK="" S IBL="" F S IBL=$O(^TMP("IBSRT",$J,IBDV,TYPE,IBI,IBJ,IBK,IBL)) Q:IBL="" D
...S IBDATA=^TMP("IBSRT",$J,IBDV,TYPE,IBI,IBJ,IBK,IBL)
...S IBTRN=+IBDATA,ENTRY=$P(IBDATA,"^",2)
...S IBDATE=$P(IBDATA,"^",3),DFN=$P(IBDATA,"^",4),IBWARD=$P(IBDATA,"^",5)
...S IBSTATUS=$P(IBDATA,"^",6),IBREV=$P(IBDATA,"^",7)
...S IBASSIGN=$P(IBDATA,"^",9),IBNEXT=$P(IBDATA,"^",10)
...S IBFLAG=$O(^TMP("IBSRT1",$J,DFN,"")),IBFLAG=$O(^TMP("IBSRT1",$J,DFN,IBFLAG)) I IBFLAG'="" S IBFLAG="+"
...S FILE=$P(IBDATA,"^",8)
...D PID^VADPT
...S IBCNT=IBCNT+1 D BLD1^IBTRPR0
...Q
K ^TMP("IBSRT",$J),^TMP("IBSRT1",$J)
Q
;
HELP ; -- help code
S X="?" D DISP^XQORM1 W !!
Q
;
EXIT ; -- exit code
K ^TMP("IBTRPR",$J),^TMP("IBTRPRDX",$J)
K I,J,X,Y,ENTRY,FILE,IBDATE,IBJ,IBNEXT,IBREV,IBSTATUS,IBTPEDT,IBTPBDT,IBTRC,IBTRN,IBTRV,TYPE,VA,VAERR,IBASSIGN,IBCNT,IBDATA,IBFLAG,IBK,IBL,IBSORT,IBWARD,IBTSORT
D FULL^VALM1,CLEAN^VALM10
Q
;
PROT(X) ; -- set protocol menu
N DIC,Y
I $G(X)'="" S DIC=101,DIC(0)="N" D ^DIC
I +Y S VALM("PROTOCOL")=+Y_";ORD(101,"
PROTQ Q
IBTRPR ;ALB/AAS - CLAIMS TRACKING - PENDING WORK SCREEN ; 22-JUL-1993
+1 ;;Version 2.0 ; INTEGRATED BILLING ;; 21-MAR-94
+2 ;;Per VHA Directive 10-93-142, this routine should not be modified.
+3 ;
% ;
EN ; -- main entry point for IBT EDIT PENDING REVIEW from menu's
+1 IF '$DATA(DT)
DO DT^DICRW
+2 KILL XQORS,VALMQUIT,VALMEVL,IBTRN,IBTRV,IBTRC,IBTRD,DFN,IBCNS,IBFASTXT
+3 WRITE !!,"Pending Reviews Option",!
+4 DO DATE^IBTRPR0
+5 DO SORT^IBTRPR0
+6 SET IBTWHO="A"
IF IBSORT="A"
DO WHOSE^IBTRPR0
+7 SET IBTPRT="B"
SET VAUTD=1
IF IBSORT="T"
DO TYPE^IBTRPR0
+8 IF $DATA(VALMQUIT)
GOTO ENQ
+9 IF '$GET(IBTRPRF)
SET IBTRPRF=12
+10 DO EN^VALM("IBT EDIT PENDING REVIEW")
ENQ KILL IBFASTXT,VALMQUIT,IBSORT,IBTPBDT,IBTPEDT,DIR,DIRUT,DUOUT,X,Y,IBTRN,IBTRV,IBTRC,IBTRD,DFN,IBCNS,XQORS,IBTRPRF,IBQUIT,IBTWHO,IBTPRT,DIC,DR,DIE,DA,I,J
+1 KILL IBAMT,IBAPR,IBADG,IBDA,IBDGCR,IBDGCRU1,IBDV,IBETYP,IBETYPD,IBI,IBICD,IBLCNT,IBSEL,IBT,IBTEXT,IBTNOD,IBTSAV,VAUTD
+2 KILL IBAPEAL,IBCDFN,IBCNT,IBDEN,IBDENIAL,IBDENIAL,IBPARNT,IBPEN,IBPENAL,IBTCOD,IBTRDD,IBTRSV,IBTYPE,VAINDT,VA
+3 DO KVAR^VADPT
+4 KILL IBFASTXT,IBSCP,IBOTB,XQORS,VALMEVL,DFN,IBTRN,IBTRV,IBTRC,IBTRD,IBCNS,IBCDFN,VA,VAERR,VA200,IBCNT,IBI,IBTBDT,IBTEDT,IBUR,IBTRPRF,VAEL,VAIN,PRECERT,IBAMNT,IBDGCR,IBDGCRU1,IBETYP,IBETYPD,IBLCNT,IBTEXT,IBTRND,X,Y,Z,IBTMPNM
+5 QUIT
+6 ;
HDR ; -- header code
+1 SET VALMHDR(1)="List of PENDING WORK for: "_$$DAT1^IBOUTL(IBTPBDT,"2P")_" to "_$$DAT1^IBOUTL(IBTPEDT,"2P")
+2 SET VALMHDR(2)=""
+3 QUIT
+4 ;
INIT ; -- init variables and list array
+1 SET U="^"
SET VALMCNT=0
SET VALMBG=1
+2 KILL ^TMP("IBTRPR",$JOB),^TMP("IBTRPRDX",$JOB)
+3 KILL I,X,XQORNOD,DA,DR,DNM,DQ
+4 ;
+5 ; -- run the scheduled admissions list
+6 DO ^IBTRKR2
WRITE !!,"Building your work list..."
+7 DO BLD
+8 QUIT
+9 ;
BLD ; -- build list
+1 ; 1. build pending hospital reviews
+2 ; 2. build pending insurance reviews
+3 ;
+4 KILL ^TMP("IBTRPR",$JOB),^TMP("IBTRPRDX",$JOB),^TMP("IBSRT",$JOB),^TMP("IBSRT1",$JOB)
+5 NEW IBI,J
+6 SET (IBCNT,VALMCNT)=0
SET IBI=""
+7 IF '$DATA(IBTPRT)
SET IBTRPT="B"
+8 IF '$DATA(IBTWHO)
SET IBTWHO="A"
+9 IF '$GET(IBTRPRF)
SET IBTRPRF=12
+10 IF IBTRPRF<10
SET X=$SELECT(IBTRPRF=1:"IBTRPR HR MENU",IBTRPRF=2:"IBTRPR IR MENU",1:"IBTRPR MENU")
DO PROT(X)
+11 IF IBTRPRF[1
DO 1^IBTRPR01
+12 IF IBTRPRF[2
DO 2^IBTRPR01
+13 ;
+14 ; -- go through sorted list
+15 SET IBDV=""
FOR
SET IBDV=$ORDER(^TMP("IBSRT",$JOB,IBDV))
IF IBDV=""
QUIT
SET TYPE=""
FOR
SET TYPE=$ORDER(^TMP("IBSRT",$JOB,IBDV,TYPE))
IF TYPE=""
QUIT
Begin DoDot:1
+16 SET IBI=""
FOR
SET IBI=$ORDER(^TMP("IBSRT",$JOB,IBDV,TYPE,IBI))
IF IBI=""
QUIT
SET IBJ=""
FOR
SET IBJ=$ORDER(^TMP("IBSRT",$JOB,IBDV,TYPE,IBI,IBJ))
IF IBJ=""
QUIT
Begin DoDot:2
+17 SET IBK=""
FOR
SET IBK=$ORDER(^TMP("IBSRT",$JOB,IBDV,TYPE,IBI,IBJ,IBK))
IF IBK=""
QUIT
SET IBL=""
FOR
SET IBL=$ORDER(^TMP("IBSRT",$JOB,IBDV,TYPE,IBI,IBJ,IBK,IBL))
IF IBL=""
QUIT
Begin DoDot:3
+18 SET IBDATA=^TMP("IBSRT",$JOB,IBDV,TYPE,IBI,IBJ,IBK,IBL)
+19 SET IBTRN=+IBDATA
SET ENTRY=$PIECE(IBDATA,"^",2)
+20 SET IBDATE=$PIECE(IBDATA,"^",3)
SET DFN=$PIECE(IBDATA,"^",4)
SET IBWARD=$PIECE(IBDATA,"^",5)
+21 SET IBSTATUS=$PIECE(IBDATA,"^",6)
SET IBREV=$PIECE(IBDATA,"^",7)
+22 SET IBASSIGN=$PIECE(IBDATA,"^",9)
SET IBNEXT=$PIECE(IBDATA,"^",10)
+23 SET IBFLAG=$ORDER(^TMP("IBSRT1",$JOB,DFN,""))
SET IBFLAG=$ORDER(^TMP("IBSRT1",$JOB,DFN,IBFLAG))
IF IBFLAG'=""
SET IBFLAG="+"
+24 SET FILE=$PIECE(IBDATA,"^",8)
+25 DO PID^VADPT
+26 SET IBCNT=IBCNT+1
DO BLD1^IBTRPR0
+27 QUIT
End DoDot:3
End DoDot:2
End DoDot:1
+28 KILL ^TMP("IBSRT",$JOB),^TMP("IBSRT1",$JOB)
+29 QUIT
+30 ;
HELP ; -- help code
+1 SET X="?"
DO DISP^XQORM1
WRITE !!
+2 QUIT
+3 ;
EXIT ; -- exit code
+1 KILL ^TMP("IBTRPR",$JOB),^TMP("IBTRPRDX",$JOB)
+2 KILL I,J,X,Y,ENTRY,FILE,IBDATE,IBJ,IBNEXT,IBREV,IBSTATUS,IBTPEDT,IBTPBDT,IBTRC,IBTRN,IBTRV,TYPE,VA,VAERR,IBASSIGN,IBCNT,IBDATA,IBFLAG,IBK,IBL,IBSORT,IBWARD,IBTSORT
+3 DO FULL^VALM1
DO CLEAN^VALM10
+4 QUIT
+5 ;
PROT(X) ; -- set protocol menu
+1 NEW DIC,Y
+2 IF $GET(X)'=""
SET DIC=101
SET DIC(0)="N"
DO ^DIC
+3 IF +Y
SET VALM("PROTOCOL")=+Y_";ORD(101,"
PROTQ QUIT