Hi all,
I'm exited to announce a GitHub Action to do direct deploy code from a github repository direct to a IRIS Instance.
Pleas visit https://openexchange.intersystems.com/package/Github-Action-IRIS-Deployer
InterSystems HealthShare Health Connect is a healthcare integration engine that delivers high-volume transaction support, process management, and monitoring to support mission-critical applications.
At the heart of Health Connect is a high-performance, multi-model data engine that seamlessly handles multiple forms of data at high speed. Health Connect easily scales from serving small clinics to handling the transaction volumes of the largest and most complex healthcare delivery systems in the world. Capabilities include:
Hi all,
I'm exited to announce a GitHub Action to do direct deploy code from a github repository direct to a IRIS Instance.
Pleas visit https://openexchange.intersystems.com/package/Github-Action-IRIS-Deployer
Business Process is adding control characters.
Input HL7 shows no control characters in Notepad ++
.png)
Output
.png)
.png)
Code:
{
#dim tStatus As %Status = $$$OK
#dim eException As %Exception.AbstractException
#dim tOBXText As %String
#dim tItemNumberCount As %Integer = 0
#dim tItemNumberProcessed As %Integer = 0
#dim tTotalCostSegment As %Integer = 0
#dim tOrderType As %String
#dim i As %Interger = 0
#dim tOBXKey As %Integer = 0
#dim tOBXTextChanged As %String
////
Set pOutput = pRequest.
We are attempting to send HL7 messages over to CBOARD NetMenu over HTTP using SSL. We set this up using the EnsLib.HL7.Operation.HTTPOperation adapter. When we attempt to send the message we are receiving
MSH|^~\&|||DIETOE|A6M0|202505131437||ACK^HTTP^415|00|P|2.1 MSA|AE|9165602|HTTP (N)ACK 'HTTP/1.1 415 Unsupported Media Type'
The vendor mentioned something about putting a SOAP/XML wrapper around the HL7 message but isn't that what the HTTPOperation adapter does? Why would we be getting Unsupported Media Type. How would we go about setting the Media Type for the HTTP HL7 message?
I am running into an issue where a JSON response is missing keys...
{
"count": 0,
"pageInformation": {
"offset": 0,
"size": 10
},
"items": []
}Within the JSON response I am only looking for two fields portalUrl and portalId. I have tried using $LENGTH and %IsDefined to check if they are valued but neither work.
If ((tHttpResponseIsObject) && ($ZCONVERT(tHttpResponseContentType,"L") [ "application/json"))
{
set responseData = {}.%FromJSON(tHTTPResponse.Data)
set pResponse = ##class(osuwmc.COM.Response.I currently have an issue with a failed connection in VSCode and need some help.
It doesn't work when using ports 80, 1972, and 7038.
Hi, Community!
Looking to modernize the way you build interoperability screens in InterSystems® products? Take a tour of some recent UI improvements.
I am trying to replicate a REST call that I am able to make via a Postman call within a EnsLib.REST.GenericOperation.
It's been a while since I have messed around with trying to make external REST calls. When I execute my REST call, tSC is coming back with an error and I am trying to pinpoint why. I tried turning on ISCLOG = 5 but when calling the REST Operation from the Testing tool it is not logging anything to the ISC log.
How do we see the RAW request being sent out to verify that my request is formatted properly?
Hi group,
I am trying to take the InterSystems HL7 Interface Specialist certificate test.
So is this an open book test? is there any Lab involved with vm? I did the search but I am not able to find such information.
I am trying to find out more information before I actually take the test.
Thank you
It helps to remove special characters, such as non-utf-8 characters either control characters or unicode characters from text that is not printable or can't be parsed by downstream systems.
There is also $C(32) in this condition; sometimes NBSP appears in the text and it will not be recognized by TIE, but downstream it displays as "?".
In order to avoid the NBSP issue, the if condition is replaced with a space in order to prevent the error.
Unicode characters only Remove:
Epic had changed some of their logic on their Incoming Radiology Results which now require an Ordering Provider even though it is supposed to account for it within the Epic Interface settings.
I was wondering if we are using a custom schema if there was a way to default a value into OBR:16 if it was not valued without having to modify all the DTL's for these Results.
Is there a way to set this via the schema editor or in the background so we don't have to create/update DTL's or create a custom TCP Operation Class??
One of the challenges of creating a DICOM message is how to implement putting data in the correct place. Part of it is by inserting the data in the specific DICOM tags, while the other is to insert binary data such as a picture - In this article I will explain both.
To create a DICOM message, you can either use the EnsLib.DICOM.File class (to create a DICOM file) or the EnsLib.DICOM.Document class (to create a message that can be sent to PACS directly). In either case, the SetValueAt method will allow you to add your data to the DICOM tags.
I ran into a situation where VS Code consumed all available web sessions and was unable to get to the Management Console to clear them. I was able to establish a terminal session, though.
Is there a method or routine available through the IRIS terminal that allows one to clear web sessions? I've searched the administration and class documentation and haven't found a solution.
I am struggling with returning a SQL Query Result that may have multiple rows that can be searched.
set query = "SELECT Facility FROM FROM osuwmc_EnterpriseDirDB.RelationshipMedCtrID WHERE OSUmedcenterID = ?"
SET rset = ##class(%SQL.Statement).%New()
SET qStatus = rset.%Prepare(query)
SET rset = rset.%Execute($Get(ID))
do rset.%Display()I need to take the values that are returned and say search them for a single value. How would I go about returning the EnsLib.SQL.Snapshot into a Array or List for it to be searchable.
Hi,
I want to ensure that the parent ruleset has an EffectiveEndDateTime when I evaluate a rule's when condition() . How would I do that please ?
Thank you.
W
The 2024.1.4 and 2023.1.6 maintenance releases of InterSystems IRIS® data platform,InterSystems IRIS® for HealthTM, and HealthShare® Health Connect are now Generally Available (GA). These releases include the fixes for the following alert recently issued - Alert: SQL Queries Returning Wrong Results | InterSystems. Please share your feedback through the Developer Community so we can build a better product together.
I need a DTL to handle this.
Any ideas appreciated.
For all Prosthetics orders:
when ORC-1(Order Control) is "NW" (New Order), need to update OBR-18(Placer Field 1) based on PV1-2 (Patient Class) value.
assumption is that the selection logic is that all prosthetics orders with OBR-18 field is always blank.
Description :
If PV1-2 is I, insert I in OBR-18
If PV1-2 is O, insert O in OBR-18
If PV1-2 is E, insert O in OBR-18
If PV1-2 is P, insert O in OBR-18
If PV1-2 is R, insert O in OBR-18
If PV1-2 is B, insert O in OBR-18
I was wondering if someone could help me. In the past I have been able to call external Stored Procedures through a SQL Outbound Connection and have them return me the EnsLib.SQL.Snapshot to use within a BPL to extract data.
But this time instead of using a SQL Outbound BO to make the Stored Procedure call, I decided to create a Linked Stored Procedure through the %JDBC_Server to point to the Stored Procedure out on MS SQL.
However, I am struggling to get the code just right to return the Column value from the Linked Stored Procedure.
set result = ##class(EnsLib.SQL.Snapshot).New at DTL. I need some pointers on this DTL
For all Prosthetics orders:
when ORC-1(Order Control) is "NW" (New Order), need to update OBR-18(Placer Field 1) based on PV1-2 (Patient Class) value.
assumption is that the selection logic is that all prosthetics orders with OBR-18 field is always blank.
Description :
If PV1-2 is I, insert I in OBR-18
If PV1-2 is O, insert O in OBR-18
If PV1-2 is E, insert O in OBR-18
If PV1-2 is P, insert O in OBR-18
If PV1-2 is R, insert O in OBR-18
If PV1-2 is B, insert O in OBR-18
Hi all,
I can't find the list of business host setting sections and (crucially) how to refer to them in the SETTINGS parameter, as marked in purple here:
Parameter SETTINGS = "MySetting:Basic";
Does anyone know where this list lives?
Otto
I added extra OBX segments and I need to renumber OBX 4 so they are sequential.
.png)
Hello
We are pretty new to Ensemble and we are considering on using a default setup for our production. Let me explain the situation. We have one sender that sends HL7 ADT messages to our system. We have 60+ other systems that need to recieve ADT messages. We where thinking on a few ways on how to do the setup.
Setup1:
We create one big ADTRouter that contains a first mapping. The result is send to another big ADTRouter that contains all the filters/expressions and mappings for the recieving systems.
My attempts to add CR/LF between segments
// Add CR/LF after "Total Cost:" if multiple "Item Number:" exist
//$$$LOGINFO(tItemNumberCount_" "_tTotalCostSegment_"----cr/lf")
If (tItemNumberCount > 1) && (tTotalCostSegment > 0) {
Set tOBXSegment = pOutput.GetSegmentAt("ORCgrp(1).OBRuniongrp.OBXgrp("_tTotalCostSegment_").OBX", .tStatus)
//$$$LOGINFO(tOBXSegment_"----"_"tOBXSegment from cr/lf")
Set tOBXText = tOBXSegment.GetValueAt(5) //_"||||||\X0D\\X0A\" // Append escaped CR/LF representation
//Do tOBXSegment.
Sample with multiple Items;
MSH|^~\&|GMRC IF CONSULT|XXX^XXXXX^DNS|GMRC IF CONSULT|YYY^^DNS|20250123175341+0000|CRNR|ORM^O01^ORM_O01|Q5808332894T6790522104|T|2.
I need to add an extra blank OBX segment after a segment containing text, Total Cost:
I get the OBX segment but it is in incorrect location.
It should be after the line containing Total Cost:
It needs to contain:
code:
If (tOBXText[ "Total Cost:") {
Set tSegmentOBX = ##class(EnsLib.HL7.Segment).%New()
Set tSegmentOBX.SegType = "2.3:OBX"
Set tSC = tSegmentOBX.SetValueAt("OBX", 0, "set")
Set tSC = pOutput.
I have a segment within a Group (grp) that needs to be validated that it is populated within the message.
.png)
When you use a Foreach within a Business Rule how should you account for the counter in the group?
For example, Epic sends their MFN message in the following format.
MSH~MFI~[~{~MFE~STF~PRA~[~ZPR~]~[~ZLK~]~[~CER~]~[~ZMG~]~[~ZTF~]~[~ZGP~]~[~ZDD~]~}~]
so, the ZLK segment might not exist until the last MFEgrp that is in the message. I need to verify if there is an Employee ID associated with the Provider in the HL7 message before I run it through the translation.
Trying to start investigating an error we are seeing with multiple of the same messages getting sent to the same vendor. We receive an HL7 message with an RTF embedded from our EMR, send it through a DTL to just update the Patient Class, and then send it onto the Operation which is TCP.
.png)
We are starting to see this error message...
ERROR <Ens>ErrBPTerminated: Terminating BP DocOutRptRouting3M360 # due to error: ERROR <Ens>ErrException: <INVALID OREF>zOutputToIOStream+6^EnsLib.HL7.Message.1 -- logged as '-' number - @''
> ERROR <Ens>ErrException: <INVALID OREF>zOutputToIOStream+6^EnsLib.
Summary of Alerts
| Alert ID | Product & Versions Affected | Explicit Requirements |
|---|---|---|
| DP-439207 | InterSystems IRIS® data platform 2024.3 (AIX) | AIX installations Using JSON processing and Unicode non-Latin-1 character sets |
| DP-439280 | InterSystems IRIS 2024.3 (containers with IntegratedML) | IntegratedML Containers using TensorFlow |
Detail of Alerts
DP-439207 - AIX JSON Unicode Parsing Issue
A bug has been identified in InterSystems IRIS 2024.3.0 on AIX instances that affects the parsing of JSON Unicode strings.
JSON Web Token (JWT) Authentication
Hi Everyone,
I would like to share the code and step-by-step instructions/or guideline for generating a JWT (JSON Web Token) signature, as well as how to test it using Postman / HealthConnect.
JWT is an open standard (RFC 7519) that defines a compact, URL-safe method for securely transmitting information between parties in the form of a JSON object.
Structure of a JWT:
A JWT consists of three parts, separated by dots (.):
|
Header |
. |
Payload |
. |
The complex record mapper can help you process text file data consisting of various types of records to persistent messages in IRIS. To gain a basic understanding of the complex record mapper and see an example implemented in the production, check out the learning services video below:
https://community.intersystems.com/post/video-using-complex-record-mapper
This article is going to help troubleshoot when you see <Method DOES NOT EXIST> when handling record objects.
We are receiving the report in text format and it has special characters like ', - like that in the text. Source system is using the UTF8 encoding format hence the text is showing as ' � ' . Is there a way to convert the utf8 to actual character in the DTL.
Thank you,