Hi, could someone tell me please how can I "unlock" a .cls file which author is Intersystems? I want to make some modifications and add some trace messages there. The file resides in the HS.FHIRServer namespace and it looks like read-only
Fun or No Fun - how serious is it?
Large language models are stirring up some phenomena in recent months. So inevitably I was playing ChatGPT too over last weekend, to probe whether it would be a complimentary to some BERT based "traditional" AI chatbots I was knocking up, or rather would it simply sweep them away.
A thought comes to mind while playing.By going slightly theoretical or philosophical, eventually interoperability standards such as HL7 and FHIR etc are kind of "languages", right?HL7 has its own grammar, rules, vocabulary and even dialects - every system speaks its own tone.
Hi Developers,
See how the Production Extension framework (PEX) allows you to build custom interoperability components in .NET or Java without first learning ObjectScript.
With PEX, you can code in a familiar language and take advantage of established code libraries to add components to a production.
Hello, I want to show a fellow DC member how to convert JSON file into HL7 message. I personally do not work with HL7. I set up a production with EnsLib.File.PassthroughService. It passes Ens.StreamContainer to BPL process. I call a DTL to transform StreamContainer to HL7 message. I run into an error:
ERROR <Ens>ErrBPTerminated: Terminating BP JSON2HL7 # due to error: ERROR #5035: General exception Name 'Parsing error' Code '3' Data ''
> ERROR #5035: General exception Name 'Parsing error' Code '3' Data ''
The code is in this GitHub repo:
IRIS configurations and user accounts contain various data elements that need to be tracked, and many people struggle to copy or sync those system configurations and user accounts between IRIS instances. So how can this process be simplified?
In software engineering, CI/CD or CICD is the set of combined practices of continuous integration (CI) and (more often) continuous delivery or (less often) continuous deployment (CD). Can CI/CD eliminate all our struggles?
I work in a team which develops and deploys IRIS clusters. We run IRIS in containers on Red Hat OpenShift container platform.
Please do
Introduction
Say you have a receiving system that accepts HL7 and provides error messages in field ERR:3.9 in the ACK it returns. You require a different reply code action depending on the error message, however the Reply Code Actions settings for the operation do not provide this level of granularity. One option could be to create a process that takes the ACK and then completes the action you were expecting, however things can get a bit messy if the action is to retry the message, especially when trying to view a message trace.
My approach went a different direction, and makes use of an
Hi all!
In a project we needed to define topics to publish messages and register different subscribers which will receive those messages asynchronously. We also needed it to be as simple as possible and that we could use it on InterSystems IRIS directly.
As an experiment, I'm sharing this iris-pubsub open exchange example.
Infrastructure
This is built on top of InterSystems IRIS interoperability features, it needs a running production.
The first time we need to define how many partitions we want to dedicate to handle messages.The more partitions you add, the more capacity to handle messages.
Hi there,
Does anyone know where is the content for saved searches in Message Viewer is stored. We want to add searches we have created in QA to our deployment files.
thanks
Best Mike
Hi Guys,
How can I include an Expando in a tablepane, I would like that each row have an expando that I can use to include some other things as in the below screenshot
.png)
<column colName="SerialNo" header="Serial No" OnDrawCell="DrawLink" width="10%" filterType="text" filterOp="["/>
i've used the below so i can include the expando but its not working, so how can I include a zen control like expando onDrawCell or in my tablepane ?
Method DrawLink(pTable As %ZEN.Component.tablePane, pName As %String, pSeed As %String) As %Status
{
WRITE "<expando caption=""Subexpando"" OnDrawContent=""GETlink""
Hi Developers,
Often we create and edit InterSystems IRIS Interoperability solutions via a set of UI tools that is provided with IRIS. But it is sometimes difficult to setup the development environment to handle changes we make in the UI to source control.
This video illustrates how git-source-control helps with source control Interoperability components while changing it in the UI.
⏯ Git Source Control for InterSystems IRIS Interoperability with Docker and VSCode
If you are seeing this error during import: ERROR #6301 Line: 2 Offset: 118 This does not appear to be a Cache exported file, unable to import.
This error is caused by exporting from InterSystems IRIS and trying to import into Caché. If you plan on exporting from IRIS to Caché, you can use the following qualifier to export your classes so that Caché does not throw an error on import:
w $SYSTEM.OBJ.Export(<items>,<filename>,"/exportversion=cache2018.1")
Please see the Documentation for more information about this Export Qualifier
I'm sure you have met this situation:
- There is a bug in a System that you can't reproduce yourself locally
- You need to run a few lines in the affected instance
- You get full access to System Management Portal
- But there is just no terminal, nor console, nor access with Studio, Atelier or VSCode
- How to run your few lines for testing ???
If you are using Python, you can use the built-in venv module to create a virtual environment. This module is the recommended way to create and manage virtual environments.
A virtual environment is a tool that helps to keep dependencies required by different projects separate by creating isolated python virtual environments for them. It solves the “Project X depends on version 1.x but, Project Y needs 4.x” dilemma, and keeps your global site-packages directory clean and manageable.
So if like me you work a lot with Python, you can use the venv module to create a virtual environment for your project. This will allow you to install packages without affecting the global Python installation.
You will find here two neat alias to create and activate a virtual environment.
Python aliases
alias venv="python3 -m venv .venv; source .venv/bin/activate"
alias irisvenv="python3 -m venv .venv; source .venv/bin/activate; pip install https://github.com/grongierisc/iris-embedded-python-wrapper/releases/download/v0.0.3/iris-0.0.3-py3-none-any.whl"
This is the second piece in our series on 2021.2 SQL enhancements delivering an adaptive, high-performance SQL experience. In this article, we'll zoom in on the innovations in gathering Table Statistics, which are of course the primary input for the Run Time Plan Choice capability we described in the previous article.
InterSystems FAQ rubric
When connecting to the database using a client-server architecture, for example using language binding, the machine name of the client can be obtained using the following code:
set client=##CLASS(%SYS.ProcessQuery).Open("P"_$j).ClientNodeNameHi Guys,
is there a way or utility that we can drag & drop images in a Zen page?
Thanks
SSH framework is a relatively representative framework of Java, which was popular many years ago. There are Struts+Spring+hibernate and Spring MVC+Spring+hibernate. Of course, I used the second one in college. If I can connect IRIS to Hibernate as a library, does it also mean that IRIS can be developed using SSH framework in theory?
Tools and environment
JDK 1.8
Maven
Hibernate 5.X.X
IRISHealth-2022.1.3
intellij idea
Windows 10 64
Create database
Create several tables in code mode
Class BKIP.SOA.MonitorScreen.CacheTable.logError Extends%Persistent
{
///Brief
What is Query
Queryis a method for finding data that meets the conditions and presenting the results as a data set.
Type of Query
SQL Query,Using%SQLQueryandSQL SELECT.Custom Query,Using Class%Queryand custom logic to generate result.
Note: Before we talk about the general Query solution, let's first understand the basics of Query to help understand the implementation principles. If you already know the basic use of Query, please skip this section and go straight to "Challenges".
Query Basics
SQL Query Basics
Query QueryPersonByName(name As %String = "") As %SQLQuery(COMPILEMODE =Visual Studio Code (VSCode) is the most popular code editor on the market.It was created by Microsoft and distributed as a free IDE.VSCode supports dozens of programming languages, including ObjectScript, Until 2018, Atelier (based on Eclipse).It was considered as one of the main options to develop InterSystems products.
InterSystems is committed to providing high quality product support to customers for all products, new and old. As products age – Caché is now 25 – that support will evolve.
InterSystems IRIS was released in 2018 and it is the successor to Caché and Ensemble. Many Caché/Ensemble customers have migrated to IRIS or have plans to do so in the next few years. Customers continuing to use Caché or Ensemble should be aware of the following important announcement:
Caché/Ensemble maintenance releases will continue for the next 4 years - through Q1 of 2027.
Hi Community,
I am trying to save data into SQL table but each entry getting saved twice in the SQL table. Is there any reason data is saving Twice in the SQL table
I have created a %Persistent class for the fields
Please find the business operation below
Class Patient.DBOperation Extends Ens.BusinessOperation
{
Parameter ADAPTER = "EnsLib.SQL.OutboundAdapter";
Property Adapter As EnsLib.SQL.OutboundAdapter;
Parameter INVOCATION = "Queue";
Method OnMessage(pInput As Patient.PatientDBReq, pOutput As Ens.Response) As %Status
{
Set Entry=##class(Patient.PatientDBReq).%New()
Set
1.Background
1.1 I met a few project that their interface servers were crashed. Cutoms wanted resume server as fast as we can. their servers are running at lan,and they can't use git,there are some namesapce in the server running different service,and usualy there is only one server.
1.2 In the message,it has property in type of characterstream,as you know,the message search page doesn't support filtering with property of characterstream,so it's so hard to find the messge you want.
1.3 Other workmate may update the code on the server,and mybe their is something wrong.
2.Ch
Hi Friends,
In my business process I am updating cache table using dynamic query.
ex:
Set result=##class(%ResultSet).%New("%DynamicQuery:SQL")
Set sc=result.Prepare("SELECT %ID, Name, Salary FROM Sample.Employee WHERE Salary > ?")
If $$$ISERR(sc)
{
// here I want to capture the error details in trace , log , that I can see in production web page
}
could you please provide any suggestions to grab the error message.
I tried
Do DisplayError^%apiOBJ(sc)
Do $SYSTEM.OBJ.DisplayError(tSC)end up with no class found , methods found errors.
I have spent 5 hours today for some clue.
Thanks ,
Prashanth
The task of handling office documents, namely docx documents, xlsx tables and pptx presentations is quite complicated. This article offers a way to parse, create and edit documents using only XSLT and ZIP.
Why? docx is the most popular document format, so the ability to generate and parse this format would always can be useful. The solution in a form of a ready-made library, can be problematic for several reasons:
- library may not exist
- you do not need another black box in your project
- library restrictions : platforms, features, etc.
- licensing
- processing speed
In this article, I would use only basic tools for work with the docx documents.
Hi everyone!
If you are working with IRIS 2021+ and you remove all of the built in entries for External Language Servers, there is an unexpected consequence that may prevent you from running an installer to upgrade your version of IRIS. This does appear to be a bug which has been raised with WRC, however there are some people that may have recently removed these settings and then will soon be upgrading their environment and could face this same issue.
Specifically, the removal of all the External Language Server entries will also remove the "[Gateways]" heading in the iris.cpf file, and this
I'm using %XML.Reader to open an XML file and use it's correlate method to try and convert it to a class.
The conversion fails with an error of:
ERROR #6277: Type attribute, LimitedFreeTextFieldInstance, does not specify valid type for XML input tag: Field (ending at line 3 character 118).
This is the XML
<Fieldsxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ><Fieldxsi:type="UDFLookupFieldInstance"ID="2925"Description="FIRE ALARM ACTIVE"Suffix="FDT_ACTIVATE"/></Fields>This error is produced when xsi:type is any value, when it is left blank conversion using the code listed
Hi Community,
We're pleased to invite you to the upcoming webinar in Spanish called "EMPI: Set up and use case".
Date & time: March 30, 4:00 PM CEST
Speaker: @Luis Angel Pérez Ramos, Sales Engineer, InterSystems Iberia

Hi Community,
The Second Batch of Digital Health Interoperability and FHIR Startup Incubator — Caelestinus, will start today!
Today 21 selected teams will start an eight-month journey at Caelestinus. During the incubation, teams introduce digital health interoperability into their connected medical service or medical device innovation and add the support of FHIR, HL7, DICOM, CDA, X12, and other digital health standards and its transformation using InterSystems IRIS for Health and FHIR Server with the help of experienced InterSystems team.
I’m pleased to invite everyone to watch the Caelestinus
I know it is possible get the user using ##class(Security.Users).Get("username"), but I need to get a user by your email. How Can I get a user by email?

The title of the contest subject is not quite precise but addresses the %Library.classes involved.
What is meant is officially named Class Query and is dating back to the early days of Caché.
CLASS is used because it is embedded in a COS class.
Though there is a precise description in the official documentation it remains rather abstract.
My tutorial should guide you step-by-step through a simple example in COS to make it tangible to you

