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

IBY473PO.m

Go to the documentation of this file.
  1. IBY473PO ;ALB/ESG - Post Install for IB patch 473 ;2-FEB-2012
  1. ;;2.0;INTEGRATED BILLING;**473**;21-MAR-94;Build 29
  1. ;;Per VHA Directive 2004-038, this routine should not be modified.
  1. ;
  1. EN ; entry point
  1. N XPDIDTOT
  1. S XPDIDTOT=2
  1. D CVA(1) ; update CHAMPVA Rx rate schedules
  1. D TRI(2) ; update TRICARE Rx rate schedules
  1. ;
  1. EX ; exit point
  1. Q
  1. ;
  1. CVA(IBXPD) ; update CHAMPVA Rx rate schedule data
  1. N IBMSG,IBRXBS,ERO,ERB,RSNAME
  1. D BMES^XPDUTL(" STEP "_IBXPD_" of "_XPDIDTOT)
  1. D MES^XPDUTL("-------------")
  1. D MES^XPDUTL("Update CHAMPVA Rx Rate Schedules ... ")
  1. ;
  1. ; attempt to get the PRESCRIPTION billable service ien to file 399.1
  1. K IBMSG
  1. S IBRXBS=+$$FIND1^DIC(399.1,,"BO","PRESCRIPTION",,"I $P(^(0),U,13)","IBMSG")
  1. I IBRXBS'>0!$D(IBMSG("DIERR")) D G CVAX ; report error message and get out
  1. . D MES^XPDUTL("ERROR: Unable to determine the Prescription Billable Service.")
  1. . D MES^XPDUTL(" IBRXBS = "_IBRXBS)
  1. . S (ERO,ERB)="IBMSG(""DIERR"""
  1. . S ERO=ERO_")"
  1. . F S ERO=$Q(@ERO) Q:ERO'[ERB D MES^XPDUTL(" "_ERO_" = "_$G(@ERO))
  1. . D MES^XPDUTL(" ")
  1. . Q
  1. ;
  1. ; update both of the CHAMPVA pharmacy rate schedules
  1. F RSNAME="CVA-RX","CVA RI-RX" D
  1. . N IEN,DIE,DA,DR,X,Y
  1. . S IEN=+$O(^IBE(363,"B",RSNAME,""),-1)
  1. . I 'IEN D MES^XPDUTL("ERROR: Rate Schedule "_RSNAME_" not found.") Q
  1. . ;
  1. . ; check to see if the changes have already been performed
  1. . I $P($G(^IBE(363,IEN,0)),U,4)=IBRXBS,$P($G(^IBE(363,IEN,1)),U,1)=5 D Q
  1. .. D MES^XPDUTL("Rate Schedule "_RSNAME_" has already been updated...no further action.")
  1. .. Q
  1. . ;
  1. . ; perform the updates
  1. . S DIE=363,DA=IEN,DR=".04////"_IBRXBS_";1.01////5"
  1. . D ^DIE
  1. . D MES^XPDUTL("Rate Schedule "_RSNAME_" has been updated successfully.")
  1. . Q
  1. ;
  1. CVAX ;
  1. D MES^XPDUTL(" Done.")
  1. D UPDATE^XPDID(IBXPD)
  1. Q
  1. ;
  1. TRI(IBXPD) ; update TRICARE Rx rate schedule data with new dispensing fees
  1. N IBRATY,IBEFFDT,IBADFE,IBDISP,IBADJUST
  1. D BMES^XPDUTL(" STEP "_IBXPD_" of "_XPDIDTOT)
  1. D MES^XPDUTL("-------------")
  1. D MES^XPDUTL("Update TRICARE Rx Rate Schedules ... ")
  1. ;
  1. F IBRATY="TRICARE","TRICARE REIMB. INS." D
  1. . I '$O(^DGCR(399.3,"B",IBRATY,0)) D MES^XPDUTL("ERROR: Rate Type "_IBRATY_" not found.") Q
  1. . S IBEFFDT="01/23/2012" ; new effective date
  1. . S IBADFE="" ; admin fee (not used)
  1. . S IBDISP=10.27 ; dispensing fee amount
  1. . S IBADJUST="S X=X+10.27" ; adjustment code
  1. . D ENT^IB3PSOU(IBRATY,IBEFFDT,IBADFE,IBDISP,IBADJUST)
  1. . D MES^XPDUTL("Pharmacy Rate Schedules for "_IBRATY_" successfully updated.")
  1. . Q
  1. ;
  1. TRIX ;
  1. D MES^XPDUTL(" Done.")
  1. D UPDATE^XPDID(IBXPD)
  1. Q
  1. ;