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

IBYP814.m

Go to the documentation of this file.
  1. IBYP814 ;MNTVBB/DMR - IB*2.0*814 POST INIT: REASONABLE CHARGES V5.25 ; Dec 9, 2024@11:09
  1. ;;2.0;INTEGRATED BILLING;**814**;21-MAR-94;Build 4
  1. ;;Per VA Directive 6402, this routine should not be modified.
  1. ; Reference to BMES^XPDUTL in ICR #10141
  1. ; Reference to ^DIE in ICR #10018
  1. Q
  1. ;
  1. POST ;
  1. ; Backup 363.2 Charge Item File
  1. N IB814FILES,IB814FILE,IB814NDE,IB814CNT
  1. S IB814FILE=""
  1. S IB814FILES="363.2"
  1. S IB814CNT=0
  1. ;F IB814CNT=1:1:$L(IB814FILES,"^") D
  1. ;. S IB814FILE=$P(IB814FILES,"^",IB814CNT)
  1. ;. D GLBBKUP
  1. ;. Q
  1. ; Begin Update
  1. N IBA,U S U="^"
  1. D BMSG(" Reasonable Charges v5.25 Post-Install .....")
  1. D CHGINA("") ; inactivate all RC charges in #363.2
  1. D BMSG(" Reasonable Charges v5.25 Post-Install Complete")
  1. Q
  1. ;
  1. BMSG(IBA) ;
  1. D BMES^XPDUTL(IBA)
  1. Q
  1. ;
  1. GLBBKUP ; XTMP Backup of file(s)
  1. S IB814NDE="IB*2*814-CY25 Reasonable Charges Update (#363.2)"
  1. S ^XTMP("IB20P814",0)=$$FMADD^XLFDT(DT,120)_"^"_DT_"^"_IB814NDE
  1. M ^XTMP("IB20P814",IB814FILE,$H)=^IBA(IB814FILE)
  1. Q
  1. ;
  1. CHGINA(VERS) ; inactive charges from previous versions of Reasonable Charges
  1. ; VERS = version to begin inactivations with (1, 1.1, 1.2, ...)
  1. ; - Inactive date added is the first RC Version Inactive date after the effective date of the charge
  1. ; - if the charge already has an inactive date less than the Version Inactive Date then no change is made
  1. ;
  1. N IBA,IBI,IBX,IBSTART,IBENDATE,IBCS,IBCS0,IBBR0,IBXRF,IBITM,IBNEF,IBCI,IBCI0,IBCIEF,IBCIIA,IBNEWIA
  1. N DD,DO,DLAYGO,DIC,DIE,DA,DR,X,Y,IBCNT S IBCNT=0
  1. ;
  1. D BMSG(" >> Inactivating Existing Reasonable Charges, Please Wait...")
  1. ;
  1. S IBSTART="" I $G(VERS)'="" S IBSTART=$$VERSDT^IBCRHBRV(VERS)
  1. S IBENDATE=$$VERSEND^IBCRHBRV
  1. ;
  1. S IBCS=0 F S IBCS=$O(^IBE(363.1,IBCS)) Q:'IBCS D
  1. . S IBCS0=$G(^IBE(363.1,IBCS,0)) Q:IBCS0=""
  1. . S IBBR0=$G(^IBE(363.3,+$P(IBCS0,U,2),0)) I $E(IBBR0,1,3)'="RC " Q
  1. . ;
  1. . S IBXRF="AIVDTS"_IBCS
  1. . S IBITM=0 F S IBITM=$O(^IBA(363.2,IBXRF,IBITM)) Q:'IBITM D
  1. .. S IBNEF="" F S IBNEF=$O(^IBA(363.2,IBXRF,IBITM,IBNEF)) Q:IBNEF="" Q:-IBNEF<IBSTART D
  1. ... ;
  1. ... S IBCI=0 F S IBCI=$O(^IBA(363.2,IBXRF,IBITM,IBNEF,IBCI)) Q:'IBCI D
  1. .... S IBCI0=$G(^IBA(363.2,IBCI,0)) Q:IBCI0=""
  1. .... S IBCIEF=$P(IBCI0,U,3),IBCIIA=$P(IBCI0,U,4),IBNEWIA=""
  1. .... ;
  1. .... F IBI=2:1 S IBX=+$P(IBENDATE,";",IBI) S IBNEWIA=IBX Q:'IBX Q:IBCIEF'>IBX
  1. .... ;
  1. .... I 'IBNEWIA Q
  1. .... I +IBCIIA,IBCIIA'>IBNEWIA Q
  1. .... ;
  1. .... S DR=".04///"_+IBNEWIA,DIE="^IBA(363.2,",DA=+IBCI
  1. .... D ^DIE K DIE,DIC,DA,DR,X,Y S IBCNT=IBCNT+1
  1. ;
  1. D BMSG(" Done. "_IBCNT_" existing charges inactivated")
  1. Q
  1. ;