I have created a BPL to process a file and create a lookup table. I am looking to add logic to use the original filename so that I can use a single BPL to create multiple tables. How can I access the original filename within a BPL?
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
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.
Hi Community,
Play the new video on InterSystems Developers YouTube:
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(
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.
DSN created and tested in Linux;
.png)
This DSN does not list SQLGateway connection->DSN list
.png)
I have set the LibPath
What resources have you used to learn InterSystems technologies?
...and how can we improve your experience? Help shape our learning resources by taking a brief survey.
When I creating the package for datatype Integer then while binding at the created endpoint it is not binding Provide me the package for integer & boolean datatype.
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

Good afternoon, everyone,
I would like to know if it's possible to restore a backup directly from a .DAT file, or if it's only possible to restore a backup made with a .cbk file?
Best regards, Flávio."
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.
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:
- We deploy the initial version of the application image at the customer site,
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
Hi Community,
It's time for the new batch of #KeyQuestions from the previous month. And this time, we have another non-English entry.

Here are the Key Questions of November chosen by InterSystems Experts within all Communities:
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."
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.
.png)
[Version 2011.1 - Version 2012.2]
[Management Portal] > [System Administration] > [Configuration] > [System
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.
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,
.png)
on ocassion the RelatedItems are not returned
have response context variable defined as the custom message type
.png)
How do I check in a BPL if there is no RelatedItems in the response?
.png)
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.
Have a Generic service that can poll internal SQL to work with downstream components.
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 NOTI have an interface with repeating DRG segments with messages coming in as DRGgrp().DRG(1). I know how to find the count of DRG groups:
(source.{DRGgrp("*")}) BUT I am stuck at how to find the index of the segment that has DRG.1.3 having a specific value = "PMP". Any ideas please?
Thank you
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.
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.
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
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(%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.

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 =Hi Community,
Let's meet together at the online meetup with the winners of the InterSystems Java Programming Contest 2023 – a great opportunity to have a chat with the InterSystems Experts team as well as our contestants.
Winners' demo included!
Date & Time: Thursday, December 7, 12 pm EST | 6 pm CET
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 :)
Hello and welcome to the Developer Ecosystem Fall News!
This autumn we've had a lot of online and offline activities in the InterSystems Developer Ecosystem. In case you missed something, we've prepared for you a selection of the hottest news and topics to catch up on!
%20(2).jpg)
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


