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

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 747
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 1708
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 221
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 440
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 281
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 246
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 295
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 363
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 251
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 608
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 389
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 305
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 270
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 464
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 253
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 269
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 306
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 1490
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 244
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 1153
Article Anssi Kauppi · Jun 30, 2020 3m read
Many organisations implement centralised log management systems to separate and centralise the log data in order to e.g. automate threat detection (and response) and to comply with regulatory requirements. The primary systems of interest are the various user facing applications, but increasingly also other kinds of systems including integration platforms.

What comes to the data platform (not the user facing application) most of the the events of interest/required are available as predefined system audit events in audit log - out of the box. They just need to be enabled.

2
2 534
Question Oliver Wilms · Jan 11, 2024

Hello, I tried to convert HL7 message to JSON in a business process and I got errors. Has anybody converted HL7 to JSON? Are certain characters not allowed in JSON?

I just tried to set a property to quote request.RAWContent and quote. I will try to put example in GitHub and share here later.

5
0 1271
Question Ali Chaib · Jan 15, 2024

We are in the process of installing a FHIR server on our InterSystems interface engine and have encountered a few questions. Your expertise and insights would be greatly appreciated:

  1. Automatic Handling of Requests and Responses:
    • Is installing a FHIR server sufficient to handle requests (POST, GET, PUT) automatically without manual intervention? Can we expect automatic creation and updating of resources based on incoming requests?
  2. Storage of FHIR Resources:
    • Where are FHIR resources typically stored? Is it in a database, global arrays, or another form?
2
0 189