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

BNPENV.m

Go to the documentation of this file.
  1. BNPENV ;IHS/OIT/ENM - ENVIRONMENT CHECK
  1. ;;1.0;NATIONAL SITE TRACKING SYSTEM;**1**;07/31/2009
  1. ;BNP*1.0*1 10/27/2011 IHS.OIT.GAB ADDED CK FOR INCOMPLETE PKG & RESET TMP GLOBAL
  1. ALLPKG ;LOOP ON PACKAGE FILE "B" XREF
  1. ;S AZFMSITE="",PKRN="",AZASUFAC="",AZFMCT=1,BNPOS="",LOCNUM=""
  1. ;BNP*1.0*1 10/27/2011 IHS.OIT.GAB ADDED PKG NOT INSTALLED VAR BELOW (PKGNI & AZDIST)
  1. S AZFMSITE="",PKRN="",AZASUFAC="",AZFMCT=1,BNPOS="",LOCNUM="",PKGNI="",AZDIST=""
  1. ;BNP*1.0*1 10/27/2011 IHS.OIT.GAB ADDED NEXT 2 LINES TO KILL OFF TEMP GLOBAL
  1. S BNP=0
  1. F S BNP=$O(^BNPENV(BNP)) Q:BNP="" K ^BNPENV(BNP)
  1. ;GET LOCNAM
  1. S LOCNUM=$P($G(^AUTTSITE(1,0)),"^",1)
  1. ;
  1. I $G(LOCNUM)>0 S AZFMSITE=$P($G(^DIC(4,LOCNUM,0)),"^",1),AZASUFAC=$P($G(^AUTTLOC(LOCNUM,0)),"^",10)
  1. ;
  1. S AZFM="",LPATCH="",LPAT="",DINSLV="",INSDT="",HL7PDT="",HL7IDT=""
  1. F NA=0:0 S AZFM=$O(^DIC(9.4,"B",AZFM)) Q:AZFM="" D PKGWR
  1. ;MOVE XTMP GBL TO UNIX
  1. D XBC
  1. ;KILL OFF TMP VARIABLES
  1. D OUT
  1. Q
  1. PKGWR S AZVER=$$VERSION^XPDUTL(AZFM)
  1. S LPATCH=$$LAST^BNPENV2(AZFM,AZVER)
  1. ;BNP*1.0*1 11/30/2011 IHS.OIT.GAB ADDED QUIT IF INCOMPLETE PKG INSTALL
  1. Q:(PKGNI)=""
  1. S LPATCH=$S(LPATCH'[-1:LPATCH,1:"") D DTFIX
  1. ;
  1. I LPATCH="" S LPAT="",HL7DT="",LLPAT="^"
  1. ;BNP*1.0*1 10/27/2011 IHS.OIT.GAB CHANGED BELOW LINE TO ADD DATE DISTRIBUTED FIELD
  1. ;I LPATCH]"" S LPAT=$P(LPATCH,"^",1)_" / "_$P(LPATCH,"^",2)
  1. I LPATCH]"" S AZDIST=$P(LPATCH,"^",3) S LPAT=$P(LPATCH,"^",1)_" / "_$P(LPATCH,"^",2)
  1. ;BNP*1.0*1 10/27/2011 IHS.OIT.GAB ADDED BELOW 2 LINES FOR LAST PATCH DISTRIBUTE DATE
  1. S LPDIST=$P(LPATCH,"^",4) D DTFIX3
  1. I (LPDIST="") ! (LPDIST=0) S LPDIST="^"
  1. ;GRAB THE PREFIX
  1. S PKRN=$O(^DIC(9.4,"B",AZFM,"")) S:'PKRN PKRN=""
  1. S PREFIX=$P($G(^DIC(9.4,PKRN,0)),"^",2)
  1. I AZVER]"" S DINSLV=$O(^DIC(9.4,PKRN,22,"B",AZVER,"")) S:'DINSLV DINSLV=""
  1. I DINSLV]"" S INSDT=$P($G(^DIC(9.4,PKRN,22,DINSLV,0)),"^",3) D DTFIX1
  1. ;BNP*1.0*1 10/27/2011 IHS.OIT.GAB ADDED QUIT IF NO INSTALL DATE
  1. Q:INSDT=""
  1. ;BNP*1.0*1 10/27/2011 IHS.OIT.GAB ADDED BELOW LINE TO PULL DATE DISTRIBUTED FIELD
  1. S AZDIST=$P($G(^DIC(9.4,PKRN,22,DINSLV,0)),"^",2) D DTFIX2
  1. ;GET OS
  1. S BNPOS=$ZV
  1. ;S ^BNPENV(AZFMCT)=AZASUFAC_"^"_AZFMSITE_"^"_AZFM_"^"_PREFIX_"^"_AZVER_"^"_LLPAT_"^"_$S(INSDT]"":INSDT,1:"")_"^"_BNPOS
  1. ;BNP*1.0*1 10/27/2011 IHS.OIT.GAB CHANGED BELOW FOR DATE DISTRIBUTED FIELD
  1. S ^BNPENV(AZFMCT)=AZASUFAC_"^"_AZFMSITE_"^"_AZFM_"^"_PREFIX_"^"_AZVER_"^"_LLPAT_"^"_$S(INSDT]"":INSDT,1:"")_"^"_BNPOS_"^"_AZDIST_"^"_LPDIST
  1. S AZFMCT=AZFMCT+1
  1. Q
  1. PCC2 S PCCF200=$P($G(^AUTTSITE(1,0)),"^",22) I PCCF200="" S PCCF200="No"
  1. I PCCF200=1 S PCCF200="YES"
  1. ;W !,?30,"IHS V Files 200 Conversion Done?// ",PCCF200
  1. Q
  1. DOONE ;DO ONE RECORD FOR TESTING ONLY
  1. S AZFM="ADVERSE REACTION TRACKING" D PKGWR
  1. D OUT
  1. Q
  1. DTFIX Q:'+LPATCH
  1. ;BNP*1.0*1 10/27/2011 IHS.OIT.GAB ADDED BELOW 2 LINES TO CORRECT FOR TIME ADDED TO PATCH INSTALL DATE
  1. I $P(LPATCH,"^",2)]"" S LPD=$P(LPATCH,"^",2)
  1. I $P(LPD,".") S $P(LPATCH,"^",2)=$P(LPD,".")
  1. I $P(LPATCH,"^",2)]"" S HL7PDT=$P(LPATCH,"^",2),X=$$FMTHL7^XLFDT(HL7PDT),LLPAT=$P(LPATCH,"^",1)_"^"_X ;SET HL7 PATCH INSTALL DATE
  1. I $P(LPATCH,"^",2)']"" S LLPAT=$P(LPATCH,"^",1)_"^"_""
  1. I $P(LPATCH,"^",2)]"" S Y=$P(LPATCH,"^",2) X ^DD("DD") S $P(LPATCH,"^",2)=" "_Y
  1. Q
  1. DTFIX1 Q:'+INSDT
  1. I INSDT]"" S HL7IDT=INSDT,X=$$FMTHL7^XLFDT(HL7IDT),INSDT=X
  1. I INSDT']"" S INSDT=""
  1. Q
  1. DTFIX2 Q:'+AZDIST
  1. I AZDIST]"" S HL7IDT=AZDIST,X=$$FMTHL7^XLFDT(HL7IDT),AZDIST=X
  1. I AZDIST']"" S AZDIST=""
  1. Q
  1. DTFIX3 Q:'+LPDIST
  1. I LPDIST]"" S HL7IDT=LPDIST,X=$$FMTHL7^XLFDT(HL7IDT),LPDIST=X
  1. I LPDIST']"" S LPDIST=""
  1. Q
  1. OUT ;
  1. ;W !!,"END OF PACKAGE FILE PROFILE CHECK!"
  1. K NA,AZFM,AZVER,LPATCH,PCCF200,AZASUFAC
  1. Q
  1. PFIX S AZFMSITE="",PKRN=""
  1. ;
  1. S AZFM="",LPATCH="",LPAT=""
  1. F NA=0:0 S AZFM=$O(^DIC(9.4,"B",AZFM)) Q:AZFM="" D PGWR
  1. D OP2
  1. D OUT
  1. Q
  1. PGWR S AZVER=$$VERSION^XPDUTL(AZFM),LPATCH=$$LAST^BNPENV2(AZFM,AZVER),LPATCH=$S(LPATCH'[-1:LPATCH,1:"") D DTFIX
  1. I LPATCH="" S LPAT=""
  1. I LPATCH]"" S LPAT=$P(LPATCH,"^",1)_" / "_$P(LPATCH,"^",2)
  1. ;GRAB THE PREFIX
  1. S PKRN=$O(^DIC(9.4,"B",AZFM,"")) S:'PKRN PKRN=""
  1. S PREFIX=$P($G(^DIC(9.4,PKRN,0)),"^",2)
  1. ;
  1. S ENM(PREFIX)=AZFM_"^"_AZVER_"^"_LPAT
  1. Q
  1. OP2 ;
  1. S PFX="",AZFM1="",AZVER1="",APAT1=""
  1. F S PFX=$O(ENM(PFX)) Q:'PFX S AZFM1=$P($G(ENM(PFX)),"^",1),AZVER1=$P($G(ENM(PFX)),"^",2),APAT1=$P($G(ENM(PFX)),"^",3) D LS
  1. Q
  1. LS ;
  1. ;W !,AZFM1_"-("_PFX_")",?40,AZVER1,?50,LPAT1 I AZFM1="IHS V FILES 200 CONVERSION" D PCC2
  1. Q
  1. ;SAVE PACKAGE STATUS DATA TO A UNIX FILE
  1. XBC ;XBGL=GLOBAL NAME,XBUF=UNIX DIRECTORY,XBFN=UNIX FILE NAME
  1. ;Next line will try to send file to 92.145 with ftpsend
  1. ;
  1. ;S XBGL="AZFMENV",XBUF="161.223.92.145",XBFN="AZFMENV"_AZASUFAC_".G",XBMED="F"
  1. ;S XBUF="/usr2/ihs/emoore",XBFLT=1 ;note this line has not been tested!!!!
  1. ;S XBGL="BNPENV(",XBFN="BNPENV"_AZASUFAC_".G",XBMED="F"
  1. ;S XBS1="AZFMSITETRACK"
  1. ;S XBGL="BNPENV",XBUF="/usr2/ihs/emoore",XBFN="BNPENV"_AZASUFAC_".G",XBMED="F"
  1. ;D ^XBGSAVE
  1. D ^BNPENHT ;CALL MIKE PIKES ROUTINE
  1. Q