GMV22PST ;HOIFO/FT-POST INSTALLATION FOR GMRV*5*22 ; 10/4/07 7:54am
;;5.0;GEN. MED. REC. - VITALS;**22**;Oct 31, 2002;Build 22
;
; This routine uses the following IAs:
; #2263 - XPAR calls (supported)
; #10141 - XPDUTL calls (supported)
;
EN ; Main entry point
D XPAR,DLL,STANDING,TEMPLATE,WEBLINK
Q
XPAR ; Setup preliminary parameters. This subroutine is called during the
; KIDS installation process.
;
; Variables:
; GMV: [Private] Scratch
; GMVGUI: [Private] Current version of GUI being installed
; GMVLST: [Private] Scratch List
;
; NEW private variables
N GMV,GMVGUI,GMVLST
; Announce my intentions
D BMES^XPDUTL("Updating system parameters.")
; Set current client version
S GMVGUI="5.0.22.7"
; Deactivate all previous versions from XPAR
D GETLST^XPAR(.GMVLST,"SYS","GMV GUI VERSION")
F GMV=0:0 S GMV=$O(GMVLST(GMV)) Q:'GMV D
.D EN^XPAR("SYS","GMV GUI VERSION",$P(GMVLST(GMV),"^",1),0)
.Q
; Add and/or activate current client versions
D EN^XPAR("SYS","GMV GUI VERSION","VITALS.EXE:"_GMVGUI,1)
D EN^XPAR("SYS","GMV GUI VERSION","VITALSMANAGER.EXE:"_GMVGUI,1)
Q
STANDING ; Disassociate STANDING qualifier from WEIGHT vital type
N GMVCAT,GMVDA,GMVERR,GMVFDA,GMVIENS,GMVQUAL,GMVT
D BMES^XPDUTL("Checking STANDING qualifier...")
S GMVT=$O(^GMRD(120.51,"B","WEIGHT",0))
Q:'GMVT
S GMVQUAL=$O(^GMRD(120.52,"B","STANDING",0))
Q:'GMVQUAL
S GMVCAT=$O(^GMRD(120.53,"B","METHOD",0))
Q:'GMVCAT
I $D(^GMRD(120.52,GMVQUAL,1,"B",GMVT)) D
.S GMVDA=$O(^GMRD(120.52,GMVQUAL,1,"B",GMVT,0))
.Q:'GMVDA
.N DA,DIK
.S DA(1)=GMVQUAL,DA=GMVDA
.S DIK="^GMRD(120.52,DA(1),1,"
.D ^DIK
.Q
I $D(^GMRD(120.53,GMVCAT,1,"B",GMVT)) D
.S GMVDA=$O(^GMRD(120.53,GMVCAT,1,"B",GMVT,0))
.Q:'GMVDA
.S GMVIENS=GMVDA_","_GMVCAT_","
.S GMVFDA(120.531,GMVIENS,.07)="@"
.D FILE^DIE("","GMVFDA","GMVERR")
.;I
.Q
Q
TEMPLATE ; remove STANDING from template if used with WEIGHT and METHOD
N GMV,GMV1,GMV2,GMVCQ,GMVDESC,GMVI,GMVJ,GMVLIST,GMVMETHD,GMVNEW,GMVNODE,GMVOLD,GMVORIG,GMVSTAND,GMVWT,GMVX,GMVY
D BMES^XPDUTL("Checking input template definitions...")
S GMVWT=$O(^GMRD(120.51,"C","WT",0))
Q:'GMVWT
S GMVMETHD=$O(^GMRD(120.53,"B","METHOD",0))
Q:'GMVMETHD
S GMVSTAND=$O(^GMRD(120.52,"B","STANDING",0))
Q:'GMVSTAND
K ^TMP($J)
S GMVLIST=$NA(^TMP($J))
D ENVAL^XPAR(.GMVLIST,"GMV TEMPLATE","","",1)
Q:'$D(^TMP($J))
S GMVCQ=GMVMETHD_","_GMVSTAND
S GMV1="" ; ien;file
F S GMV1=$O(^TMP($J,GMV1)) Q:GMV1="" D
.S GMV2="" ;template name
.F S GMV2=$O(^TMP($J,GMV1,GMV2)) Q:GMV2="" D
..S (GMVNODE,GMVORIG)=$G(^TMP($J,GMV1,GMV2))
..Q:GMVNODE=""
..Q:GMVNODE'[GMVCQ ;ignore templates that don't matter
..S GMVDESC=$P(GMVNODE,"|",1) ;template description
..S GMVNODE=$P(GMVNODE,"|",2)
..K GMV ;array of vital types
..F GMVI=1:1 Q:$P(GMVNODE,";",GMVI)="" S GMV(GMVI)=$P(GMVNODE,";",GMVI)
..S GMVI=0
..F S GMVI=$O(GMV(GMVI)) Q:'GMVI D
...S GMVX=GMV(GMVI)
...Q:GMVX=""
...S GMVY=$P(GMVX,":",1,2) ;vital ien:metric indicator
...S GMVX=$P(GMVX,":",3) ;~categories,qualifiers~
...Q:GMVX=""
...S GMVNEW=""
...F GMVJ=1:1 Q:$P(GMVX,"~",GMVJ)="" D
....S GMVOLD=$P(GMVX,"~",GMVJ) ;each category & qualifier combo
....I $P(GMVY,":",1)=GMVWT,GMVOLD=GMVCQ Q
....S GMVNEW=GMVNEW_GMVOLD_"~"
...I $E(GMVNEW,$L(GMVNEW))="~" S GMVNEW=$E(GMVNEW,1,($L(GMVNEW)-1))
...S:GMVNEW]"" GMVNEW=GMVY_":"_GMVNEW
...S:GMVNEW="" GMVNEW=GMVY
...S GMV(GMVI)=GMVNEW
..S GMVI=0,GMVNODE=GMVDESC_"|"
..F S GMVI=$O(GMV(GMVI)) Q:'GMVI D
...S GMVNODE=GMVNODE_GMV(GMVI)_";"
...Q
..I $E(GMVNODE,$L(GMVNODE))=";" S GMVNODE=$E(GMVNODE,1,($L(GMVNODE)-1))
..I $E(GMVNODE,$L(GMVNODE))="|" S GMVNODE=$E(GMVNODE,1,($L(GMVNODE)-1))
..I GMVNODE=GMVORIG Q ;no change in template
..W !,GMVNODE
..W !,GMVORIG,!
..D EN^XPAR(GMV1,"GMV TEMPLATE",GMV2,GMVNODE,.GMVERR)
..Q
.Q
K ^TMP($J)
Q
WEBLINK ; Update web link used by HELP menu
; Don't change weblink if site has replaced our weblink with something
; else (i.e., their own)
N GMVNEW,GMVOLD
S GMVOLD="http://vista.domain.ext/ClinicalSpecialties/vitals/"
S GMVNEW="http://vista.domain.ext/ClinicalSpecialties/vitals/index.asp"
D RPC^GMVPAR(.GMVX,"GETPAR","SYS","GMV WEBLINK") ;get current link
I $G(^TMP($J,0))=GMVOLD D
.D EN^XPAR("SYS","GMV WEBLINK",1,GMVNEW)
.Q
Q
DLL ;
; Variables:
; GMV: [Private] Scratch
; GMVDLL: [Private] Current version of DLL being installed
; GMVLST: [Private] Scratch List
;
; New private variables
N GMV,GMVDLL,GMVLST
; Announce my intentions
D BMES^XPDUTL("Updating DLL parameter.")
; Deactivate all previous versions from XPAR
D GETLST^XPAR(.GMVLST,"SYS","GMV DLL VERSION")
F GMV=0:0 S GMV=$O(GMVLST(GMV)) Q:'GMV D
.D EN^XPAR("SYS","GMV DLL VERSION",$P(GMVLST(GMV),"^",1),0)
; Add and/or activate current client versions
S GMVDLL="GMV_VITALSVIEWENTER.DLL:v. 03/14/06 16:35" ;patch 3
D EN^XPAR("SYS","GMV DLL VERSION",GMVDLL,1)
S GMVDLL="GMV_VITALSVIEWENTER.DLL:v. 05/12/08 08:44" ;patch 22
D EN^XPAR("SYS","GMV DLL VERSION",GMVDLL,1)
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HGMV22PST 5145 printed May 14, 2023@14:23:18 Page 2
GMV22PST ;HOIFO/FT-POST INSTALLATION FOR GMRV*5*22 ; 10/4/07 7:54am
+1 ;;5.0;GEN. MED. REC. - VITALS;**22**;Oct 31, 2002;Build 22
+2 ;
+3 ; This routine uses the following IAs:
+4 ; #2263 - XPAR calls (supported)
+5 ; #10141 - XPDUTL calls (supported)
+6 ;
EN ; Main entry point
+1 DO XPAR
DO DLL
DO STANDING
DO TEMPLATE
DO WEBLINK
+2 QUIT
XPAR ; Setup preliminary parameters. This subroutine is called during the
+1 ; KIDS installation process.
+2 ;
+3 ; Variables:
+4 ; GMV: [Private] Scratch
+5 ; GMVGUI: [Private] Current version of GUI being installed
+6 ; GMVLST: [Private] Scratch List
+7 ;
+8 ; NEW private variables
+9 NEW GMV,GMVGUI,GMVLST
+10 ; Announce my intentions
+11 DO BMES^XPDUTL("Updating system parameters.")
+12 ; Set current client version
+13 SET GMVGUI="5.0.22.7"
+14 ; Deactivate all previous versions from XPAR
+15 DO GETLST^XPAR(.GMVLST,"SYS","GMV GUI VERSION")
+16 FOR GMV=0:0
SET GMV=$ORDER(GMVLST(GMV))
if 'GMV
QUIT
Begin DoDot:1
+17 DO EN^XPAR("SYS","GMV GUI VERSION",$PIECE(GMVLST(GMV),"^",1),0)
+18 QUIT
End DoDot:1
+19 ; Add and/or activate current client versions
+20 DO EN^XPAR("SYS","GMV GUI VERSION","VITALS.EXE:"_GMVGUI,1)
+21 DO EN^XPAR("SYS","GMV GUI VERSION","VITALSMANAGER.EXE:"_GMVGUI,1)
+22 QUIT
STANDING ; Disassociate STANDING qualifier from WEIGHT vital type
+1 NEW GMVCAT,GMVDA,GMVERR,GMVFDA,GMVIENS,GMVQUAL,GMVT
+2 DO BMES^XPDUTL("Checking STANDING qualifier...")
+3 SET GMVT=$ORDER(^GMRD(120.51,"B","WEIGHT",0))
+4 if 'GMVT
QUIT
+5 SET GMVQUAL=$ORDER(^GMRD(120.52,"B","STANDING",0))
+6 if 'GMVQUAL
QUIT
+7 SET GMVCAT=$ORDER(^GMRD(120.53,"B","METHOD",0))
+8 if 'GMVCAT
QUIT
+9 IF $DATA(^GMRD(120.52,GMVQUAL,1,"B",GMVT))
Begin DoDot:1
+10 SET GMVDA=$ORDER(^GMRD(120.52,GMVQUAL,1,"B",GMVT,0))
+11 if 'GMVDA
QUIT
+12 NEW DA,DIK
+13 SET DA(1)=GMVQUAL
SET DA=GMVDA
+14 SET DIK="^GMRD(120.52,DA(1),1,"
+15 DO ^DIK
+16 QUIT
End DoDot:1
+17 IF $DATA(^GMRD(120.53,GMVCAT,1,"B",GMVT))
Begin DoDot:1
+18 SET GMVDA=$ORDER(^GMRD(120.53,GMVCAT,1,"B",GMVT,0))
+19 if 'GMVDA
QUIT
+20 SET GMVIENS=GMVDA_","_GMVCAT_","
+21 SET GMVFDA(120.531,GMVIENS,.07)="@"
+22 DO FILE^DIE("","GMVFDA","GMVERR")
+23 ;I
+24 QUIT
End DoDot:1
+25 QUIT
TEMPLATE ; remove STANDING from template if used with WEIGHT and METHOD
+1 NEW GMV,GMV1,GMV2,GMVCQ,GMVDESC,GMVI,GMVJ,GMVLIST,GMVMETHD,GMVNEW,GMVNODE,GMVOLD,GMVORIG,GMVSTAND,GMVWT,GMVX,GMVY
+2 DO BMES^XPDUTL("Checking input template definitions...")
+3 SET GMVWT=$ORDER(^GMRD(120.51,"C","WT",0))
+4 if 'GMVWT
QUIT
+5 SET GMVMETHD=$ORDER(^GMRD(120.53,"B","METHOD",0))
+6 if 'GMVMETHD
QUIT
+7 SET GMVSTAND=$ORDER(^GMRD(120.52,"B","STANDING",0))
+8 if 'GMVSTAND
QUIT
+9 KILL ^TMP($JOB)
+10 SET GMVLIST=$NAME(^TMP($JOB))
+11 DO ENVAL^XPAR(.GMVLIST,"GMV TEMPLATE","","",1)
+12 if '$DATA(^TMP($JOB))
QUIT
+13 SET GMVCQ=GMVMETHD_","_GMVSTAND
+14 ; ien;file
SET GMV1=""
+15 FOR
SET GMV1=$ORDER(^TMP($JOB,GMV1))
if GMV1=""
QUIT
Begin DoDot:1
+16 ;template name
SET GMV2=""
+17 FOR
SET GMV2=$ORDER(^TMP($JOB,GMV1,GMV2))
if GMV2=""
QUIT
Begin DoDot:2
+18 SET (GMVNODE,GMVORIG)=$GET(^TMP($JOB,GMV1,GMV2))
+19 if GMVNODE=""
QUIT
+20 ;ignore templates that don't matter
if GMVNODE'[GMVCQ
QUIT
+21 ;template description
SET GMVDESC=$PIECE(GMVNODE,"|",1)
+22 SET GMVNODE=$PIECE(GMVNODE,"|",2)
+23 ;array of vital types
KILL GMV
+24 FOR GMVI=1:1
if $PIECE(GMVNODE,";",GMVI)=""
QUIT
SET GMV(GMVI)=$PIECE(GMVNODE,";",GMVI)
+25 SET GMVI=0
+26 FOR
SET GMVI=$ORDER(GMV(GMVI))
if 'GMVI
QUIT
Begin DoDot:3
+27 SET GMVX=GMV(GMVI)
+28 if GMVX=""
QUIT
+29 ;vital ien:metric indicator
SET GMVY=$PIECE(GMVX,":",1,2)
+30 ;~categories,qualifiers~
SET GMVX=$PIECE(GMVX,":",3)
+31 if GMVX=""
QUIT
+32 SET GMVNEW=""
+33 FOR GMVJ=1:1
if $PIECE(GMVX,"~",GMVJ)=""
QUIT
Begin DoDot:4
+34 ;each category & qualifier combo
SET GMVOLD=$PIECE(GMVX,"~",GMVJ)
+35 IF $PIECE(GMVY,":",1)=GMVWT
IF GMVOLD=GMVCQ
QUIT
+36 SET GMVNEW=GMVNEW_GMVOLD_"~"
End DoDot:4
+37 IF $EXTRACT(GMVNEW,$LENGTH(GMVNEW))="~"
SET GMVNEW=$EXTRACT(GMVNEW,1,($LENGTH(GMVNEW)-1))
+38 if GMVNEW]""
SET GMVNEW=GMVY_":"_GMVNEW
+39 if GMVNEW=""
SET GMVNEW=GMVY
+40 SET GMV(GMVI)=GMVNEW
End DoDot:3
+41 SET GMVI=0
SET GMVNODE=GMVDESC_"|"
+42 FOR
SET GMVI=$ORDER(GMV(GMVI))
if 'GMVI
QUIT
Begin DoDot:3
+43 SET GMVNODE=GMVNODE_GMV(GMVI)_";"
+44 QUIT
End DoDot:3
+45 IF $EXTRACT(GMVNODE,$LENGTH(GMVNODE))=";"
SET GMVNODE=$EXTRACT(GMVNODE,1,($LENGTH(GMVNODE)-1))
+46 IF $EXTRACT(GMVNODE,$LENGTH(GMVNODE))="|"
SET GMVNODE=$EXTRACT(GMVNODE,1,($LENGTH(GMVNODE)-1))
+47 ;no change in template
IF GMVNODE=GMVORIG
QUIT
+48 WRITE !,GMVNODE
+49 WRITE !,GMVORIG,!
+50 DO EN^XPAR(GMV1,"GMV TEMPLATE",GMV2,GMVNODE,.GMVERR)
+51 QUIT
End DoDot:2
+52 QUIT
End DoDot:1
+53 KILL ^TMP($JOB)
+54 QUIT
WEBLINK ; Update web link used by HELP menu
+1 ; Don't change weblink if site has replaced our weblink with something
+2 ; else (i.e., their own)
+3 NEW GMVNEW,GMVOLD
+4 SET GMVOLD="http://vista.domain.ext/ClinicalSpecialties/vitals/"
+5 SET GMVNEW="http://vista.domain.ext/ClinicalSpecialties/vitals/index.asp"
+6 ;get current link
DO RPC^GMVPAR(.GMVX,"GETPAR","SYS","GMV WEBLINK")
+7 IF $GET(^TMP($JOB,0))=GMVOLD
Begin DoDot:1
+8 DO EN^XPAR("SYS","GMV WEBLINK",1,GMVNEW)
+9 QUIT
End DoDot:1
+10 QUIT
DLL ;
+1 ; Variables:
+2 ; GMV: [Private] Scratch
+3 ; GMVDLL: [Private] Current version of DLL being installed
+4 ; GMVLST: [Private] Scratch List
+5 ;
+6 ; New private variables
+7 NEW GMV,GMVDLL,GMVLST
+8 ; Announce my intentions
+9 DO BMES^XPDUTL("Updating DLL parameter.")
+10 ; Deactivate all previous versions from XPAR
+11 DO GETLST^XPAR(.GMVLST,"SYS","GMV DLL VERSION")
+12 FOR GMV=0:0
SET GMV=$ORDER(GMVLST(GMV))
if 'GMV
QUIT
Begin DoDot:1
+13 DO EN^XPAR("SYS","GMV DLL VERSION",$PIECE(GMVLST(GMV),"^",1),0)
End DoDot:1
+14 ; Add and/or activate current client versions
+15 ;patch 3
SET GMVDLL="GMV_VITALSVIEWENTER.DLL:v. 03/14/06 16:35"
+16 DO EN^XPAR("SYS","GMV DLL VERSION",GMVDLL,1)
+17 ;patch 22
SET GMVDLL="GMV_VITALSVIEWENTER.DLL:v. 05/12/08 08:44"
+18 DO EN^XPAR("SYS","GMV DLL VERSION",GMVDLL,1)
+19 QUIT