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

IB20P810.m

Go to the documentation of this file.
  1. IB20P810 ;MNTVBB/RXD - UPDATE RX ADMINISTRATIVE FEE FOR CY 2025 ; 11/22/2024
  1. ;;2.0;INTEGRATED BILLING;**810**;21-MAR-94;Build 3
  1. ;;Per VA Directive 6402, this routine should not be modified.
  1. ; Reference to MES^XPDUTL in ICR #10141
  1. Q
  1. EN ; Backup 363 RATE SCHEDULE File
  1. N I810FILE,I810FILES,IBCNT
  1. S I810FILE=""
  1. S I810FILES="363"
  1. S IBCNT=0
  1. F IBCNT=1:1:$L(I810FILES,"^") D
  1. . S I810FILE=$P(I810FILES,"^",IBCNT)
  1. . D GLBBKUP
  1. . Q
  1. ; Begin Update
  1. D POST
  1. Q
  1. ;
  1. POST ; Update pharmacy administrative fee for CY 2025 in Rate Schedule file 363
  1. N IBA,U S U="^"
  1. D MSG("IB*2.0*810 Post-Install starts.....")
  1. D RXUPD
  1. D MSG("IB*2.0*810 Post-Install is complete.")
  1. Q
  1. ;
  1. RXUPD ; Rate Schedule
  1. N IBCT,IBI,IBT,IBX,IBRS,IBRSIN,IBRATY,IBEFFDT,IBADFE,IBDISP,IBADJUST
  1. D MSG("")
  1. D MSG(" >>>Effect. JAN 01, 2025 of RX Rate Schedule Adjustment for the Rate Type:"),MSG("")
  1. S IBADFE="",IBEFFDT="3250101",IBCT=0
  1. F IBX=1:1 S IBT=$P($T(RSF+IBX),";;",2) Q:IBT="Q" D
  1. . S IBRATY=$P(IBT,U)
  1. . S IBRSIN=$O(^DGCR(399.3,"B",IBRATY,0))
  1. . I 'IBRSIN D MSG(" "_IBRATY_" not defined in the Rate Type file (#399.3), not added") Q
  1. . ; latest entry
  1. . S IBRSIN=$O(^DGCR(399.3,"B",IBRATY,99999),-1)
  1. . I $P($G(^DGCR(399.3,+IBRSIN,0)),U,3) D MSG(" "_IBRATY_" inactivated in the Rate Type file (#399.3), not added") Q
  1. . I $$RSEXIST(IBEFFDT,IBRSIN) D MSG(" "_IBRATY_" already exists") Q
  1. . S IBDISP=$P(IBT,U,2)
  1. . S IBADJUST=$P(IBT,U,3)
  1. . ; inactivate rx entry for cy 2024 and add new rx entry for cy 2025
  1. . D ENT^IB3PSOU(IBRATY,IBEFFDT,IBADFE,IBDISP,IBADJUST)
  1. . ; double check if no active RS
  1. . I '$$RSEXIST(IBEFFDT,IBRSIN) D MSG(" "_IBRATY_" not added, no active RX Rate Schedule found") Q
  1. . S IBCT=IBCT+1 D MSG(" "_IBRATY)
  1. D MSG("")
  1. D MSG(" Total "_IBCT_$S(IBCT>1:" entries",1:" entry")_" added to the Rate Schedule file (#363)")
  1. D MSG("")
  1. Q
  1. ;
  1. RSEXIST(IBEFFDT,IBRSIN) ; return RS IFN if Rate Schedule exists for Effective Date
  1. N IBX,IBRSFN,IBRS0 S IBX=0
  1. S IBRSFN=0 F S IBRSFN=$O(^IBE(363,IBRSFN)) Q:'IBRSFN D I IBX Q
  1. . S IBRS0=$G(^IBE(363,IBRSFN,0))
  1. . I $P(IBRS0,U,2)=IBRSIN,$P(IBRS0,U,5)=IBEFFDT S IBX=IBRSFN
  1. Q IBX
  1. ;
  1. MSG(IBA) ;
  1. D MES^XPDUTL(IBA)
  1. Q
  1. ;
  1. GLBBKUP ; XTMP Backup of file(s)
  1. N IBBKNDE
  1. S IBBKNDE="IB*2.0*810-RATE SCHEDULE file updates (#363)"
  1. S ^XTMP("IB810P",0)=$$FMADD^XLFDT(DT,120)_"^"_DT_"^"_IBBKNDE
  1. M ^XTMP("IB810P",I810FILE,$H)=^IBE(I810FILE)
  1. Q
  1. ;
  1. RSF ; 23 Rate types^dispensing fee^adjustment
  1. ;;CC MTF REIMB INS^15.61^S X=X+15.61
  1. ;;CC NO-FAULT AUTO^15.61^S X=X+15.61
  1. ;;CC REIMB INS^15.61^S X=X+15.61
  1. ;;CC TORT FEASOR^15.61^S X=X+15.61
  1. ;;CC WORKERS' COMP^15.61^S X=X+15.61
  1. ;;CCN NO-FAULT AUTO^15.61^S X=X+15.61
  1. ;;CCN REIMB INS^15.61^S X=X+15.61
  1. ;;CCN TORT FEASOR^15.61^S X=X+15.61
  1. ;;CCN WORKERS' COMP^15.61^S X=X+15.61
  1. ;;CHOICE NO-FAULT AUTO^15.61^S X=X+15.61
  1. ;;CHOICE REIMB INS^15.61^S X=X+15.61
  1. ;;CHOICE TORT FEASOR^15.61^S X=X+15.61
  1. ;;CHOICE WORKERS' COMP^15.61^S X=X+15.61
  1. ;;DENTAL REIMB. INS.^15.61^S X=X+15.61
  1. ;;HUMANITARIAN^15.61^S X=X+15.61
  1. ;;HUMANITARIAN REIMB. INS.^15.61^S X=X+15.61
  1. ;;INELIGIBLE^15.61^S X=X+15.61
  1. ;;INTERAGENCY^15.61^S X=X+15.61
  1. ;;INELIGIBLE REIMB. INS.^15.61^S X=X+15.61
  1. ;;NO FAULT INS.^15.61^S X=X+15.61
  1. ;;REIMBURSABLE INS.^15.61^S X=X+15.61
  1. ;;TORT FEASOR^15.61^S X=X+15.61
  1. ;;WORKERS' COMP.^15.61^S X=X+15.61
  1. ;;Q
  1. ;