Hi Community!
We are pleased to invite you to the upcoming webinar in Spanish: "Interoperability: HL7 productivity tools" / "Interoperabilidad: herramientas de productividad HL7" on April 29 at 16:00 CET!
What will you learn?
Health Level-7 or HL7 refers to a set of international standards for the transfer of clinical and administrative data between software applications used by various healthcare providers
Hi Community!
We are pleased to invite you to the upcoming webinar in Spanish: "Interoperability: HL7 productivity tools" / "Interoperabilidad: herramientas de productividad HL7" on April 29 at 16:00 CET!
What will you learn?
As promised, here is Part 2 of our interview with Russ Leftwich! In this half, Adam Coppola talks with Russ about some of the InterSystems technologies that play a part in the concepts from Part 1, as well as some specific discussions about modern FHIR applications. After the interview with Russ, we were also joined by Jenny Ames to talk about the upcoming FHIR Dev Days. Check it out, and make sure to go subscribe to Data Points!
Hi,
I have a HealthShare HealthConnect operation which uses the EnsLib.HTTP.OutboundAdapter. It is using a custom Operation class to send HTTP Post request. The request data that is sent to the operation and the response back from the operation is not displayed on the visual trace. Is there anyway to display this data in the trace?
.png)
Thank you for your help.
In Episode 8 of Data Points, senior clinical advisor for interoperability at InterSystems @Russ Leftwich joined the podcast to talk about healthcare interoperability standards. In the first part of our two-part interview, Russ tells us about the history of healthcare standards and electronic record-keeping, some of the biggest challenges in the field, and how software has evolved to meet those ever-growing challenges.
Hello,
We would need to convert a message from the following class:
{ Parameter RESPONSECLASSNAME = "Mensajes.Response.Laboratorio.ACKResponse";
Property mensaje As %XML.GlobalCharacterStream(CONTENT = "MIXED");
Property idPeticion As %String(MAXLEN = "");
Property ExpedienteUsuario As %String(MAXLEN = "");
Property MessageId As %String(MAXLEN = ""); Property ContentType As %String(MAXLEN = "");
to a Request message which is composed by hl7 segments:
Hi Community,
We're pleased to invite you to join the upcoming InterSystems IRIS 2020.1 Tech Talk: API-First Development on May 5 at 10:00 AM EDT!
In this week's InterSystems IRIS 2020.1 Tech Talk, we'll discuss API-first development and how InterSystems is embracing this industry trend with our API Manager, and specifically with our FHIR offerings. First, we'll talk about InterSystems API Manager. This tool controls your web-based API traffic in a single location. You can throttle throughput, configure payload sizes and whitelist/blacklist IPs, among many other features.
FHIR stands for Fast Healthcare Interoperability Resources. Release 4 brings this HL7 standard to maturity, and the FHIR R4 support in InterSystems IRIS for HealthTM is big. You'll learn how to work with FHIR data in InterSystems IRIS, and see our developer portal in action, where you can access FHIR resources using the OpenAPI specification.
- Currently we are receiving one NTE (See Below) from the source system
NTE|1|Result Comment|TESTING:\.br\\.br\This is a test results. \.br\\.br\This test is a Test.
- We would like to create multiple NTE segments and send to destination system by using ".\br\"(Line Break)
NTE|1||TESTING:
NTE|2||
NTE|3||This is a test results.
NTE|4||
NTE|5||This test is a Test.
Bit we are running into compile issue on the code block. NOt sure if there is a better way to do this. Any help is greatly appreciated.
code:
set iTotCnt=$L(sNTE,"\.br\")
for i1=1:1:iTotCnt d
. s sTmp=$p(sNTE,i1)
. s target.{ORCgrp(k1).
Ready to use demo of an FHIR Server with IRIS for Health 2020.2 :

Clone this repository
git clone https://github.com/grongierisc/FHIR-HL7v2-SQL-Demo.git
Docker
docker-compose up --build -d
Can use postman config in misc/fhirhl7v2demo.postman_collection.json
Use UX at http://localhost:4201
Login/Password : SuperUser/password

3 steps to use it :
Click on the left arrow between IRIS and the ambulance.
Hello Everyone , Good Day ! I have a question regarding the implementation of USCDI (US Core Data for Interoperability).
Why USCDI was introduced? What is the disadvantage of previous process ( communication between systems using concept like HL7) ? What is the impact of implementing this concept in existing systems ? Do we have to change logics for processing the messages? Will it effect the existing work flow of all the healthcare application?
Hi Community,
Please welcome the new video on InterSystems Developers YouTube:
⏯ Build HL7 Interfaces in a Flash
Ready to build an HL7 production yourself?
Try the new Building Basic HL7 V2 Integrations with InterSystemslearning path from InterSystems Online Learning.
These videos, online courses, and hands-on exercises get you building, optimizing, and troubleshooting productions with InterSystems IRIS for Health. See for yourself!
InterSystems and Intel recently conducted a series of benchmarks combining InterSystems IRIS with 2nd Generation Intel® Xeon® Scalable Processors, also known as “Cascade Lake”, and Intel® Optane™ DC Persistent Memory (DCPMM). The goals of these benchmarks are to demonstrate the performance and scalability capabilities of InterSystems IRIS with Intel’s latest server technologies in various workload settings and server configurations. Along with various benchmark results, three different use-cases of Intel DCPMM with InterSystems IRIS are provided in this report.
Ensemble beginner here. One of the downstream applications requires to send two A02 messages instead of one A17. We do it easily in Cloverleaf - either in translation or TCL. How do I create 2 target messages out of one source message in DTL?
Hello,
I am playing around with an HL7 business rule set and a EnsLib.HL7.MsgRouter.RoutingEngine component. I'm wondering how I can get the routing engine to fire a rule when a response is received from a business operation.
I have a simple "debug" statement in my rule to log the "Source" value when a message is received. This debug statement only seems to fire when the message comes as a request from the business service (trace item #1 below).
Hi Community,
The new video is available on InterSystems Developers YouTube Channel:
⏯ Collecting Healthcare Data with Alexa
Hi,
My customer is implementing HL7 validation using EnsLib.HL7.Util.Validator.Validate in an HL7 production.
They set validation spec "dmr-z" because they want to allow unrecognized Z-segments and verify the presence of required fields.
Despite using "-z", Z-segments are not allowed and the following error occurs:
<Ens> ErrGeneral: Cannot validate segment schemas without a category.Unable to validate segment 8: ZPR.
Aside to that, when the verification spec is “dm-z”, the Z-segment is allowed as expected.
Can 't "r" and "-z" be used together?
Is there any other way to implement both validations?
Hi Everyone,
Please welcome the new Global Summit 2019 video on InterSystems Developers YouTube Channel:
⏯ Using IoT in InterSystems IRIS for Health
Hi Community,
Please join the upcoming InterSystems Israel Meetup in Herzelia which will be held on November 21st, 2019!
It will take place in the Spaces Herzliya Oxygen Ltd from 9:00 a.m. to 5:30 p.m.
The event will be focused on the InterSystems IRIS: it will be divided into IRIS for Healthcare and IRIS Data Platform. A joint lunch will be also included.

Please check the draft of the agenda below:
Looking at the DTL, we can pretty much understand what the provided mapping from FHIR to SDA3.
But, is there any Intersystems document, where the mapping To/From FHIR is documented, at least FHIR to SDA3 ?
Hi everyone,
I have just started to use JavaGateway and I didn''t encountered so much difficulties since I've got the output of the Java class I have called.
This is the class I have implemented:
Method OnRequest(pRequest As EnsLib.HL7.Message, Output pResponse As EnsLib.HL7.Message) As %Status { set MDMarchiv=pRequest.OutputToString() $$$TRACE(MDMarchiv) #dim RPConverter = ##class(training.hl7.HL7toRP).%New() set output=RPConverter.hl7toRp(MDMarchiv) $$$LOGINFO("after transformation: "_output) set RPStream = ##class(%FileCharacterStream).
Hi -
I was recently working with an HL7 message processing production, and some of the HL7 messages were failing the HL7 message router's configured validation. In this basic context, the messages were delivered and then the router would log an event for the message and move on to the next message in the inbound queue.
At LifeLabs, we are focused on our vision of building a healthier Canada! We are the largest community diagnostics laboratory in Canada with over 350 collection centers, 21 laboratories and service over 19 million patients each year. As the Software developer, you will be concerned with all facets of the software development process. You will be responsible for the design of application modules, maintain and deploy software applications to meet user and business needs.
hi
A newbie question. I am trying to use Data Transformation Editor to transform NTE segments into additional OBX segments. At the moment I am getting both segments OBX and NTE trying to populate a single OBX. Can this be easily fixed?
Good morning -
I am attempting to pass some HL7 content (say, a complete ADT message) from one server to another via REST/JSON - for reasons.
I can get the data across but when I try to create an EnsLib.HL7.Message object from the message in the JSON body, I end up with just the start of an HL7 msg in the resulting object. Looks like: MSH|^~\&
The start of the code accepting the data looks like this:
S tInput = tReq.Message
S tMsg = ##class(EnsLib.HL7.Message).%New()
D tMsg.ImportFromString(tInput)
S tMsg.DocType = "2.3.
Can health Connect create a file in a directory, than add data (HL7 messages) to it?
We have a customer that is not able to accept HL7 result messages that are missing OBX:3.1. I have been trying to create a function that could return a boolean value of 0 if the message didn't meet the expectations of the function.
.png)
{
#dim tSeg as EnsLib.HL7.Segment
set tSegCount = pHL7Msg.
In a new rule I configured for a route, I have no constraint configured (so I assume it should pass everything), but I am getting an error that states "Constraints for rule failed".... ?
(Originally posted by @Ben Spead on June 25, 2014)
This code snippet generates a list of Ensemble Lookup Tables and Schema documents in the user's current namespace. Run the code by running the class method "test":
Class benspead.EnsTablesSchema
{
classmethod test() {
If ##class(%Dictionary.CompiledClass).%ExistsId("Ens.Util.LookupTableDocument") {
// only supported in Ensemble 2012.1+
Write !,!,"Exporting Ensemble Lookup Tables..."
Set sc = $$$OK
Set rs = ##class(%ResultSet).%New("Ens.Util.LookupTableDocument:List")
Do rs.Execute()
While rs.Next() {
Set item=rs.Data("name")
Write "document found: "_ item,!
}
Do rs.Close()
Set rs=""
}
If ##class(%Dictionary.CompiledClass).%ExistsId("EnsLib.HL7.SchemaDocument") {
Write !,!,"Exporting Ensemble HL7 Schemas..."
Set sc = $$$OK
Set rs = ##class(%ResultSet).%New("EnsLib.HL7.SchemaDocument:List")
Do rs.Execute()
While rs.Next() {
Set item=rs.Data("name")
Continue:$listfind($lb("2.1.HL7","2.2.HL7","2.3.HL7","2.4.HL7","2.5.HL7","2.6.HL7","2.7.HL7","2.3.1.HL7","2.5.1.HL7","2.7.1.HL7","ITK.HL7")
,item)
Write "document found: "_ item,!
}
Do rs.Close()
Set rs=""
}
}
}
Here's a link to the code on GitHub: https://github.com/intersystems-community/code-snippets/blob/master/src/cls/benspead/EnsTablesSchema.cls
I have a colleague that is trying to eliminate any HL7 transactions that have admit date/time of midnight from going to an downstream system within a routing rule. I have tried several different iterations of code trying to figure this out just in the routing editor. Without having to write an object script function is this possible?
.png)
((HL7.{PV1:AssignedPatientLocation.PointofCare}="D3")||(HL7.{PV1:AssignedPatientLocation.PointofCare}="D4"))&&(SUBSTRING(HL7.{PV1:AdmitDateTime.Time},9,12)!=0000)
Thanks
Scott Roth