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

BIENVCHK.m

Go to the documentation of this file.
  1. BIENVCHK ;IHS/CMI/MWR - ENVIRONMENTAL CHECK FOR KIDS; DEC 15, 2010
  1. ;;8.5;IMMUNIZATION;**16**;MAR 01,2018
  1. ;;* MICHAEL REMILLARD, DDS * CIMARRON MEDICAL INFORMATICS, FOR IHS *
  1. ;; ENVIRONMENTAL CHECK ROUTINE FOR KIDS INSTALLATION.
  1. ;; PATCH 16: Check environment for Imm v8.5 Patch 15. START+63
  1. ;;
  1. ;
  1. ;
  1. ;----------
  1. START ;EP
  1. ;
  1. I '$G(DUZ) W !,"DUZ UNDEFINED OR 0." D SORRY(2) Q
  1. ;
  1. I '$L($G(DUZ(0))) W !,"DUZ(0) UNDEFINED OR NULL." D SORRY(2) Q
  1. ;
  1. N X,Z
  1. S X=$P(^VA(200,DUZ,0),U)
  1. W !!,$$CJ^XLFSTR("Hello, "_$P(X,",",2)_" "_$P(X,","),IOM)
  1. S X="Checking Environment for "_$P($T(+2),";",4)_" v"_$P($T(+2),";",3)
  1. S Z=$P($P($T(+2),";",5),"**",2)
  1. S:Z X=X_", Patch "_Z_"."
  1. W !!,$$CJ^XLFSTR(X,IOM),!
  1. ;
  1. S XPDQUIT=0
  1. ;
  1. ;---> REQUIREMENTS
  1. ;
  1. ;---> Kernel v8.
  1. I '$$VCHK("XU","8.0",2) S XPDQUIT=2
  1. ;
  1. ;
  1. ;---> Fileman v22.
  1. I '$$VCHK("DI","22",2) S XPDQUIT=2
  1. ;
  1. ;
  1. ;I '$$VCHK("AUT","98.1",2) S XPDQUIT=2
  1. ;S X=$$LAST("IHS DICTIONARIES (POINTERS)","98.1")
  1. ;I $P(X,U,1)'=14&($P(X,U,1)'>14) D S XPDQUIT=2
  1. ;.W !,$$CJ^XLFSTR("AUT v98.1 Patch 14 NOT INSTALLED",IOM)
  1. ;
  1. ;---> XB/ZIB v3.0 patch 11.
  1. ;I '$$VCHK("XB","3.0",2) S XPDQUIT=2
  1. ;S X=$$LAST("IHS/VA UTILITIES","3.0")
  1. ;I $P(X,U)'=11&($P(X,U)'>11) D S XPDQUIT=2
  1. ;.W !,$$CJ^XLFSTR("XB/ZIB v3.0 patch 11 NOT INSTALLED",IOM)
  1. ;
  1. ;---> IHS PCC REPORTS v3.0 patch 29.
  1. ;I '$$VCHK("APCL","3.0",2) S XPDQUIT=2
  1. ;S X=$$LAST("IHS PCC REPORTS","3.0")
  1. ;I $P(X,U)'=29&($P(X,U)'>29) D S XPDQUIT=2
  1. ;.W !,$$CJ^XLFSTR("IHS PCC REPORTS v3.0 patch 29 NOT INSTALLED",IOM)
  1. ;
  1. ;---> PCC Suite v2.0 patch 2.
  1. ;I '$$VCHK("BJPC","2.0",2) S XPDQUIT=2
  1. ;S X=$$LAST("IHS PCC SUITE","2.0")
  1. ;I $P(X,U)'=2&($P(X,U)'>2) D S XPDQUIT=2
  1. ;.W !,$$CJ^XLFSTR("BJPC v2.0 Patch 2 NOT INSTALLED",IOM)
  1. ;
  1. ;
  1. ;---> IHS Clinical Reporting System v9.0 patch 1.
  1. ;I '$$VCHK("BGP","9.0",2) S XPDQUIT=2
  1. ;S X=$$LAST("IHS CLINICAL REPORTING","9.0")
  1. ;I $P(X,U)'=1&($P(X,U)'>1) D S XPDQUIT=2
  1. ;.W !,$$CJ^XLFSTR("BGP v9.0 Patch 1 NOT INSTALLED",IOM)
  1. ;
  1. ;
  1. ;********** PATCH 15, v8.5, SEP 30,2017, IHS/CMI/MWR
  1. ;
  1. ;---> Check environment for previous load of Taxonomy v5.1.
  1. ;I '$$VCHK("ATX","5.1",2) S XPDQUIT=2
  1. ;
  1. ;---> Check Patch Level of Taxonomy.
  1. ;---> Check for ATX v5.1, required patch.
  1. ;D
  1. ;.S X=$$LAST("TAXONOMY","5.1")
  1. ;.;---> Patch 20.
  1. ;.I $P(X,U)'=20&($P(X,U)'>20) D S XPDQUIT=2
  1. ;..W !,$$CJ^XLFSTR("ATX v5.1 Patch 20 NOT INSTALLED",IOM)
  1. ;.;
  1. ;.I XPDQUIT'=2 D
  1. ;..W !,$$CJ^XLFSTR("Checking for Patch 20 of ATX v5.1...Patch 20 Present",IOM)
  1. ;
  1. ;
  1. ;---> Check environment for previous load of Imm v8.5.
  1. I '$$VCHK("BI","8.5",2) S XPDQUIT=2
  1. ;
  1. ;---> Check Patch Level of Imm.
  1. ;---> Check for Imm v8.5, required patch.
  1. D
  1. .S X=$$LAST("IMMUNIZATION","8.5")
  1. .;---> Patch 15.
  1. .I $P(X,U)'=15&($P(X,U)'>15) D S XPDQUIT=2
  1. ..W !,$$CJ^XLFSTR("BI v8.5 Patch 15 NOT INSTALLED",IOM)
  1. .;
  1. .I XPDQUIT'=2 D
  1. ..W !,$$CJ^XLFSTR("Checking for Patch 15 of BI v8.5...Patch 15 Present",IOM)
  1. ;**********
  1. ;
  1. ;---> Check for multiple BI entries in the Package File.
  1. N DA,DIC
  1. S X="BI",DIC="^DIC(9.4,",DIC(0)="",D="C"
  1. D IX^DIC
  1. I Y<0,$D(^DIC(9.4,"C","BI")) D S XPDQUIT=2
  1. .W !!,$$CJ^XLFSTR("You Have More Than One Entry In The",IOM)
  1. .W !,$$CJ^XLFSTR("PACKAGE File with a ""BI"" prefix.",IOM)
  1. .W !,$$CJ^XLFSTR("One entry needs to be deleted.",IOM)
  1. .W !,$$CJ^XLFSTR("Please do this before Proceeding.",IOM),!!
  1. .Q
  1. ;
  1. ;---> Do not allow KIDS installation to be queued (at DEVICE: prompt).
  1. S XPDNOQUE=1
  1. ;---> Do not ask "DISABLE Options...etc.?" question.
  1. S XPDDIQ("XPZ1")=0
  1. ;---> Do not ask "MOVE routines to other CPUs?" question.
  1. S XPDDIQ("XPZ2")=0
  1. ;
  1. I XPDQUIT D SORRY(XPDQUIT) Q
  1. ;
  1. W !!,$$CJ^XLFSTR("ENVIRONMENT OK.",IOM)
  1. ;
  1. I '$$DIR^XBDIR("E","","","","","",1) D SORRY(2) Q
  1. Q
  1. ;
  1. SORRY(X) ;
  1. KILL DIFQ
  1. S XPDQUIT=X
  1. W:'$D(ZTQUEUED) !,$$CJ^XLFSTR("Sorry...",IOM),$$DIR^XBDIR("E","Press RETURN")
  1. Q
  1. ;
  1. VCHK(ABMPRE,ABMVER,ABMQUIT) ; Check versions needed.
  1. ;
  1. NEW ABMV
  1. S ABMV=$$VERSION^XPDUTL(ABMPRE)
  1. W !,$$CJ^XLFSTR("Need at least "_ABMPRE_" v"_ABMVER_"..."_ABMPRE_" v"_ABMV_" Present",IOM)
  1. I ABMV<ABMVER W !,$$CJ^XLFSTR("^^^^**NEEDS TO BE INSTALLED**^^^^",IOM) Q 0
  1. Q 1
  1. ;
  1. LAST(PKG,VER) ;EP - returns last patch applied for a Package, PATCH^DATE
  1. ; Patch includes Seq # if Released
  1. N PKGIEN,VERIEN,LATEST,PATCH,SUBIEN
  1. I $G(VER)="" S VER=$$VERSION^XPDUTL(PKG) Q:'VER -1
  1. S PKGIEN=$O(^DIC(9.4,"B",PKG,"")) Q:'PKGIEN -1
  1. S VERIEN=$O(^DIC(9.4,PKGIEN,22,"B",VER,"")) Q:'VERIEN -1
  1. S LATEST=-1,PATCH=-1,SUBIEN=0
  1. F S SUBIEN=$O(^DIC(9.4,PKGIEN,22,VERIEN,"PAH",SUBIEN)) Q:SUBIEN'>0 D
  1. . I $P(^DIC(9.4,PKGIEN,22,VERIEN,"PAH",SUBIEN,0),U,2)>LATEST S LATEST=$P(^(0),U,2),PATCH=$P(^(0),U)
  1. . I $P(^DIC(9.4,PKGIEN,22,VERIEN,"PAH",SUBIEN,0),U,2)=LATEST,$P(^(0),U)>PATCH S PATCH=$P(^(0),U)
  1. Q PATCH_U_LATEST