#InterSystems IRIS for Health

10 Followers · 2.5K 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.

Question sween · Apr 1, 2022

Upgraded IRIS/Connect to 2022.1 and /api/atelier no longer works through a Web/CSPGateway.  Also upgraded the Web/CSPGateway to version WebGateway-2022.1.0.152.0 on Ubuntu and HTTPD Server version: Apache/2.4.29 (Ubuntu) with no luck as well.

It doesnt seem to matter if I add /api/atelier or /api/monitor to the enabled applications list, these routes do not make it back to the instance, however /csp, /csp/sys still does.

Am I missing a step in this upgrade process to serve these apps through Web/CSPGateway in the new kit version?

2
0 379
Question Mark OReilly · Aug 24, 2022

I am using $Query to loop through a global. 

When I use $GET to get the data all we get back is the global name. 

How do you get the value of the global after you have looped. 

Below is my example in terminal. 

Thank you in advance 

Set node = $Query(^FromExtraMed("")) 

w node
^FromExtraMed("A02",9220)

If i try w $GET(node) it returns 

^FromExtraMed("A02",9220)

If i had this hardcoded it would have got the value

w $GET(^FromExtraMed("A02",9220))
0,66340,2120

I have already read the documentation and it is not clear. Can someone advise? 

5
0 404
Question Richard Cawthraw · Jul 27, 2022

I am receiving batched results in an EDIFACT file. I need to debatch and send individual HL7 out. I have built a DTL to read the first instance of a result from EDIFACT and that generates an ORU^R01 as desired, but I have no idea how to make the DTL loop and send multiple HL7 messages outbound.

I did go down the path of stripping the first instance of a result from the EDIFACT, then sending the now truncated EDIFACT data back to itself. This works well in theory but I then need a while loop in the Rule Editor, and I cannot seem to access the source.

1
0 269
Question Michael McGrann · Aug 15, 2022

We are looking for a 3rd party application that can scan our IRIS based Cache Object Script code for vulnerabilities or coding weaknesses.  There are many, many applications/vendors out there that do code scanning but none seem to support Cache Object Script or scanning the IRIS environment.   If anyone is aware of a company/product that can scan our code / IRIS environment, I would love to hear about it.

Thanks in advance for the help.

Mike

3
0 588
Question Lewis Houlden · Aug 17, 2022

I am trying to import a large base64 string into objects but I can't seem to get it to work:

ClassMethod Test() As %Status
{
Set readerForItkRequestData = ##class(%XML.Reader).%New()
 
Set file="c:\Source\test_full.xml"
 
Set status = readerForItkRequestData.OpenFile(file)
Do readerForItkRequestData.Correlate("Envelope","Phu.Epro.Schema.Itk.Envelope")
set temp = readerForItkRequestData.Next(.pOutput,.tStatus)
Do pOutput.%Save()

}

The class I'm trying to project to: 

Class Phu.Epro.Schema.Itk.Payload Extends (%Persistent, %XML.

4
0 453
Article Lucas Enard · Aug 17, 2022 8m read

In this GitHub we gather information from a csv, use a DataTransformation to make it into a FHIR object and then, save that information to a FHIR server all that using only Python.

The objective is to show how easy it is to manipulate data into the output we want, here a FHIR Bundle, in the IRIS full Python framework.

1. Fhir-orga-dt

3
0 665
InterSystems Official Fabiano Sanches · Aug 17, 2022

This is the fifth in a series of releases that are part of the developer preview program for 2022.2 Future preview releases are expected to be updated biweekly and we will add features as they are ready.  Many updates, fixes and enhancements  have been added in 2022.2, in SQL management, cloud integration, Kafka and JMS adapters, the SQL Loader, and other areas. Please share your feedback through the Developer Community so we can build a better product together.

The Early Access Program (EAP) is still active for the Columnar Storage.

0
0 322
Question Chi Wan Chan · Jun 27, 2022

Hi all,

I am trying to test the IAM locally, but I came to a issue. When I turned on the the Basic Authentication, I get an 503 Service Unavailable.
error.

This is the scenario/setup:

1
0 411
Article Michael Braam · Aug 17, 2022 12m read

Being interoperable is more and more important nowadays. InterSystems IRIS 2022.1 comes with a new messaging API to communicate with event streaming platforms like Kafka, AWS SQS/SNS, JMS and RabbitMQ.
This article shows how you can connect to Kafka and AWS SQS easily.
We start with a brief discussion of the basic concepts and terms of event streaming platforms. 

Event streaming platforms purpose and common terms

Event streaming platforms like Kafka or AWS SQS are capable to consume a unbound stream of events in a very high frequency and can react to events.

0
1 641
Question Michael Davidovich · Aug 12, 2022

Does anyone have experience with CircleCI or really any automation tool using %UnitTest?

I have built my app and ran my unit test in a Docker container automated by CircleCI.  However, after many of the tests failed I see:

How do you halt out of the IRIS session and return an exit code to the shell?

I have a script in my repo that I pass into IRIS after CircleCI does the code checkout

iris session IRIS < inFile

Am I trying to approach this the wrong way?  Should I be writing test output to a file or something?

8
0 577
Question Glenn Bickel · Aug 11, 2022

Hi,

I encountered a strange issue I just can’t solve and I am running out of ideas. After reading the relevant passages of the documentation, asking the community is my last resort.

 

The task itself is not complicated at all. I am using an EnsLib.SQL.OutboundAdapter to connect to a MS SQL Server (12.0.6433.1) and execute a simple query. Said query is using a temporary table from which I just can’t select any data afterwards. All I get is this error message: <Ens>ErrNoSQLColumns.

3
0 387
Question Suzy Green · Aug 10, 2022

I am trying to use the IRIS connection to connect from our LIS to Health Connect (ENSEMBLE) directly.  You can do this in the same namespace using this:

##class(Ens.Director).CreateBusinessService(Ensemble Service Name,.theService)
theService.ProcessInput(TRAN,.response)

I would like to be able to do the same thing across servers using IRIS connection.  I have the following connection:

 

                set connection = ##class(%Net.DB.DataSource).CreateConnection(host, port, namespace, user, pwd)
                if 'connection.

3
0 384
Article Muhammad Waseem · Jul 26, 2021 2m read

Healthcare interoperability is instrumental in improving patient care, decreasing healthcare provider costs, and providing a more accurate picture to providers. However, with so many different systems, data is formatted in many different ways. There are many standards that have been created to try to solve this problem, including HL7v2, HL7v3, and CDA but each one has its drawbacks.

FHIR, or Fast Healthcare Interoperability Resources, is a new format for healthcare data that aims at solving these problems.

2
1 3016
Question Nicky Zhu · Mar 16, 2022

Hi guys, I'm calling a java method as below:

 

public static byte[] SM4EncryptJson(byte[] arg0) throws Throwable {

String inJson = "";

try {

//logger.info("Payload :" + arg0);

inJson = new String(arg0);

//logger.info("As String :" + inJson);

EncTarget payload = JSON.parseObject(inJson, EncTarget.class);

return SM4Encrypt(payload.getContent().getBytes(),payload.getSecretKey());

}catch (Exception e){

logger.error("Error encrypting : ", e);

logger.error("Content : " + arg0);

logger.error("As String : " + new String(arg0));

//logger.log(Level.SEVERE, e.
4
0 469
Question Nicky Zhu · Jun 10, 2022

Hi,guys

My client is using IRIS 2021.1 Interoperability and they want to highlight the sessions with unresolved(without resent and completed operations) errors so their maintenance team can have a list of unresolved sessions to check against.

When I'm working on it, it seems to be it is is difficult to decide whether a session have unresolved errors. For example,

enter image description here

in this session, the entry async request is labelled as error after the following dispatches was resent and completed. So it is not correct to decide with the entry.

2
0 466
Question Jonathan Lent · Aug 4, 2022

I've faced a problem that happens while debugging a process in VSCode. It doesn't seem to matter if this is in a container, on my development VM, or against a locally installed version of IRIS. The problem seems to be mostly with X12 Documents.

So, in a debug session, I can dump out a value to the debug console and it loos correct. The same variable in VSCode appears to be some uninitialized memory location.

In the interactive debugger window:

In the Variables Window:

Host Workstation:

It's not all variables, as you can see, and it always seems to to be same garbage values that get populated.

4
0 480
Question Phillip Wu · Aug 5, 2022

I want to get Mirror Status and copy this report into a file for audit purposes.

I have a Linux servers for IRIS DB with this layout:
LIVETC01           Backup
LIVETC02           Primary
LIVEDR             Async Copy
ARBITER

I understand that this will get me the mirror status
# sudo -u irisowner iris session LIVETC01
LIVETC01:USER>zn "%SYS"
LIVETC01:%SYS>do ^MIRROR

1) Mirror Status
2) Mirror Management
3) Mirror Configuration

Option? 1

1) List mirrored databases
2) Display mirror status of this node
3) Display journal file info
4) Status Monitor

Option?

6
0 690
InterSystems Official Fabiano Sanches · Aug 4, 2022

This is the fourth in a series of releases that are part of the developer preview program for 2022.2 Future preview releases are expected to be updated biweekly and we will add features as they are ready.  Many updates, fixes and enhancements  have been added in 2022.2, in SQL management, cloud integration, Kafka and JMS adapters, the SQL Loader, and other areas. Please share your feedback through the Developer Community so we can build a better product together.

 The Early Access Program (EAP) is still active for the Columnar Storage.

0
0 373
Question Michael Davidovich · Jul 29, 2022

What are other's thoughts, opinions and experiences going from CSP to RESTful services, specifically when it comes to reusing code in CSP files?

One could define a method in CSP as follows:

<script language="cache" method="SubmitSomethingAwesome" arguments="aswesomeId:%Numeric"> 

And it's generated in csp.mycsppage.cls ascsp.mycsppage.SubmitSomethingAwesome(awesomeId as %Numeric).

Have people had success defining there rest call by calling the generated CSP classmethod?

3
0 543
Article Sylvain Guilbaud · Apr 20, 2022 4m read

During a major version upgrade it is advisable to recompile the classes and routines of all your namespaces (see Major Version Post-Installation Tasks).

do $system.OBJ.CompileAllNamespaces("u")
do ##Class(%Routine).CompileAllNamespaces()

To automate this administration task and keep a log of any errors, below is an example of a class to import and compile into the USER namespace that you can use after each upgrade : admin.utils.cls

 


 Class admin.utils.cls

3
1 1473
Article Murray Oldfield · Mar 8, 2016 8m read

Your application is deployed and everything is running fine. Great, hi-five! Then out of the blue the phone starts to ring off the hook – it’s users complaining that the application is sometimes ‘slow’. But what does that mean? Sometimes? What tools do you have and what statistics should you be looking at to find and resolve this slowness? Is your system infrastructure up to the task of the user load? What infrastructure design questions should you have asked before you went into production? How can you capacity plan for new hardware with confidence and without over-spec'ing? How can you stop the phone ringing? How could you have stopped it ringing in the first place?

13
6 4881
Article Murray Oldfield · Apr 27, 2016 11m read

InterSystems Data Platforms and performance - Part 5 Monitoring with SNMP

In previous posts I have shown how it is possible to collect historical performance metrics using pButtons. I go to pButtons first because I know it is installed with every Data Platforms instance (Ensemble, Caché, …). However there are other ways to collect, process and display Caché performance metrics in real time either for simple monitoring or more importantly for much more sophisticated operational analytics and capacity planning.

8
2 4638
Article Dan Berges · May 30, 2022 1m read

Alt Text

Hi everyone!

Just wanted to share here a quick post about my project for the Grand Prix :)

FHIR Patient Viewer is a single-page, reactive rendering tool built on Vue.js that displays in a human-friendly way the data returned from a /Patient/{id}/$everything call made to an InterSystems FHIR server. In the readme, I've included 3 main things: 1. A video demo connecting FHIR Patient Viewer to a sandbox IRIS FHIR server (the fastest way to test it); 2.

4
0 1401
Question Stefan Schick · Jul 20, 2022

Hello everyone,

I want to restore a database from an external backup with the journal files.

The manual says I should (in short):

  1. Stop journaling with ^JRNSTOP
  2. Restore the database file IRIS.DAT
  3. Run the journal restore utility with ^JRNRESTO
  4. Restart journaling ^JRNSTART

Since I want to restore one database only step 1 would disable journaling for the whole instance, not only for the database to be restored. As I understand, it would be impossible to restore a different database if there occurs a problem while journaling is disabled during the recovery process?

6
0 959
Question Michael Davidovich · Jul 26, 2022

I have successfully created REST service classes on my local IRIS server following this book: Using the /api/mgmnt/ Service | Creating REST Services | InterSystems IRIS Data Platform 2021.2

I am now 1) trying to edit impl.cls in VS Code and 2) export it to my local repo so I can push to the remote repo.

When I click on my project in VS Code and 'Add to project' and choose the new package, spec.cls and impl.cls, I get the following error:

ERROR #5540: SQLCODE: -114 Message: Unable to acquire lock for INSERT of child row for parent table '%Studio.

12
0 453
Question Mark OReilly · Jun 8, 2022

Hi:

Had an issue after upgrading to 2021.1 where search bar for interoability will bring up "INVALID ACTION". 

On upgrading to 2022.1 this still occurs. 

It did not occur on another environement that was upgraded from 2017.2 straight to 2022.1 

Is there any solution? Loads up SYS in url rather than customnamespacename

Issue is the url for instance brings through ip/csp/sys/EnsPortal.DTLEditor.zen?$NAMESPACE=X 

ip/csp/healthshare/customnamespace/EnsPortal.DTLEditor.zen?$NAMESPACE=X

I encountered this before and forget if there was a solution for this

1
0 385