#InterSystems IRIS for Health

10 Followers · 2.4K Posts

InterSystems IRIS for Health™ is the world’s first and only data platform engineered specifically for the rapid development of healthcare applications to manage the world’s most critical data. It includes powerful out-of-the-box features: transaction processing and analytics, an extensible healthcare data model, FHIR-based solution development, support for healthcare interoperability standards, and more. All enabling developers to realize value and build breakthrough applications, fast. Learn more.

Article Anthony Master · Dec 12, 2024 2m read

Like many others probably find themselves, we were stuck doing live data mapping in our Interface Engine that we really didn't want to do, but had no good alternative choice. We want to only keep mappings for as long as possibly needed and then purge expired rows based upon a TTL value. We actually had 4 use cases for it ourselves before we built this. Use cases:

0
0 251
Question Subtropical.Bob · Dec 11, 2024

By "unsuccessful installation" I mean IRIS Community Edition for Healthcare is not running and the server won't start after a fresh installation.

The events in the Events Viewer are not particularly informative, but the messages.log file suggests it's shutting down on start up because the laptop has "too many Cores" - which it true, it has 24 of them (it's pretty beefy, a Lenovo Legion gaming PC that I use on account of its specs for AI development). Any suggestions appreciated. I understand that the community license is limited to 8 cores, but should the system not simply restrict how many c

2
0 292
InterSystems Official Carmen Logue · May 24, 2023

InterSystems is announcing an end of maintenance event for Zen Reports beginning in Intersystems IRIS and IRIS for Health 2025.1.  This follows the deprecation notice made when InterSystems IRIS was introduced in 2018 and subsequent inclusion of InterSystems Reports in 2020 to provide replacement reporting functionality.  An overview of the timeline is:

March 2018.   InterSystems IRIS 2018.1:  Announcement of Zen Reports deprecation, continued shipment to provide continuity for existing applications

April 2020.     InterSystems IRIS 2020.1:  Intersystems Reports incorporated as part of user-

9
0 948
Question Dmitrii Baranov · Dec 10, 2024

I am developing locally on my IRIS instance using VSCode and client-side editing approach. How can I automatically export a single .cls file/a whole package to a remote TEST/PREPROD server using a script or command line and recompile the unit remotely? Are there any more simple and straightforward ways than CI/CD explained in the series of articles by Eduard?

3
0 216
Question yelena melamed · Dec 10, 2024

We have error - ERROR #5821: Cannot instantiate query: 'SQLCODE = -146, %msg = Error: '' is an invalid DISPLAY Date value' not able to see what is causing:

CASE When P.PatReltoGuar->Name = 'SELF' then  P.Lnm  Else  Substring(P.GuarNmIfNotPat, 1,Charindex(',',P.GuarNmIfNotPat)-1) End  as DemoGuarLastName,

CASE When P.PatReltoGuar->Name = 'SELF' then  P.Fnm  Else Substring(P.GuarNmIfNotPat,Charindex(',',P.GuarNmIfNotPat)+1,LEN(P.GuarNmIfNotPat)) End  AS DemoGUARFIRSTNAME,

CASE When P.PatReltoGuar->Name = 'SELF' then P.StreetAddrL1 Else P.GuarStreetAddrL1 End as DemoGuarAddresslineOne,

CASE W

1
0 149
Question Shashvati Dash · Dec 10, 2024

connection = ##class(%Net.Remote.Java.JavaGateway).%New()
sc = connection.%Connect("127.0.0.1",53274)
classpath="C:\Users\ME9Y1PM\Downloads\wrapper_jar\wrapper-drools-1.0.0-20241127.071529-1.jar"
if (sc=$$$OK) {
SCJavaDroolsObj.connection=connection
sc = SCJavaDroolsObj.connection.%Import("com.lca.smc.drools.DroolsRules")
SCJavaDroolsObj.drools = ##class(com.lca.smc.drools.DroolsRules).%New()
SCJavaDroolsObj.drools.applyRules(patientjson)

Class com.lca.smc.drools.DroolsRules Extends %Net.Remote.Base [ ProcedureBlock ]
{Parameter IMPORTTIMESTAMP As STRING = "2024-11-29 09:14:27.992"

0
0 120
Question Patty Aguirre-Romero · Dec 9, 2024

Iris for Health is sending back ACKs back to the vendor for incoming X12 messages but, they are not making it there. Instead, the vendor is getting Reset packets and it seems they are coming out from Iris for Health. 

Questions:

  1. Does Iris indeed generates Reset Packets? 
  2. What causes Reset Packets to be triggered?
  3. What settings does InterSystems recommend to not send Reset packets? 
  4. Are settings needed in the BS to prevent Reset Packets?

I already tried different settings unsuccessfully, and read much of the instructions provided by Intersystems but, we still can't resolve this issue.

0
0 97
Question Scott Roth · Dec 6, 2024

First time trying to use Foreign Tables/Servers instead of Linked Tables...

Within the SQL Editor inside of the Managment Portal, or connecting through DBeaver JDBC how we can see what Foreign Servers have been defined? Is there a way to query and verify structure of the Foreign Server connection to know that we are building the correct Foreign Tables?

I attempted to create my first Foreign table but it failed when I tried to query the tables because it said the table could not be found. But when I sign into the Database via SQL Management Studio, I can see the table.

3
0 189
Article Jimmy Xu · Feb 13, 2023 7m read

Experience & feedback from online course "Hands-On with InterSystems API Manager for Developers

With my basic knowledge of Docker container and REST API, I would like to have my first try on using InterSystems API manager to take control of APIs and microservices. I have completed this online course using my local IRIS instance as host (Windows OS) and IAM running on a Linux VM (guest). 

Firstly, I will introduce InterSystems API Manager (IAM), then explain the steps for setting up my local environment and lastly walk through the course chapters.

Introduction

Nowadays API management is v

5
3 797
Question Bradley Collins · Nov 26, 2024

Dear All,

I have been sent an HL7 message as a file with the MSH segment as follows....

MSH|^~\&|SendingApp|pms3medd|HealthLink|cribrumt|20241121050000|PKI|ORU^R01|01_ASCIItest_2|P|2.3.1||||||UNICODE

I try picking up the file with a "EnsLib.HL7.Service.FileService" business service using a  EnsLib.File.InboundAdapter adaptor.  The Character set is set to "Native" and the Default Char Encoding to latin 1.

I am seeing the following error:

ERROR <Ens>ErrGeneral: Incorrect Character Encoding/Translation Table used for file.(Native/RAW)
+
ERROR <Ens>ErrException: <TRANSLATE>ParseIOStream+71 ^Ens

4
1 268
Question Victor Castanon · Nov 19, 2024

Hi there,

I'm attempting to use the newest version of git-web-ui now that we've also updated to 2024.1.2. I'm having an issue though where I'm getting a 404 when launching the web gui from the Source Control menu in a production. If I look in the nginx logs I see the following:
2024/11/19 22:00:47 [error] 16#0: *237 open() "/opt/nginx/html/isc/studio/usertemplates/gitsourcecontrol/webuidriver.csp/CUSTRUSH/CUSTRUSHPKG.FoundationProduction.CLS" failed (2: No such file or directory), client: 172.18.0.1, server: localhost, request: "GET /isc/studio/usertemplates/gitsourcecontrol/webuidriver.csp/CU

6
0 206
Question Mike Yackanich · May 27, 2021

Hi all,

I'm performing a migration of some services from one instance to another, and I noticed that the technique defined within the InterSystems Server Migration Guide does not include OAuth client configurations. The recommended technique is to use the ##class(Security.System).ExportAll() and ##class(Security.System).ImportAll() methods.

Is there a way to migrate OAuth client configurations, or do those have to be re-created manually?

5
0 538
Article Megumi Kakechi · Nov 7, 2024 1m read

InterSystems FAQ rubric

It can be obtained with a List query of the %SYS.Namespace class.

1. Create a routine like this:

getnsp
   set statement=##class(%SQL.Statement).%New()
   set status=statement.%PrepareClassQuery("%SYS.Namespace","List")
   set resultset=statement.%Execute()
   while resultset.%Next() {
       write resultset.%Get("Nsp"),!
   }
   quit

2. Run it in your terminal

USER>do ^getnsp
%SYS
DOCBOOK
SAMPLES
USER

The method of executing class queries introduced in this article can be applied in a variety of cases.

You can see various class queries in the class reference.

4
1 563
Question Dmitrii Baranov · Nov 27, 2024

I want to integrate IRIS with Keycloak OAuth2 provider to use delegated authentication everywhere and to secure everything - sys*/Portal applications, REST services, FHIR server and so on. If an unathenticated user tries to access any IRIS URL - he or she should be redirected to Keycloak. After the user has successfully authenticated, i would like to access his requistes (username, email, roles, scopes) extracted from the JWT token, programmatically. What should be done to achieve that? I found this repo but it seems a bit tricky to implement a custom ZAUTHENTICATE function which has an access

1
0 307
Question Dmitrii Baranov · Dec 1, 2024

I'm trying to call a SOAP web service which is implemented in .NET Classic and requires NTLM authentication. The client class was generated by %SOAP.WSDL.Reader. The problem is that neither NTLM authentication works nor can I handle the exception since VSCode debugger says that all meaningful fields and properties are empty (the same request works fine in Postman):


ClassMethod Test()
{
    #Dim client as My.Client
    Set client = ##class(My.Client).%New()
    Try
    {
        Set client.SSLConfiguration = "SSL"
        Set client.Location = "https://server/service.asmx"
        Set client.H
4
0 281
InterSystems Official Daniel Palevski · Nov 27, 2024

InterSystems announces General Availability of InterSystems IRIS, InterSystems IRIS for Health, and HealthShare Health Connect 2024.3

The 2024.3 release of InterSystems IRIS® data platform, InterSystems IRIS® for Health, and HealthShare® Health Connect is now Generally Available (GA).

Release Highlights

In this release, you can expect a host of exciting updates, including:

  1. Much faster extension of database and WIJ files
  2. Ability to resend messages from Visual Trace
  3. Enhanced Rule Editor capabilities
  4. Vector search enhancements
  5. and more.

Please share your feedback through the Develope

0
0 379
Article Yuri Marx · Nov 27, 2024 8m read

The rise of Big Data projects, real-time self-service analytics, online query services, and social networks, among others, have enabled scenarios for massive and high-performance data queries. In response to this challenge, MPP (massively parallel processing database) technology was created, and it quickly established itself. Among the open-source MPP options, Presto (https://prestodb.io/) is the best-known option. It originated in Facebook and was utilized for data analytics, but later became open-sourced. However, since Teradata has joined the Presto community, it offers support now.

Presto




0
3 352
Question Patty Aguirre-Romero · Nov 14, 2024

What settings do I need to just passthrough an X12 messages from a BS to BO and out the BO without modifying the message?

Currently, we are receiving the X12 messages but, it seems Iris is modifying it by "hiding" some segments like the ISA segment. The message goes out the BO modified and it doesn't reach its destination. Since I just want to pass it through, there is no BP, DTL, or Rule processing the message. Message is received by the BS and sent directly to the BO. 

My current settings:

  1. The BS is set as
    • TCP with Class Name: EnsLib.EDI.X12.Service.TCPService
    • Adapter Class Name: En
7
0 184
Article Luis Angel Pérez Ramos · Nov 25, 2024 3m read

Greetings dear community members!

I have recently been deploying an IRIS for Health image on a Docker with a preconfigured Webgateway image and I have come across the problem of the SSL configurations that allow us to connect to the IRIS instance using HTTPS and going through our Webgateway.

Until now I had always deployed IRIS for Health with a Community license, which still has the Private Web Server installed, so I only needed to configure the Webgateway connection with the deployed IRIS instance:

1
5 472
Question Oliver Wilms · Nov 22, 2024

I finally figured out how to get JWT token using set x = ##class(%SYS.OAuth2.Authorization).GetAccessTokenClient("medbank","openid fhirUser",.prop,.err).

I also found iris-fhir-client app on Open Exchange. I registered Epic sandbox server, but I cannot list resources. I suspect I need to integrate authorization / authentication. How do I do this with irisfhirclient py?

1
0 158
Article Sylvain Guilbaud · Apr 30, 2024 3m read

Production Configuration

This demo has an interoperability production with 16 items. 

Production Configuration HL7 + Kafka Producer

The first part of this demonstration consists of sending an HL7 SIU file which will be transmitted to the 2 other HL7 flows (HTTP and TCP), and transformed and transmitted to the Kafka server. HTTP and TCP flows will transform HL7 messages in the same way before sending them to Kafka as well.

  • 3 HL7 Business Services
  • 1 HL7 router
  • 2 HL7 Business Operations
  • one Business Operation sending the transformed messages to Kafka

Business Rule

The pro

3
4 523
Question Phillip Wu · Nov 20, 2024

Is anyone using Veeam as their external backup product?

I'm trying to backup a Linux VMs (VMWare; SUSE).

These VMs have a mirrored pair IRIS DB.

I'm using the InterSystems's provides pre-freeze - Backup.General(ExternalFreeze)
I'm using the InterSystems's provides post-thaw  - Backup.General(ExternalThaw)

I've been running the backups with Veeam 'application aware processing' so I can add the pre-freeze and post-thaw scripts.

I'm backing up the PRIMARY node of the mirror pair.

The problem is that the time take by Veeam between the run of the pre-freeze script and post-thaw script is about

3
0 264
Question Scott Roth · Nov 20, 2024

I am using a JDBC connection to MS SQL server to execute a stored procedure to select data and bring it into InterSystems as a EnsLib.SQL.Snapshot. I loop through the EnsLib.SQL.Snapshot using a while loop, but I also want to iterate through the Columns within that Row to do logic.

Is there a way to iterate through the Columns of the current Row of the EnsLib.SQL.Snapshot so I can apply logic/rules for further processing?

Thanks

Scott

4
0 166
Question Claude Mourzelas · Nov 13, 2024

Hello,

I want to upload a "custom" metric in prometheus (queue).

For now, in version 2022, I have the impression that we cannot add multiple labels and yet the basic metrics know how to do it.

ex: standard metric

iris_interop_messages_per_sec{cluster="1", host="xxxx", id="API", instance="xxxx:80", job="SAM", production="xxxx"}

my current example: I would like to be able to at least add the production, just to have the source of the measurement.

my_iris_queue{cluster="1", id="xxxx", instance="xxx", job="SAM"}

2
0 139
Question Oliver Wilms · Nov 19, 2024

I need to create a JWT to connect to EPIC FHIRserver sandbox.

https://fhir.epic.com/Documentation?docId=oauth2&section=BackendOAuth2G…

You will generate a one-time use JSON Web Token (JWT) to authenticate your app to the authorization server and obtain an access token that can be used to authenticate your app's web service calls. There are several libraries for creating JWTs. See jwt.io for some examples.

The header and payload are then base64 URL encoded, combined with a period separating them, and cryptographically signed using the private key to generate a signature.

I attempted usin

5
0 306
Question Jani Hurskainen · Nov 18, 2024

The following CPF entry:

[Actions]
CreateUser:Name=foobar,Roles=%All,Password=loremipsumdolorsitamet1234,FullName=Foo Bar,ChangePassword=1,Enabled=1,Comment=Testing testing,AccountNeverExpires=1,PasswordNeverExpires=1

Fails with an error:

ERROR #506: Invalid property error at line 19, 'Password=loremipsumdolorsitamet1234', Class Security.Users, Error=<CANNOT SET THIS PROPERTY>zPasswordSet+3^Security.Users.1

A bug or a feature or a stupid user error? The documentation says nothing about the limitations:

3
0 141