Hello Rick,

You might need to explain more about your criteria. The Business Service should be checking if filename and time modified match to determine if the file is the same. You may be able to just change the timestamp when you want to recheck.

Alternatively, you may be able to code some logic to have the files be moved to an archive path and then brought back over into the file path when you want to retry.

Settings for the File Inbound Adapter

There might be a way to modify the "already processed" status of a file, but I'm not sure if that's a great idea and you may want to discuss it with your InterSystems representative.

Hello Sachin,

Can you provide the version of your product from the about page in the management portal or "w $zv" from the terminal? This behavior varies across versions so you can probably find more information in the relevant version of our documentation.

Also, please be clear about whether you are referring to namespaces or databases.

This documentation may be what you are referring to:

Where Ensemble Stores Temporary Data


First of all I wonder what version of Caché you are using as ^MSU has been replaced by ^DATABASE for a long time.

That being said, I can't imagine there being any problems with interrupting using ctrl+c. In fact, as you didn't get an <INTERRUPT> error it seems likely that ^MSU/^DATABASE has accounted for a user trying to ctrl+c out and so just returns you to the previous menu.

Hello Daniel,

As Kenneth mentioned, outside of shadowing/mirroring journaling could still be very important depending on your usage.


For example, journals are needed in a disaster recovery scenario in order to bring your instance more up to date than the time of the backup itself. If you are not journaling and restore a backup your data will be current as of the time the backup was taken. Replaying journals would be necessary to proceed beyond that. You would only need the journals created after the time of the backup.

Also note that I would recommend testing your backup restore procedure and regularly taking integrity checks to confirm the validity of your backups. I would go so far as to say a backup that has not passed an integrity check is not a valid backup.


I didn't do a deep dive but presumably the HL7 message is being opened as an object and therefore automatically taking out a shared lock in order to read it.

If you really don't care about locking or concurrency protection, I imagine it wouldn't be that difficult to custom code something to do what you want, though you'd probably want to test:


Hello Jeffrey,

You're absolutely right that normal read only databases and mirrored databases operate differently. It is not possible to take out locks for a mirrored database on a backup failover member as locks would prevent the member from taking over as primary.

If you have a DR async and take out a lock on a mirrored database, then when you try to promote to failover member you'll see a message like this:

Unfortunately, that means I don't have a workaround for you unless you have a DR where you can dump the messages instead.

Thanks to @Pete Greskoff who I talked to about this behavior.

Hello Sergey,

Can you confirm if you are getting that kit from the Download Caché button in the sidebar here in the Developer Community? If so, then that alleviates my primary concern that it might actually be a threat.

Beyond that, the question would be one of setting up an anti-virus exclusion or disabling it briefly. This is something you might need to do for any software kit that is improperly flagged by your antivirus, which is not really a question of InterSystems technology but of whatever antivirus you are using.

Further down the line you may want to add some additional exclusions so Caché can operate properly per this documentation:



You need to be on HealthShare core 15.03 or later to take advantage of the in-place conversion for HealthShare Health Connect. I believe HealthShare Health Connect built with Caché 2015.2.2 is not a new enough HealthShare core version.

Outside of that, it may be possible to manually convert to InterSystems IRIS but I presume that would be more effort than going through two supported upgrades.

Hello Scott,

I'm not sure of the full background and context of your upgrade process so I would definitely recommend running this by your sales team, who might refer you to the WRC.

A normal Caché based HealthShare to Caché based HealthShare upgrade won't affect your user databases so why do you need to restore backups at all? What kind of databases are you concerned about? Through your upgrade process won't the databases be preserved and converted as necessary? You can then compile after the conversion.

Have you reviewed the IRIS adoption document available on the WRC distributions page, and have you received a copy of the Health Connect conversion guide from the WRC or your sales team?

Hello Reinhard,

Using Sample.Person I just did a quick test and switching the order of the where clauses did not effect either performance or the query plan.

Some people design or generate very complex SQL queries so I'm not certain if this holds true in all cases (though I agree I would expect it to - if not it may be worth reporting to InterSystems!). If you are interested in comparing performance and query plans this is pretty easy to do from the System Explorer > SQL page in the system management portal.

Hope that helps!

For posterity:

On a minimal security install unauthenticated access is the only authentication method enabled for most services. We document the risk of modifying roles for UnknownUser (used for unauthenticated access) and cover some other security considerations here:


If you end up in a situation where your security settings no longer allow you to access Caché, you can use emergency startup mode as documented to log into Caché and fix your settings:


Much appreciation to my colleague Jon who walked through these steps with Joshua.

Hello Zdeněk,

The answer to your question probably depends on the specifics of what you are trying to do and what your constraints are. Is there any consideration to combining the two installer manifests into one? In your previous post you mention an unattended install, so I assume this is related to the .cmd file you are attempting to create. I wasn't aware that an unattended install could run multiple manifests; is that possible or are you running the second manifest manually?

You could use conditional <If> tags in the installation manifest if you wanted to perform some verification. You could use <Invoke> to run whatever method you want to confirm that your first manifest was carried out. For example, you could write and import a simple method that leverages $SYSTEM.OBJ.GetClassList to check that your classes exist. If your method isn't able to run that would also be evidence that the first manifest did not succeed.


%SYS.Namespace.Exists would confirm whether a namespace exists.


Alternatively, you could use the <Log> functionality of the installer manifest and then read the log.

Hope that gives you some ideas! I did see that Dan Kutac replied to one of your other posts - it seems like he is working with you on your manifest so I think he would be able to help you with this.