Hello Michel,

Ens.Config.Item has a Category property. Is that what you are looking for?

sample:

TEST>s item=##class(Ens.Config.Item).%OpenId(244)                            

TEST>zw item
item=4@Ens.Config.Item  ; <OREF>
+----------------- general information ---------------
|      oref value: 4
|      class name: Ens.Config.Item
|           %%OID: $lb("244","Ens.Config.Item")
| reference count: 2
+----------------- attribute values ------------------
|       %Concurrency = 1  <Set>
|        AlertGroups = ""  <Get>
|           Category = "test.cat"
|          ClassName = "Ens.Enterprise.MsgBankOperation"  <Set>
|            Comment = ""
|  DisableErrorTraps = ""
|            Enabled = 0
|         Foreground = 0
|     LogTraceEvents = 0
|               Name = "Ens.Enterprise.MsgBankOperation"  <Get>
|           PoolSize = 1
|           Schedule = ""
+----------------- swizzled references ---------------
| i%ModifiedSettings = ""  <Set>
| r%ModifiedSettings = ""  <Set>
|       i%Production = "TESTPKG.FoundationProduction"
|       r%Production = ""
|         i%Settings = ""
|      i%Settings(1) = $lb($lb("IPAddress","Adapter","127.0.0.1"))
|      i%Settings(2) = $lb($lb("LocalInterface","Adapter",""))
|      i%Settings(3) = $lb($lb("Port","Adapter","9192"))
|      i%Settings(4) = $lb($lb("EnableArchiving","Host","1"))
|      i%Settings(5) = $lb($lb("StayConnected","Adapter","3"))
|         r%Settings = ""  <Set>
|  i%VirtualSettings = ""  <Set>
|  r%VirtualSettings = ""  <Set>
+--------------- calculated references ---------------
| CommentOrClassname   <Get>
|  InactivityTimeout   <Get,Set>
+-----------------------------------------------------

TEST>w item.Category
"test.cat"

Lionel,

Check out the following article:

https://community.intersystems.com/post/handling-date-and-time-operations-cach%C3%A9

You might want to try something like:

%SYS>s time=$PIECE($horolog,",",1)-1_","_$PIECE($horolog,",",2)

%SYS>zw time
time="66014,35176"

%SYS>w $zdatetime(time,3)
2021-09-27 09:46:16

When you just do $horolog-1, you're truncating the time off of $horolog. $PIECE lets you modify and combine the date/time segments of $horolog independently.

Hello,

Additional context on what exactly you need to do would probably be helpful.

If this is something critical, I would consider reaching out to the WRC for assistance.

Otherwise, the ^JRNRESTO documentation is where I'd start:

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

You can restore a backup and then choose what subset of journals to restore.

Hello Garin,

Differing free vs available memory is a natural occurrence for Linux. The buff/cache is what's being used by the OS for memory and can be relinquished to applications as necessary.

I would check underlying items like OS logs and whether the OS version is supported. error 22 is presumably error 22 invalid argument - not sure what exactly that indicates though.

Hi Niko,

I'm not sure I understand what you mean by "linking that query into a process", but you can run SQL from Object Script code using either dynamic or embedded SQL:

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

I hope that helps. If you are looking for other general guidance for this, feel free to reply.

Actually, reviewing more closely, it looks like your version string is for Unified Care Record / Patient Index. That has a different set of requirements than the basic IRIS migration. I'd recommend closely reviewing the HealthShare documentation - I'm not personally very familiar with the HealthShare side of things, but I'm fairly certain there is a version plateau for HealthShare to allow for the move to IRIS.

edit:

this doc page at least is relevant:

Unified Care Record Installation and Migration Guide > Preparing for an Upgrade Installation

https://docs.intersystems.com/hs20211/csp/docbook/DocBook.UI.Page.cls?KEY=HEINS_prep#HEINS_prep_considerations

"If you are upgrading from a Caché-based Unified Care Record or Information Exchange system earlier than version 2019.1, you must first upgrade to the plateau version 2019.1 before upgrading to this release."

Now that you mention it, I think you have not followed a supported migration path. You can find details in the IRIS migration guides available in the WRC distributions page's documents section, but the minimum version to migrate in-place from is 2016.2.x, and it can be used to go to IRIS 2019.1.1+ or 2020.1. It does not support migration directly to 2021.1.

Augusto,

Ens.Director definitely still exists in IRIS. That error means the "%Library.CacheStorage" class doesn't exist. I don't know why that class would be called, however, as it has been replaced by %Library.Persistent by comparing CE / IRIS docs.

Are you sure your in-place migration completed successfully? I assume Ens.Director should try to use the corresponding class in IRIS. I think this is a candidate for WRC investigation.

Sai,

By folder, do you mean moving a class to a different package? It's okay if the class name overlaps, because the package will still differentiate the "full name" of the class.

ex, the following can coexist. 

package1.class

package2.class

You could also use subpackages such as package1.subpackage.class.

Some of the built in class divisions might be helpful for you to compare with - for example, on IRIS for Health, the following packages exist:

EnsLib.HL7.Operation

EnsLib.HL7.Service

etc., for each type of business component.

I certainly agree that having Git / source control set up is a good practice. You may also find the built-in production deployment functionality useful:
https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=EGDV_deploying

Hello Alicia,

I would recommend you reach out to your Athena representative for guidance on what version of IRIS to migrate to. I anticipate you will also need them to distribute to you the appropriate kit.

It also sounds like you are planning to go live with this change in the very near future. I would suggest testing this upgrade before attempting in your live environment.

edit: I may have misinterpreted your org. If you are licensed directly with InterSystems, I'd recommend reaching out to your InterSystems account rep. If you are licensed through somebody else, they can help you with the migration to IRIS.

That makes sense to me. As the docs explain, there is not really a "%ALL" namespace, it's more of an abstraction to represent a system-wide mapping.

Once you have set up a %ALL mapping, I would just directly try to verify that the functionality works as you expect. For example, make a AllMapping package and put your test code in there, then make an AllMapping package mapping for %ALL, then confirm that you can access that code in any namespace.