Hi Community!

We'd like to invite you to join our next contest to share your FHIR knowledge:

🏆 InterSystems IRIS for Health Contest: FHIR for Women's Health 🏆

Submit an application that uses InterSystems FHIR or InterSystems Healthcare Interoperability!

    Duration: November 14 - December 4, 2022

    Prizes: $13,500!

    >> Submit your application here <<

    7 7
    0 3,041

    Good Afternoon My InterSystems IRIS Peers,

    I have the following issue that I need help with, I tried all possibilities that I know of, therefore I am reaching out to the community for some insight.

    I have a SFTP service that pulling 2.5.1 DFT HL7 messages from our SFTP file server. The issue is that IRIS is transforming patients names and addresses that contain special chars UTF-8 to ANSI.


    è = è
    é = é
    í = í- .......etc

    0 7
    0 444

    Myself and the other Technology Architects often have to explain to customers and vendors Caché IO requirements and the way that Caché applications will use storage systems. The following tables are useful when explaining typical Caché IO profile and requirements for a transactional database application with customers and vendors. The original tables were created by Mark Bolinsky.

    In future posts I will be discussing more about storage IO so am also posting these tables now as a reference for those articles.

    9 7
    2 2,325
    Timothy Leavitt · Jul 8, 2020 7m read
    Tips for debugging with %Status


    If you're solving complex problems in ObjectScript, you probably have a lot of code that works with %Status values. If you have interacted with persistent classes from an object perspective (%Save, %OpenId, etc.), you have almost certainly seen them. A %Status provides a wrapper around a localizable error message in InterSystems' platforms. An OK status ($$$OK) is just equal to 1, whereas a bad status ($$$ERROR(errorcode,arguments...)) is represented as a 0 followed by a space followed by a $ListBuild list with structured information about the error. $System.Status (see class reference) provides several handy APIs for working with %Status values; the class reference is helpful and I won't bother duplicating it here. There have been a few other useful articles/questions on the topic as well (see links at the end). My focus in this article will be on a few debugging tricks techniques rather than coding best practices (again, if you're looking for those, see links at the end).

    14 7
    10 1,253
    Matthew Baron · Feb 23, 2021
    Logging for "Dead" Processes

    Today we had an issue where a couple of our IRIS "processes" had a status of "Dead".

    How do I configure IRIS so that, when that happens, IRIS will log an event to messages.log or alerts.log?

    We are forwarding the contents of both of those logs to Splunk for analysis, and I'd like to be able to see those events in there as well.

    0 7
    0 222

    When running the command

    do ##class(TestCoverage.Manager).RunTest(,"/nodelete",.userParams)

    I now get the following error. these tests used to run fine.

    LogStateStatus:0:TestCoverage.Manager:OnBeforeAllTests:ERROR #6060: Somebody else is using the Monitor. <<==== **FAILED**

    Can someone please point me in the right direction?

    0 7
    0 226


    I am trying to install Intersystems IRIS Health Community On Windows 10 Pro version. I am getting 112 error while installing and in some point it Roll Back the Action.

    But I am able to configure in Windows 10 Enterprise version.

    Is any other settings are there to configure in Windows 10 Pro version or IRIS is not supported?

    Please help me.

    Thanks in advance.

    0 7
    0 428
    Guillaume Rongier · Apr 9, 2019 3m read
    IRIS/Ensemble as an ETL

    IRIS and Ensemble are designed to act as an ESB/EAI. This mean they are build to process lots of small messages.

    But some times, in real life we have to use them as ETL. The down side is not that they can't do so, but it can take a long time to process millions of row at once.

    To improve performance, I have created a new SQLOutboundAdaptor who only works with JDBC.


    Extend EnsLib.SQL.OutboundAdapter to add batch batch and fetch support on JDBC connection.

    3 7
    2 1,099

    Database systems have very specific backup requirements that in enterprise deployments require forethought and planning. For database systems, the operational goal of a backup solution is to create a copy of the data in a state that is equivalent to when application is shut down gracefully. Application consistent backups meet these requirements and Caché provides a set of APIs that facilitate the integration with external solutions to achieve this level of backup consistency.

    1 7
    2 2,372

    I am often asked by customers, vendors or internal teams to explain CPU capacity planning for large production databases running on VMware vSphere.

    In summary there are a few simple best practices to follow for sizing CPU for large production databases:

    • Plan for one vCPU per physical CPU core.
    • Consider NUMA and ideally size VMs to keep CPU and memory local to a NUMA node.
    • Right-size virtual machines. Add vCPUs only when needed.

    Generally this leads to a couple of common questions:

    5 6
    0 5,693

    Updated Jan 19th, 2023.

    Hi all,

    I want to share a quick little method you can use to enable ssl with a self signed certificate on your local development instance of IRIS/HealthShare. This enables you to test https-specific features such as OAuth without a huge lift.

    1. Install OpenSSL

    Windows     : Download from https://www.openssl.org or other built OpenSSL Binary. 
    Debian Linux: $ sudo apt-get -y install openssl
    RHEL        : $ sudo yum install openssl
    9 6
    4 1,202

    We're upgrading to IRIS 2020.1 from Ensemble 2018.x.

    I have a lookup table class that compiles fine in Ensemble but in IRIS causes the following compilation error: "ERROR #9101: Global name 'HH.LookupLabResultsToPhysiciansD' for 'IDLocation' is too long, must be no more than 31 characters in length."

    Is this length limitation a new restriction or could I have done something years ago to increase the maximum character length.



    0 6
    0 271


    I believe that the Perl and Python bindings that exist on Cache / Ensemble do not exist on IRIS for Health 2020.1 ... is that correct?

    Is there any similar documentation and samples (like below) , that show an example of how to run a basic Perl or Python script that connects with ODBC or whatever the recommended way?


    0 6
    0 122


    I work on deploying IRIS inside Docker container. I really like %Installer class can automate many steps. I want to establish an ECP connection to a mirror database and then define a remote database on the application server. I have already seen we can create local database and namespace in %Installer. What code is needed to establish ECP connection?

    0 6
    0 379


    How do I run a CSP page from within VS Code.

    Secondly I have installed an extension called "Live Server" which will run .html pages within VS Code. Have any of you made use of this extension and if so can you specify that .csp pages are html pages?

    If I press F5 in VS Code (just as you would in Cache Studio) in order to view a csp page when I press F5 in vs code it tries to open


    without the csp page name

    0 6
    2 601
    Guillaume Rongier · Nov 23, 2020 1m read
    Iris key uploader


    This is iris-key-uploader a frontend in Angular with it's rest API.

    The aim of this project is to easily import key file to Iris from a web ui.

    Why this project

    Unfortunatly the IRIS panel to change key doesn't give the opportunity to upload the license.


    As you can see, you can only browse from the server side.

    What if, you don't have a direct access to it ?

    6 6
    0 342

    Hi Developers,

    Please welcome the new video specially recorded by InterSystems Product Manager @Bob Kuszewski for the 3rd InterSystems Online Programming Contest on InterSystems IRIS Native API:

    Using the IRIS Native API GitHub Template

    What’s the contest about?

    In the last year, InterSystems added and expanded Native APIs for Java, .NET, Python, and Node.js. The Native API provides high speed access to globals, the ability to instantiate and use ObjectScript objects, and fine-grained control over transactions.

    1 6
    0 392

    Hi All,

    Can you please guide me on how to restore the .cbk file from the 2015 Cache version into the 2017 version or any other versions of Cache or IRIS software? I have a new instance on my server. It's an entirely new server. I have a .cbk backup file. I want to restore the backup file into a new namespace which one I will create on my new server. When I am trying on ^DBREST utility, I am getting "This is not a Cache Backup File" this error.

    Please advise on this. It's a bit urgent.


    Arun Kumar.

    0 6
    0 311