IBACCWL ;EDE/TPF - ACC (Automated Community Care) Encounters - COMMON LIST TEMPLATE API ; 12-SEP-2023 ; 12-SEP-2023
;;2.0;INTEGRATED BILLING;**770**;21-MAR-2024;Build 119
;;Per VA Directive 6402, this routine should not be modified.
Q
;THIS ROUTINE CONTAINS THE COMMON APIs I.E. HDR, INIT, HELP, EXIT AND EXPAND utilized by all the different user LIST TEMPLATES
;IF THERE IS ANY VARIATION IN THE WAY THE CODE FLOW WORKS FOR DIFFERENT USER ROLES IT IS PERFORMED OR REROUTED HERE
;BASED ON THE USER'S SECURITY KEY.
;
;
;D EN^IBACCWL
EN ;
;
N IBSORT,IBSORTFIL ;TPF;IB*2*770v18;EBILL-4631;FOR SORT "FILTER"
;
Q
;
HDR ; -- header code
;
N SORTCRIT
S VALMHDR(2)="Sort By:"
S SORTCRIT=$$DISPSORTCRIT^IBACCWLSORT(.IBSORT,.VALMHDR)
S VALMHDR(1)="Current Work Group: "_$G(REP(SESSIONKEY))
S VALMHDR(2)=SORTCRIT
;
;MESSAGE BASED ON CURRENT STATUS AND PT NOT FOUND.
S VALMSG="* = In progress| ! = Patient not in VistA |??=Help"
;
Q
;
INIT ;EP -- init variables and list array
;
;INITAGAIN ;TPF XINDEX
N API,IBUSERKEYSTR,RETURN
N CPUSTART,CPUEND,CPUELAPSED,CPUTRACK ;TESTING ONLY REMOVE FOR RELEASE
;N IBSORT,IBSORTFIL ;TPF XINDEX ;MJL;IB*2*770v50;EBILL-6152
;
K @VALMAR ;CLEAR WL DATA ARRAY
;
I '$D(SESSIONKEY) S SESSIONKEY=$P(NAME," ",3) ;SESSIONKEY NOT DEFINED WHEN ENTERING FROM VALMWB (LIST MANAGER WORK BENCH)
;
S IBUSERKEYSTR=$$IBUSERKEYSTR(SESSIONKEY)
;
S IBDAYSMAX=0
;
D:'$G(IBICAMEFROMEE) INIT^IBACCWLSORT(.RETURN,.IBDAYSMAX,.IBBILLER,.IBDIV,.IBSORT) ;PROMPT USER FOR FILTERS AND SORT PREFERENCES
;
I $G(RETURN)[("ESCAPE"),($G(RETURN(1))=U) K IBICAMEFROMEE S VALMQUIT=1 Q ;TPF;IB*2*770v25;EBILL-5229
;
K IBICAMEFROMEE
;
Q:$G(RETURN)[("ESCAPE")!($G(VALMQUIT))
;
S CPUSTART=$$CPUTIME^XLFSHAN
S CPUEND=$$CPUTIME^XLFSHAN
S CPUELAPSED=$$ETIMEMS^XLFSHAN(CPUSTART,CPUEND)
S CPUTRACK("INIT^IBACCWLSORT")=CPUELAPSED
;
D PULLLIST^IBACCWL1(.IBDAYSMAX,.IBBILLER,.IBDIV,.IBSORT,0) ;LAST PARAM IS 'NEWSORT' WHICH TELLS THE CALL NOT TO PLACE THE DATA INTO THE DATA ARRAY BUT SIMPLY RETURN
;
S CPUEND=$$CPUTIME^XLFSHAN
S CPUELAPSED=$$ETIMEMS^XLFSHAN(CPUSTART,CPUEND)
;
I $$ISTESTER^IBACCWLUTIL($G(DUZ)) D
.W !!,"TIME ELAPSE FOR PULLIST^IBACCWL1 CALL"
.W !,"CPU TIME: "_CPUELAPSED
.W !,"CPU seconds: "_(+CPUELAPSED*.015)
.W !!,"Records Loaded: ",$G(MAXNUMBER)
;
Q:$$NODATA(.VALMQUIT)
;
Q
;
IBUSERKEYSTR(IBUSERKEYSTR) ;EP - GET EXTERNAL DISPLAY STRING FOR 'IBACC WL ACC CLAIMS WORKLIST' WORK GROUP
N NEWLMTEMP,REP
S REP("IBACCBILL")="Billing"
S REP("IBACCFRT")="Facility Revenue"
S REP("IBACCRUR")="Revenue Utilization Review"
S REP("IBACCHIMS")="Health Information Management"
S REP("IBACCIV")="Insurance Verification"
S REP("IBACCSUP")="Supervisor"
S NEWLMTEMP=$$REPLACE^XLFSTR(IBUSERKEYSTR,.REP)
S IBUSERKEYSTR=NEWLMTEMP
;
Q IBUSERKEYSTR
;
NODATA(VALMQUIT) ;EP - SHOULD WE QUIT BECAUSE NOTHING FOUND
;
I '$D(@VALMAR) D Q:VALMQUIT 1
.W !!,"NO DATA FOUND!!"
.Q:'$D(IBSORT)
.W !!,"IF NO DATA WAS FOUND PERHAPS THE SORT CRITERIA WAS TOO STRINGENT!"
.W !,"TRY LESS RESTRICTIVE CRITERIA."
.N DIR ;TPF;IB*2*770v47;EBILL-6042
.D PAUSE^VALM1
.S VALMQUIT=1
;
Q 0
;
HELP ; -- help code
;
S X="?" D DISP^XQORM1 W !!
;
Q
;
EXIT ; -- exit code
;
D CLEAN^VALM10 ;KILLS DATA AND VIDEO CONTROL ARRAYS. KILLS @VALMAR TOO
;
Q
;
EXPND ; -- expand code
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HIBACCWL 3443 printed May 25, 2026@12:09:45 Page 2
IBACCWL ;EDE/TPF - ACC (Automated Community Care) Encounters - COMMON LIST TEMPLATE API ; 12-SEP-2023 ; 12-SEP-2023
+1 ;;2.0;INTEGRATED BILLING;**770**;21-MAR-2024;Build 119
+2 ;;Per VA Directive 6402, this routine should not be modified.
+3 QUIT
+4 ;THIS ROUTINE CONTAINS THE COMMON APIs I.E. HDR, INIT, HELP, EXIT AND EXPAND utilized by all the different user LIST TEMPLATES
+5 ;IF THERE IS ANY VARIATION IN THE WAY THE CODE FLOW WORKS FOR DIFFERENT USER ROLES IT IS PERFORMED OR REROUTED HERE
+6 ;BASED ON THE USER'S SECURITY KEY.
+7 ;
+8 ;
+9 ;D EN^IBACCWL
EN ;
+1 ;
+2 ;TPF;IB*2*770v18;EBILL-4631;FOR SORT "FILTER"
NEW IBSORT,IBSORTFIL
+3 ;
+4 QUIT
+5 ;
HDR ; -- header code
+1 ;
+2 NEW SORTCRIT
+3 SET VALMHDR(2)="Sort By:"
+4 SET SORTCRIT=$$DISPSORTCRIT^IBACCWLSORT(.IBSORT,.VALMHDR)
+5 SET VALMHDR(1)="Current Work Group: "_$GET(REP(SESSIONKEY))
+6 SET VALMHDR(2)=SORTCRIT
+7 ;
+8 ;MESSAGE BASED ON CURRENT STATUS AND PT NOT FOUND.
+9 SET VALMSG="* = In progress| ! = Patient not in VistA |??=Help"
+10 ;
+11 QUIT
+12 ;
INIT ;EP -- init variables and list array
+1 ;
+2 ;INITAGAIN ;TPF XINDEX
+3 NEW API,IBUSERKEYSTR,RETURN
+4 ;TESTING ONLY REMOVE FOR RELEASE
NEW CPUSTART,CPUEND,CPUELAPSED,CPUTRACK
+5 ;N IBSORT,IBSORTFIL ;TPF XINDEX ;MJL;IB*2*770v50;EBILL-6152
+6 ;
+7 ;CLEAR WL DATA ARRAY
KILL @VALMAR
+8 ;
+9 ;SESSIONKEY NOT DEFINED WHEN ENTERING FROM VALMWB (LIST MANAGER WORK BENCH)
IF '$DATA(SESSIONKEY)
SET SESSIONKEY=$PIECE(NAME," ",3)
+10 ;
+11 SET IBUSERKEYSTR=$$IBUSERKEYSTR(SESSIONKEY)
+12 ;
+13 SET IBDAYSMAX=0
+14 ;
+15 ;PROMPT USER FOR FILTERS AND SORT PREFERENCES
if '$GET(IBICAMEFROMEE)
DO INIT^IBACCWLSORT(.RETURN,.IBDAYSMAX,.IBBILLER,.IBDIV,.IBSORT)
+16 ;
+17 ;TPF;IB*2*770v25;EBILL-5229
IF $GET(RETURN)[("ESCAPE")
IF ($GET(RETURN(1))=U)
KILL IBICAMEFROMEE
SET VALMQUIT=1
QUIT
+18 ;
+19 KILL IBICAMEFROMEE
+20 ;
+21 if $GET(RETURN)[("ESCAPE")!($GET(VALMQUIT))
QUIT
+22 ;
+23 SET CPUSTART=$$CPUTIME^XLFSHAN
+24 SET CPUEND=$$CPUTIME^XLFSHAN
+25 SET CPUELAPSED=$$ETIMEMS^XLFSHAN(CPUSTART,CPUEND)
+26 SET CPUTRACK("INIT^IBACCWLSORT")=CPUELAPSED
+27 ;
+28 ;LAST PARAM IS 'NEWSORT' WHICH TELLS THE CALL NOT TO PLACE THE DATA INTO THE DATA ARRAY BUT SIMPLY RETURN
DO PULLLIST^IBACCWL1(.IBDAYSMAX,.IBBILLER,.IBDIV,.IBSORT,0)
+29 ;
+30 SET CPUEND=$$CPUTIME^XLFSHAN
+31 SET CPUELAPSED=$$ETIMEMS^XLFSHAN(CPUSTART,CPUEND)
+32 ;
+33 IF $$ISTESTER^IBACCWLUTIL($GET(DUZ))
Begin DoDot:1
+34 WRITE !!,"TIME ELAPSE FOR PULLIST^IBACCWL1 CALL"
+35 WRITE !,"CPU TIME: "_CPUELAPSED
+36 WRITE !,"CPU seconds: "_(+CPUELAPSED*.015)
+37 WRITE !!,"Records Loaded: ",$GET(MAXNUMBER)
End DoDot:1
+38 ;
+39 if $$NODATA(.VALMQUIT)
QUIT
+40 ;
+41 QUIT
+42 ;
IBUSERKEYSTR(IBUSERKEYSTR) ;EP - GET EXTERNAL DISPLAY STRING FOR 'IBACC WL ACC CLAIMS WORKLIST' WORK GROUP
+1 NEW NEWLMTEMP,REP
+2 SET REP("IBACCBILL")="Billing"
+3 SET REP("IBACCFRT")="Facility Revenue"
+4 SET REP("IBACCRUR")="Revenue Utilization Review"
+5 SET REP("IBACCHIMS")="Health Information Management"
+6 SET REP("IBACCIV")="Insurance Verification"
+7 SET REP("IBACCSUP")="Supervisor"
+8 SET NEWLMTEMP=$$REPLACE^XLFSTR(IBUSERKEYSTR,.REP)
+9 SET IBUSERKEYSTR=NEWLMTEMP
+10 ;
+11 QUIT IBUSERKEYSTR
+12 ;
NODATA(VALMQUIT) ;EP - SHOULD WE QUIT BECAUSE NOTHING FOUND
+1 ;
+2 IF '$DATA(@VALMAR)
Begin DoDot:1
+3 WRITE !!,"NO DATA FOUND!!"
+4 if '$DATA(IBSORT)
QUIT
+5 WRITE !!,"IF NO DATA WAS FOUND PERHAPS THE SORT CRITERIA WAS TOO STRINGENT!"
+6 WRITE !,"TRY LESS RESTRICTIVE CRITERIA."
+7 ;TPF;IB*2*770v47;EBILL-6042
NEW DIR
+8 DO PAUSE^VALM1
+9 SET VALMQUIT=1
End DoDot:1
if VALMQUIT
QUIT 1
+10 ;
+11 QUIT 0
+12 ;
HELP ; -- help code
+1 ;
+2 SET X="?"
DO DISP^XQORM1
WRITE !!
+3 ;
+4 QUIT
+5 ;
EXIT ; -- exit code
+1 ;
+2 ;KILLS DATA AND VIDEO CONTROL ARRAYS. KILLS @VALMAR TOO
DO CLEAN^VALM10
+3 ;
+4 QUIT
+5 ;
EXPND ; -- expand code
+1 QUIT