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

Announcement Bob Kuszewski · Oct 28, 2021

Welcome to day 3 of Virtual Summit 2021!  We have incredible content available to you this year and I'd just like to bring your attention to the 4(!) sessions that we have on Embedded Python.

14
3 1034
Article Sergey Mikhailenko · Nov 30, 2021 1m read

Looking at my old articles recently. I saw an undeservedly forgotten program that can significantly increase the security of your system by not allowing the user to use old passwords when changing.

To meet the requirements of section 8.2.5 PCI DSS "Prohibit the use of old passwords", a small application has been implemented that will be launched by the system when a user tries to change a password and check if it was used before.

You can install the program from the terminal and from the management portal interface

Open IRIS terminal:

docker-compose exec iris iris session iris
...
%SYS>set ss

1
2 384
Article Sergey Mikhailenko · Nov 29, 2021 2m read

I recently published the "appmsw-docbook" module for deploying the solution not by individual programs, but by the entire database. This solution allows you to deploy a project without source codes.

Having received feedback, I decided to improve it significantly. Replaced zip archive with tgz, which will allow not using external system-dependent archivers.

Implemented a method for preparing an archive of a database and its dependent web applications. And the deployment archive itself is assembled as a zpm module into which the utility for deploying the database is replicated. Several such arc

0
1 419
Article Yuri Marx · Aug 12, 2020 1m read


Globals SQL Database DocDB - Document Database Multidimensional Cube Database NLP Database Object Database JDBC Driver ODBC Driver Native API for Java Native API for .NET Native API for Python C/C++ Callin/Callout Native API for Node.js Object Script Caché Multivalue Caché Object Script Caché Basic CSP/HTML Support T-SQL Infrastructure as Code (IaC) Docker InterSystems Kubernetes Operator IRIS in the Google Cloud Platform IRIS Community Edition ZPM - Package Manager IRIS in the Azure IRIS in the Tencent IRIS Sharding support InterSystems Cloud Manager InterSystems in the AWS InterSystems On-Premises Enterprise Cache Protocol - ECP Machine Learning R and AI robotization NLP - Natural Language Processing MDX - MultiDimensional Expressions AutoML - InterSystems IntegratedML Analytics/BI - Business Intelligence InterSystems Reports PowerBI Support PMML - Predictive Model Markup Language Apache UIMA Apache Spark Analytical Dashboards InterSystems Developer Community InterSystems Open Exchange - Open Source Apps, Samples and templates InterSystems Worldwide Response Center InterSystems Learning Services Interoperability Adapters DTL - Data Transformation MQ - Message Queue EAI - Enterprise Application Integration ESB - Enterprise Service Bus API Manager CDC - Change Data Capture BAM - Business Activity Monitoring BPL IoT - Internet of Things SOA - Service Oriented Architecture Application/Service Governance Data Encryption Authorization Management Authentication Management Audit Management Label Security SSL/TLS SOAP/API Security User Portal Security Data/Assets Security Disaster Recovery - Backup and Restore Data Intensive - ESG Review Big Data Artificial Intelligence API Driven Economy Digital Health Public Sector Digital Transformation Hyper automation Business Sector Data as Service Software as Service IRIS as Backend IRIS as Mobile backend IoT Backend

PDF version: https://github.com/yurimarx/iris-periodic-table/raw/master/periodic%20table%20iris.pdf

GIT sources: https://github.com/yurimarx/iris-periodic-table

InterSystems IRIS is a Data Platform with a lot of features. These features and relevant topics about IRIS is represented in the periodic table elements.

22
10 1691
Article Sergey Mikhailenko · Nov 29, 2021 2m read

Developing the project zpm "install isc-apptools-lockdown" implemented the ability to set the security level not only to lockdown, but also to minimum and normal.

Increasing security settings

You can replace the shared password if the password of the predefined system users has been compromised

USER>do ##class(appmsw.security.lockdown).ChangePassword("NewPass231",##class(appmsw.security.lockdown).GetPreparedUsers())

Apply Security settings to "LockDown"

USER>do ##class(appmsw.security.lockdown).SetSecurityLevel("lockdown","NewPassword123")

or equivalent

USER>zpm "install isc-apptools-lockdo
0
2 514
Question Ben Webb · Oct 28, 2021

Hi all, 
Just wondering if there's a quick way to get the DocType, without knowing it in advance, from a message body by building a string from the VersionID, MessageType, and TriggerEvent fields? (Similar to how it might be done dynamically in Rhapsody)
Can this then be used to set the DocType for a source message?
If this is not the best practice what is a suitable alternative approach?
Thanks for your help,
Ben

6
0 991
Article Dmitry Zasypkin · Oct 7, 2020 8m read

FHIR Terminology Service specification describes a set of operations on CodeSystem, ValueSet and ConceptMap resources. Among those operations, the following four operations appear to be the most widely adopted ones:

Developing a partial implementation of the specification has been an effective way to explore the new FHIR framework introduced in IRIS for Health 2020.1. The implementation includes four operations listed above, and supports read and search interactions for CodeSystem and ValueSet resources.

It's important to note that the implementation uses plain ObjectScript persistent classes as source terminology tables.

1
2 639
Question Kathy Ward · Nov 2, 2021

A vendor is sending an HL7 message where they are hitting the enter key within the field. I am looking for a way to concatenate the lines.  I want to know if there id a way to search the field for a carriage return and piece together the field.  This is an example of what they are sending:

NTE|1||Fake Interpretation A Overall Summary. Patient presents with abnormal SR and RHR. 
Fake Interpretation B 80/120
Fake Interpretation C  - HR 55 BPM|
3
0 324
InterSystems Official Pete Greskoff · Nov 19, 2021

November 19, 2021 - Advisory: Apache Web Server provided with InterSystems kits – Vulnerability reports

InterSystems kits include an Apache web server, which provides a convenient way for customers to interact with the Caché/IRIS Management Portal without needing to install an external web server; however, this web server should never be used for production instances, and customers must install a web server that fits their specific needs and security/risk requirements.

Recent tests have noted some security issues with the currently included Apache web server. Because this is a third-party t

2
1 710
Article Nigel Salm · Sep 16, 2021 3m read

I have just created a new Global Master Topic, "IRIS Cheatsheets". IRIS has introduced a lot of new functionality, especially in scripting languages, FHIR R4 support, enhanced Interoperability Tools, and IRIS Analytics. Having spent 35 years working on Windows-based PC's and Laptops, I have surprisingly little knowledge of Linux, Docker and Git. Furthermore, I have written almost every application and Interface in ObjectScript with splatterings of SQL, .Net, and Java Gateways and the most basic knowledge of WinSCP, Putty, SSH. All that changed when I received my first Raspberry Pi. I first had

3
1 573
Announcement Olga Zavrazhnova · Nov 8, 2021

Hey Developers, 

We invite you to take part in the European Healthcare Hackathon 2021 which will take place on November 19-21 2021. Participation is free, the deadline for applications to the ON-LINE track is prolonged until 15 NOV.

We will have an InterSystems challenge there: "Innovate with FHIR". Prize fund in InterSystems track:

🥇1st place: 1500 EUR
🥈2nd place: 1000 EUR
🥉3rd place: 500 EUR
And we prepared prizes for ALL participants of our challenge!
Read the details about our challenge under the pic :) Are you in? Let us know in the poll below!

 

4
0 652
Question Jeffrey Drumm · Nov 5, 2021

EnsLib.HL7.Adapter.TCPInboundAdapter has a Connected property that I assume is set to the state of the connection session with the remote host; i.e. 1 when Connected, 0 when not. I'm assuming this is the property the Production Configuration web page uses to display the state of the service (green for Connected, red for not Connected, etc.).

How can I interrogate the value of that property of an active service, via a method running in separate process?

(It really seems like I should know this, but I'm just not finding the right magical incantation)

3
0 237
Question Juuso Lepistö · Nov 4, 2021

Hello, Complete novice here.

For some reason one of my productions can't be stopped, it only goes to the suspended state. This is an issue because now I'm not able to start any of my other productions. How can I force the suspended production to stop? I have tried Do ##class(Ens.Director).StopProduction() in the terminal, but I get an error the class doesn't exist.

How can I fix this issue?

4
0 1056
Discussion Timothy Leavitt · Oct 19, 2021

Hi Developers! As part of an internal company hackathon at InterSystems, I'd love community feedback on a few topics. Feel free to chime on any/all of these via comment or direct message to me.

  1. If you were to launch a new application/project, what problems would you need to solve right off the bat? What technologies would you use? Why?
  2. What are the most common and repeated problems that you find yourself solving?
  3. Where in InterSystems' technologies do you spend most of your time?
  4. In a solution you have recently implemented, how were your time/efforts allocated? (e.g., across UI, database
7
1 425
InterSystems Official Benjamin De Boe · Jun 14, 2021

InterSystems is very pleased to announce the 2021.1 release of InterSystems IRIS Data Platform, InterSystems IRIS for Health and HealthShare Health Connect, which are now Generally Available to our customers and partners.

The enhancements in this release offer developers more freedom to build fast and robust applications in their language of choice, both server-side and client-side. This release also enables users to consume large amounts of information more effectively through new and faster analytics capabilities.

28
1 1945
Question Craig Regester · Oct 13, 2021

Good morning -

As we're starting to create more custom message classes to represent out JSON-based integrations, I was pondering how to implicitly grant SELECT privileges to a specific Security Role so they can utilize Message Viewer to search through the message history.

So if all of our custom JSON message classes are under OurParentPkg.Messages.REST.* (e.g., OurParentPkg.Messages.REST.AddPatientRequest and OurParentPkg.Messages.REST.AddPatientResponse), is there a method to ensure that our analysts can be granted the SELECT permission to anything created under OurParentPkg.Messages.REST w

6
1 506
InterSystems Official Pete Greskoff · Oct 26, 2021

October 26, 2021 – Alert: Missing Locks after ECP Database Server Restart or Failover

InterSystems has corrected a defect that can violate application locking guarantees in a distributed cache cluster (ECP configuration), which can lead to application integrity issues. This defect affects:

  • All major releases and maintenance versions of InterSystems IRIS and InterSystems IRIS for Health, starting with 2020.1.0

The defect can only occur when an application server successfully performs ECP recovery after a restart or failover of the data server, as follows:

  • If processes running on the applicat
0
0 239
Article Henrique Dias · Oct 21, 2021 2m read

Hey community, how are you doing?

How do you exercise your creativity? How do you test new ideas?

Over the years I have always thought about creating new things, modifying existing ones, experimenting, testing, breaking (it always happens), building again, starting over.

The contests promoted by InterSystems are an excellent source of motivation, obviously, the prizes bring a lot of attention and this you cannot deny. But not just prizes/rewards, they also give us a creative challenge, an opportunity to create, reimagine, test, experiment. And the beauty of it all is that you are free to do

9
0 836
Announcement Sergei Shutov · Oct 25, 2021

InterSystems Global Summit (or Virtual Summit this year) is traditionally a time of big announcements, and I'm sure our friends from InterSystems have quite a lot of new and exciting things to share with us this year. Here at Banksia Global, we have a big announcement for you as well. Please meet our new website built to make IRIS-based software distribution a breeze: ZpmHub.com!

 

0
0 214
Question Mathew Lambert · Oct 22, 2021

Quite a complex scenario we are trying to solve but should be able to understand.

We're developing a task executer that runs on a server with a certain timezone.

The tasks run every day at a defined time, but in different timezones.

We're saving in database at what time we want to execute the task, and in what timezone (don't go to the save in UTC pitfall, as with DST it will be at different times)

What I want to do if when opening a task from the database, convert 02:00 Europe/Madrid, either to UTC or to local (server) time.

I've found the class HS.Timezone.Server.Service but doesn't sol

11
0 923
Question Menno Voerman · Oct 15, 2021

Hi All,

Hopefully someone can help me with this question.

I've got a FHIR adapter service defined as described here:

FHIR Interoperability Adapter
 

The web application is running:

This works well when asking the FHIR metadata I get a nice 200 response:

But when I want to request patient data I need to send the Access Token in the Request:

This gives a 401 error and I don't see any message at the InteropService (HS.FHIRServer.Interop.Service).

It looks like that the webapplication doesn't like the Authorization header:

How can I make sure that the webapplication just ignores

2
0 612