#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.

Question Nay Chi Lynn · Nov 23, 2023

I'm currently facing an issue with a Python script in my IRISHealth environment and would appreciate your insights.

I've written a class method, `getTokenCount`, in Python, which uses the `tiktoken` module. However, when I run the script in the terminal using `do ##class(python.openaiUtils).getTokenCount("")`, I encounter the following error:

```
<THROW> *%Exception.PythonException <THROW> 230 ^^0^DO ##CLASS(python.openaiUtils).Test() <class 'ModuleNotFoundError'>: No module named 'tiktoken.core' -
```

I have already installed `tiktoken` in the correct directory (`C:\InterSystems\IRISHealth\b

3
0 477
Question Thom de Groot · Nov 15, 2023

Hello,

For a particular problem we were trying to parse a relatively large *.csv file with a recordmap. We are doing this from a BPL where we start with a REST call to acquire the file. This file needs a slight transformation which we tried in a DTL. However DTL's seem to be incapable of parsing larger files. 

We see two different alternatives: The first one to write custom code to parse the file. And the second option to write SQL queries and to write the output to a csv file.  We were wondering what the best practice for parsing larger files, transforming the data, and filter the data to d

7
0 563
InterSystems Official Bob Kuszewski · Nov 22, 2023

It’s hard to believe that this wraps up our first year of quarterly platform updates.  Thank you for making this a great first year.  Today’s update talks about the planned Minimum Supported CPU list, OpenSSL 3.0 for AIX reaching GA, and a bit more.  We’ll be back for 2024!

This update aims to share recent changes as well as our best current knowledge on upcoming changes, but predicting the future is tricky business and this shouldn’t be considered a committed roadmap. 

With that said, on to the update…

InterSystems IRIS Production Operating Systems and CPU Architectures

 

Minimum S

0
1 553
Article Robert Cemper · Nov 19, 2023 1m read

Based on the successful solution for my 2nd contribution to the Contest 
I used an adapted version for this package. And have some findings I'd like to share.

Multiple communication steps over CPIPE may take time.
You won't recognize it on a fast machine. But a slower box with
Windows + Docker Desktop + your browser (and more) is neither
"Speedy Gonzales" nor a "Road Runner". 🙂

First observation you launch your OS command and see NO result
On the console, you just sit there and expect a reply.
Establishing the Connection to IRIS is a typical case.
Jour redirected Output is just empty.  

This happe

1
0 259
Question Cyril Grosjean · Nov 15, 2023

Hello,

In response to the infrastructure needs of our company's service, I've created a small API that sends SNMP queries to InterSystems to visualize relevant data for retrieval when the infrastructure implements monitoring.

However, I'm experiencing a timeout issue when attempting to collect information using an SNMP walk. Here is the code for my API's SNMP service:

import snmp from"net-snmp";

const options = {
    port: 161,
    retries: 4,
    timeout: 3000,
    transport: "udp4", // Uniquement udp4 et udp6 possible
    trapPort: 162
};

const oids = [ "1.3.6.1.4.1.16563.4.1

1
0 407
Article Robert Cemper · Nov 19, 2023 2m read

There are situations when your only access to a server is using a web browser,
and there is just no chance of a Terminal or Console access.
The Online Demo Server is such a case.

So you have WebTerminal. That's fine for ObjectScript and Embedded Python.

But my demo is straight Java. And is interactive.
$ZF(-100...) is some aproach. But it's rater batch-oriented and not interactive.
@Enrico Parisi  presented a nice extension to WebTerminal recently.
It's close to my own packageWebCommand that I presented a year ago.

They all act in the same way. It is always a single-shot approach:
Launch a comma

0
0 234
Article Megumi Kakechi · Oct 19, 2023 2m read

InterSystems FAQ rubric

A tool (^GLOBUFF utility) is available to check the database cache usage for each global variable.

You can run the utility directly or programmatically in the %SYS namespace.

Here's how to run the utility directly:

USER>zn "%SYS"
 
%SYS>do ^GLOBUFF
 
Find which globals are using the most buffers.
 
Display the top <25>:     → Press Enter  // Default is to display top 25 globals
 
Total buffers: 102400     Buffers in use: 6926     PPG buffers: 77 (1.112%)   // Global name, database name, percentage occupied by the buffer
 
Item  Global                             Database    


5
1 932
Article Tomoko Furuzono · Jun 1, 2023 1m read

InterSystems FAQ rubric

You can set the maximum size of the IRISTemp database at IRIS startup by setting a configuration parameter called MaxIRISTempSizeAtStart.

After setting, the system will truncate IRISTemp to the set value (MB) at the next IRIS startup. If the current size is less than the specified MaxIRISTempSizeAtStart, no truncation will occur. Also, if 0 is specified, truncation will not be performed, so the size will start without changing. (Default) Settings are made from the menu below.

Management Portal
[System Administration] > [Configuration] > [Additional Settings] > [Start]

1
0 755
Article Robert Cemper · Nov 10, 2023 2m read

In my previous articles, I described my Command Line Extension to NativeAPI.
Of course, this is also available for any other NativeAPI package.
So I created this example as a demo for the actual Java Contest.
<--break->
The package contains also an IRIS server in Docker for the demo
It is evident that it also works with any remote IRIS server.
You just have to provide it with my NativeAPI CommandLine Extension.

I think this demo is easy to follow and shows the essential features.

  • First, you install the package and start the container
  • then you start the demo
    docker-compose exec iris java rcc
  • Next, you c
2
0 322
Article Robert Cemper · Nov 15, 2023 2m read

This is the related article to the package in Java Contest. 
I decided to present a CRUD++ Global Editor based on IRIS Native API for Java.
++ because it’s a little bit more than just Create, Read, Update, Delete
Visualization of a global is always important to review results immediately.

  • For this purpose, I have extended the API with a Tree Viewer that mimics  ZWrite and allows also the examination of subtrees.
  • A $Query Style Navigator Forward and Reverse operating for easy finding the Global node of interest.
  • Finally, an option to ZKill to delete the content of a Global Node without deleti




2
0 450
Article Mihoko Iijima · Nov 9, 2023 1m read

InterSystems FAQ rubric

To create a user-defined error you need to prepare the XML that describes the error code and corresponding message that you want to use as a user-defined error.

Please set the error code as a negative integer.

<?xml version="1.0" encoding="UTF-8"?> 
<MsgFileLanguage="en"><MsgDomainDomain="UserErrors"><MessageId="-111"Name="MyError">An error has occured</Message> 
    <MessageId="-222"Name="MyError2">An error has occured 2</Message> 
  </MsgDomain></MsgFile>

Once the XML file is created, load it into the namespace you want to use.

setx=##cla
2
2 717
InterSystems Official Fabiano Sanches · Nov 15, 2023

The 2023.3 releases of InterSystems IRIS Data PlatformInterSystems IRIS for Health, and InterSystems IRIS Studio are now Generally Available (GA).

RELEASE HIGHLIGHTS

2023.3 is a Continuous Delivery (CD) release. Many updates and enhancements have been added in this release:

Enhancing Cloud and Operations

Journal Archiving: Starting with this release, system administrators can now configure an archive location for completed journal files. When configured, after a journal file switch, the completed journal file will first be compressed (using the Journal Compression feature) and then autom

0
0 377
Announcement Larry Finlayson · Nov 15, 2023

Managing InterSystems Servers – In Person  December 11-15, 2023

  • This five-day course teaches system and database administrators how to install, configure and secure InterSystems server software, configure for high availability and disaster recovery, and monitor the system. Students also learn troubleshooting techniques.
  • This course is applicable to both InterSystems IRIS and Caché. Although the course is mostly platform independent, students can complete the exercises using either Windows or Ubuntu.
  • Self-Register Here
0
0 157
Announcement Larry Finlayson · Nov 15, 2023

Developing with InterSystems Objects and SQL – IN PERSON December 4-8, 2023   9:00am-5:00pm US-Eastern Time (EST)

  • This 5-day course teaches programmers how to use the tools and techniques within the InterSystems development environment to build high-performance transactional applications. Learners build a complex application using an IDE, object-oriented design, SQL and unit testing.
  • This course is applicable for users of InterSystems IRIS Data Platform and Caché.
  • Many benefits are offered by being physically in the classroom with our instructors for a more personalized educational experi
0
0 152
Question Adam Raszkiewicz · Nov 14, 2023

Which process notify Web Gateway when to switch to secondary/mirror IRIS? I'm trying to debug a case when the web gateway doesn't know about primary IRIS failure and is trying to send request to that instance which is causing 500 error. Also, no clue why at the same time I see that GET request to /csp/bin/mirror_status.cxw will return 200 OK.

Our setup is 2 web gateways, primary IRIS, secondary/mirror IRIS and an arbiter.
 

2
0 249
Question Michael Davidovich · Jul 27, 2022

After some trials, I am comfortably on my way developing spec first REST APIs using /api/mgmt/, OpenAPI 2.0, testing with Postman.

My question is related to scaling up.

Assume these things:

- Our software is CSP web app and it's web application is '/csp/application'

- I created a new REST enabled web app called '/csp/application/v1' and for my first API I created a spec that defines an endpoint /getTeapots so the endpoint is localhost/csp/application/v1/getTeapots

- Using the /api/mgmt/ endpoint, I loaded the spec into API.TeapotLibrary

- The dispatch class in '/csp/application/v1' thus

6
0 558
Announcement Benjamin De Boe · Nov 14, 2023

We recently published a new White Paper on the use of reporting nodes ("asynchronous reporting mirror members" in full) in a mirrored environment. More and more customers are looking into this mechanism as a quick and easy way to set up a copy of their production data that stays current, yet can be used for analytical querying or heavy-duty reporting workloads without impacting the source system. Read the White Paper here.

As always, we're curious to hear your own feedback on how you've used this mirroring option in your organization, and whether you have ideas on how we can make it even more

0
1 221
Announcement Anastasia Dyubaylo · Nov 10, 2023

Hi Community,

Watch this video to learn how to use the GitUI plugin in the HealthShare Health Connect Cloud user interface to make changes to your interfaces in the Management Portal and commit them directly to your source control workflow.

⏯ Using UI Based Source Control for Health Connect Cloud

0
1 213
Article Bob Kuszewski · Nov 9, 2023 3m read

Introduction

InterSystems would like to optimize IRIS to take advantage of modern CPU instruction set extensions.  That’s great for product performance, but how do you know if your CPU will still be supported for new IRIS builds?  Here’s how to know your CPU’s microarchitecture family as well as how to find out your CPU’s specific instruction set extensions.

0
3 1246
Question Scott Roth · Oct 26, 2023

This is probably not the right place, but I don't know who I can reach out to... I am trying to configure an Apache/Web Gateway to our instance of IRIS so we are no longer using the built-in PWS. Can anyone point me in the right direction to configure Apache/Web Gateway to repoint

http://<server name>:52773/... to the https://<server name>/...

gateway so our users will not notice? How do I do this in Apache, do I need to modify httpd.conf or the ssl.conf file? What is the correct syntax...

This is what I tried to do in the httpd.conf file

<VirtualHost *:52773>
    ServerName int-lxiris-vd
7
0 626
Question Scott Roth · Nov 7, 2023

We are moving away from Delegated Authentication in which I stored a username and password for our LDAP in a GLOBAL to be called by ZAUTHENTICATE.

Is there a way to pull in that GLOBAL into the LDAP Configuration within the Managment Portal instead of having to manually enter it? There seems to be an issue with Copy/Paste that the password isn't being set correctly when I use Copy/Paste.

Else I just export/import the LDAP Configuration from 1 server to another and manually update the Certificate to point to the correct file.

Thanks

Scott

0
0 192
Article Mihoko Iijima · Nov 2, 2023 3m read

InterSystems FAQ rubric

For routines (*.mac)

You can hide the source by exporting/importing only the *.obj that is generated after compiling the source program.

The command execution example specifies EX1Sample.obj and EX2Sample.obj, which are generated by compiling EX1Sample.mac and EX2Sample.mac, as export targets and exports them to the second argument file.

After moving to another namespace, I am using the exported XML file to perform the import.

USER>do$system.OBJ.Export("EX1Sample.obj,EX2Sample.obj","D:\routine.xml")       
Exporting to XML started on 10/23/202311:33:49
Exportin
1
0 660
InterSystems Official Fabiano Sanches · Nov 1, 2023

InterSystems announces its fourth developer preview for the 2023.3 release of InterSystems IRIS® and InterSystems IRIS for HealthTM.

Future preview releases are expected to be updated biweekly and we will add features as they are ready.

Please share your feedback through the Developer Community so we can build a better product together. Initial documentation can be found at these links below. They will be updated over the next few weeks until launch is officially announced (General Availability - GA):

Highlights

There are several excitin

0
0 312
Announcement Shane Nowack · Nov 1, 2023

Hello Community,

The Certification Team of InterSystems Learning Services is excited to announce the release of our new InterSystems HL7® Interface Specialist Recertification Project! If you hold the InterSystems HL7 Interface Specialist certification AND your certification's expiration date is within 6 months of today's date, you can get recertified by successfully completing the recertification project. Completing an InterSystems recertification project is one of two options a certification candidate can choose to get recertified (the other option is to take the new version of the exam).The

0
0 328
Question Evgeny Shvarov · Oct 30, 2023

Hi colleages!

This is very easy to setup a FHIR server in InterSystems IRIS for Health.

It could be even one IPM command with this package:

USER>zpm "install fhir-server"

But which FHIR portal could you recommend to use?

I used to work with this one, which is very easy to install too:

USER>zpm "install fhir-portal"

 but it doesn't work at the moment and I'm not sure if its main contributors @José Pereira and @Henrique Dias plan to support it.

What do you use? What do you recommend? Ideally installable with IPM package manager. Thanks!

3
0 383