Hi Pedro,

You can retrieve this information querying the class %Dictionary.PropertyDefinition.

An example:

FROM %Dictionary.PropertyDefinition
WHERE parent = "mypackage.MyClassName"

The field parent is fully qualified name of the class that you want to list properties name. 

HI @Freddy Baier 

You can change your query, given alias to the columns:

SELECT id,room,client->name as ClientName,functionary->name as FunctionaryName FROM rooms ORDER BY id

Then in COS you access the columns by name:

Write rs.%Get("ClientName")
Write rs.%Get("FunctionaryName")

Hi @Mark Sharman

In the Iris, the global where localized labels reside is ^IRIS.Msg("EnsColumns"):

This global is mapped from ENSLIB database that is read only, You can't set value to this Global. 

Uncheck the Mount Read-Only option, save then you can set the value of global:

I recommend that after you finish the configuration, comeback ENSLIB database to read only. 

Hi @prashanth ponugoti 

Are you using the Private Webserver? If yes this can be the issue, because InterSystems don't recommends then use of Private Webserver in production environment. Bellow a snippet of documentation:


If you expect very low volume of HTTP traffic, have limited demands for high availability and secure operation, the private web server may be suitable for your development and testing needs. However, for production use, InterSystems recommends installing your own separate copy of Apache, ideally on its own server, and configuring it to use our Web Gateway to communicate with InterSystems products. If you expect a high amount of HTTP traffic, require high availability in your web server, need to integrate with other sources of web information, or need a high degree of control over your web server, you should not use the private web server.

See the documentation:  Application Use Of InterSystems Web Server

For production environment install a Webgateway in a separate machine/container if possible.

Installing the Web Gateway


Hi @Martin Staudigel 

Create a custom client class, then override the method InvokeRequest. In the method set the property SSLCheckServerIdentity  of private property %HttpRequest to false .

Bellow a simple example:

Class User.FHIRRestClient Extends HS.FHIRServer.RestClient.HTTP

/// @API.Overridable<br>
/// InvokeRequest takes the Private %HttpRequest object - passed in as pRequest here -
/// and invokes the request. The HTTP response is stored as the HttpResponse property
/// of the HTTP request object. This method returns a reference to that property.<br>
/// @Input pRequest %Net.HttpRequest object.<br>
/// @Input pRequestMethod HTTP verb.<br>
/// @Input pPayload Input payload content, can be FHIR resource content or Patch content.<br>
/// @Input pRequestPath Request path, as derived by the invoked interaction-specific method.<br>
/// @Input pQueryString Query string, as derived by the invoked interaction-specific method.
Method InvokeRequest(pRequest As %RegisteredObject, pRequestMethod As %String, pRequestPath As %String, pQueryString As %String) As %RegisteredObject
  Set ..%HttpRequest.SSLCheckServerIdentity = 0
  Return ##Super(pRequest, pRequestMethod, pRequestPath, pQueryString)


Hi Andy.

Follows a very simple example:

Navigation Customized:

/// br.cjs.zen.TableNavigator
Class br.cjs.zen.TableNavigator Extends %ZEN.Component.tableNavigator

/// Este é o namespace XML para este componente.
Parameter NAMESPACE = "br.cjs.zen";

/// Contents of this composite component:
/// This is a set of paging buttons as well as text controls
/// to show the current page number.
XData Contents
<composite xmlns="http://www.intersystems.com/zen">
    <hgroup labelPosition="left" cellAlign="left">
        <!-- originally was a series of buttons -->
        <image id="btnFirst" onclick="zenThis.composite.gotoPage('first');" src="navigation/First.png"/>
        <image id="btnPrev"  onclick="zenThis.composite.gotoPage('prev');"  src="navigation/Previus.png"/>
        <image id="btnNext"  onclick="zenThis.composite.gotoPage('next');"  src="navigation/Next.png"/>
        <image id="btnLast"  onclick="zenThis.composite.gotoPage('last');"  src="navigation/Last.png"/>
        <!-- End -->
        <spacer width="20"/>
        <text id="pageNo" size="2" labelClass="tn-pageLabel" onchange="zenThis.composite.gotoPage(zenThis.getValue());" />
        <text id="pageCount" size="4" labelClass="tn-pageLabel" readOnly="true" />
        <spacer width="*"/>


Sample usage:

Hi Willian,

Unfortunately the most of $$$Macros are not documented. They generally are defined in INC file. When I need to find some information about a specific Marcos, I use the feature Find in Files of the IRIS/Caché/Ensemble Studio press CTRL+Shif+F: