Health Connect Cloud clients use System Default Settings. SDS serve two purposes:

  1. Providing environment-specific settings (i.e. Port).
  2. Providing settings common to several BHs using wildcards (i.e. Connect Timeout).

They can be easily integrated into CICD processes. Starting from 2024.1 SDS can also control enabled/disabled state of individual BHs.

%Close is called automatically. Consider the following example:

Class Utils.GC Extends %RegisteredObject
{

Property Type As %String;

/// do ##class(Utils.GC).Test()
ClassMethod Test()
{
	set obj = ..%New("explicit")
	kill obj
	
	do ..Implicit()
}

ClassMethod Implicit()
{
	set obj = ..%New("implicit")
	// obj will be removed from memory after we exit current method/frame.
}

Method %OnClose() As %Status [ Private, ServerOnly = 1 ]
{
	Write "%Close is running: ", ..Type,!
	Quit $$$OK
}

Method %OnNew(type) As %Status [ Private, ServerOnly = 1 ]
{
	Set ..Type = type
	Quit $$$OK
}

}

Here's the output from the Test method:

HCC>do ##class(Utils.GC).Test()
%Close is running: explicit
%Close is running: implicit

Are you on Linux? Use JDBC. ODBC Snowflake driver is incompatible with IRIS because it uses a backtrace() syscal which causes signal 11 in IRIS process if the process is running in a background.

Snowflake ODBC driver uses backtrace to determine Driver Manager on Linux, so currently it does not work on Linux at all with IRIS.