#Health Connect

1 Follower · 679 Posts

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:

  • Interoperability by design
  • Mirroring with fast failover recovery
  • Source control for HL7 schemas
  • Intuitive drag-and-drop HL7 schema editing
  • A flexible, adaptable security model and more
Question Scott Roth · Oct 28, 2024

Our TEST environment and PROD environment are on two different versions of HealthShare Health Connect.


TEST IRIS for UNIX (Red Hat Enterprise Linux 8 for x86-64) 2024.1 (Build 267_2U) Tue Apr 30 2024 16:06:39 EDT [HealthConnect:7.2.0-1.r1]
PROD IRIS for UNIX (Red Hat Enterprise Linux 8 for x86-64) 2022.1.4 (Build 812_0_22913U) Thu Dec 7 2023 17:06:30 EST [HealthConnect:3.5.0-1.m1] [HealthConnect:3.5.0-1.
4
0 189
Question Mary George · Oct 16, 2024

Is it possible to use one IIS server to configure Webgateway and external Webserver for management portal when implementing synchronous mirroring with VIP  i.e Is it necessary to have two mirror servers(primary and Backup) , one Arbiter server, one Webserver for Webgateway and a sperate webserver for management portal? 

If anyone can please point to any documentation on Mirroring with Webgateway and external webserver for management portal will be really helpful. 

Thank you for your help

6
0 270
Discussion Enrico Parisi · Oct 25, 2024

The IRIS Management Portal is localized (translated) for some (many?) languages and the language used by the Management Portal interface is determined by the browser settings, often derived from the OS settings (can be changed).

This means that if a user, like me, want to use ONLY the English version of the Management Portal, each and every time you login you need to change the language. VERY annoying.

I know I can change the language configured in Browser, BUT, I want to use English for the IRIS management portal non for all my internet activity!

9
1 327
Question prashanth ponugoti · Oct 23, 2024

Hello Experts ,

Could you help to search message details based on MRN in intersytems iris. 

We have created 100+ interfaces and currenly in live (interystems cloud) . Now I try to search message details based on MRN using below query. it is working fine in DEV. but in prod it is taking ages.

SELECT Header.SessionId, Header.SourceConfigName ,Body.RawContent
FROM Ens.MessageHeader AS Header 
JOIN EnsLib_HL7.Message AS Body ON Header.MessageBodyId = Body.ID     
 where  Body.TimeCreated BETWEEN '2023-03-15 13:10:22.993' AND '2023-03-15 13:10:25.993'
 AND Body.

2
0 181
Question David.Satorres6134 · Oct 7, 2024

Hello everybody,

I’m trying to install WebTerminal but I’m not able to have it working. I’ve looked all around the in github and the community but no-one seems to have the same problem. So I hope sharing this someone can give me a hint
So, I’m installing it on IRIS HEALTH:

IRIS for UNIX (Red Hat Enterprise Linux 8 for x86-64) 2023.1.3 (Build 517U) Wed Jan 10 2024 13:30:33 EST [Health:5.1.0-2.m3] 

I install the packageWebTerminal-v4.9.5.xml via Portal Manager and all goes fine:

Importing Selected Classes from /intersystems/prog/IRISHEALTH/mgr/Temp/importfromlocal.stream
Import to Namespace %SYS.
10
0 280
Article Anthony Master · Oct 17, 2024 2m read

I was working on a DTL but kept getting ERROR #5002... MAXSTRING errors. The problem was that most of the DTL GUI action steps only support the string data type when working with the segments. A %String has a limit of 3,641,144 characters and my OBX5.1 was 5,242,952 characters long as the example provided. Of course PACS admin stated ultra high quality up to and including 4K resolution files were needed, so we could not get the vendor to compress or reformat these files to compressed jpg or something similar.

Initially this vendor sends a 2.3 ORU^R01 and our EHR (Epic) is expecting a

7
1 482
Discussion Otto Medin · Oct 19, 2024

In the past, I've created custom SQL operations, but now I had something trivial to do, so I decided to take EnsLib.SQL.Operation.GenericOperation out for a spin. There's no example in the docs, so it was a little tricky. Here's what I ended up doing:

In my external database, I have 'mytable' with two fields 'id1' and 'id2'. Here are the pertinent Business Operation settings:

SQL: select id2 from mytable where id1 = ?
Input Parameters: [1] *id1
RequestClass: Ens.

2
0 230
Question Yone Moreno · Oct 18, 2024

Hello,

First of all: thanks for your help, and thank you for your time.

Thanks for your time.

We have the following situation:

We are in a BPL, and we have defined 4 <call> asynchronous as follows:

First one name: "Enviar a Proceso NEGRIN"

The second one, named as: "Enviar a Proceso HUNSC"

The third one, titled: "Enviar a Proceso CHUIMI 02"

And the fourth and last one names as: "Enviar a Proceso Fuertev"

Inmediately after the 4 calls, we have a <sync> instruction which should wait for all of them to finish.

9
0 246
Question Kurro Lopez · Oct 18, 2024

Hi all,

We have an restriction in a SQL database with a unique index.

We want to catch that exception when it tries to insert or update a value that violates the unique index condition.

// run the query
Set tSC = ..Adapter.ExecuteUpdateParmArray(.nrows,SQL,.param)

// Check if there is any error
If $$$ISERR(tSC)
{
	Set msgError = $System.Status.GetErrorText(tSC) 
	// Check here if the native error code is 2601 (Cannot insert duplicate key row into object 'MYPATIENTS' with unique index 'UQ_UNIQUE_INDEX')
	??????
}

I've tried to get the .

3
0 142
Question Daniel Durdin · Oct 10, 2024

Hi there, 

I'm hoping that someone may be able to point me in the right direction to get started with working with files in Intersystems. I am currently trying to build an interface that will consume a text file containing a list of IDs (one per line) and then write those IDs to an external database. I am comfortable working with the database end but have not worked with files/Stream containers etc yet.

I am struggling with the BP logic as I can't figure out how to access the data within the stream container.

6
1 251
Question Shubhendu Pattnaik · Oct 7, 2024

I am working on a scenario where source will be sending 6 files to HealthConnect. In HealthConnect we need to process all the 6 files and send them to MoveIT through the Operation. In Health Connect we need to configure a property file through the data that we will be receiving in one for the six files.
Can someone help me with the workflow that can be setup to achieve this.

0
0 122
Question Scott Roth · Oct 2, 2024

I have been trying to track down an issue we are seeing in our TEST environment with Memory usage.

We have Several BP's for years now that take a HL7 message, parse it apart, and make calls to a Custom EnsLib.SQL.OutboundAdapter to have it execute Insert/Select/Update/Delete stored procedures against a MS SQL Database via JDBC connection. We are using Microsoft's JDBC 12.2 driver to do this.

What we are seeing is that IRIS.WorkQueue globals are being defined for these calls but then the IRIS.WorkQueue is not being cleaned up and taking up large amounts of Memory.

5
0 187
Question Martin Staudigel · Sep 27, 2024

Hello community

I sent a http post message with a large message body (approx. 200 kB) to a standard EnsLib.REST.GenericService using a standard EnsLib.HTTP.InboundAdapter.

When inspecting the message in the message viewer I expected to see a HTTPMessage XML in the Contents preview, but I found a GenericMessage with no HTTPHeaders section. After a while, I found out that the display in the message's Visual Trace differs from what is shown, when going to the View Full Contents view in the Contents tab of the message viewer.

2
0 193
Question Marco Arcolin · Sep 26, 2024

Hi everyone,

I'm struggling with the extraction of information from the following XML:


<Bundle xmlns="http://hl7.org/fhir">
  <id value="b35061d2-7bf1-11ef-a57c-005056b65e2f"/>
  <type value="transaction-response"/>
  <timestamp value="2024-09-26T10:10:43Z"/>
  <entry>
    <resource>
      <Observation>
        <id value="2005"/>
        <meta>
          <versionId value="1"/>
          <lastUpdated value="2024-09-26T10:10:43Z"/>
        </meta>
        <status value="final"/>
        <code>
          <coding>
            <system value="urn:oid:2.16.840.1.113883.6.

2
0 158
Question Scott Roth · Sep 25, 2024

I am trying to track down a problem we saw this morning with our TEST environment. We had a momentary issue where InterSystems HealthShare Health Connect could not connect correctly to LDAP. When we tried to login and could not connect to LDAP, the system would Delete our users.

the Test LDAP function would return a "Can't contact LDAP server". I went through the Certificates, made sure they had the correct permissions and were not expired.

2
0 255
Question Anthony Master · Sep 17, 2024

I have a theory that I could use an HL7 Data Transformer in a rule without specifying a specific DocType. I want to use the same DTL for a variety of different DocTypes. Here is my very simplistic DTL so far:

Class OrdRes.TestTransform Extends Ens.DataTransformDTL [ DependsOn = EnsLib.HL7.Message ]
{
    Parameter IGNOREMISSINGSOURCE = 1;
    Parameter REPORTERRORS = 1;
    Parameter TREATEMPTYREPEATINGFIELDASNULL = 0;
    XData DTL [ XMLNamespace = "http://www.intersystems.com/dtl" ]
    {
        <transform sourceClass='EnsLib.HL7.Message' targetClass='EnsLib.HL7.
5
0 295
Question Colin Brough · Aug 15, 2023

We need to generate a PDF file from an HL7 message as it passes through an Ensemble production. Looking for examples, tutorials, documentation aligned to our scenario.
We are currently using Ensemble (so can't use InterSystems Reports at the moment). Thinking Zen reports...
We can get from HL7 to XML OK, following Introduction to InterSystems Health Connect - YouTube (see c.1:11:00-1:13:00)

We can follow the Zen tutorials to a point - but they mostly get the data being presented in the report from SQL queries rather than from an in-bound XML

2
0 247
Question Anthony Master · Jun 4, 2024

When developing productions there are many places that we input endpoint information (IP/port) especially when there are dozens of operations going to the same environment. What later happens is that the IP changes and we have to then go into each operation and update the IP.

Is there a way to create a "global variable" for an endpoint, something like `$ehr_IP` and then use that and update it in a single place?
I'm aware of defaults, but I don't want a default as this is not a "default" but is the value to use in place of the variable.

6
0 423
Question Mary George · Aug 2, 2024

Hi Team, 

Is there a way to search for a string or use of a function in all namespaces in one go.

Studio option "Search in files"/Ctrl+shift+F search all files in the current namespace. We have 13 namespaces and wanted to know if there is an easy way to search in all namespaces in one go. 

Thank you for your help 

7
0 473
Question Michael Lundberg · Sep 9, 2024

Hello to you!


Is it possible to write to Windows Eventlog with Object Script?

Tried a bit but having trouble getting it to work. If possible, I would be grateful for a piece of sample code

Regards Michael

3
0 161
Question Samyuktha Chaudhary · Sep 2, 2024

I'm trying to convert date - 2023-09-28T20:35:41Z to BST/GMT format. I tried with $ZDT($ZDTH("2023-09-28T20:35:41Z",-2),8,1) but it's giving the output as '19700101 01:33:43' and looks link the date format in $ZDTH specified is wrong. Any inputs or solution would be appreciated.   

4
0 575
Question Armin Gayl · Sep 3, 2024

Hello everyone,

I'm a bit confused about the number of elements in an XML object.
I have an object of the class EnsLib.EDI.XML.Document
The xsd structure ( DocType)  is an SDA Object

</container>
<Patient>
</Patient>
<Documents>
<Document>
    <DocumentNumber>0000000000000010008162012</DocumentNumber>
    <DocumentCompletionStatus><Code>IP</Code></DocumentCompletionStatus>
    <FileType>XML</FileType>
    <Stream>PD.
2
0 184
Question Scott Roth · Sep 2, 2024

Currently we are exploring how we can allocate additional disk space to our current environment as we have seen a significant increase in growth of our Database files. Currently we have 3 namespaces, all with 1 IRIS.dat each that contains both the Global and Routines.

Since we have started down the route of everything within a single IRIS.dat file for each namespace, is it logical as we see growth to be able to split the current IRIS.dat for each namespace into a separate IRIS.dat for global and a IRIS.dat with for routines for each namespace in a Mirror environment?

4
0 330
Question Scott Roth · Aug 27, 2024

I am trying to create a HS.FHIR.DTL.vR4.Model.Resource.Encounter message based on a conversion of HS.FHIRServer.Interop.Response QuickStream to a JSON %Dynamic Object. 

When I try to send the HS.FHIR.DTL.vR4.Model.Resource.Encounter onto the Router

  1. it is not showing up as a Defined Message Class to Route the message back to the SourceConfigName of the Request message that initialized the FHIR query
  2. I keep getting "ERROR <Ens>ErrBPTerminated: Terminating BP EPIC.FHIR.Process # due to error: ERROR #5002: ObjectScript error: <SUBSCRIPT>%SaveData+29 ^Ens.MessageHeader.1 ^Ens.
4
0 207
Question Andy Stobirski · Aug 23, 2024

Hi Guys

How do get the item name of a class? I have several items derived from the same class, and for error reporting I want to get the name of the item which created it, rather than the class it is derived from from.

e.g. InPhase.LEGACY.GetUpdateNotification, InPhase.LFPSE.GetUpdateNotification and InPhase.ADHOC.GetUpdateNotification are all derived from the same class  InPhase.Services.LoadInPhaseUpdates

I'm aware that the $CLASSNAME($THIS) can be used to get classname, but this doesn't help.

Can anyone help?

Andy

6
0 343
Question Joost Platenburg · Apr 27, 2018

LS,

I'm executing a query using JDBC on a PostgreSQL db:

SET statement_timeout TO 600000000; COMMIT SELECT * FROM bi_hour

The query is aborted with the following message:

FOUT #5023: Fout in Java Gateway: JDBC Gateway getClob(0,2) errorBad value for type long : active

The column 'blocked_status' contains the value 'active' is of type 'text'. I figure somewhere the SQL Gateway tries to convert the text value into a long but I can't find where, any suggestions?

4
0 443
Question Scott Roth · Aug 23, 2024

Instead of building a BP to execute stored procedures just to insert the data, I figured I would give Linked Stored Procedures a try since all I need to do is insert the data. I have proved in our MS SQL Development environment that it is possible, so I through I could just repoint the Linked Stored Procedure 

set hdbc=$$GetJConnection^%apiGTW("xxxxx")

to the test environment. But when I made the changed in VSCode and compiled the Stored Procedure disappeared from the SQL view in the Management Portal.

So can we not simply update the connection string to point to a different MS SQL Connection?

2
0 184