Question Martin Staudigel · Dec 2, 2025

Hi community,

we recently updated our Health Connect instance from 2021.1 to 2024.1 and also migrated to new hardware. The production environment is connected to an enterprise message bank system.

After going live with the new system we recognized, that enterprise system nodes in the messagebank were automatically created using a hostname for the "Web IP Address" setting, which actually had changed (to the hostname of the former production environment) before starting the production and sending messages.

1
0 80
Question Martin Staudigel · Sep 17, 2025

Hello community,

is anybody located in the DACH area healthcare sector working with Dedalus Orbis as patient master and uses a custom HL7 schema for parsing Orbis message structures into Health Connect?

We're facing a migration and I ask myself if I have to create a schema by myself, based on the pdf documentation given by the company. This is a tedious task,  so hopefully there is somebody out there willing to share his or her experience.

Kind regards,

Martin 

2
0 92
Question Martin Staudigel · Jan 2, 2025

Hello Community,

we're running an Iris installation on SLES 15.5 using the SLES Apache server and web gateway for hosting the management portal on Port 57772 (e.g. http://<host-name>:57772/csp/sys/%25CSP.Portal.Home.zen?$NAMESPACE=HL7TOFHIR) on the same machine. The Iris installation also provides a FHIR Server in a separate namespace which uses the base URL http://<host-name>:57772/fhir/r4 for connections.

The installation is locked down and the SLES Firewall is activated an configured to just allow connections on port 57772 and 1972.

1
0 103
Question Martin Staudigel · Dec 23, 2024

Hello Community,

I'm trying to import WSDL service descriptions from Gematik (https://www.gematik.de/) to allow communication with the german TI infrastructure using the TI connectors webservice interface over a IRIS healthconnect SOAP operation. For import I'm using the SOAP Wizard Add-Inn from Studio.

The WSDL files can be found here: https://fachportal.gematik.de/fileadmin/Fachportal/Downloadcenter/Schemata-_und_WSDL-Dateien/Schema-_und_WSDL-Dateien/OPB3.1_Schemadateien_R3.1.2_Kon_PTV3_20191002.zip

The interface specification and some helpful graphics are published here: https://gemspec.gemati

5
0 212
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.

I also found out that the presentation in the preview window and also the

2
0 181
Question Martin Staudigel · Jun 12, 2024

Hello community,

I guess this one will be easy to answer, but trial and error took me too long meanwhile, so I thought it might better to ask the experts.

I would like to get rid of %all rights for routine use at our productive environment. The things, that we have to do in routine are:

- Open productions and start / stop components
- Read messages and message logs
- Search and resend messages
- Deploy new Applications
- Edit settings and default settings
- Read database tables

All in all, it is quite equal to everything but System Administration.

I tried to configure this by assigning combinations of

2
0 245
Question Martin Staudigel · Apr 11, 2024

Hello community,

in addition to HL7 V2 interfaces mediated via TCP/IP, we have been implementing more and more HS.FHIRServer.Interop.Service based services that are addressed via port 57772.
We would like to secure access to the Management Portal now and have come up with a procedure that I would like to discuss.

1. The local server firewall only allows access to port 57772 for the IPs of the administration PCs (and some few other exceptions).
2.

5
0 209
Question Martin Staudigel · Oct 2, 2023

Hello Community,

I am working on creating a FHIR bundle with Practitioner resources inside of a BPL business process. Data source is a cache database table containing business partner data objects.
Part of the implementation is a loop over all new or updated data objects. For each element a SAP call is made to retrieve more information and add it to the target resource. As there was no last run on first start, approx. 130000 objects are initially to be exported. After the first run, there would not be more than 100 to be updated on each run.
The process runs fine for some thousand objects, but

3
0 657
Question Martin Staudigel · Aug 28, 2023

Hello Community,

To get to my problem, I need to elaborate a bit. We use an older fixed length format called HCM to transfer data from our SAP-ISH system to the Intersystems server. The data file is generated on a dedicated server and stored in a directory that is mounted to the communication server.
The synchrnoization is done via a lock file, which is exclusively locked in the adapter.
Now this, let's call it HCM server, is to be replaced.

4
0 262
Question Martin Staudigel · Mar 14, 2023

Hello,

I want to generate and return an http response based on the input of a http GET request. For my first steps I used an EnsLib.Http.GenericService, which uses an EnsLib.HTTP.InboundAdapter to receive requests like http://[my server]:[my-port]/some-path?ID=12345678.

On the inbound side I receive a EnsLib.HTTP.GenericMessage Object which contains the parameters and some other useful information that I can work with.

5
0 740
Question Martin Staudigel · Jan 9, 2023

Hello community,

is there anything special to consider when running a foundation production regarding purge jobs (Ens.Util.Tasks.Purge)? I am thinking specifically of the QuickStreams, which according to my information are stored in a temporary database until the system is restarted. Since a system reboot is much less frequent then the purges, I wonder what happens to the QuickStreams whose messages and headers have already been purged. Is there a way to view Quickstreams (not content, but rather metadata) e.g. via the Management Portal?

Thanks for your comments and hints,

best regards, Martin

3
0 285
Question Martin Staudigel · Nov 22, 2022

Hello Community,

when trying to send HS.FHIRServer.Interop.Request objects to an external FHIR server, I get errors: ERROR #6156: No match between server name '...' and SSL certificate values '...'. The reason is pretty clear, the problem is that we don't get correct certificates in time, but have some pressure to go live with the interface.

In the SSL/TLS Configuration "Server certificate validation" is set to none. Is there a way to temporarily disable this kind of certificate validation (sending unencrypted via http is no option) in the service settings, or anywhere else? 

Thanks for your

3
0 534
Question Martin Staudigel · Feb 2, 2022

Hello community,

on my first steps with processing FHIR requests, I tried to create a capability statement resource an returning its content JSON or XML, depending on what is requested by the client.

I create a CapabilityStatement object by parsing a JSON file with:

#dim tCapStat as HS.FHIR.DTL.vR4.Model.Resource.CapabilityStatement = ##class(HS.FHIR.DTL.vR4.Model.Resource.CapabilityStatement).FromJSONFile("/opt/home/data/fhir/UkerQsCapabilityStatement.json","vR4")

then, depending on the content of pRequest.Request.ResponseFormatCode I create a HS.SDA3.QuickStream Object with

do tStream.CopyFrom

4
1 602
Question Martin Staudigel · Jan 24, 2022

Hello Community,

to return data from the OnPage() method of a %CSP.Page I used to simply write out the value of a %DynamicArray e.g. via

write tResponse.%ToJSON()

and return $$$OK afterwards.

Large objects bigger than 4MB result in an exception when trying to create return values using this way. What is best practice for returning values as JSON, especially if values exceeding the capcity of the %String class are to be expected? I saw that it is possible to write data to a file with e.g.:

set tmp = tResponse.%ToJSON("/opt/home/tmp/test_stream.txt")

Am I supposed to do this and afterwards

3
0 395
Question Martin Staudigel · Jan 11, 2022

Hello community,

I'm trying to validate a HS.FHIRServer.Interop.Request received from an HS.FHIRServer.Interop.Service, which looks more or less like this example

It is quite intuitive to gain access to basic properties like

$$$TRACE("Request Method: " _ pRequest.Request.RequestMethod)

But when I try to get access to the AdditionalInfoItems (especially the 'ClientAddr' element) simplicity is over.

As $$$TRACE("Request contains " _ pRequest.Request.AdditionalInfo.Count() _ " Info items.") results in printout of a correct number of elements, a for loop

for tCount=1:1:pRequest.Request.AdditionalInf

2
0 334
Question Martin Staudigel · May 12, 2021

Hello Community,

we read data from an Oracle database. The desired order is created by an 'order by' in the sql statement. The individual elements of the result set are converted into objects and inserted into a parent object using 'insert' on a property, which implements a one-to-many relationship with the result objects. Later, we iterate over the objects in a for loop and process the contents. At this point the order is apparently no longer identical to the order in which the elements were inserted.

The fundamental question at this point: Is the described relationship aware of the concept of

5
0 428
Question Martin Staudigel · Feb 19, 2021

Hello community,

I would like to report about a security issue, that engages us for some time meanwhile.

We configured a restricted user to read data from a csp page to feed our nagios server with information about configuration items we would like to have an eye upon. The configuration of this user is the same in our production and in our development environment. The called method mainly reads data from lookup tables by sql queries and writes data to a temporary table, which is deleted in the begining.

The weird thing is, that both on DEV an PROD the script terminates without any obvious error,

2
0 540
Question Martin Staudigel · Feb 12, 2019

Hello everybody,

My question would be, how is the recommended way to access Windows shares, also in view of future demads. Of course, I'm also happy about an explanation or code snippet of how the library, which is mentioned in the following , can be used under cache.

The classic jcifs library is easy to use, also with Cache, but as microsoft ceases support for smb1, we are currently looking for alternatives. jcifs-ng is such a library, which we took a closer look at. In java code a jcifs-ng file operation looks like this:

[...]
CIFSContext baseCtx = new BaseContext(new

3
0 1646