#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 Luis Angel Pérez Ramos · Feb 7, 2024 6m read

In this article we are going to see how we can use the WhatsApp instant messaging service from InterSystems IRIS to send messages to different recipients. To do this we must create and configure an account in Meta and configure a Business Operation to send the messages we want.

Let's look at each of these steps in more detail.

Setting up an account on Meta

This is possibly the most complicated point of the entire configuration, since we will have to configure a series of accounts until we can have the messaging functionality.

Here you can read the official Meta documentation.

First we will create

1
4 751
Article Tomoko Furuzono · Jun 13, 2024 4m read

InterSystems FAQ rubric

Data for InterSystems products (table row data, object instance data) is stored in global variables.
The data size of each global can be obtained by clicking the properties of the global you want to view from the Management Portal > System > Configuration > Local Database > Globals page, and then clicking the Calculate Size button on the Global Attributes page that appears.
To display the data sizes of globals in a namespace, you can call ^%GSIZE utility on the terminal.
The method of execution is as follows.

USER>do ^%GSIZE
 
Directory name:
2
1 775
Question Veerraju Grandhi · Jun 9, 2024

I am actually new to IRIS, and we are DevOps/PowerShell/Ansible team. We want to achieve certain administration tasks like updating Memory, Heap size, Lock size etc., in Management Portal through PowerShell. Is there any way i can achieve this without out logging in into Management portal. Off course, we have namespace, user id and password details. We have installed ODBC drive and able to update tables in the IRIS database. I have seen updating information in management portal getting updated in cpf file but vice versa i am not aware. i did not try though. 

4
1 268
Article Hiroshi Sato · Jun 20, 2024 2m read

InterSystems FAQ rubric

The procedure for uploading/downloading from an FTP server is as follows.

1. Upload the image file to the FTP server

 set tmpfile="c:\temp\test.jpg"
 set ftp=##class(%Net.FtpSession).%New() 
 // connect to FTP server
 do ftp.Connect("","<username>","<password>")
 // set transfer mode to BINARY
 do ftp.Binary()
 // Move to the directory to upload
 do ftp.SetDirectory("/temp/upload")
 // Prepare a stream of files to upload  
 set file=##class(%File).%New(tmpfile)
 do file.Open("UK\BIN\")
 // upload file
 // 1st argument: File name to create at upload destination
 // 2nd argument: File
0
1 336
Article Hiroshi Sato · Jun 6, 2024 1m read

InterSystems FAQ rubric

If you want to run an OS executable file, command, or a program created within an InterSystems product when the InterSystems product starts, write the processing in the SYSTEM^%ZSTART routine. (The %ZSTART routine is created in the %SYS namespace).

Before you write any code in SYSTEM^%ZSTART, make sure that it works properly under all conditions.

If the ^%ZSTART routine is written incorrectly, or if it is written correctly but the command does not return a response or an error occurs during processing, InterSystems products may not be able to start.

For more information,

1
0 184
Question Mark OReilly · Jun 12, 2024

Hi:

We are looking again into DB size. Looking at our Ens.MessageHeaderI GSIZE is 3767107

Looking at the global i'm not sure if we have had an issue in the past so much of the data looks the same, we only have 3 values in the  $zwc and although some of the data in the $c between 1 and 18630 it looks very similar as if there was an issue in the past. But if anyone has any examples of their index param this would help to know if our global is abnormal. 

Data below 

^EnsLib.H.MessageI("Extent",18631)	=	$zwc(152,8000)/*$bit(1..64000)*/^EnsLib.H.MessageI("Extent",20750)	=	$zwc(152,8000)/*$bit(1..6400
1
0 145
Question Stefano Mandelli · May 24, 2024

I'm having problems with an HL7 message that is not properly parsed by IRIS (any version, including Ensemble).

The message is a OML_O21 and is valid, in fact is similar of what is described in the document "IHE Laboratory Technical Framework, Volume 2a (LAB TF-2a) version 6.0".
This is the sample from the IHE document (paragraph 2315):

MSH|^~\&|OF|Chemistry|AM|Automation|200309060825||OML^O21^OML_O21|msgOF101|T|2.5|123||||USA||EN
PID|1||12345^5^M10^Memphis_Hosp^PI||EVERYMAN^ADAM^^JR^^^L|19800101|M 2320
PV1|1|O|Ward|||||||||||||||12345
6
0 547
Question Kim Trieu · Jun 14, 2024

Hi, I am trying to optimize a method, I am only occasionally receiving Internal Server Error from GUI interaction and when viewing the Application Error Log in IRISHealth this is what I see. <UNDEFINED>%0Ac+3^%sqlcq.QM.uEgYAnxQ4duxnAiaOpZgvilz1tlo.1 *sqldata15d : CSP Error .

I have no idea how to read this and pinpoint the issue.

Full details below.

Namespace: QM
Process: 4624   06/15/2024 03:46:31 No: 2
Error: <UNDEFINED>%0Ac+3^%sqlcq.QM.uEgYAnxQ4duxnAiaOpZgvilz1tlo.1 *sqldata15d : CSP Error
Code Line:  
Comment:  
Stacks [Goto Bottom]
Expression Va
1
0 325
Question Yone Moreno · Nov 22, 2023

Hello,

First of all thanks for your help.

We have the following scenario: some responses include special characters as ">" and "<" which are being put inside a property defined as:

Property PACPROBLEMAS As %String(MAXLEN = "", XMLNAME = "PAC_PROBLEMAS");

So then, when we observe the LOG SOAP it shows that the Target System replies to the ESB as follows:

➡️ <PAC_PROBLEMAS>46807#278.01#OBESIDAD INFANTIL GRAVE     ( Z-SCORE IMC &gt;2,70 ) #19/09/2019##N#</PAC_PROBLEMAS>

However when we observe the Visual Trace, the message being replied from the Operation to the Process has a CDATA section as you

5
0 936
Question Stefan Schick · Jun 12, 2024

Hello Community,

I have encountered the following SQL problem trying to create a table from a SELECT statement.

I narrowed the problem down to the following example:

1. The SELECT statement alone works as expected.

SELECT m.Name, h.Status 
FROM EnsLib_HL7.Message m, Ens.MessageHeader h 
WHERE h.MessageBodyClassName='EnsLib.HL7.Message' AND h.MessageBodyID = m.ID

2. But if "CREATE TABLE ... AS" is added it fails

CREATE TABLE UKEr.Test AS
SELECT m.Name, h.Status
FROM EnsLib_HL7.Message m, Ens.MessageHeader h
WHERE h.MessageBodyClassName='EnsLib.HL7.Message' AND h.MessageBodyID = m.ID

with the

4
0 146
Question Michael Wood · Jun 6, 2024

I have an API that does not have all the data.  Like it is truncated. Magic number of characters seems to be 163,280

I do an <assign> 

context.RawBundle=##class(%DynamicObject).%FromJSON(context.FHIRResponse.Body)

The error does not happen when the response is < 163,280 chars.  And when < 163,280 chars, it is a complete FHIR Bundle.  Have anyone experienced this?  If so, what is the resolution?

2
0 243
Question Stella Ticker · May 29, 2024

I created a FHIR Client to execute a GET response from an external FHIR server. I set everything up according to this post: https://community.intersystems.com/post/create-fhir-rest-client#comment…

I was able to send a GET request and got a response of type HS.FHIRServer.Interop.Response.

But in the visual trace, I do not see the actual json response payload.  I opened the response object in terminal and saw it has a QuickStreamId, which I used with the HS.SDA3.QuickStream class to open the quickstream object. But how do I get the payload from this quickstream object? 

2
0 248
Article Luis Angel Pérez Ramos · Apr 29, 2024 5m read

For some time I have been planning to do some type of proof of concept with the Workflow functionality, which, like so many other functionalities present in IRIS, tends to go quite unnoticed by our clients (and for which I say mea culpa). That's why I decided a few days ago to develop an example of how to configure and exploit this functionality by connecting it with a user interface developed in Angular.

To avoid a very long article and make it more accessible, I am going to divide it into 3.

2
8 655
Article Luis Angel Pérez Ramos · Jun 7, 2024 7m read

Finally and with a little delay, we conclude this series of articles about our Workflow Engine by showing an example of the connection that we could make from a mobile application.

In the previous article we showed the example that we were going to discuss, an application that allows detailed control of a chronic pathology such as hypertension for both the patient and their associated doctor.

4
1 385
Announcement Shane Nowack · Jun 6, 2024

Hello Everyone,

The Certification Team of InterSystems Learning Services is developing an InterSystems ObjectScript Specialist certification exam, and we are reaching out to our community for feedback that will help us evaluate and establish the contents of this exam.  Please note that this is one of two exams being developed to replace our InterSystems IRIS Core Solutions Developer exam. You can find more details about our InterSystems IRIS Developer Professional exam here.

How do I provide my input? Complete our Job Task Analysis (JTA) survey!

0
1 241
Question Pascal Breugelmans · Jun 3, 2024

After upgrading we had 2 major problems with the new version:

- Resending messages adds blank lines.
Because we have many HL7 processes, we regulary have to resend messages if there is an outage of a server we connect with.

- IIS recycling causes webgateway connection problems, after change from PWS to IIS.
At unexpected times a connection can no longer be made.
The strange thing is that it does not occur with every recycle of the application pool.
Setting the password again in csp.ini usually works, but not always, which is of course a major problem.
I was wondering if there is a server component

2
0 216
Announcement Shane Nowack · Apr 22, 2024

Hello IRIS Community,

InterSystems Certification is developing a certification exam for InterSystems IRIS SQL specialists, and if you match the exam candidate description given below, we would like you to beta test the exam. The exam will be available for beta testing on June 9 - 12, 2024 at InterSystems Global Summit 2024, but only for Summit registrants (visit this page to learn more about Certification at GS24). Beta testing will open for all other interested beta testers on June 24, 2024. However, interested beta testers should sign up now by emailing certification@intersystems.com (please let us know if you will be beta testing at Global Summit or in our online proctored environment). The beta testing must be completed by August 2, 2024.

5
7 1494
Question Thembelani Mlalazi · Jun 3, 2024

I am trying to work with the FHIR Object Model where I convert an incoming  HL7v2 to SDA then FHIR. From here I would like to be able to process the FHIR Object by deserializing it to a Bundle object using the following code my problem is I keep on getting an error  which is not explaining much about what is wrong with what I am doing any help will be appreciated  thanks.

Property FHIRAdapter As HS.JSON.AdaptorFHIR;

Method OnRequest(pRequest As HS.Message.FHIR.Request, Output pResponse As HS.Message.FHIR.Response) As %Status
{

            set pmReqFHIRobj=##class(HS.FHIR.Model.Resource.Bundle).

3
0 345
Article Ariel Glikman · Jun 3, 2024 4m read

Data Analysis

This is the sequel to Data Collection. If you have not had a chance to go through and install that you should first do that.

What is provided here is the analysis for the collection of that data that was collected earlier.

In much the same way as was done in that repository you will need to import the xml that makes up this repository.

Starting at the topmost level there is a task:

InvestigateInfoTask

This task will allow us to set parameters that we will be monitoring. They are as follows:

image

GrowthPercentageWarning: What percentage growth is 'acceptable' for a global to grow.

PeriodWarnin

0
1 237
Article Ariel Glikman · Jun 3, 2024 7m read

Graphical Display of Tables

Here we will document how you can get the results of your Data Collection to be displayed graphically. The output of your project will look like this:

image

Note that I am working on a local machine. If you are doing this on a server then be aware to use the correct IP address.

First, we will import the three classes from the that we are going to need (note that we will edit them later):

You can take the xml and import it to your system.

The spec will actually create the dispatch class and implementation template.

0
2 321