Article Yuri Marx · Dec 12, 2023 7m read

In part I of this article, we have already learned more about HL7, its messages, structure, segments, and fields. In this part II, we will show you how to transform proprietary/custom data into HL7 using IRIS for Health. For our sample, we used the data generated by the SYNTHEA bulk data generation project (https://synthea.mitre.org/downloads). So, we will show you how to convert 1000 patients from a CSV file to HL7 v2, using the Interoperability features of IRIS for Health.

Article support application – custom2hl7

You can install the sample application that will be used in this article by

0
0 728
Article Yuri Marx · Dec 12, 2023 7m read

EHR (Electronic Health Record) systems are designed in a proprietary format/structure and are not based on such market models as FHIR or HL7.Whereas some of those systems can interoperate data in a proprietary format for FHIR and further market models, others cannot.InterSystems has two platforms that can interoperate proprietary formats for market standards: InterSystems HealthShare Connect and InterSystems IRIS for Health.

0
1 690
Question Lewis Houlden · Dec 11, 2023

Hi all

I'm having trouble defining the mapping needed to take the very large base64 string in OBX:5.5, and map it to an XML virtual document property that supports Stream.GlobalCharacter. I know from within the DTL you have to use custom code to manage the segment due to its size. 

do target.StoreFieldStreamRaw(.stream,"LetterAttachment(1).Base64EncodedFile(1)", .rem)
 set tObx14Value = $piece(rem,"|",10)
 set convertedDate = ##class(Phu.Shared.Util.DateTime).ConvertHl7DateTimeToXmlDateTime(tObx14Value)
 do target.SetValueAt(convertedDate,"DocumentDetails(1).AuthoredDate(1)")
 do target.SetValueAt(

4
0 437
Article Yuri Marx · Nov 20, 2023 3m read

In the world of Big Data, selecting the right file format is crucial for efficient data storage, processing, and analysis.With the massive amount of data generated every day, choosing the appropriate format can greatly impact the speed, cost, and accuracy of data processing tasks.There are several file formats available, each with its own set of advantages and disadvantages, making the decision of which one to use complex.Some of the popular Big Data file formats include CSV, JSON, Avro, ORC, and Parquet.

2
1 764
Announcement Anastasia Dyubaylo · Dec 11, 2023

Hello Community!

We are pleased to invite all our clients, partners and members of the community to take cart in the InterSystems Benelux & France Summit 2024. The registration is already open!

This event is back after a few years of absence and promises to be an interactive experience highlighting inspiring case studies, technological innovations, and roadmaps for the coming year in the fields of Healthcare and Data Platform. Practical demonstrations will also allow you to explore the latest developments in a tangible way.

➡️ InterSystems Benelux & France Summit 2024

🗓  January 30 - 31, 2024

📍 Radisson Blu Hotel, Antwerp, Belgium

0
0 572
Discussion Enrico Parisi · Jan 30, 2023

The new $system.external interface (aka "InterSystems External Servers") is used to call/integrate with external language code/libraries, it replace the old gateways (for example Java gateway) that required the import of proxy objects.

Note that the documentation for the old gateways has been removed from IRIS, so only the new $system.external interface is somewhat (i.e. insufficiently) documented.

Regarding the migration from old gateway to new  $system.external interface the documentation says:

External servers use an enhanced and simplified form of the older Dynamic Object Gateway technology.

14
2 1038
Question Zhou Tao · Nov 3, 2023

We are using IRIS health 2023.1 to build an application that runs on kubernetes cluster as container images. In the container image, we have our own PRODUCTION "APP" created with its routines database and global database located at:

/usr/irissys/mgr/APPCODE/IRIS.DAT

/usr/irissys/mgr/APPDATA/IRIS.DAT

To persist the data, we use the “Durable %SYS for Persistent” featureand set the ISC_DATA_DIRECTORY to an external durable folder (/durable/iconfig).

However, we encounter a problem when we try to upgrade the application:

  1. We deploy the initial version of the application image at the customer site,
9
0 561
Question Colin Brough · Nov 21, 2023

How do we trigger a BPL Business Process on a time schedule?

We are building a production that takes a steady stream of (HL7) lab results messages, processes them and stores them in a temporary database table. At scheduled points during the day (eg 0800, 1300, 1600) the database is queried and messages sent on to the downstream system. Aiming that the Processes to be implemented in BPL if possible - but we are having trouble triggering code in a BPL as a scheduled job.

We can get an ObjectScript class method to be run via the Task Manager - but we are not clear how to pass control into the BPL

12
0 744
Announcement Olga Zavrazhnova · Dec 9, 2023

Hi Developers, 

We'd like to highlight some outstanding projects created during the European Healthcare Hackathon 2023 in Prague. 
Participants were presented with nine real-world healthcare challenges by IKEM and AstraZeneca.  
InterSystems introduced to the participants an opportunity to use the FHIR repository and perform FHIR availability into their solutions by providing FHIR cloud services on AWS.

Meet the winners of our challenge:

1st place Čarodějové (PathoSync)

"The PathoSync software is a solid base for complex pathologist platforms. With the use of custom mapping, any laboratory can project their data into FHIR7 standard, which soon will be mandatory worldwide. This makes the digitalization process smoother. The connection with InterSystems assures quality and implements many healthcare features. Furthermore, the GDPR norms are strictly followed using the FHIR server based in Europe, so the usage of software follows the European standards."

0
0 274
Article Megumi Kakechi · Dec 7, 2023 2m read

InterSystems FAQ rubric

To resolve the error <PROTECT>, remove the read-only attribute of the system-wide library database (IRISLIB for InterSystems IRIS, CACHELIB for Caché/Ensemble/HealthShare (Caché-based))

Once you have finished importing the routine, remember to change it back to read-only.
 

[Version 2013.1 and above]
[Management Portal] > [System Administration] > [Configuration] > [System Configuration] > [Local Database] Uncheck "Mount read-only" from the database name link.

[Version 2011.1 - Version 2012.2]
[Management Portal] > [System Administration] > [Configuration] > [System

3
0 573
Article Lorenzo Scalese · Aug 16, 2023 11m read

Hi developers!

Today I would like to address a subject that has given me a hard time. I am sure this must have been the case for quite a number of you already (so-called “the bottleneck”). Since this is a broad topic, this article will only focus on identifying incoming HTTP requests that could be causing slowness issues. I will also provide you with a small tool I have developed to help identify them.

Our software is becoming more and more complex, processing a large number of requests from different sources, be it front-end or third-party back-end applications. To ensure optimal performance, it is essential to have a logging system capable of taking a few key measurements, such as the response time, the number of global references and the number of lines of code executed for each HTTP response. As part of my work, I get involved in the development of EMR software as well as incident analysis.  Since user load comes mostly from HTTP requests (REST API or CSP application), the need to have this type of measurement when generalized slowness issues occur has become obvious.

5
9 1453
Question Michael Wood · Dec 7, 2023

I have a message class define. But sometimes the RelatedItems fields is not returned. 

Parameter %JSONIGNOREINVALIDFIELD As BOOLEAN = 1;

Property RequestedTerm As AH.AHLIB.Custom.Symedical.Message.PostRelationResponse.termsRequested;

Property RelatedItems As list Of AH.AHLIB.Custom.Symedical.Message.PostRelationResponse.RelatedItems;
 

Respnse normally will return someting like this,

on ocassion the RelatedItems are not returned

have response context variable defined as the custom message type

How do I check in a BPL if there is no RelatedItems  in the response?
 

2
0 270
Article Mark OReilly · Dec 8, 2023 2m read
Scenario

IRIS has the likes of SQL inbound adapters for use with SQL gateways such as EnsLib.SQL.InboundAdapter to repeatedly query SQL Gateway connections. A scenario appeared as that we wanted to query an Internal database for some data but did not see an out of the box service for this. 

Desired Approach

Have a Generic service that can poll internal SQL to work with downstream components.

How

What was not clear was "How do I send a result set downstream". It was not very clear as a resultset itself is not a peristent class and the object cannot be "Swizzled" an error like so 

 <METHOD DOES NOT
0
0 386
Article Kurro Lopez · Dec 8, 2023 8m read

 

Artificial intelligence is not limited only to generating images through text with instructions or creating narratives with simple directions.

You can also make variations of a picture or include a special background to an already existing one.

Additionally, you can obtain the transcription of audio regardless of its language and the speed of the speaker.

So, let's analyze how the file management works.

2
1 560
Article Carlos Sepulveda Mancilla · Dec 8, 2023 3m read

Windows Subsystem for Linux (WSL) is a feature of Windows that allows you to run a Linux environment on your Windows machine, without the need for a separate virtual machine or dual booting. 

WSL is designed to provide a seamless and productive experience for developers who want to use both Windows and Linux at the same time**.

WSL 2 is the default distro type when installing a Linux distribution.WSL 2 uses virtualization technology to run a Linux kernel inside of a lightweight utility virtual machine (VM).Linux distributions run as isolated containers inside of the WSL 2 managed VM.

0
1 483
Question Fabio Care · Dec 5, 2023

When trying to create a ML Model I ran into the problem, that AutoML apparantly isn't available on my IRIS instance.

I was able to use the following command successfully: CREATE MODEL ECLASSPREDICT PREDICTING (eClass) FROM SQLUSER.CRMSHOPARTIKEL

Then when trying to use TRAIN MODEL ECLASSPREDICT, I get the error from the image:

 

Roughly translates to : "-186: Modelprovider not available on this instance. #2822 %ML provider 'AutoML' is not available on this instance"

In my ML Configurations there are 3 standard configurations called %AutoML, %H20 and %PMML which I haven't changed.

I have tried the

10
0 448
Question Denys Kondratiuk · Dec 7, 2023

I want to call the REST endpoint and return the list of objects. I`ve created the method but it displays an error: 
<METHOD DOES NOT EXIST>GetAllPersons+10^Lab3.RestClient.1 *Count,%ZEN.proxyObject

ClassMethod GetAllPersons() As%Status
{
    Set request = ##class(%Net.HttpRequest).%New()
    Set sc = request.Get("http://localhost:52773/csp/crud/persons") 
    Quit:$System.Status.IsError(sc) sc

    Set responseStream = ##class(%Stream.GlobalBinary).%New()
    Set response = request.HttpResponse.Data.Read()
    
    Write"Response from Server:", !, response, !

    Set pl = ##class(%
2
0 635
Article Anton Umnikov · Dec 4, 2020 7m read

IRIS External Table is an InterSystems Community Open Source Project, that allows you to use files, stored in the local file system and cloud object storage such as AWS S3 as SQL Tables. IRIS External Table

It can be found on Github https://github.com/intersystems-community/IRIS-ExternalTable Open Exchange https://openexchange.intersystems.com/package/IRIS-External-Table and is included in InterSystems Package Manager ZPM.

To instal External Table from GitHub use:

git clone https://github.com/antonum/IRIS-ExternalTable.git
iris session iris
USER>set sc =
4
2 1308
Question Anup Thakkar · Nov 29, 2023

Hello,

I have created a service in Node.js which interacts with IRIS using APIs. The current implementation uses basic auth. I want to implement OAuth 2, to make the communication between the node.js service and IRIS secure. I want my service to act as client and IRIS as Authorization and Resource server. I don't know how to do that. Anyone who has implemented OAuth using IRIS can you help me out or point me in the right direction on about how to implement it? 

Thank you for your help :)

6
0 406
Question Mary George · Dec 6, 2023

Hi Community, 

We are trying to filter message created using custom xml class in a business rule.  

HL7 ORU Result messages are converted to custom xml messages with a list properties .Result ORU converted to OrderResultMsg , which contains property Orders as list of Order which contains ResultStatus .  Please see below the class extract.  We are trying to access the ResultStatus property to filter non-final results via business rule. 

Class CDM.OrderResultMsg Extends Ens.Request
{

Property MSHSendApplication As %String;

Property MSHSendFacility As %String; 
<<Code truncated>>

Property Orders As

5
0 371