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

IBACCWLAI.m

Go to the documentation of this file.
IBACCWLAI ;EDE/TPF - ACC (Automated Community Care) Encounters - Action Items Expand and Previous Activity; 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 APIs for Action Items for the ACC Community Care worklists
 ;
 ;CALLED BY ACTION PROTOCOL:
 ;IBACC WL IBACCOMMON EE ACTION
EXPANDENC(IBDA) ;EP - EXPAND ENCOUNTER
 ;
 N DFN,DETRETURN,ENCRETURN,IBBILL,IBENCIFN,IBIFN,IBENCIEN,PREVVALMAR
 ;
 I $D(^TMP("IBACCWLEE",$J)) S VALMBCK="R" Q
 ;
 S VALMSG="* = In progress| ! = Patient not in VistA |??=Help"
 ;
 I '$G(IBDA) N IBDA D SEL(.IBDA)   ;I 1  ;IS THIS REALLY ALL I NEED TO MAKE THE APIs ENCOUNTER SPECIFIC?
 ;
 I '$D(IBDA) S VALMBCK="R" Q
 ;
 I $G(IBDA(IBDA))["----------------------",'$O(IBDA(IBDA)) S VALMBCK="R" Q
 ;
 S IBDA=$O(IBDA(""))  ;ONLY IF ONE SELECTION. NEED FOR LOOP FOR MULTIPLES
 ;
 I $G(IBPARENT)=0 D  ;TPF;IB*2*770v38;EBILL-5485
 .S IBENCIFN=$G(@VALMAR@("IEN3649",1))
 .S IBIFN=$G(@VALMAR@("IEN399",1))
 E  D
 .S IBIFN=$G(@VALMAR@(IBDA,"IEN399",1))
 .S IBENCIFN=$G(@VALMAR@(IBDA,"IEN3649",1))
 ;
 I IBENCIFN S DFN=$P($G(^IBA(364.9,IBENCIFN,2)),U)
 E  S DFN="NOT FOUND"
 ;
 I IBIFN'="" D
 .S DFN=$P($G(^DGCR(399,+$G(IBIFN),0)),U,2)
 .S IBBILL=$P($G(^DGCR(399,IBIFN,0)),U)
 E  D
 .W !!,"This encounter does not have a K#."
 W:$G(IBBILL)'="" !,"ACC CLAIM/BILL "_IBBILL_" SELECTED" H 2
 ;
 D FULL^VALM1
 ;
 M ENCRETURN=@VALMAR@(1)
 I '$D(ENCRETURN) D  Q
 .W !!,"Error missing data array. Report to eBilling."  ;TPF;IB*2*770v11;EBILL-4523  ;CHANGE TO SOP FOR ERROR CHECKS IN WL
 .S VALMBCK="R"
 .N DIR,DIRUT,DUOUT,DTOUT
 .D PAUSE^VALM1
 ;
 ;TPF;IB*2*770v4 THIS WAS COMMENTED OUT IN v3
 I $G(IBPARENT) D   ;TPF;IB*2*770v49;EBILL-6100 THE PARENT COL DEFINITION SETS SHOULD ONLY OCCUR IF COMING IN FROM THE PARENT NOT A CHILD SCREEN
 .M IBFROMVALMDDF=VALMDDF   ;PASS THE COLUMN SPECS AND ORIGINATING DATA ARRAY FOR UPDATING WHEN ACTION DONE IN EE
 .;M IBFROMVALMDDF("HDR")=VALMHDR  ;TPF;IB*2*770v49;EBILL-6100 NOT USED
 .S IBFROMVALMDDF(1,"NAME")=$G(NAME)
 .S IBFROMVALMDDF(1,"VALMAR")=$G(VALMAR)
 M DETRETURN=ENCRETURN(IBDA)
 S PREVVALMAR=$P($NA(@VALMAR),")")_")"
 ;
 ;TPF;IB*2*770v20;BEGIN EBILL-4055 MOD RELEVANT TO THE RU ACTION WITH ACTIVITY CODE 508 FROM EE ONLY
 ;CHECK SELECTED RECORDS TO SEE IF THEY HAVE BEEN REASSIGNED. BUG FIX FOR BLANK SCREEN ON RETURN FROM ACTION IN EE
 I $P(^IBA(364.9,IBENCIFN,3),U)'=$P(SESSIONKEY,"IBACC",2) D  S VALMBCK="R" Q  ;TPF;****** TESTING BLANKSCREEN FIX ON RETURN FROM ACTION IN EE
 .N EEVALMAR
 .S EEVALMAR=$G(IBFROMVALMDDF(1,"VALMAR"))  ;="^TMP("IBACCWLRUR",$J)"
 .W !,"RECORD "_IBDA_" IS NO LONGER AVAILABLE BECAUSE "
 .W !,$G(@EEVALMAR@(IBDA,"UNAVAILABLE"))
 .N DIR,DUOUT,DTOUT,DIROUT
 .S DIR(0)="E"
 .D ^DIR
 ;
 D EN^IBACCWLEE(.IBDA,IBENCIFN,IBIFN,.DETRETURN,PREVVALMAR,.IBFROMVALMDDF)
 ;
 S IBICAMEFROMEE=1
 S VALMBCK="R"
 Q
 ;
 ;S DA(1)=1 D PREVACT^IBACCWLAI(.DA)
 ;CALLED BY ACTION PROTOCOL:
 ;IBACC WL IBACCCOMMON PREV ACTIVITY
PREVACT(IBDA,IBIFN,IBLN) ;EP - DISPLAY/VIEW ALL PREVIOUS ACTIVITY
 N IBIFN,DFN,ERROR,RECORD,PREVACTIEN,PREVACTRET,LINENUM
 ;
 S VALMSG="* = In progress| ! = Patient not in VistA |??=Help"
 ;
 I '$G(IBDA) N IBDA D SEL(.IBDA)   ;I 1  IS THIS REALLY ALL I NEED TO MAKE THE APIs ENCOUNTER SPECIFIC?
 ;
 I '$D(IBDA) S VALMBCK="R" Q
 ;
 I $G(IBDA(IBDA))["----------------------",'$O(IBDA(IBDA)) S VALMBCK="R" Q
 ;
 ;I VALMAR[("IBACCWLEE")!(VALMAR[("IBACCWLVERUR")) D  ;TPF;IB*2*770v38;EBILL-5485
 ;IBPARENT=0 SHOWS IT IS A "CHILD" SCREEN!
 I $G(IBPARENT)=0 D  ;TPF;IB*2*770v38;EBILL-5485
 .S IBENCIFN=$G(@VALMAR@("IEN3649",1))
 .S IBIFN=$G(@VALMAR@("IEN399",1))
 E  D
 .S IBIFN=$G(@VALMAR@(IBDA,"IEN399",1))
 .S IBENCIFN=$G(@VALMAR@(IBDA,"IEN3649",1))
 ;
 I IBENCIFN S DFN=$P($G(^IBA(364.9,IBENCIFN,2)),U)
 E  S DFN="NOT FOUND IN ENCOUNTER FILE"
 ;
 I IBIFN'="" D
 .S DFN=$P($G(^DGCR(399,+$G(IBIFN),0)),U,2)
 .S IBBILL=$P($G(^DGCR(399,IBIFN,0)),U)
 E  S DFN="NOT FOUND"
 ;
 D FULL^VALM1
 ;
 D EN^IBACCWLPREV(IBENCIFN,IBIFN)
 ;
 Q
 ;
 ;CALLED BY ACTION PROTOCOL 'IBACC WL IBACC RR'
RURREVIEW ;EP - NEW DESIGN RUR REVIEW SCREEN EBILL-5721
 N DFN,DETRETURN,ENCRETURN,IBBILL,IBENCIFN,IBIFN,IBENCIEN,PREVVALMAR
 ;
 ;CHECK TO SEE IF USER ALREADY HAS INSTANTIATED VE
 ;TPF;IB*2*770v49;EBILL-5485,EBILL-6100
 I $D(^TMP("IBACCWLRURREV",$J)) S VALMBCK="R" Q
 ;
 S VALMSG="* = In progress| ! = Patient not in VistA |??=Help"
 ;
 I '$G(IBDA) N IBDA D SEL(.IBDA)   ;I 1  ;IS THIS REALLY ALL I NEED TO MAKE THE APIs ENCOUNTER SPECIFIC?
 ;
 I '$D(IBDA) S VALMBCK="R" Q
 ;
 I $G(IBDA(IBDA))["----------------------",'$O(IBDA(IBDA)) S VALMBCK="R" Q
 ;
 S IBDA=$O(IBDA(""))  ;ONLY IF ONE SELECTION. NEED FOR LOOP FOR MULTIPLES
 ;
 ;BEGIN TPF;IB*2*770v38;EBILL-5485
 ;I (VALMAR[("IBACCWLVERUR"))!(VALMAR[("IBACCWLVEE")) D
 I $G(IBPARENT)=0 D  ;TPF;IB*2*770v38;EBILL-5485
 .S IBENCIFN=$G(@VALMAR@("IEN3649",1))
 .S IBIFN=$G(@VALMAR@("IEN399",1))
 E  D
 .S IBIFN=$G(@VALMAR@(IBDA,"IEN399",1))
 .S IBENCIFN=$G(@VALMAR@(IBDA,"IEN3649",1))
 ;
 I IBENCIFN S DFN=$P($G(^IBA(364.9,IBENCIFN,2)),U)
 E  S DFN="NOT FOUND"
 ;
 I IBIFN'="" D
 .S DFN=$P($G(^DGCR(399,+$G(IBIFN),0)),U,2)
 .S IBBILL=$P($G(^DGCR(399,IBIFN,0)),U)
 E  D
 .W !!,"This encounter does not have a K#, only information"
 .W !,"from the incoming encounter is available for display."  ;W !,"ENCOUNTER HAS NO ENTRY IN #399 BILL/CLAIM FILE" S DFN="NOT FOUND"
 W:$G(IBBILL)'="" !,"ACC CLAIM/BILL "_IBBILL_" SELECTED" H 2
 ;
 D FULL^VALM1
 ;
 ;TPF;IB*2*770v4 THIS WAS COMMENTED OUT IN v3
 ;M IBFROMVALMDDF=VALMDDF   ;PASS THE COLUMN SPECS AND ORIGINATING DATA ARRAY FOR UPDATING WHEN ACTION DONE IN EE
 ;M IBFROMVALMDDF("HDR")=VALMHDR  ;TPF;IB*2*770v48;EBILL-6100 NOT USED 
 ;S IBFROMVALMDDF(1,"NAME")=$G(NAME)
 ;S IBFROMVALMDDF(1,"VALMAR")=$G(VALMAR)
 I $G(IBPARENT) D  ;TPF;IB*2*770v49;EBILL-6100 THE PARENT COL DEFINITION SETS SHOULD ONLY OCCUR IF COMING IN FROM THE PARENT NOT A CHILD SCREEN
 .M IBFROMVALMDDF=VALMDDF
 .S IBFROMVALMDDF(1,"NAME")=$G(NAME)
 .S IBFROMVALMDDF(1,"VALMAR")=$G(VALMAR)
 M DETRETURN=ENCRETURN(IBDA)
 S PREVVALMAR=$P($NA(@VALMAR),")")_")"
 ;
 D EN^IBACCWLRURREV(.IBDA,IBENCIFN,IBIFN,.DETRETURN,PREVVALMAR,.IBFROMVALMDDF)
 ;
 S VALMBCK="R"
 ;
 Q
 ;
SEL(IBDA,OPTION) ;EP - 
 K IBDA,VALMY
 D FULL^VALM1
 D EN^VALM2($G(XQORNOD(0)),$S($G(OPTION)'="":OPTION,1:"S"))
 Q:'$D(VALMY)
 ;
 S IBDA("TOTAL")=0
 S IBDA=0
 F  S IBDA=$O(VALMY(IBDA)) Q:'IBDA  D
 .S IBDA(IBDA)=$G(@VALMAR@(+IBDA,0))
 .S IBDA("TOTAL")=IBDA("TOTAL")+1
 S IBDA=$O(IBDA(""))  ;ONLY IF ONE SELECTION. NEED FOR LOOP FOR MULTIPLES
 ;
 Q