(sitting here amazed that someone was kind enough to build in VMS support for the open source product - I have found that is VERY rare)

Thank you very much Dmitry for this additional information.  I will discuss options with our internal infrastructure teams to see what the process is for installing the VMS libraries for ImageMagick.  It would be really cool to have those types of image handling libraries for VMS.

Thanks again - You Rock!

Hi Jorge,  Thank you for the response/suggestion.  While the ZEN Report would be an option, our lab application interfaces with a reporting system that generates the report.  Our lab application provides all the report data (including images) to the reporting system.  Since the report has limited real estate for where/how the images are displayed, I was looking for a way to resize the raw images from our lab application image repository when sending the report data and images to the reporting system.   Thanks again for the feedback. 

Hi Dmitry,  Thank you for the quick response/suggestion.  I checked out the imagemagick web site and it appears that the software is primarily used on Windows and has some Linux distributions.  The challenge for me is that my company is using Cache with the VMS 8.4 operating system, so when the user (running Win7/Win10 PC) saves the image files to the image directory, the file is actually being saved to an underlying VMS operating system directory.  And our web application is running on Cache which is installed on VMS (the users interact with the web application via a web browser).   So I am not sure if that software would work.  Do you know if there are any image resize capabilities built into Cache?

So to make sure I understand, what would the global structure look like if the [NoExtent] keyword is added?

I am guessing since the Person class is abstract - that the data would be stored in 

^USA.President - contains records for presidents

^USA.Senator - contains records for senators

^USA.Representative - contains records for representatives

But what happens if someone forgets to add [NoExtent] to the USA.Person class?

Then would the data be stored as




And if the [NoExtent] keyword is omitted, then would bitmap indexes need to be added for president, senator, and representative, since I am guessing the data would be stored within ^USA.Person?    Another question:  If the number of people in one of these sub-grouping would exceed 10,000, then would a bitmap index still be used?  Or should another type of index be used?

Also, you could use a simple javascript method to retrieve the value for a specified request parameter from a URL.  Hope this helps and Happy Coding!!!


ClientMethod getRequestParameter(sParameterName) [ Language = javascript ]
    var sRegexPattern='[\\?&]'+sParameterName+'=([^&#]*)';
    var oRegex=new RegExp(sRegexPattern);
    var aParms = oRegex.exec(window.location.href);
    if (aParms == null) {
        return "";
    } else {
        return aParms[1];

You can use the example method (parseURLquery) that Sergei posted to get at the query (request params) information.  You might also consider applying the $zconvert code that Tomas recommended as a good practice to account for any possible encoding and or use of different character sets.   Also, Fabian was kind enough to post a link to InterSystems documentation that discusses the built-in (%Net.URLParser) Parse method - which would be useful/helpful, as well.


General question:  Is this available for all versions of Cache?  Or just from 2016.1 and beyond?