- 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 Feb 18, 2025@23:24:26 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