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

RCDPEAD4.m

Go to the documentation of this file.
  1. RCDPEAD4 ;AITC/CJE - AUTO DECREASE ;Jun 06, 2014@19:11:19
  1. ;;4.5;Accounts Receivable;**349**;Mar 20, 1995;Build 44
  1. ;Per VA Directive 6402, this routine should not be modified.
  1. ;
  1. Q
  1. ;
  1. REJ(WHICH) ; Process zero balance denial ERA's - PRCA*4.5*326
  1. ; PRCA*4.5*345 - Added WHICH
  1. ; Input: WHICH - 1 - Medical Claims
  1. ; - 3 - TRICARE Claims
  1. ;
  1. N FLD,PAID,PAYID,PAYNAM,RCDATE,RCERA,RC3446,RCDAY,RCLINE,RCPARM,RCRTYPE,RCSCR ; PRCA*4.5*345
  1. S FLD=$S(WHICH=1:.12,1:1.1) ; PRCA*4.5*349 - Added line ;
  1. ; Get days to wait for payer rejects (rename no-pay lines field)
  1. S RCDAY=$$FMADD^XLFDT(DT\1,-$$GET1^DIQ(344.61,"1,",FLD)) ; PRCA*4.5*345 - Replaced .12 w/FLD
  1. ;
  1. ; Scan AFD index for ERA received within date range
  1. S RCDATE=$$FMADD^XLFDT(RCDAY,-1)_".99999",PAID=0
  1. F S RCDATE=$O(^RCY(344.4,"AFD",RCDATE)) Q:'RCDATE Q:(RCDATE\1)>RCDAY D
  1. . S RCERA=0
  1. . ; Check for payer reject ERA's
  1. . F S RCERA=$O(^RCY(344.4,"AFD",RCDATE,RCERA)) Q:'RCERA D
  1. . . Q:+$$GET1^DIQ(344.4,RCERA_",",.05) ; Ignore ERA if total paid is not zero
  1. . . Q:+$$GET1^DIQ(344.4,RCERA_",",.16,"I") ; Ignore ERA if removed from worklist
  1. . . Q:$$GET1^DIQ(344.4,RCERA_",",.15)'="NON" ; Ignore ERA if not payment type of NON
  1. . . S RCRTYPE=$$PHARM^RCDPEAP1(RCERA)
  1. . . Q:RCRTYPE ; Quit if ERA is for Pharmacy
  1. . . ;
  1. . . S RCRTYPE=$$ISTYPE^RCDPEU1(344.4,RCERA,"T") ; PRCA*4.5*349 - TRICARE ERA?
  1. . . ; Quit if ERA is not for Medical and processing Medical
  1. . . I WHICH=1,RCRTYPE Q
  1. . . ; Quit if ERA is not for TRICARE and processing TRICARE
  1. . . I WHICH=3,'RCRTYPE ; PRCA*4.5*349 - Added line
  1. . . ;
  1. . . ; Check payer exclusion file for this ERA's payer
  1. . . S PAYID=$P($G(^RCY(344.4,RCERA,0)),U,3)
  1. . . S PAYNAM=$P($G(^RCY(344.4,RCERA,0)),U,6)
  1. . . I PAYID'="",PAYNAM'="" D
  1. . . . S RCPARM=$O(^RCY(344.6,"CPID",PAYNAM,PAYID,""))
  1. . . . S:RCPARM'="" RC3446=$G(^RCY(344.6,RCPARM,0))
  1. . . ;
  1. . . ; Ignore ERA if EXCLUDE MED CLAIMS POSTING (#.06) or EXCLUDE MED CLAIMS DECREASE (#.07) fields set to 'yes'
  1. . . ; PRCA*4.5*345 - Added ,WHICH=1
  1. . . I $G(RC3446)'="",WHICH=1 Q:$P(RC3446,U,6)=1 Q:$P(RC3446,U,7)=1
  1. . . ;
  1. . . ; Ignore ERA if auto-post blocked
  1. . . Q:$$GET1^DIQ(344.4,RCERA_",",.19,"I")
  1. . . ;
  1. . . ; Build Scratchpad (if needed) and Verify Lines
  1. . . K ^TMP($J,"RCDPEWLA")
  1. . . S RCSCR=$$SCRPAD^RCDPEWLZ(RCERA)
  1. . . I 'RCSCR Q
  1. . . ; Ignore ERA if it has PLBs
  1. . . I $D(^TMP($J,"RCDPEWLA","ERA LEVEL ADJUSTMENT EXISTS")) Q
  1. . . ;
  1. . . ; Build index to scratchpad for this ERA
  1. . . N RCARRAY
  1. . . D BUILD^RCDPEAP(RCERA,.RCARRAY)
  1. . . ; Search lines
  1. . . S RCLINE=0
  1. . . F S RCLINE=$O(RCARRAY(RCLINE)) Q:'RCLINE D
  1. . . . ; Ignore claim line if already auto decreased
  1. . . . Q:$P($G(^RCY(344.4,RCERA,1,RCLINE,5)),U,3)
  1. . . . ; Process line
  1. . . . D EN4^RCDPEAD(RCDATE,RCERA,.RCARRAY,PAID,RCLINE,WHICH) ; PRCA*4.5*345 - Added WHICH
  1. Q