The first two systems I worked with using InterSystems technology were a PDP-11 running M11+ and a VAX 11/750 running M/VX. Too many years ago to count! 😊
Since then I've used most, if not all, InterSystems products up to IRIS and HealShare today.
I'm italian living in Switzerland and I work as Senior Consultant at GAIVOTA consultin SA, we provide professional services for InterSystems and other technologies.
Curiosity: apart from DC, I don't have ANY social account! 😁
Using the Curly Braces a parameter is evaluated at compile time:
Parameter VALUELIST = {..GetValueList()};
You need to evaluate it at run time, in that case use COSEXPRESSION:
Parameter VALUELIST As COSEXPRESSION = "..GetValueList()";
The the relevant documentation is:
I just realized that with IRIS for Health (and I maybe also HelthShare connect) ZAUTHENTICATE is mapped to HSLIB and you should use/modify HS.Local.ZAUTHENTICATE class in HSCUSTOM namespace.
Parameter runtime computation works fine, you can test it from terminal:
w ##class(ECUH.BPL.ClassMethods.X509CredentialAlias).#VALUELIST
Long story short, you cannot use runtime computed VALUELIST in this context.
I suggest using the proper, officially documented way to implement your requirement, see my first answer above.