Things might be on the same network, but on virtual machines spread across different data centers / physical servers, so definitely some level of HA for sure if you have more than one instance. You got to take and work with what's available. If in future, that client has network separation also available then you can increase your level of HA, but not having HA isn't right.

Probably you can have your document limit listed in a lookup table to begin with, lets say Limit = 100 to begin with.

Then within your business process, add an if-else section, where the test condition is to evaluate current time against the XXXX and YYYY times you have in mind. If the current time is within your XXXX and YYYY, plus the limit is > 0 from the lookup table, you send the document and decrease the lookup table value by 1. 

On the else condition, you just send the document without checking the limit value from the table, but update the lookup table again to your limit (100).

The key here is accessing and updating the lookup table value from within your business process.

Hope this makes sense.

You can create a custom schema based on the current schema you have listed in your business service that reads the file.

Once you have the custom schema, if its a specific ADT message you need the NTE segment on, then can create that message type from the base schema and edit the Doc Type Structure by putting ~[NTE] at the end of the raw structure.

You need to configure an incoming webhook on the MS Team Channel and then post your alert to that endpoint from your production. Probably would have to do transformations between Ens.Alert to the JSON structure MS Team requires.

https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-c...

https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-c...

Hi Scott,

So rather than having one centralised location for webserver and web gateway, which could become your single point of failure, you install the webserver and web gateway alongside Healthconnect on the actual instances.

And when you configure the individual web gateway, for telling it which instance of HealthConnect it needs to connect, just specify it as localhost and your superserver port on that instance.

https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls...

https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls...

https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls...

When you give the server access parameters, enter IP Address as localhost (127.0.0.1) and port as your superserver port of the instance and do not check "Configuration is Mirror Aware".

Regards,

Deepak

Hi Scott,

We are using IIS as our web server, the configuration is like this:-

The mirrored instances are separate VMs, and in each VM we have IIS + web gateway installed (except the arbiter).

Each web gateway is configured to talk to the local Health Connect instance, irrespective of it being primary, secondary or DR at any time.

So, when have to access the primary, we go via the VIP URL -> the request lands on the IIS for the primary instance and that is passed on to the local Health Connect instance.

This way we can connect to the management portal of each instance, irrespective of its state and we know if we are going via the VIP URL it will always land us on the primary instance.

On the certificate side, one cert with CN as the VIP is loaded on the instances and the SANs are the instance names / IPs.

Regards,

Deepak

When you are connecting through Postman or terminal, it establishes the chain of trust using the public CAs stored in trusted certificate store on your machine, or the application.

In IRIS you have to give the entire chain and not just the root certificate, if there is an Intermediate CA which is signing either your client or the server's cert, you can extract the entire chain using your browser as well or through openssl too.

IRIS works as a SFTP client:-

1) For doing GET (Business Service)  with EnsLib.FTP.InboundAdapter

2) For doing PUT (Business Operation) with EnsLib.FTP.OutboundAdapter

Option 1

If the external organisation has a SFTP server, then you can poll a directory on the SFTP server using the Business Service.

Option 2

If the external organisation doesn't have a SFTP server, then probably you can set up your own and they can then drop their files to your server and from there you can read it using a business service with file inbound adapter

Hi Warren,

We also have a similar situation, this not limited to FTP adapter, it is there on Email and SQL adapter as well, where you don't get an option on the config to choose the local interface (VIP in this).

I think the short term solution we have been suggested from Intersystems is to allow both your mirror member IP addresses through the firewall, yet to test it though how it will play out with NAT.

Probably, Intersystems will come up with a solution maybe in next couple of months to support this configuration of local interface natively on the adapter classes.

Thanks,

Deepak Ghansala

I think IRIS uses Apache httpd as its webserver, so probably go through this first.

https://community.intersystems.com/post/apache-httpd-web-server-configur...

And this link to figure out how to enable https on a certain port in httpd

https://www.ibm.com/docs/en/aspera-on-demand/3.9?topic=appendix-enable-s...

Probably should also think around performance and scalability of httpd and raise a call with WRC for their opinion on this.

Regards,

Deepak Ghansala