Thank you, so this is clearer, and it is happening much earlier than I was thinking. You are not trying to connect via xDBC to your FHIR SQL Builder projected tables, but rather just trying to create the first Analysis step.

This error "shouldn't happen", and I recommend you turn to our Cloud Support.

What you could attempt doing before, is opening the browser debugger and see (perhaps under Network and the related HTTP requests you see) if you see some "interesting" error that could shed some light on what is happening.

Perhaps you can provide more details as to what you are trying to do exactly and the way the error manifests itself.

For example you say "in cloud" do you mean via the FHIR Server cloud SaaS service?
If so you have to enable External Connections and setup External Rules. See from the Docs here.

Then under the overview page you should be able to see xDBC Details for connecting. See also here.

There is an article by @Iryna Mykhailova about connecting via xDBC to the IRIS Cloud SQL service, which should be very similar/identical.

Per the above a connection refused error might have to do with the TLS setup required for this connection (which the article above does not cover currently, but the service xDBC details in the Overview page does provide detailed instructions for).

Hi Yehuda,

To answer your first question you would probably either use TLS or Kerberos between the Web Gateway and IRIS.

But more to the point, from your second question what you seem to be desiring to accomplish is not securing/encrypting the communication between the Web Server (Web Gateway) and IRIS, but rather between the client (the browser for example) and the Web Server. For this you would define your Web Server (either IIS, apache or nginx for example) to accept TLS-based (HTTPS) connections/traffic.

This configuration is done on the Web Server side, not on the InterSystems IRIS, or InterSystems Web Gateway side. And you can consult the relevant Web Server documentation to do that.

You will also need relevant certificate/s.

For your convenience here are some sample relevant 3rd party documentation references - 

If you use containers, Kubernetes and our Operator (IKO) all of this can be auto-configured by some simple definitions (see for example here).

(Note if you still want to also secure/encrypt the Web Gateway to IRIS communication you can of course do that as well, per the Docs you already looked at)

I believe you have stumbled across a known issue - that if you call the method you mentioned above HS.FHIRServer.Installer:InstallNamespace() in a container, more than once, the FHIR Config UI app breaks (due to the folder location you mentioned above).

This was fixed since version 2023.2 (I see you are using 2023.1).

If you want to upgrade to 2023.2/3 you will have the fix. (just note the differences between CD (Continuous Delivery) releases and EM (Extended Maintenance) ones (like 2023.2/3); see this article for more details).

If you can't upgrade now I suggest you turn to your local InterSystems account team (@Anssi Kauppi / 
​​@Janne Korhonen) and/or InterSystems WRC (you can reference the internal fix IF-4531).

Hi Yakov,

You can see from the Docs here, for example re the Property ConnectAttrs (or later ConnectionAttributes):

ConnectAttrs

...

An optional set of SQL connection attribute options. For ODBC, they have the form:

attr:val,attr:val

For example, AutoCommit:1.

...

Set this property in the OnInit() method of your business operation or business service to specify the options to use at connection time.

For calling SetConnectAttr() see these Docs, for example:

If the connection has already been established, call the SetConnectAttr() method of the adapter. This method takes two arguments (the attribute name and the desired value) and returns a status. For example:
 Set tout= ..Adapter.SetConnectAttr("querytimeout",10)

As to the name of the attribute and the appropriate value you should consult the SQL Server documentation (for example this, but this will be up to you to verify).

If you need more assistance than this please get in touch and we can work on this together.

Hi Dmitrii,

Thanks for this question.

Programmatically you can use the method Security.Applications:Modify() (from within the %SYS namespace).

Here's an example:

 set props("RedirectEmptyPath")=1

 set status = ##class(Security.Applications).Modify("/myapp/name",.props)

This article by @David Hockenbroch covers this Security Applications API (including reference to this setting) in general.

Maybe the problem with IIS has to do with Web Socket support.

See for example from the Docs here:

This extension uses WebSockets to communicate with the InterSystems server during debugging. If you are experiencing issues when trying to start a debugging session, check that the InterSystems server’s web server allows WebSocket connections.

 For example from the Windows Features -

See also IIS Docs.

If this is not the issue let us know if you are getting any error on the VS Code side and/or if you can turn on some logging on the Web Gateway or Server side.

Until 2023.3 is GA, and you can upgrade to it, see also this related Global Summit 2023 session recording:

https://www.intersystems.com/performing-advanced-fhir-validation-intersy...

[Not sure I fully trust the presenter though 😉]

And the related Open Exchange app (and GitHub repo):

https://openexchange.intersystems.com/package/fhir-profile-validation