BACKGROUND
The ZTMGRSET routine, which is the starting place for configuring a VistA instance, has only limited support for GT.M on OpenVMS.
R^ZTMGRSET is the routine which parses GTM$ROUTINES (the OpenVMS equivalent of $gtmroutines on Linux).
Under Linux, you can specify gtmroutines=/object/directory(/routines/directory), which tells GT.M to source routines from /routines/directory and place their .o files in /object/directory.
Under OpenVMS, the same result can be achieved by setting GTM$ROUTINES to DEV:[OBJECT.DIRECTORY]/SRC=DEV:[ROUTINES.DIRECTORY].
However, R^ZTMGRSET is, by default, ignorant of the /SRC qualifier, as shown below: (GT.M on VMS is the platform when ZTOS=7)
Code:
R() ; routine directory for GT.M
;Q d(1) ;WVEHR/SO Commented out
I ZTOS=7 Q $P($ZRO,",")
I ZTOS=8 Q $P($S($ZRO["(":$P($P($ZRO,"(",2),")"),1:$ZRO)," ")_"/"
E Q ""
;
The offending line is:
Code:
I ZTOS=7 Q $P($ZRO,",")
I have modified it as follows:
Code:
R() ; routine directory for GT.M
;Q d(1) ;WVEHR/SO Commented out
N RTNS
N RTNOUT
I ZTOS=7 D
.S RTNS=$P($ZRO,",")
.I $L(RTNS,"/SRC=")>1 S RTNOUT=$P(RTNS,"/SRC=",2)
I ZTOS=7 Q RTNOUT
I ZTOS=8 Q $P($S($ZRO["(":$P($P($ZRO,"(",2),")"),1:$ZRO)," ")_"/"
E Q ""
This allows ZTMGRSET to successfully rename the platform-specific routines, as shown below:
Code:
ZTMGRSET Version 8.0 Patch level **34,36,69,94,121,127,136,191,275,355**
HELLO! I exist to assist you in correctly initializing the current account.
This is namespace or uci EHR,EHR.
Should I continue? N//Y
I think you are using GT.M (VMS)
Which MUMPS system should I install?
1 = VAX DSM(V6), VAX DSM(V7)
2 = MSM-PC/PLUS, MSM for NT or UNIX
3 = Cache (VMS, NT, Linux), OpenM-NT
4 = Datatree, DTM-PC, DT-MAX
5 =
6 =
7 = GT.M (VMS)
8 = GT.M (Unix)
System: 7// 7
I will now rename a group of routines specific to your operating system.
Routine: ZOSVGTM Loaded, Saved as %ZOSV
Routine:
Routine: ZIS4GTM Loaded, Saved as %ZIS4
Routine: ZISFGTM Loaded, Saved as %ZISF
Routine: ZISHGTM Loaded, Saved as %ZISH
Routine: XUCIGTM Loaded, Saved as %XUCI
Routine: ZISETGTM Missing
Routine: ZOSV2GTM Loaded, Saved as %ZOSV2
Routine: ZISTCPS Loaded, Saved as %ZISTCPS
Routine: ZTMDCL Loaded, Saved as ZTMDCL
Any feedback/critiques/reviews are appreciated!