BPS22PST ;AITC/PD - Post-install for BPS*1.0*22 ;5/10/2017
 ;;1.0;E CLAIMS MGMT ENGINE;**22**;JUN 2004;Build 28
 ;;Per VA Directive 6402, this routine should not be modified.
 ;
 Q
 ;
POST ; Post-install functions are coded here.
 ;
 D MES^XPDUTL("  Starting post-install of BPS*1.0*22")
 D AUTOREV
 D BMES^XPDUTL("  Finished post-install of BPS*1.0*22")
 Q
 ;
AUTOREV ; Update AUTO-REVERSAL PARAMETER in BPS PHARMACIES
 ;
 ; If existing value is nil or outside of inclusive range 3-10 set value to 5.
 ;
 N BPSAR,BPSARP,BPSIEN,CNT,DA,DIE,DR
 ;
 D BMES^XPDUTL("   Updating AUTO-REVERSAL PARAMETERs")
 ;
 S CNT=0
 S BPSIEN=0 F  S BPSIEN=$O(^BPS(9002313.56,BPSIEN)) Q:BPSIEN'?1N.N  D
 . S BPSARP=$P($G(^BPS(9002313.56,BPSIEN,0)),U,9)
 . I (BPSARP="")!(BPSARP<3)!(BPSARP>10) D
 . . S DIE=9002313.56,DA=BPSIEN,DR=".09////5"
 . . D ^DIE
 . . S BPSAR(BPSIEN)=BPSARP_U_$$NOW^XLFDT
 . . S CNT=CNT+1
 ;
 I $D(BPSAR) D MAIL(.BPSAR)
 ;
 D MES^XPDUTL("    - "_CNT_" entries updated")
 D MES^XPDUTL("    - Done with updating AUTO-REVERSAL PARAMETERs")
 ;
 Q
 ;
MAIL(BPSAR) ; Generate MailMan E-Mail
 ;
 N BPSARP,BPSDT,BPSIEN,BPSL,BPSNAME,BPSSITE,BPSX,USR,XMDUZ,XMSUB,XMTEXT,XMY
 ;
 S BPSSITE=$$SITE^VASITE()         ; IA 10112
 ;
 S BPSL=0
 S BPSL=BPSL+1,BPSX(BPSL)="VistA patch BPS*1.0*22 was successfully installed at your site."
 S BPSL=BPSL+1,BPSX(BPSL)=" "
 ;
 S BPSIEN=""
 F  S BPSIEN=$O(BPSAR(BPSIEN)) Q:BPSIEN=""  D
 . S BPSARP=$P($G(BPSAR(BPSIEN)),U)
 . S BPSDT=$P($G(BPSAR(BPSIEN)),U,2)
 . S BPSNAME=$P($G(^BPS(9002313.56,BPSIEN,0)),U,1)
 . S BPSL=BPSL+1,BPSX(BPSL)="        Name: "_BPSNAME
 . S BPSL=BPSL+1,BPSX(BPSL)="    Station#: "_$P(BPSSITE,U,3)
 . S BPSL=BPSL+1,BPSX(BPSL)="   Date/Time: "_$$FMTE^XLFDT(BPSDT,"5ZPM")
 . S BPSL=BPSL+1,BPSX(BPSL)="          By: "_$P($G(^VA(200,DUZ,0)),U,1)
 . S BPSL=BPSL+1,BPSX(BPSL)=" "
 . S BPSL=BPSL+1,BPSX(BPSL)="The ePharmacy Auto-Reversal Parameter has been changed at your site."
 . S BPSL=BPSL+1,BPSX(BPSL)="     Previous Value: "_BPSARP
 . S BPSL=BPSL+1,BPSX(BPSL)="          New Value: 5"
 . S BPSL=BPSL+1,BPSX(BPSL)=" "
 ;
 S BPSL=BPSL+1,BPSX(BPSL)="The Auto-Reversal Parameter can be changed using option Edit ECME Pharmacy"
 S BPSL=BPSL+1,BPSX(BPSL)="Data."
 S BPSL=BPSL+1,BPSX(BPSL)=" "
 S BPSL=BPSL+1,BPSX(BPSL)="ECME uses the AUTO-REVERSE site parameter when determining whether non-released"
 S BPSL=BPSL+1,BPSX(BPSL)="prescription claims (that have returned a PAYABLE response) are to be"
 S BPSL=BPSL+1,BPSX(BPSL)="automatically REVERSED."
 S BPSL=BPSL+1,BPSX(BPSL)=" "
 S BPSL=BPSL+1,BPSX(BPSL)="The AUTO-REVERSE site parameter is set for the number of days that ECME will"
 S BPSL=BPSL+1,BPSX(BPSL)="wait before the claim is automatically REVERSED. The user is allowed to enter"
 S BPSL=BPSL+1,BPSX(BPSL)="a number from 3 to 10. 5 is the suggested setting. ECME will wait the"
 S BPSL=BPSL+1,BPSX(BPSL)="entered number of days before REVERSING the non-released RX with a PAYABLE"
 S BPSL=BPSL+1,BPSX(BPSL)="payer returned response."
 ;
 S XMSUB="ePharmacy Auto-Reversal Parameter Change: BPS*1.0*22 "
 S XMSUB=XMSUB_$P(BPSSITE,U,3)_" #"_$P(BPSSITE,U,2)
 S XMDUZ="BPS Patch*1.0*22"
 S XMTEXT="BPSX("
 ; Define Recipients of Email - Recipients Include:
 ; Installer of Patch
 ; Holders of PSO EPHARMACY SITE MANAGER Key
 ; Gregory Laird (production only)
 ; Select team members (production only)
 S XMY(DUZ)=""
 S USR=0 F  S USR=$O(^XUSEC("PSO EPHARMACY SITE MANAGER",USR)) Q:USR=""  S XMY(USR)=""
 I $$PROD^XUPROD(1) D
 . S XMY("Gregory.Laird@domain.ext")=""
 . S XMY("Mark.Dawson3@domain.ext")=""
 . S XMY("Christine.Bullis@domain.ext")=""
 . S XMY("Paul.Devine@domain.ext")=""
 ; When invoking ^XMD in pre/post-init routine of Kernel Installation and
 ; Distribution System (KIDS) build, the calling routine must NEW the DIFROM variable
 ; Otherwise, your message will not be delivered.
 N DIFROM
 D ^XMD                 ; IA# 10070
 ;
 Q
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HBPS22PST   3996     printed  Sep 23, 2025@19:26:37                                                                                                                                                                                                    Page 2
BPS22PST  ;AITC/PD - Post-install for BPS*1.0*22 ;5/10/2017
 +1       ;;1.0;E CLAIMS MGMT ENGINE;**22**;JUN 2004;Build 28
 +2       ;;Per VA Directive 6402, this routine should not be modified.
 +3       ;
 +4        QUIT 
 +5       ;
POST      ; Post-install functions are coded here.
 +1       ;
 +2        DO MES^XPDUTL("  Starting post-install of BPS*1.0*22")
 +3        DO AUTOREV
 +4        DO BMES^XPDUTL("  Finished post-install of BPS*1.0*22")
 +5        QUIT 
 +6       ;
AUTOREV   ; Update AUTO-REVERSAL PARAMETER in BPS PHARMACIES
 +1       ;
 +2       ; If existing value is nil or outside of inclusive range 3-10 set value to 5.
 +3       ;
 +4        NEW BPSAR,BPSARP,BPSIEN,CNT,DA,DIE,DR
 +5       ;
 +6        DO BMES^XPDUTL("   Updating AUTO-REVERSAL PARAMETERs")
 +7       ;
 +8        SET CNT=0
 +9        SET BPSIEN=0
           FOR 
               SET BPSIEN=$ORDER(^BPS(9002313.56,BPSIEN))
               if BPSIEN'?1N.N
                   QUIT 
               Begin DoDot:1
 +10               SET BPSARP=$PIECE($GET(^BPS(9002313.56,BPSIEN,0)),U,9)
 +11               IF (BPSARP="")!(BPSARP<3)!(BPSARP>10)
                       Begin DoDot:2
 +12                       SET DIE=9002313.56
                           SET DA=BPSIEN
                           SET DR=".09////5"
 +13                       DO ^DIE
 +14                       SET BPSAR(BPSIEN)=BPSARP_U_$$NOW^XLFDT
 +15                       SET CNT=CNT+1
                       End DoDot:2
               End DoDot:1
 +16      ;
 +17       IF $DATA(BPSAR)
               DO MAIL(.BPSAR)
 +18      ;
 +19       DO MES^XPDUTL("    - "_CNT_" entries updated")
 +20       DO MES^XPDUTL("    - Done with updating AUTO-REVERSAL PARAMETERs")
 +21      ;
 +22       QUIT 
 +23      ;
MAIL(BPSAR) ; Generate MailMan E-Mail
 +1       ;
 +2        NEW BPSARP,BPSDT,BPSIEN,BPSL,BPSNAME,BPSSITE,BPSX,USR,XMDUZ,XMSUB,XMTEXT,XMY
 +3       ;
 +4       ; IA 10112
           SET BPSSITE=$$SITE^VASITE()
 +5       ;
 +6        SET BPSL=0
 +7        SET BPSL=BPSL+1
           SET BPSX(BPSL)="VistA patch BPS*1.0*22 was successfully installed at your site."
 +8        SET BPSL=BPSL+1
           SET BPSX(BPSL)=" "
 +9       ;
 +10       SET BPSIEN=""
 +11       FOR 
               SET BPSIEN=$ORDER(BPSAR(BPSIEN))
               if BPSIEN=""
                   QUIT 
               Begin DoDot:1
 +12               SET BPSARP=$PIECE($GET(BPSAR(BPSIEN)),U)
 +13               SET BPSDT=$PIECE($GET(BPSAR(BPSIEN)),U,2)
 +14               SET BPSNAME=$PIECE($GET(^BPS(9002313.56,BPSIEN,0)),U,1)
 +15               SET BPSL=BPSL+1
                   SET BPSX(BPSL)="        Name: "_BPSNAME
 +16               SET BPSL=BPSL+1
                   SET BPSX(BPSL)="    Station#: "_$PIECE(BPSSITE,U,3)
 +17               SET BPSL=BPSL+1
                   SET BPSX(BPSL)="   Date/Time: "_$$FMTE^XLFDT(BPSDT,"5ZPM")
 +18               SET BPSL=BPSL+1
                   SET BPSX(BPSL)="          By: "_$PIECE($GET(^VA(200,DUZ,0)),U,1)
 +19               SET BPSL=BPSL+1
                   SET BPSX(BPSL)=" "
 +20               SET BPSL=BPSL+1
                   SET BPSX(BPSL)="The ePharmacy Auto-Reversal Parameter has been changed at your site."
 +21               SET BPSL=BPSL+1
                   SET BPSX(BPSL)="     Previous Value: "_BPSARP
 +22               SET BPSL=BPSL+1
                   SET BPSX(BPSL)="          New Value: 5"
 +23               SET BPSL=BPSL+1
                   SET BPSX(BPSL)=" "
               End DoDot:1
 +24      ;
 +25       SET BPSL=BPSL+1
           SET BPSX(BPSL)="The Auto-Reversal Parameter can be changed using option Edit ECME Pharmacy"
 +26       SET BPSL=BPSL+1
           SET BPSX(BPSL)="Data."
 +27       SET BPSL=BPSL+1
           SET BPSX(BPSL)=" "
 +28       SET BPSL=BPSL+1
           SET BPSX(BPSL)="ECME uses the AUTO-REVERSE site parameter when determining whether non-released"
 +29       SET BPSL=BPSL+1
           SET BPSX(BPSL)="prescription claims (that have returned a PAYABLE response) are to be"
 +30       SET BPSL=BPSL+1
           SET BPSX(BPSL)="automatically REVERSED."
 +31       SET BPSL=BPSL+1
           SET BPSX(BPSL)=" "
 +32       SET BPSL=BPSL+1
           SET BPSX(BPSL)="The AUTO-REVERSE site parameter is set for the number of days that ECME will"
 +33       SET BPSL=BPSL+1
           SET BPSX(BPSL)="wait before the claim is automatically REVERSED. The user is allowed to enter"
 +34       SET BPSL=BPSL+1
           SET BPSX(BPSL)="a number from 3 to 10. 5 is the suggested setting. ECME will wait the"
 +35       SET BPSL=BPSL+1
           SET BPSX(BPSL)="entered number of days before REVERSING the non-released RX with a PAYABLE"
 +36       SET BPSL=BPSL+1
           SET BPSX(BPSL)="payer returned response."
 +37      ;
 +38       SET XMSUB="ePharmacy Auto-Reversal Parameter Change: BPS*1.0*22 "
 +39       SET XMSUB=XMSUB_$PIECE(BPSSITE,U,3)_" #"_$PIECE(BPSSITE,U,2)
 +40       SET XMDUZ="BPS Patch*1.0*22"
 +41       SET XMTEXT="BPSX("
 +42      ; Define Recipients of Email - Recipients Include:
 +43      ; Installer of Patch
 +44      ; Holders of PSO EPHARMACY SITE MANAGER Key
 +45      ; Gregory Laird (production only)
 +46      ; Select team members (production only)
 +47       SET XMY(DUZ)=""
 +48       SET USR=0
           FOR 
               SET USR=$ORDER(^XUSEC("PSO EPHARMACY SITE MANAGER",USR))
               if USR=""
                   QUIT 
               SET XMY(USR)=""
 +49       IF $$PROD^XUPROD(1)
               Begin DoDot:1
 +50               SET XMY("Gregory.Laird@domain.ext")=""
 +51               SET XMY("Mark.Dawson3@domain.ext")=""
 +52               SET XMY("Christine.Bullis@domain.ext")=""
 +53               SET XMY("Paul.Devine@domain.ext")=""
               End DoDot:1
 +54      ; When invoking ^XMD in pre/post-init routine of Kernel Installation and
 +55      ; Distribution System (KIDS) build, the calling routine must NEW the DIFROM variable
 +56      ; Otherwise, your message will not be delivered.
 +57       NEW DIFROM
 +58      ; IA# 10070
           DO ^XMD
 +59      ;
 +60       QUIT