#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 Oliver Wilms · Dec 15, 2024 3m read

I have started working on utilizing Epic on FHIR about a month ago.

Creating a Public Private Key Pair

mkdir /home/ec2-user/path_to_key
openssl genrsa -out ./path_to_key/privatekey.pem 2048

For backend apps, you can export the public key to a base64 encoded X.509 certificate named publickey509.pem using this command...

openssl req -new -x509 -key ./path_to_key/privatekey.pem -out ./path_to_key/publickey509.pem -subj '/CN=medbank'

where '/CN=medbank' is the subject name (for example the app name) the key pair is

2
3 609
Announcement John Murray · Dec 16, 2024

The InterSystems platforms have always offered dynamic documentation of the packages and classes in a namespace, a feature known informally as Documatic. But what if you need to publish this class reference information on a website without requiring the site to be connected to an IRIS server containing the actual classes?

For my entry to the December 2024 Developer Community “Bringing Ideas to Reality” contest I decided to implement the idea of a generator that produces a static set of class reference pages .

1
2 228
Question Scott Roth · Dec 9, 2024

I am attempting to create a Foreign Server/Table so I can pull some information in from MS SQL server via JDBC connection, but as soon as I create the Server/Table and logout the Foreign Server disappears.

CREATE FOREIGN SERVER Epic.Clarity 
   FOREIGN DATA WRAPPER JDBC CONNECTION 'MS-EpicClarity'

logout, then run 

the documentation - Defining Foreign Tables | Using InterSystems SQL | InterSystems IRIS Data Platform 2024.3 mentions "A user that creates a foreign server must have the %MANAGE_FOREIGN_SERVER administrative privilege" but I am not finding that security setting to give to my role.

3
0 199
Article sara aplin · Dec 20, 2024 2m read

Monitor incremental changes in the database through scheduled tasks, display change trends through charts, set alarm thresholds, and write information to messages.log

How to use it

You can install it through Docker or ZPM

Deploying with Docker Prerequisites

Make sure you have git and Docker desktop installed.

Installation

1.Clone/git pull the repo into any local directory

git clone https://github.com/Sara771dev/Database-Size-Monitoring.
0
1 290
Article Yuri Marx · Dec 19, 2024 14m read

VSCode is the most used IDE in the world. It is strategic have more extensions for VSCode for InterSystems technologies to keep increasing the developer community.

My new app IRIS VSCode Global Editor is an excellent sample to learn how to create extensions to IRIS. You can check it on https://openexchange.intersystems.com/package/IRIS-Global-VSCode-Editor.

To be ready to create extensions for VSCode

From https://code.visualstudio.com/api/get-started/your-first-extension you have all steps to get ready, but I will detail here to you.

1.

0
3 245
Question Anthony Master · Dec 18, 2024

Very similar question posed here: https://community.intersystems.com/node/467496, but I am missing a piece of this:

How do I correctly call a EnsLib.HL7.MsgRouter.RoutingEngine class from the BPL?I can successfully call the BPL from the EnsLib.HL7.Service.TCPService, and I have the BPL created to delay then call the rule. And I set the context and the result location.

This rule is really basic just sending the HL7 content to a EnsLib.HL7.Operation.

0
0 159
Question Mark OReilly · Dec 16, 2024

When implementing deferred response there was a problem initially with a few responses which meant we had blank jobs spawned somehow. How do you get rid. All the operation does is:

  SET sc =..SendRequestAsync($piece(..ForwardComponentNames,",", i),pRequest,1)

These all sent ok and tried to update status to 9 from 6 hoping it would clear the blank jobs but it didn't . The original issue has been resolved weeks ago. 

6
0 154
Article Oliver Wilms · Dec 18, 2024 4m read

Implements Idea DPI-I-456

Idea

What The Sample Does

This sample was cloned from iris-interoperability-template. I have reconfigured the interoperability Production with an Inbound HTTP Adapter which is used by a HTTP Business Service. The configuration details for the business service are specified in System Default Settings. I configured Call Interval setting to call HTTPServer once every hour. You can change both the URL and frequency in the service's settings. Screenshot

Originally the HTTP Service had two targets.

0
0 272
Question Kari Vatjus-Anttila · Feb 25, 2022

Hello,

The title says it all. I’m building an IRIS image with docker-compose using a separate Dockerfile. Pretty straightforward procedure: I import a Installer script inside the container containing a Installer Manifest I defined. Within the manifest, I create a namespace with code and data databases in separate locations. My intention is to keep the code database inside the container, so whenever I build the container, the imported code is replaced. The data, however, should be persistent.

6
0 552
Article Muhammad Waseem · Dec 16, 2024 5m read

image
Hi Community,
In this article, I will introduce my application iris-HL7v2Gen .

IRIS-HL7v2Gen is a CSP application that facilitates the dynamic generation of HL7 test messages. This process is essential for testing, debugging, and integrating healthcare data systems. The application allows users to generate a wide variety of HL7 message types, validate their structure against HL7 specifications, explore the message hierarchy, and transmit messages over TCP/IP to production systems. These features are particularly useful in settings where compliance with HL7 standards is mandatory for interoperability between different healthcare organizations or systems.


Application Features

  • Dynamic HL7 Message Generation: Instantly create HL7 messages for a range of message types, facilitating comprehensive testing.
  • Message Structure Exploration: Visualize the structure of generated messages based on HL7 specifications.
  • Value Set Visualization View predefined sets of allowable coded values for specific fields.
  • Message Validation: Validate messages against HL7 standards to ensure compliance.
  • TCP/IP Communication: Easily transmit messages to production using TCP/IP settings.
  • Broad Message Type Support: Supports 184 different HL7 message types, ensuring versatility for various healthcare integration needs.
  • ClassMethod: Generate a Test Message by Invoking a Class Method
  • Version Support: Currently Supports HL7 Version 2.5
0
4 470
Question Dmitrii Baranov · Dec 12, 2024

My IRIS instance is connected to a Postgres database using SQL Gateway and linked tables. One of these tables is projected to the Patient class. I want to select a record from this table by ID and convert it to a FHIR resource using the %ExistsId and %OpenId methods. I noticed that if I call these two methods from the console, the record is always found. But, if I do the same from the FHIR Facade layer, the %OpenId method returns NULL.

1
0 140
Question Yuhong Snyder · May 2, 2024

in the InterSystems management portal, I am in the lookup table viewer (interoperability>lookup Tables,  I would like to use import function to convert our existing table from other system to intersystems lookup table. 

so I converted our existing one like below and saved it as xxx.xml file locally.  when I try to import,  it says it is not a valid export file. 

my question is " what's the valid format for a file to be valid to use to import for lookup table?

5
0 381
Question Shanwen Liu · Dec 10, 2024

Hey everyone, I am implementing version control with git-source-control on our codebase and I ran into a pretty strange issue. I believe I have the set up (mostly) correct as the behavior with .cls files is exactly as expected. However, I noticed that git is not keeping track of any changes to CSP files.

Specifically, if a new CSP file is created and saved, I will get the following output:

exporting new version of /csp/testdb/wrc.csp to C:\InterSystems\IRIS\mgr\repo\TESTDB\csp\testdb\wrc.csp

Added /csp/testdb/wrc.csp to source control.

C:\InterSystems\IRIS\mgr\repo\TESTDB\csp\testdb\wrc.

8
1 253
Question Mark OReilly · Aug 30, 2024

As part of fully decoupling code we send a snapshot from a business service (running a SQL statement). 

sql service                         Processor                                File Out

This is picked up by a processer and puts it into a file .txt. 

Issue is if you open it up via the SQL.snapshot message as this is 46,819 rows it'll take too long to respond to opening up the sql.snapshot in the message viewer when viewing the session if looking from the business service 

Is there any way to not have this xml open up in full in the portal? I.e. have a see more?

3
0 217
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 256
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.

2
0 308
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.

9
0 974
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 220
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 When P.

1
0 157
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.

0
0 126
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 98
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 191
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.

5
3 807
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 ^EnsLib.

4
1 286