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

PSS1P210.m

Go to the documentation of this file.
  1. PSS1P210 ;PAW - Patch 210 Post Install Routine;4/25/2017
  1. ;;1.0;PHARMACY DATA MANAGEMENT;**210**;9/30/97;Build 9
  1. ;
  1. ;This post-installation routine will identify and report free text in the NAME field
  1. ;(#.01) of the ADMINISTRATION SCHEDULE file (#51.1) when the TYPE OF SCHEDULE field (#5)
  1. ;is set to D (Day of the Week).
  1. Q
  1. ;
  1. EN ; Begin post-installation routine
  1. I $G(DUZ)="" W !,"Your DUZ is not defined. It must be defined to run this routine." Q
  1. N NAMSP,PATCH,JOBN,ZTSK,ZTRTN,ZTIO,ZTDTH,ZTDESC,Y,ZTQUEUED,ZTREQ,ZTSAVE,CNT,SBJM
  1. S NAMSP="PSS1P210"
  1. S JOBN="PSS*1.0*210 Post-Installation"
  1. S PATCH="PSS*1.0*210"
  1. S Y=$$NOW^XLFDT S ZTDTH=$$FMTH^XLFDT(Y)
  1. D BMES^XPDUTL("=============================================================")
  1. D MES^XPDUTL("Queuing background job for "_JOBN_"...")
  1. D MES^XPDUTL("Start time: "_$$HTE^XLFDT(ZTDTH))
  1. D MES^XPDUTL("A MailMan message will be sent to the installer upon Post")
  1. D MES^XPDUTL("Install Completion.")
  1. D MES^XPDUTL("==============================================================")
  1. ;
  1. S ZTRTN="ENQN^"_NAMSP,ZTIO=""
  1. S (SBJM,ZTDESC)="Background job for "_JOBN
  1. S ZTSAVE("JOBN")="",ZTSAVE("ZTDTH")="",ZTSAVE("DUZ")="",ZTSAVE("SBJM")=""
  1. D ^%ZTLOAD
  1. D:$D(ZTSK)
  1. . D MES^XPDUTL("*** Task #"_ZTSK_" Queued! ***")
  1. . D BMES^XPDUTL("")
  1. . S ZTSAVE("ZTSK")=""
  1. D BMES^XPDUTL("")
  1. K XPDQUES
  1. Q
  1. ;
  1. ENQN ; Loop through file 51.1 and look for Day of the Week Schedule Types with Free Text
  1. N CNT,PSSCREAT,PSSDASH,PSSEXPR,PSSTIME,PSSXTIME,PSSTIMCT,PSSIEN
  1. N PSSSTART,PSSX,PSSZX,PSSZ1,PSSZ2,PSSZ3,PSSZ4
  1. D NOW^%DTC S PSSSTART=$E(%,1,12),PSSCREAT=$E(%,1,7),PSSEXPR=$$FMADD^XLFDT(PSSCREAT,60,0,0,0)
  1. K ^TMP("PSS1P210R",$J)
  1. S CNT=8
  1. S PSSIEN=0
  1. F S PSSIEN=$O(^PS(51.1,PSSIEN)) Q:PSSIEN="" D
  1. . I $P($G(^PS(51.1,PSSIEN,0)),U,5)'="D" Q
  1. . S PSSX=$P(^PS(51.1,PSSIEN,0),U)
  1. . S PSSZX=PSSX S PSSX=$P(PSSX,"@")
  1. . S PSSZ2=1,PSSZ4="-" I PSSX'["-",PSSX?.E1P.E F PSSZ1=1:1:$L(PSSX) I $E(PSSX,PSSZ1)?1P S PSSZ4=$E(PSSX,PSSZ1) Q
  1. . F PSSZ1=1:1:$L(PSSX,PSSZ4) Q:'PSSZ2 S PSSZ2=0 I $L($P(PSSX,PSSZ4,PSSZ1))>1 F PSSZ3="MONDAYS","TUESDAYS","WEDNESDAYS","THURSDAYS","FRIDAYS","SATURDAYS","SUNDAYS" I $P(PSSZ3,$P(PSSX,PSSZ4,PSSZ1))="" S PSSZ2=1 Q
  1. . I PSSZ2=0 K PSSX
  1. . S PSSXTIME=$P(PSSZX,"@",2),PSSDASH=$L(PSSXTIME,"-")
  1. . F PSSTIMCT=1:1:PSSDASH S PSSTIME=$P(PSSXTIME,"-",PSSTIMCT)
  1. . I $L(PSSTIME)>4 K PSSX
  1. . I '$D(PSSX) S ^TMP("PSS1P210R",$J,CNT)=PSSZX,CNT=CNT+1
  1. D STOP
  1. Q
  1. ;
  1. STOP K DA,DIE,DR,NUM,CPS,CPSX,DFN,ORSTA,ORSTOP,UDIV,UIEN,UIEN1,%
  1. D XMAIL1
  1. D XMAIL2
  1. Q
  1. ;
  1. XMAIL1 ; Post-installation Notification for Installer
  1. K PSG,XMY S XMDUZ=.5,XMSUB="PATCH PSS*1.0*210 INSTALLATION COMPLETE",XMTEXT="PSG(",XMY(DUZ)="" D NOW^%DTC S Y=% X ^DD("DD")
  1. S PSG(1,0)=" -- INSTALLER --"
  1. S PSG(2,0)=" The post-install for PSS*1.0*210 completed "_Y_"."
  1. D ^XMD
  1. Q
  1. ;
  1. XMAIL2 ; Post-installation Notification for Users
  1. N PSSDUZ,PSSX
  1. S XMSUB="PSS*1.0*210 Pharmacy Expired Order Status Change"
  1. S XMDUZ=.5
  1. S XMSUB="PSS*1*210 Post-Install ADMINISTRATION SCHEDULE Report"
  1. I $D(^XUSEC("PSA ORDERS")) S PSSDUZ=0 F S PSSDUZ=$O(^XUSEC("PSA ORDERS",PSSDUZ)) Q:'PSSDUZ S XMY(PSSDUZ)=""
  1. I $D(^XUSEC("PSAMGR")) S PSSDUZ=0 F S PSSDUZ=$O(^XUSEC("PSAMGR",PSSDUZ)) Q:'PSSDUZ S XMY(PSSDUZ)=""
  1. I $D(^XUSEC("PSDMGR")) S PSSDUZ=0 F S PSSDUZ=$O(^XUSEC("PSDMGR",PSSDUZ)) Q:'PSSDUZ S XMY(PSSDUZ)=""
  1. S PSSDUZ=0 F S PSSDUZ=$O(^XUSEC("PSNMGR",PSSDUZ)) Q:PSSDUZ'>0 S XMY(PSSDUZ)=""
  1. S ^TMP("PSS1P210R",$J,1)=" Patch PSS*1.0*210 post-installation routine has identified"
  1. S ^TMP("PSS1P210R",$J,2)=" "_(CNT-8)_" Day of the Week ADMINISTRATION SCHEDULES with free"
  1. S ^TMP("PSS1P210R",$J,3)=" text in the NAME field. Please review."
  1. S ^TMP("PSS1P210R",$J,4)=" "
  1. S ^TMP("PSS1P210R",$J,5)="Schedule Name"
  1. S ^TMP("PSS1P210R",$J,6)="======== ===="
  1. S ^TMP("PSS1P210R",$J,7)=" "
  1. S XMY(DUZ)=""
  1. I CNT=8 S ^TMP("PSS1P210R",$J,8)="No discrepancy found, nothing to update..."
  1. S XMTEXT="^TMP(""PSS1P210R"",$J," N DIFROM D ^XMD
  1. K CNT,XMSUB,XMDUZ,XMY,XMTEXT,^TMP("PSS1P210R",$J)
  1. Q
  1. ;