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

BPS10P7.m

Go to the documentation of this file.
  1. BPS10P7 ;OAK/ELZ - BPS*1*7 PRE/POST INSTALL ROUTINE ;6/9/08 11:02
  1. ;;1.0;E CLAIMS MGMT ENGINE;**7**;JUN 2004;Build 46
  1. ;;Per VHA Directive 2004-038, this routine should not be modified.
  1. ;
  1. PRE ; pre-install of BPS*1*7
  1. ;
  1. ; delete the following files (leaving the data), the actual
  1. ; install of BPS*1*7 will re-install the updated files.
  1. ; 9002313.91 -- BPS NCPDP FIELD DEFS
  1. ; 9002313.92 -- BPS NCPDP FORMATS
  1. ; 9002313.93 -- BPS NCPDP REJECT CODES ** REMOVE DATA **
  1. ; 9002313.59 -- BPS TRANSACTION
  1. ; 9002313.02 -- BPS CLAIMS
  1. ; 9002313.03 -- BPS RESPONSES
  1. ; 9002313.56 -- BPS PHARMACIES
  1. ; 9002313.57 -- BPS LOG OF TRANSACTIONS
  1. ; 9002313.77 -- BPS REQUESTS
  1. ; 9002313.78 -- BPS INSURER DATA
  1. ; 9002313.99 -- BPS SETUP
  1. ;
  1. ; DBIA2172,DBIA10141,DBIA10014
  1. ;
  1. N BPSX,DIU,XPDIDTOT,BPSC,BPSP
  1. D MES^XPDUTL(" Starting pre-install of BPS*1*7")
  1. S XPDIDTOT=11,BPSC=0
  1. D MES^XPDUTL(" - Deleting files to be restored during install.")
  1. F BPSX=9002313.91,9002313.92,9002313.93,9002313.59,9002313.02,9002313.03,9002313.56,9002313.57,9002313.77,9002313.78,9002313.99 D
  1. . S BPSP=$G(DILOCKTM,3)
  1. . D MES^XPDUTL(" - Deleting file #"_BPSX_", Waiting for hardware "_BPSP_" seconds...")
  1. . S DIU=BPSX
  1. . S DIU(0)=$S(BPSX=9002313.93:"DE",1:"E")
  1. . D EN^DIU2
  1. . S BPSC=BPSC+1
  1. . D UPDATE^XPDID(BPSC)
  1. . H BPSP ; need to pause so we don't hit the globals too hard
  1. D MES^XPDUTL(" Finished pre-install of BPS*1*7")
  1. Q
  1. ;
  1. POST ; post install for BPS*1*7
  1. ; - need to build the new AD cross reference on Status
  1. ; of the BPS LOG OF TRANSACTIONS so it matches the
  1. ; BPS TRANSACTION file.
  1. ;
  1. ; DBIA2172,DBIA10141
  1. ;
  1. N BPSX,BPSY,BPSC,XPDIDTOT,ZTRTN,ZTDESC,ZTDTH,ZTIO,ZTSK,BPSTIME,DIU,BPSP
  1. D MES^XPDUTL(" Starting post-install of BPS*1*7")
  1. D MES^XPDUTL(" - Building AD xref on BPS LOG OF TRANSACTIONS file")
  1. S XPDIDTOT=$P($G(^BPST(0)),"^",4)
  1. S (BPSC,BPSX)=0
  1. F S BPSX=$O(^BPST(BPSX)) Q:'BPSX S BPSC=BPSC+1,BPSY=$P($G(^BPST(BPSX,0)),"^",2) D:'(BPSC#500) UPDATE^XPDID(BPSC) I $L(BPSY) S ^BPST("AD",$E(BPSY,1,30),BPSX)=""
  1. ;
  1. ; need to clean up old fields from BPS Pharmacies 9002313.56
  1. D MES^XPDUTL(" - Cleaning out old data from BPS PHARMACIES")
  1. S BPSX=0 F S BPSX=$O(^BPS(9002313.56,BPSX)) Q:'BPSX K ^BPS(9002313.56,BPSX,"HOURS"),^("TCLOSE"),^("TOPEN")
  1. D MES^XPDUTL(" - Done cleaning out old data from BPS PHARMACIES")
  1. ;
  1. ; Clean up the old field being removed with tasked job 9002313.0301,508Sales Tax Paid
  1. D MES^XPDUTL(" - Queing task to clean up old data")
  1. S ZTRTN="DQ^BPS10P7",ZTDESC="Post Install BPS*1*7, Clean-up of Data"
  1. S (BPSTIME,ZTDTH)=$$FMADD^XLFDT($$NOW^XLFDT,,,5),ZTIO=""
  1. D ^%ZTLOAD
  1. I $G(ZTSK) D
  1. . D MES^XPDUTL(" - Task Queued, #"_ZTSK_" to run at "_$$FMTE^XLFDT(BPSTIME))
  1. E D MES^XPDUTL(" - ERROR: Task not queued!!!")
  1. ;
  1. ; populate new fields in setup file
  1. D MES^XPDUTL(" - Setting up New Insurer Asleep fields in site param file")
  1. S:$P($G(^BPS(9002313.99,1,0)),"^",5)="" $P(^(0),"^",5)=20
  1. S:$P($G(^BPS(9002313.99,1,0)),"^",6)="" $P(^(0),"^",6)=10
  1. D MES^XPDUTL(" - New Insurer Asleep fields set")
  1. ;
  1. ; delete the following obsolete files leaving no data
  1. ; 9002313.82103 BPS NCPDP FIELD 103
  1. ; 9002313.82305 BPS NCPDP FIELD 305
  1. ; 9002313.82306 BPS NCPDP FIELD 306
  1. ; 9002313.82307 BPS NCPDP FIELD 307
  1. ; 9002313.82308 BPS NCPDP FIELD 308
  1. ; 9002313.82309 BPS NCPDP FIELD 309
  1. ; 9002313.82406 BPS NCPDP FIELD 406
  1. ; 9002313.82408 BPS NCPDP FIELD 408
  1. ; 9002313.82416 BPS NCPDP FIELD 416
  1. ; 9002313.82419 BPS NCPDP FIELD 419
  1. ; 9002313.8242 BPS NCPDP FIELD 420
  1. ; 9002313.82423 BPS NCPDP FIELD 423
  1. ; 9002313.82425 BPS NCPDP FIELD 425
  1. ; 9002313.82429 BPS NCPDP FIELD 429
  1. ; 9002313.82432 BPS NCPDP FIELD 432
  1. ; 9002313.82436 BPS NCPDP FIELD 436
  1. ; 9002313.82439 BPS NCPDP FIELD 439
  1. ; 9002313.8244 BPS NCPDP FIELD 440
  1. ; 9002313.82441 BPS NCPDP FIELD 441
  1. ; 9002313.82461 BPS NCPDP FIELD 461
  1. ; 9002313.82501 BPS NCPDP FIELD 501
  1. ; 9002313.82522 BPS NCPDP FIELD 522
  1. ; 9002313.82528 BPS NCPDP FIELD 528
  1. ; 9002313.82529 BPS NCPDP FIELD 529
  1. ; 9002313.82532 BPS NCPDP FIELD 532
  1. ; 9002313.82533 BPS NCPDP FIELD 533
  1. ; 9002313.82535 BPS NCPDP FIELD 535
  1. ;
  1. ; DBIA2172,DBIA10141,DBIA10014
  1. ;
  1. D MES^XPDUTL(" - Deleting obsolete files.")
  1. S XPDIDTOT=27,BPSC=0
  1. F BPSY=1:1 S BPSX=$P($T(DELFILE+BPSY),";",3) Q:BPSX="" D
  1. . S BPSP=$G(DILOCKTM,3)
  1. . D MES^XPDUTL(" - Deleting obsolete file #"_BPSX_", Waiting for hardware "_BPSP_" seconds...")
  1. . S DIU=BPSX,DIU(0)="EDT"
  1. . D EN^DIU2
  1. . S BPSC=BPSC+1
  1. . D UPDATE^XPDID(BPSC)
  1. . H BPSP ; need to pause so we don't hit the globals too hard
  1. ;
  1. D MES^XPDUTL(" Finished post-install of BPS*1*7")
  1. Q
  1. ;
  1. DQ ; taskman entry to clean up data
  1. N BPSX,BPSY,Y,%DT,X
  1. S BPSX=0 F S BPSX=$O(^BPSR(BPSX)) Q:'BPSX S BPSY=0 F S BPSY=$O(^BPSR(BPSX,1000,BPSY)) Q:'BPSY D
  1. . I $D(^BPSR(BPSX,1000,BPSY,500)) S $P(^(500),"^",8)=""
  1. ;
  1. ; reset *M Vendor field to be null if a date is not stored there
  1. I $L($P($G(^BPS(9002313.99,1,0)),"^",4)),$E($P(^(0),"^",4),1,7)'?7N S $P(^(0),"^",4)=""
  1. ;
  1. ; Cleaning up BPS Claims file, Date Reopened field (906)
  1. ; some data stored in there is in external format, like 8-31-2006@13:20:04
  1. S BPSX=0 F S BPSX=$O(^BPSC(BPSX)) Q:'BPSX D
  1. . S BPSY=$P($G(^BPSC(BPSX,900)),"^",6)
  1. . I '$L(BPSY) Q
  1. . I $E(BPSY,1,7)?7N Q
  1. . S %DT="PT",X=$P(BPSY,"@")
  1. . D ^%DT
  1. . I Y>0 S $P(^BPSC(BPSX,900),"^",6)=+(Y_$S(BPSY["@":"."_$TR($P(BPSY,"@",2),":"),1:""))
  1. ;
  1. ; clean out the data for:
  1. ; ^BPSC(ien,400,"AC")
  1. ; $P(^BPSC(BPS(9002313.02),400,0),"^",3)
  1. S BPSX=0 F S BPSX=$O(^BPSC(BPSX)) Q:'BPSX K ^BPSC(BPSX,400,"AC") S BPSY=0 F S BPSY=$O(^BPSC(BPSX,400,BPSY)) Q:'BPSY I $L($G(^BPSC(BPSX,400,BPSY,0))) S $P(^(0),"^",3)=""
  1. ;
  1. Q
  1. DELFILE ; list of files to go bye bye with their data
  1. ;;9002313.82103
  1. ;;9002313.82305
  1. ;;9002313.82306
  1. ;;9002313.82307
  1. ;;9002313.82308
  1. ;;9002313.82309
  1. ;;9002313.82406
  1. ;;9002313.82408
  1. ;;9002313.82416
  1. ;;9002313.82419
  1. ;;9002313.82423
  1. ;;9002313.82425
  1. ;;9002313.82429
  1. ;;9002313.82432
  1. ;;9002313.82436
  1. ;;9002313.8244
  1. ;;9002313.82441
  1. ;;9002313.82501
  1. ;;9002313.82522
  1. ;;9002313.82528
  1. ;;9002313.82529
  1. ;;9002313.82532
  1. ;;9002313.82533
  1. ;;9002313.82535
  1. ;;9002313.8242
  1. ;;9002313.82439
  1. ;;9002313.82461
  1. ;;
  1. ;