#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 Ashok Kumar T · Jul 4, 2024

Hello Community,

I've configured a FHIR Server in FHIR Configuration "/csp/healthshare/learn1/fhir/r4 " and I enabled a JWT Authentication for this web application. I've invoked this url http://localhost:52773/csp/healthshare/learn1/fhir/r4/login with basic auth get the JWT token. Now I use the access token as a "Bearer" for GET the patient resource. But I got 401Unauthorized error. Anyway I can get the patient resource with basic auth. I tired assign with %ALL role for testing as well. Did I miss any additional configuration in "FHIR Server Configuration"

0
0 132
Article Tomoko Furuzono · Jul 4, 2024 1m read

InterSystems FAQ rubric

$ZTIMESTAMP returns the date and time in UTC format, so to change it to the local time zone, use the following system method: 

$SYSTEM.Util.UTCtoLocalWithZTIMEZONE($ZTIMESTAMP)

The above output will be in the format ddddd,sssss.fff.

    ddddd: Same format as $HOROLOG dates
 sssss: An integer indicating the number of seconds elapsed since midnight on the current date
 fff: Variable number of digits indicating the fractional part of a second

* Similar to $HOROLOG, except that $HOROLOG does not include fractional seconds. 

SAMPLES>write$SYSTEM.Util.UTCtoLocalWithZTIMEZONE($ZTIMES
1
0 250
Article Keren Skubach · Jul 4, 2024 1m read

Have you ever imported an XML schema from an XSD file? You might want to look at the original file again sometime later, but forgot where you put it.

Do not worry, that information is being kept as part of the import process.

The whole imported XSD schema is being kept in the ^EnsEDI.XML.Schema global. That global holds all the imported XSDs in your namespace. The first subscript is the name of the schema that you see in the portal.

To look for the source XSD file location, simply look at the following place:

^EnsEDI.XML.Schema(<schema name>,"src",1)

For example:

ZW^EnsEDI.XML.Schema("PatMedData"
0
0 278
Question Thomas Haig · Jul 3, 2024

Trying to test a router that takes an XML input and performs a transform on it.
First attempt I tried to test the transform using the XML Document Viewer via the Ensemble -> Interoperate -> XML Document Viewer menu. The transform itself is working however I can not get the output to save to a file. I've made sure permissions are set correctly on the file. It simply doesn't output anything and I'm at a loss as to why.
As another method I also tried testing via Ensemble -> Test -> Business Hosts.Putting the file path/name as the source does not send any data.

0
0 122
Question Aman · Jul 2, 2024

Hello Community,

I'm a beginner and currently working on a project to convert CCDA files to FHIR using InterSystems IRIS. I have developed a web form to upload CCDA files, and I'm attempting to convert the uploaded CCDA files to FHIR. However, I am encountering an issue where the conversion process results in an empty entry.
Here's the Output it displays on HTML page:

Size of CCDA Stream: 74152
vR4
{"resourceType":"Bundle","type":"transaction","entry":[]}

Here is my code: CCDtoFHIR.csp

<!DOCTYPE html><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=
9
0 232
Question Will · Jun 18, 2024

HI,

I'm migration an existing integration to InterSystems.  The upstream (external) system calls a JSON web service hosted in the interface engine, which converts the JSON data received to a HL-7 messages to send to the downstream system. I'm looking for direction and example of how to do the equivalent in InterSystems, so the the upstream system only has to modify the URL of the web service they call.

I suppose in IS we'll need to create a business service that is a RESTful JSON web service? How to access the JSON data (parameters in the web service call) in the Transformation?

Thank you!

W

2
0 391
Question Scott Roth · Jul 1, 2024

Up until recently, I have been toying around with REST/FHIR capabilities but only internally. Now I have a request to make REST API calls outside of our Network. 

I am using an RSA 4096 key, because Microsoft Active Directory Services which generates the signed certificate could not handle the Elliptical Key (ECC) when I put the request in.

  • Others in the Healthcare industry, how have you handled this when there isn't an API manager involved?
  • Do you connect directly through the Interoperability Engine using a TLS key?
  • How have you ensured that the TLS is enough to keep it secure and not
0
0 203
Question Veerraju Grandhi · Jun 16, 2024

Hi, My python code to import a task is as below –

# dont disturb below lines

import irisnative

hostname = "127.0.0.1"

port = 1972

namespace = "%SYS" #change the namespace based on situation

username = "_SYSTEM"

password = "xxxxxxxx"

logfile = "exetask.log"

connection = irisnative.createConnection(hostname, port, namespace, username, password)

dbnative = irisnative.createIris(connection)

# dont disturb upto here

print("Importing LIS Backup Task")

imptask = dbnative.classMethodValue('%SYS.Task','ImportTasks(FileName = "F:\ZBackup\LISBackupTask.xml",qspec = "d")')

print("After Import LIS Backup Task:

11
0 216
Question Scott Roth · Jun 28, 2024

Has anyone noticed weird behavior when upgrading to HealthShare Health Connect 2024.1

Wednesday I upgraded our TEST environment from IRIS for UNIX (Red Hat Enterprise Linux 8 for x86-64) 2022.1.4 (Build 812_0_22913U) [HealthConnect:3.5.0-1.m1] [HealthConnect:3.5.0-1.m1] to IRIS for UNIX (Red Hat Enterprise Linux 8 for x86-64) 2024.1 (Build 267_2U) [HealthConnect:3.5.0-1.m1].

Some of our Business Processes have been throwing...

ERROR <Ens>ErrBPTerminated: Terminating BP EnterpriseDirDBWorkDayAppointmentBPL # due to error: ERROR #5002: ObjectScript error: <LIST>%SerializeObject+7

2
0 284
Question David Cui · Jun 4, 2024

Hi in mumps, we have B "S".  This way one can step command by command.  How can we do this with vscode?  F10 only step to the next line.

Say, if I have a line like

S A=1 S B=2 S C=A+B

I cannot step within the line.  But with "S", one can.

Do you have any idea?

Thanks,

David

8
0 334
Question Scott Roth · Jun 27, 2024

IRIS for UNIX (Red Hat Enterprise Linux 8 for x86-64) 2024.1 (Build 267_2U) Tue Apr 30 2024 16:06:39 EDT [HealthConnect:7.2.0-1.r1]

I have a use case where Epic is sending an A60 Allergy transaction is set at the Patient level, but we have a system called VIBE which needs the ADT at an Encounter level instead. Currently we store ADT information in a MS SQL database for years, and we are querying it to get the latest Account Number to insert into the ADT^A60 for VIBE.

This MS SQL Visit Database was built over 20 years ago and is quite cumbersome to keep maintaining.

2
0 241
Announcement Timothy Leavitt · Nov 8, 2021

If you're building solutions on IRIS and want to use Git, that's great! Just use VSCode with a local git repo and push your changes out to the server - it's that easy.

But what if:

  • You're collaborating with other developers on a shared, remote development environment and want to avoid concurrent editing of the same file
  • You're using editors based in the management portal for BPL, DTL, pivots, dashboards, etc. and want straightforward source control for your work
  • You're still using Studio for some things and/or occasionally jump back there from VSCode - or, your team has not yet fully
50
15 5238
Article Hiroshi Sato · Jun 27, 2024 1m read

InterSystems FAQ rubric

You can use the List query of the %SYS.Audit to output audit logs programmatically.

The sample code is as follows:

Set statement=##class(%SQL.Statement).%New()  
 Set status=statement.%PrepareClassQuery("%SYS.Audit","List")
 Set rs=statement.%Execute()  
 Set tab = $char(9)
 While rs.%Next() {    
   Write rs.%Get("TimeStamp")_tab_rs.%Get("Event")_tab_rs.%Get("Username"),!      
 }
0
0 279
Article Robert Cemper · Mar 21, 2024 2m read

This is an attempt to run a vector search demo completely in IRIS
There are no external tools and all you need is a Terminal / Console and the management portal.
Special thanks to Alvin Ryanputra as his package iris-vector-search that was the base
of inspiration and the source for test data.
My package is based on IRIS 2024.1 release and requires attention to your processor capabilities.

I attempted to write the demo in pure ObjectScript.
Only the calculation of the description_vectoris done in embedded Python
Calculation of a vector with 384 dimensions over 2247 records takes time.
In my Docker

11
2 579
Discussion Robert Barbiaux · Jun 27, 2024

When using VS Code client-side editing in combination with a file-based revision control system such as git, I find activities such as branch switching and moving/renaming classes and packages a bit tedious, since you to maintain the connected namespace in sync manually.
I am not aware of a built-in way to do this with VS Code Extension. Just added an idea to the portal that is about adding some kind of mechanism to do this automatically, please do not hesitate to comment, amend and vote for idea DPI-I-608  😊

0
0 209
Question Rich Taylor · Jun 27, 2024

The SYS.Mirror CatchupDB() method requires a System File Number/Inode value as a parameter.   I have not yet found a suitable internal method to get this value.  Is anyone aware of a utility method that would do this?   I do know I can get this value with a small amount of Python or by calling out to the OS.  However I wanted to stick with pure Objectscript in this project if possible.  

Failing in this I will use embedded python to run the line or two of Python needed to get this value.

Thank you for any hints

5
0 184
Announcement Anastasia Dyubaylo · Jun 26, 2024

Hi Developers,

Watch this video to learn how UC Davis Health is implementing a centralized operations-monitoring and alerting framework to handle notifications across its InterSystems IRIS infrastructure using ServiceNow, an IT service management platform:

⏯ Advanced Integration Monitoring & Alerting at UC Davis Interfaced with ServiceNow @ Global Summit 2023

0
1 174
Question William Liu · Jun 26, 2024

Each DTL calls “ConstructClone” to make a copy of the message before making any changes to it. There will be hundreds of cloned-objects in case of hundreds of DTLs

It is expected to run the rules chain by using Rule Editor without DTL, namely against a SINGLE cloned-object (for example HL7 2.3, ORU_R01) with a FunctionSet in case of hundreds or thousand of rules under same protocol

Question is how to pass the cloned-object from one rule 1 to rule 2, and send the modified object to target Process or Operation in Rule Editor?
 

0
0 120
Announcement Laurel James (GJS) · Jun 26, 2024

Migrate to VS Code this summer with our comprehensive Basics and Advanced Features training courses.

George James Software is offering migration strategies and training to support the adoption of VS Code with InterSystems IRIS, IRIS for Health, HealthShare, and Caché. We're in the unique position of having deep knowledge and understanding of both InterSystems platforms and VS Code, through our regular contributions to VS Code itself.
 

Studio to VS Code Migration - The Basics (2.5 hours)
An interactive training webinar for those who currently use Studio and wish to migrate to VS Code.

0
1 212
Question Carl (booz Allen) Deitrich · Jun 25, 2024

Given a properly formatted ISO 8601 date time of 2024-06-23T06:03:00Z using SQL DatePart results in an error:

  [SQLCODE: <-400>:<Fatal error occurred>]

  [%msg: <Invalid input to DATEPART() function: datepart='ss', datetime value='2024-06-23T06:03:00Z')>]

If I remove the trailing Z (for Zulu / UTC time) and leave the T, DatePart works fine.

I have also tried various ± offsets from UTC e.g. +0400 and that also results in the same SQL error

I can Trim the trailing "Z", but I would hope that DatePart would work with an acceptably formatted ISO 8601 date time string without having to go through the

2
0 268
Question Yone Moreno · Jun 25, 2024

Hello,

Thanks for reading this question.

We need to remove the line feeds and carriage returns from start and end, but not from the middle of a string

We have tested the following ways:

set output = $ZStrip("[line feed](carriage return) str [line feed](carriage return) ing [line feed](carriage return)","<>C")

But it removes also control characters which we need to preserve...

Also we have tested:

set output = $REPLACE("[line feed](carriage return) str [line feed](carriage return) ing [line feed](carriage return)",$C(13,10),"")

But it deletes line feed and carriage return at the middle of the

7
0 529