Hi Robert, thank you for sharing this nice recollections explaining the roots of IRIS.
Wishing you a comfortable cooling on your side of the galaxy, with occasional temp spikes to keep things interesting, I can't resist sharing a little story you may find pleasant.
I came by in 2024 with a MUMPS code base containing parts dating back to between 1985 and the early 90's. At the time, it was running on a VAX with a terminal based user interface on VT-320s. This application is a quite comprehensive hospital pharmacy logistics management and integration system.
It was ported to Caché with very few modifications in the late 90s and was still running (largely) unmodified in 2023 using IRIS 2021.1 and terminal emulators running on Windows PCs.
Solid are the roots : what an outstanding technological achievement !
The system has been developed by a team in the hospital over the years. As the last of them happily went on retirement in 2023, I was tasked by the hospital during 2023-2024 to perform corrective and evolutive maintenance on it. At the end of 2024, it was replaced by an entirely different of-the-shelf solution.
I found (and used ;-) a global browser routine "%K" in the database, here is a portion of the code - does it look familiar to you ?
0 S %GIOD=0,%RET="^%K"
s %ZV="M11" g EXE
S $ZT="ERV"
s %ZV=$ZV G EXE
ERV S %ZV="M11"
EXE S $ZT="%ER^%K"
S W="~"
1 D ^%K1 G KQ:"^"[% S %("X")="G W" D GO G 1
%ER W !,$ZE,! G 1
; -
ZN S %ZN=%N_%SS,%G=%ZN_""""")",%ZL=$L(%ZN),%DF=1
ZN1 S %G=$ZO(@%G)
S:$E(%G,1,2)="^[" %G="^"_$E(%G,$F(%G,"]"),$L(%G))
G POP:$E(%G,1,%ZL)'=%ZN
S %D=@%G
D:%CHK CHK
X %("X") Q:%Q
G ZN1
; -
IO S %QTY=2,%DEF=0 D ^%IOS G KQ:'$D(%IOD) S $ZT="TRAP^%K",%GIOD=%IOD K %DTY,%IOD D 1 S $ZT="" Q
; -
CHK I %D?.E1C.E F %I=0:1:31,127 I %D[$C(%I) G REMOV
Q
REMOV U 0 W !,%G," = ",%D,!?5,"Control character ",%I," in position ",$F(%D,$C(%I))-1
S %D="Control characters in data, data not transferred" W !?5,%D Q
GO S:'$D(TERM) TERM=0 S %Q=0 U:'TERM %GIOD F %GP=1:1 Q:'$D(%(0,%GP)) D GP Q:%Q
U:'TERM 0 Q
...- Log in to post comments

.png)