Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: IBACCWL

IBACCWL.m

Go to the documentation of this file.
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