#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 Kari Vatjus-Anttila · Jan 25, 2024

Hello,

How can I send a request via a SOCKS5 proxy in IRIS, using, for example, EnsLib.REST.Operation?

Background

I need to access APIs inside my corporate network, to which I don't have direct access from my home office. I've set up a SOCKS5 proxy via SSH on my host machine like this:

ssh -D 9999 server.corporate.com

I can then make requests with curl to the APIs I need:

curl -x socks5h://localhost:9999 https://api.corporate.com/api/some/endpoint

And I receive a response. Simple!

Also, inside the containerized IRIS, I can execute the request:

curl -x socks5h://host.docker.internal:9999 https://api.
2
0 366
Article Luis Angel Pérez Ramos · Oct 10, 2023 3m read

Surely you have all heard about FHIR as the panacea and solution to all interoperability and compatibility problems between systems. Right here we can see one of his classic defenders holding a FHIR resource in his hand and enjoying it immensely:

But for the rest of us mortals we are going to make a small introduction.

What is FHIR?

3
5 889
Article David hay · Jan 14, 2024 5m read

This article is intended to describe how the clinFHIR application can be used to help developers both understand FHIR and to develop applications that utilize FHIR artifacts. It’s not intended to be an introduction to FHIR, but rather describe how clinFHIR can help on the learning / development journey. It’ll be reasonably high level - there is other information available, especially on my personal blog.

I do recommend that everyone who is working with FHIR join the FHIR chat - it is a great way to ask questions of the FHIR community - most of the experts hang out there.

9
1 742
Announcement Anastasia Dyubaylo · Dec 21, 2023

Hi Developers,

We have exciting news! The new InterSystems online programming contest dedicated to all things health-related will start very soon! 

🏆 InterSystems FHIR and Digital Health Interoperability Contest 🏆

Duration: January 15 - February 4, 2024

Prize pool: $14,000

 

10
1 1705
Question Christine Nyamu · Jan 25, 2024

I am able to capture two values in two separate contexts in the BPL. One through an API call and another by looking at the contents of PV1:7. These are context.Prov  and context.ProvName. I am checking to see if the values contained in the contexts are the same and if yes process further and if not stop.

In the IF statement I tried the below but none worked. Can someone please tell me what I am doing wrong. The trace does show that they are the same value so that's not it. 

1. context.Prov = context.ProvName

2.  "context.Prov" = "context.ProvName" and

3.  context.Prov [ context.ProvName

4
0 215
Article Mihoko Iijima · Jan 25, 2024 4m read

InterSystems FAQ rubric

If the system does not stop for 24 hours, old journal files will be deleted at 0:30 according to the "Journal file deletion settings".

A possible cause of journal files remaining that are older than the "Journal file deletion settings" is that there are transactions that remain open.

In that case, you will be able to delete the journal file by searching for processes executing transactions and finalizing the transactions.

The sample below checks for the existence of open transactions, and if they exist, outputs the target file name and journal record information.

3
2 433
Question Rizki Okta Alhadi · Jan 25, 2024

Hi All,

I have ROUTINE for Get Data end of day. Routine Name is "getTicket.mac" . previously i execute at studio using this command to get data 

w $$getTicket^production.etl.getTicket() and the result success as we want, in this case i want execute routine using BS ( Business Service ) and i want this routine execute every night at 12.00 AM

 

 

how to implement this condition.

Thanks For your help and time

3
0 279
Question Learning by_passion · Jan 25, 2024

Hi Team,

I want to create a task in the task manager to manage the member details. so what i have done let me first brief you :-

1) Created a persistent class to store the custom csv details into a sql table.

2) created a business service to take the custom csv file from a inbound folder and use this class (EnsLib.RecordMap.Service.FileService) to use RecordMap.

First i have created CSV Wizard then RecordMap then DTL and map the fields with csv values.

3) then i created a business process (EnsLib.MsgRouter.

2
0 241
Question Ashok Kumar T · Jan 21, 2024

Hello Community,

The process private global doesn't impact the $storage. But, Why the value has decreases at first time of initialization. 

LEARNING>write $zversion
IRIS for Windows (x86-64) 2023.3 (Build 254) Wed Nov 8 2023 13:28:10 EST
LEARNING>write "$Storage: ",$storage
$Storage: 2199023141712
LEARNING>set ^||Test="Test"
 
LEARNING>write "$Storage: ",$storage
$Storage: 2199023136848
LEARNING>write 2199023141712-$storage
4864

Just want to ensure about it.

4
0 287
Question KAMAL UDDIN AHMAD · Jan 23, 2024
00:41:54.088:Ens.Director: Queued messages are being saved in the suspended production.
00:41:54.089:Ens.Director: Production 'MemberBPL.MemberProduction' suspended.

I have created the business service, process and operations and message was going through service to operation but some message got queued that'swhy production is not stopping correctly. neither it's deleting not it's stopping fully.

I have also trying purging data under manage production.

Please help me here.... how i can delete this production. ??

4
0 358
Question Scott Roth · Jan 22, 2024

We recently went through an Audit of our Security Policies and Procedures when it comes to IRIS. As a result of that Audit, we need to make adjustments to the way that Security is setup within IRIS. I have already done my changes on our TEST and DEVELOPMENT environments, but now I am trying to plan out how do we make these changes in Production.

These changes include moving away from the PWS, setting up Apache/Web Gateway, moving to LDAP instead of using Delegated Authentication, updating Web Applications, updating Resources, updating Services, etc.

4
0 248
Article Muhammad Waseem · Jan 22, 2024 2m read


All FHIR resources have a Meta element containing metadata about the resource. Some attributes are updated by the server, others are populated by the app constructing the resource.


Here are the 3 common attributes of FHIR’s Meta element: 

1. versionId
This is an ID that identifies a saved version of the resource on the FHIR server. Many servers use a GUID here, others use an integer. But it’s a string value, so don’t write code against this assuming a sequential integer, regardless of what the server does.

2. lastUpdated
The date and time that the resource was last updated, populated by the server.

0
0 600
InterSystems Official Fabiano Sanches · Jan 18, 2024

InterSystems announces its first preview, as part of the developer preview program for the 2024.1 release.  This release will include InterSystems IRIS®,  InterSystems IRIS® for HealthTM, and HealthShare® Health Connect.

Highlights

Many updates and enhancements have been added in 2024.1 and there are also brand-new capabilities, such as Using vectors in ObjectScript,  Vector Search (experimental), Multi-Volume Database, the ability to use Fast Online Backup (experimental), and the introduction of Multiple Super Server Ports.

3
0 384
Question Scott Roth · Jan 19, 2024

Ran into an issue this morning, that I am having a hard time trying to track down what might have caused the issue. We have a Business Rule that sends HL7 ADT to a Business Process that inserts the data into a MS SQL Server using a Custom Business Operation (SQL Outbound Adapter).

Early yesterday morning the Custom Business Operation reset its connection through the Java Gateway Server to the MS SQL Database, when it reconnected to the Java Gateway/MS SQL Database it stopped processing. So, the Business Rule had over 40,000 queued up to process.

2
0 301
Article Eyal Levin · Jan 21, 2024 1m read

I have been struggling with a docker run command that kept crashing, the error message was too generic to point me to the right direction.

Since the container is shut down after the failure, I was unable to login to it in order to figure out the problem.

I had to run the container in a way that I'll be able to log into it before it crashed, so I found the adding  -u false prevents the docker run command to run the iris session IRIS and the container stayed up and running.

0
0 269
Question Flávio Lúcio Naves Júnior · Mar 31, 2023

Hello everyone,

I am working in the HealthShare, and I need to check some modification during a period of time in the records of a patient. But I don't want to use HealthShare managment portal, I want to create some querys because are many records of patient. I tried to find the Globals or Tables that are used by Iris in the Record History function. ChatGPT helped me, saing that the table is HS.IHEX.RecordHistory and the global ^HS.IHEX.RecordHistory, but I didn't find any data in the global or table. Can someone help me?

6
0 461
Question Michael Wood · Jan 19, 2024

I am trying to do a INSERT OR UPDATE SQL query, but the query always inserts new rows to table. Is it how I defined the table or am I mising something in the query?

table defines as,

Class AH.AHCOMMON.Tables.HospDepartmentData Extends %Persistent [ Language = objectscript ]
{

Property Tablespace As %Library.String(MAXLEN = 50) [ SqlColumnNumber = 2 ];

Property DepartmentId As %Library.String(MAXLEN = 50) [ SqlColumnNumber = 3 ];

Property TimezoneName As %Library.String(MAXLEN = 100) [ SqlColumnNumber = 4 ];

Property PatientDepartmentName As %Library.

1
0 249
Question Mark OReilly · Jan 16, 2024

Does anyone have any trick to get the raw text out whenever you run a DTL test in the DTL editor? 

If not is there any plans to add this to a later version? It would help certain workflows where you just want to run a transform in the DTL to then copy and paste the message to send into a test on the operation. I am aware you can set up a file and rule to then go out to a file or operation but seems like additional workflows when there are scenarios you just want a quick copy of the message text after doing transform.

2
0 264
Article Hiroshi Sato · Jan 18, 2024 1m read

InterSystems FAQ rubric

If you need to migrate your server for some reason, you can reduce the setup work by copying configuration information from the pre-migration environment to the post-migration environment.

The following setting information can be migrated.

  • iris.cpf
  • SQL gateway settings
  • web gateway settings *Note 1
  • user-created routines etc. stored in the IRISSYS database *Note 2
  • security settings
  • task settings

Note 1: If a password has been set, only the password needs to be reset manually.
Note 2: Preferred connection server settings such as ^%ZSTART, ^ZMIRROR routines, etc.

1
2 304
Article Ashok Kumar T · Aug 14, 2023 8m read

In this article,  I walk through the %JSON.Adaptor class. This class is extremely useful in exporting data into serialized JSON and importing the JSON objects and saves into class object.

I'll start with the %JSON. Adaptor parameters. The parameters are crucial part of the JSON import and export operations.

If your property name is not the same as the actual JSON key name for export to external or load the data’s into object through import, you should use the %JSONFIELDNAME parameter to define the alias name.

2
6 1481
InterSystems Official Fabiano Sanches · Jan 17, 2024

The 2023.1.3 extended maintenance releases of InterSystems IRISInterSystems IRIS for Health, and HealthShare Health Connect is now available. It provides bug fixes for any of the previous 2023.1.x releases.

You can find the detailed change lists / upgrade checklists on these pages:

How to get the software

The software is available as both classic installation packages and container images.  For the complete list of available installers and container images, please refer to the Supported Platforms webpage.

0
0 242
Article Muhammad Waseem · Jan 16, 2024 2m read

In the context of HL7 FHIR (Fast Healthcare Interoperability Resources), the terms "id" and "identifier" refer to specific elements used for identifying resources within the FHIR data model. For a newbie, these terms can be confusingly similar, but they serve distinct purposes.  

Look at the below Patient resource for August T. Faulkner:

The resource has an id of “1” — generated by the FHIR server when the resource was created.
Patient August T. Faulkner also has a identifier (Medical Record Number) — possibly provided by the hospital — of 78510398960

0
0 1128