I need to write test cases for Object script but need help for understanding the mock library in IRIS? Or need Suggestion for how to use mocking
Hi All,
I am writing few test for REST API need help from you guys as I am new to Objectscript. I want to implement mocking into testcase but didn't get any good resource for the same. please help me
Hi Developers,
Thank you so much for being a part of the InterSystems Developer Community Ecosystem for yet another year!
We love that you participate in the life of the Developer Community, Open Exchange, Global Masters, and Ideas Portal.
We'd like to know how useful are our portals for you at this point. Please take a few moments to let us know what you think and what could be improved:
👉 InterSystems Developer Ecosystem Annual Survey 2023 👈
.jpg)
Note: The survey will take less than 10 minutes to complete.
In case you're planning on deploying IRIS For Health, or any of our containerized products, via the IKO on OpenShift, I wanted to share some of the hurdles we had to overcome.
As with any IKO based installation, we first need to deploy the IKO itself. However we were getting this error:
Warning FailedCreate 75s (x16 over 3m59s) replicaset-controller Error creating: pods "intersystems-iris-operator-amd-f6757dcc-" is forbidden: unable to validate against any security context constraint:
proceeded by a list of all the security context constraints (SCCs) it could not validate against.
Hello everyone,
I am looking for the syntax or the way to use a class created in the "BNA" Namespace (my application) from the %SYS Namespace.
Here is the context:
I have a "BNA" application contained in the "BNA" NS, this application provides a user creation functionality. This feature creates both the user in a table in the application and in the Iris system.
Hi Community,
It's time for the new batch of #KeyQuestions from the previous month.

Here are the Key Questions of February chosen by InterSystems Experts within all Communities:
Hi Developers!
I want to share with you the approach you can use working with Unit Testing which I personally find very convenient and robust.
Will not talk much here about Unit Testing, we have documentation, enough good articles on the topic not only on the Internet but here on Developers Community too, e.g. this one.
How can you manage the Unit Testing of your ZPM module?
This is pretty handy with ZPM. It has a special command "test" which runs all the tests you mentioned in the module. You can execute it as shown below:
zpm:USER>module-name test
And this command runs all the tests you mentioned in module.xml.
Let's see how it works.
Hi VSCode users!
Just want to check with you, is this settings.json file ideal enough if I:
1. Want VSCode to connect to IRIS in docker?
2. Want to use VSCode SQL Tool?
The connection settings file:
Online document says: TUNE TABLE updates the SQL table definition (and therefore requires privileges to alter the table definition). Commonly, TUNE TABLE also updates the corresponding persistent class definition. This allows the gathered statistics to be used by the query optimizer without requiring a class compilation.
What are the advantages/disadvantages of using the Person resource with a link to the Patient and Practitioner resources, rather than using the Patient and Practitioner resources directly without using the Person resources?
Hey Community,
Enjoy watching the new video on InterSystems Developers YouTube:
Your may not realize it, but your InterSystems Login Account can be used to access a very wide array of InterSystems services to help you learn and use InterSystems IRIS and other InterSystems technologies more effectively. Continue reading to learn more about how to unlock new technical knowledge and tools using your InterSystems Login account. Also - after reading, please participate in the Poll at the bottom, so we can see how this article was useful to you!
What is an InterSystems Login Account?
Hi Developers,
Our first Online Developer Roundtable of 2024 will take place on March 5th at 9 am ET | 3 pm CET.
Tech talks:
- ObjectScript Unit Testing Tools, Techniques and Best Practices - by @Timothy Leavitt , Development Manager, Application Services, InterSystems
Monitoring and Alerting Capabilities of InterSystems IRIS - by @Mark Bolinsky , Principal Technology Architect, InterSystemsMark's presentation is rescheduled for the roundtable in April.
▶ Update: watch the recording of the roundtable below:
Hello everyone!
So, I am supposed to receive a REST-request into my production, and I need to send it, exactly as I received it, to another server.
I am struggling to find any good info on this, and have a hard time coming up with a good approach.
What would be the easiest way to do this?
- I have so far thought about possibly doing it with an EnsLib.REST.GenericService and then sending it with an EnsLib.REST.GenericOperation.
- I have also thought about manually creating a rest-service and somehow using %request and sending it directly if that would be possible.
InterSystems FAQ rubric
You can use the %IndexBuilder class to perform index rebuilding using multiple processes.
Here is an example for the purpose of defining the standard index HomeStateIdx for the Home_State (state information of contact address) column of Sample.Person.
The steps are as follows:
1. Hide the index name to be added/rebuilt from the query optimizer.
>write$system.SQL.SetMapSelectability("Sample.Person","HomeStateIdx",0)
12. Add %IndexBuilder to the rightmost superclass of the class definition that defines the new index.
In the WRC, we often see customers contact us because they are having been provided a .PPK file for use with SFTP connections, but they don’t know how to use that key within InterSystems IRIS. This article will explain why this represents such a problem, and explain how to use the .PPK key to generate a Private / Public Key pair in a format recognized by InterSystems IRIS.
The Problem:
Killer presentations are essential for opening doors, doing business and delighting customers. These types of presentations move away from the traditional and tiring topics and portions of texts, or even pictures of happy people to get closer to the interests of their audience.The best presentations materialize what customers are looking for into something they can see working. Instead of promises, examples in execution and the ability to be very close to what you want to do.
I participated in InterSystems Women’s Health FHIR contest, because I loved the challenge to learn a new-to-me technology. I wanted to develop an app that receives data from a mobile device like my Fitbit or a Smart Watch. I did not get access to such data except when I downloaded a spreadsheet (CSV file) showing my daily steps and sleep data. I saw in iris-fhir-template it imported some patient data to a FHIR server. I figured out how to use a Data Transformation to transform a record from a delimited file into FHIR data which I could store into the FHIR server.
Work Queue Manager (WQM) is a feature of InterSystems IRIS that enables you to improve performance by distributing work to multiple concurrent processes programmatically. The idea is that you split the work into chunks, and WQM distributes the chunks across worker processes and can provide the info that the work is done.
However, recently, I got an interesting question: there's a large logical transaction composed of ~1,000,000 individual objects and SQL inserts and updates. Some updates are CPU-intensive, so the original idea was to use WQM to split an update into chunks to speed things up.
But, here's a catch: if one of the individual 1,000,000 changes fails (there's a variety of application-level checks so that it can fail, and that's not even that abnormal a behavior), the entire transaction must be rolled back. That creates a problem: each chunk must report success before committing their individual transactions, and someone must get all these reports and decide if we are committing or not.
Unfortunately, it looks like WQM does not have a bidirectional communication between workers and manager, so I suggested an approach using events:
- Start jobs.
- Wait for all jobs to report success using $System.Event.WaitMsg().
- Send Commit or Rollback using the $System.Event.Signal().
Below is the job description for your reference
Position: Integration Engineer/SME (US only)
Location: Remote
Contract: 12 months
Job Description:
Description:
Looking for IRIS experience must have
Lead the implementation of FHIR (Fast Healthcare Interoperability Resources) standards within the data warehouse, ensuring accuracy and efficient data exchange across the ecosystem of partner APIs
• Ingest healthcare data from source systems into FHIR resources and profiles through developing ETL (Extract, Transform, Load) processes, checking for data quality and integrity
The objective of the article is to provide the reader with the following informations:
- Configure and use the FHIR server
- Create an OAuth2 Authorization Server
- Bind the FHIR server to the OAuth2 Authorization Server for support of SMART on FHIR
- Use the interoperability capabilities of IRIS for Health to filter FHIR resources
- Create a custom operation on the FHIR server
Schema of the article:

Hi,
I have an odd problem that occurs when I'm trying to import lookup tables in the XML format into Studio.
I store my files in in C:\CodeRepository.
I can manually import these lookup tables using "Import local..." option in the InterSystems Studio.
However, when I'm trying to import them using command in terminal: do $system.OBJ.LoadDir("C:\CodeRepository\","ck")
I'm getting the following error:
How can we have the multiple business rules run on a single cloned-object(EnsLib.HL7.Message), and send the cloned-object in Rule Editor?
Any sample code? The purpose is to edit the HL7 ORU R01 message
Thx!
The task for a file on disk is to open it, find a keyword (unique) and then read the file line by line, starting with the line with this keyword, then find the next keyword (also unique) and read from that location etc. I would think ObjectScript classes should be able to do that, but the solution eludes me. I probably need to use FindAt to get a position, but ReadLine does not seem to have a position argument. Any advice?
- The idea of this package is to compare the performance of columnar storage inside IRIS without wrapping it to some foreign platform that is not my world
- In addition, I do not want to measure network performance between 2 containers, but inside a closed IRIS environment that I have fully under my control
- Even the use of SMP or some other browser-based presentation has some influence that I want to avoid.
- Measuring should be as close to the core as possible. So I flagged it NATIVE. Some people might feel it is ABORIGINAL.
How to use it
I want to use AESEncode encryption, but it prompts a MAXSTRING error. How to solve it?
As most of you probably already know, since approximately the end of 2022 InterSystems IRIS included the columnar storage functionality to its database, well, in today's article we are going to put it to the test in comparison to the usual row storage.
Columnar Storage
What is the main characteristic of this type of storage? Well, if we consult the official documentation we will see this fantastic table that explains the main characteristics of both types of storage (by rows or by columns):
Hi Community,
Play the new video on InterSystems Developers YouTube:
⏯ InterSystems IRIS Business Intelligence - Tips & Tricks @ Global Summit 2023
"Set Up a Kerberized Connection from the Web Gateway to InterSystems IRIS " and "Configuring the Web Gateway to Connect to InterSystems IRIS Using TLS" are these two alternative options that exclude each other? Which option should I select if I want to establish a tls connection between a client (browser) and IRIS server?
Hi Developers,
Enjoy watching the new video on InterSystems Developers YouTube:
⏯ A Payer's Journey to Regulatory Compliance and Beyond @ Global Summit 2022

