Hello Rob,

Which part of this are you having trouble with? If the files are local you can set up a file service and point it to your SFTP operations. There are built-in HL7 classes that you can use for this (in HealthShare Unified Care Record, Health Connect, and IRIS for Health).

For picking files up hourly, here are some possibilities. 

https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=ECONFIG_reusable#ECONFIG_settings_sched_strings_limits

"You can configure your business service to use an inbound adapter with the implemented OnTask() method where you call the business service. InterSystems IRIS provides classes for many types of inbound adapters. See the Ens.InboundAdapterOpens in a new window entry in the Class Reference and the books in the Application Development: Using Adapters and Gateways in Productions set for details.

If you do not want to use an adapter, you can call the business service programmatically and schedule it to run using the System Operations > Task Manager page in the Management Portal. This gives you finer control in situations such as the system being down at 1:00 a.m.

The recommended approach is to configure the business service with Pool Size = 0 and then use the Task Manager to launch a task that calls CreateBusinessService() on it and invokes ProcessInput() on the resulting service instance object. The advantage of calling a business service this way is that you call it at the time you want and it runs only once. If InterSystems IRIS happens to be down at that time, your task can register an error."

Nigel,

Julian is correct about freeze and thaw. Here is another great article that I would suggest as a reference covering the topic of external backups:

https://community.intersystems.com/post/intersystems-data-platforms-and-performance-%E2%80%93-vm-backups-and-cach%C3%A9-freezethaw-scripts

edit: External Backup docs are linked here. Using external backup is a best practice.

Hello Rahul - I didn't see your new post yet but this message is pretty clear. The problem is at the OS level in resolving the hostname, scsps2391082001. If you replace the hostname in your URL with the actual IP of your server, it should work fine. If you want the hostname to work, I'd work with your OS/networking team to set that up.

To elaborate a bit more on this and add to the other comments - when you restarted Caché the contents of cachetemp are cleared out, so you won't be able to find out what was in there anymore. It would have been good to investigate prior to restarting, but now there's no direct record of what was in the database, unless you can determine indirectly what was happening on the DR to cause this.

Though the database is empty on startup, the database size on the OS level won't have changed. Cachetemp doesn't automatically truncate because once it expands to a certain size, it doesn't know if it will need to expand to that size again. To enforce what you think the appropriate size for cachetemp would be based on your environment, as Dmitry says, you can delete it to have it be recreated and reexpanded as necessary.

There is also a cpf parameter that limits cachetemp size at startup, MaxCacheTempSizeAtStart:

https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=RCPF_MaxCacheTempSizeAtStart

Hello Mike,

I don't have a sample for scripting it, but if you haven't seen it already, the IRIS server migration guide contains a list of items and methods for exporting them. I think it's a good reference for keeping in mind the things you might want to bring over.

https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=AMIG

Also, I might agree with Armin that doing a multi-stage upgrade could be easier - perhaps you've already identified a reason why it won't work for you though.

Hello Dustin,

You could try SFTP debugging in terminal (I also linked this in your other post):

https://community.intersystems.com/post/using-and-debugging-netsshsession-ssh-connections

I kind of suspect this may be a permissions issue on the target system; since you're placing the file, it shouldn't need to exist before it gets "Put". It is a bit weird that the file extension is written twice but I don't think that is a problem; can you see anywhere in your configuration (file path / name) that may be triggering that?

Hello Dustin,

There are a few things you can try to find out more about this.

1. Making an SFTP connection in terminal so you add additional debugging - https://community.intersystems.com/post/using-and-debugging-netsshsession-ssh-connections

2. Trying a different SFTP client - this will help identify if there's a problem connecting between the servers (network / firewall change, for example). If no SFTP client works, then you likely want to involve your network team / the downstream's network team (or potentially security team, different orgs might label the relevant party differently).

3. If the SFTP connection was working earlier, but nothing was changed in Ensemble, then it seems pretty apparent that something changed outside of Ensemble. You could see when the problem started and ask around internally / externally to see what might have changed.

Hello Nikhil,

What problem are you trying to solve or what exactly are you trying to do? See the below docs:

"The maximum length of a subscript is 511 encoded bytes (the corresponding number of characters depends on the characters in the subscript and the current locale)"

https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GCOS_variables#GCOS_variables_subscripts

Maximum Length of a Global Reference

You can use $length to get the length of a string, but depending on what you want to do, that may determine how you can get the value of the subscript.

https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=RSQL_d_length

Jen,

Perhaps more details would be helpful, and you may want to reach out to the WRC or your InterSystems rep to discuss. My thought is that this might be a matter of setting up the server-side to require TLS (as covered by the documentation linked in the article).

"System-wide Security Parameters page (System Administration > Security > System Security > System-wide Security Parameters) > Superserver SSL/TLS Support"

I was asking if it was a BPL or a router, mainly. Looks like a BPL. I think it would definitely take some looking at the code to figure out where the connection's coming from. I think if you looked at the class in Studio you could probably try to find in files to see where the reference is, might be easier than looking through the BPL in the portal.

Hello Wenjie,

^oddPROC is an internal global with metadata for your BAIYAOJIREQUEST class (I think in your custom Ensemble.Ens package, not sure exactly how the characters translate). I think for this issue you may want to reach out to InterSystems support so they can look into what may have happened to "corrupt" that global and look into solutions. Do you have any ideas of whether something unusual might have happened to that class?