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

VAQPST30.m

Go to the documentation of this file.
  1. VAQPST30 ;JRP/ALB - INSTALL EXPORTED ROUTINES;24-AUG-93
  1. ;;1.5;PATIENT DATA EXCHANGE;**1**;NOV 17, 1993
  1. EXPORT ;MAIN ENTRY POINT
  1. ;INPUT : None
  1. ;OUTPUT : None
  1. ;NOTES : The following routines will be installed
  1. ; GMTSPDX - Extracts Health Summary components
  1. ; IBAPDX -+
  1. ; IBAPDX0 |- Extract/Display Integrated Billing info
  1. ; IBAPDX1 -+
  1. ;
  1. ;DECLARE VARIABLES
  1. N OFFSET,EXPORT,INSTALL,VERSION,PATCHES,TEXT,EXIST,TMP
  1. N INSVER,INSPAT,INSLN2,SPOT
  1. W !!!,?2,">>> Exported routines will now be loaded",!
  1. ;LOOP THROUGH EXPORTED ROUTINES
  1. F OFFSET=1:1 S TEXT=$T(RTN+OFFSET) S TEXT=$P(TEXT,";;",2,$L(TEXT,";;")) Q:(TEXT="") D
  1. .S EXPORT=$P(TEXT,";",1)
  1. .S INSTALL=$P(TEXT,";",2)
  1. .S VERSION=$P(TEXT,";",3)
  1. .S PATCHES=$P(TEXT,";",4)
  1. .Q:((EXPORT="")!(INSTALL=""))
  1. .;MAKE SURE EXPORTED ROUTINE EXISTS
  1. .I ('$$EXIST^VAQPST31(EXPORT)) D Q
  1. ..W !,?5,$C(7),"** Exported routine ",EXPORT," does not exist"
  1. .;CHECK FOR EXISTANCE OF NEW ROUTINE
  1. .S EXIST=$$EXIST^VAQPST31(INSTALL)
  1. .;NEW ROUTINE DOES NOT EXIST
  1. .I ('EXIST) D Q
  1. ..W !,?5,"Copying routine ",EXPORT," into ",INSTALL
  1. ..S TMP=$$COPY^VAQPST31(EXPORT,INSTALL,3)
  1. ..W ?50,$S('TMP:"Done",1:$C(7)_"** Error")
  1. .;GET LINE 2 OF EXISTING ROUTINE
  1. .S INSLN2=$$SECOND^VAQPST31(INSTALL,1)
  1. .;DETERMINE VERSION OF EXISTING ROUTINE (STRIP LEADING/LEADING ALPHAS)
  1. .S INSVER=$P(INSLN2,";",1)
  1. .S INSVER=$TR(INSVER," ","")
  1. .F SPOT=1:1:$L(INSVER) S TMP=$E(INSVER,SPOT) Q:((TMP?1N)!(TMP=""))
  1. .S INSVER=+$E(INSVER,SPOT,$L(INSVER))
  1. .S:((INSVER'?1.N1"."1.N)&(INSVER'?1.N)&(INSVER'?1"."1.N)) INSVER=""
  1. .I (INSVER="") D Q
  1. ..W !,?5,$C(7),"** Could not determine if ",INSTALL," should be overwritten with ",EXPORT
  1. .;CHECK EXISTING VERSION AGAINST EXPORTED VERSION
  1. .I (INSVER>VERSION) D Q
  1. ..W !,?5,"Copying of ",EXPORT," into ",INSTALL," not required"
  1. .I (INSVER<VERSION) D Q
  1. ..W !,?5,"Copying routine ",EXPORT," into ",INSTALL
  1. ..S TMP=$$COPY^VAQPST31(EXPORT,INSTALL,3)
  1. ..W ?50,$S('TMP:"Done",1:$C(7)_"** Error")
  1. .;DETERMINE PATCHES APPLIED TO EXISTING ROUTINE (STRIP SPACES AND STARS)
  1. .S INSPAT=$P(INSLN2,";",3)
  1. .S INSPAT=$TR(INSPAT,"*","")
  1. .S INSPAT=$TR(INSPAT," ","")
  1. .;CHECK FOR PATCH INSTALLATIONS
  1. .S EXIST=0
  1. .I ((INSPAT'="")&(PATCHES'="")) D
  1. ..S PATCHES=","_PATCHES_","
  1. ..F SPOT=1:1:$L(INSPAT,",") D Q:(EXIST)
  1. ...S TMP=$P(INSPAT,",",SPOT)
  1. ...Q:(TMP="")
  1. ...S TMP=","_TMP_","
  1. ...S:(PATCHES[TMP) EXIST=1
  1. ..S PATCHES=$P(PATCHES,",",2,($L(PATCHES,",")-1))
  1. .S:((INSPAT="")&(PATCHES="")) EXIST=1
  1. .I (EXIST) D Q
  1. ..W !,?5,"Copying of ",EXPORT," into ",INSTALL," not required"
  1. .W !,?5,"Copying routine ",EXPORT," into ",INSTALL
  1. .S TMP=$$COPY^VAQPST31(EXPORT,INSTALL,3)
  1. .W ?50,$S('TMP:"Done",1:$C(7)_"** Error")
  1. W !!,?2,"Done",!!!
  1. Q
  1. ;
  1. RTN ;ROUTINES TO INSTALL
  1. ;;VAQPSE01;GMTSPDX;2.5;8
  1. ;;VAQPSE02;IBAPDX;1.5;15
  1. ;;VAQPSE03;IBAPDX0;1.5;15
  1. ;;VAQPSE04;IBAPDX1;1.5;15
  1. ;;
  1. ;;
  1. ;FORMAT OF TEXT LINES
  1. ; ;;EXPORT;INSTALL;VERSION;PATCHES
  1. ;
  1. ; EXPORT - Routine name exported as (ex: VAQGMTS)
  1. ; INSTALL - Routine name to install as (ex: GMTSPDX)
  1. ; VERSION - Version number of exported routine (ex: 1.5)
  1. ; PATCHES - List of patches that may have been applied
  1. ; (ex: 1,2,3) (ex: 1)
  1. ;
  1. ; Routine is installed if one of the following conditions is TRUE
  1. ; 1) The routine INSTALL does not exist
  1. ; 2) The routine INSTALL exists and
  1. ; a) VERSION is greater or equal to version of existing routine
  1. ; b) Patches to INSTALL do not include entries in PATCHES
  1. ;