Hi,
Is there a way to set the SettingSchedule on a EnsLib.File.PassthroughService at 9:00 am to 9:30 am but only end of the month?
A business service is part of InterSystems Ensemble interoperability production which is responsible for accepting requests from external applications.
Hi,
Is there a way to set the SettingSchedule on a EnsLib.File.PassthroughService at 9:00 am to 9:30 am but only end of the month?
I have a requirement where in I had to read a HL7 message string ( which is a String )
from a SQL TBL to my Business Service.
and I need to convert that string to EnsLib.HL7.Message format and traverse through the PID segment.
I need some inputs please.
Has anyone noticed weird behavior when upgrading to HealthShare Health Connect 2024.1?
Wednesday I upgraded our TEST environment from IRIS for UNIX (Red Hat Enterprise Linux 8 for x86-64) 2022.1.4 (Build 812_0_22913U) [HealthConnect:3.5.0-1.m1] [HealthConnect:3.5.0-1.m1] to IRIS for UNIX (Red Hat Enterprise Linux 8 for x86-64) 2024.1 (Build 267_2U) [HealthConnect:3.5.0-1.m1].
Some of our Business Processes have been throwing...
ERROR <Ens>ErrBPTerminated: Terminating BP EnterpriseDirDBWorkDayAppointmentBPL # due to error: ERROR #5002: ObjectScript error: <LIST>%SerializeObject+7
Hi Community,
I am receiving a JSON file as input in ensemble and i need to convert the JSON message to HL7 message.
Can anyone share few points how to read a JSON file into Ensemble production by creating a Custom Business service?
I have created a custom business service as below but i am not aware which parameters i need to pass in
Do i need to Ens.Request or RegisteredObject or
Thanks,
Joe
From time to time we develop an Ensemble Production with simple SQL Inbound data from external databases, we need to develop a few new classes. There are at least:
Let's say, if these codes can be generated automatically in order to make the entire development more "low
We have a custom business service that is triggered by a scheduled task. The service queries a table, iterates over the result set and sends a message on to a business process for each result. Happy path functionality is all fine.
However, when there is an error detected in the business service code, neither throwing an exception nor returning an error %Status behaves as we'd expect.
Our error handling scheme, which is working for the other business processes and operations, is to throw an exception on error.
The traditional use of an IRIS production is for an inbound adapter to receive input from an external source, send that input to an IRIS service, then have that service send that input through the production.
.png)
With a custom inbound adapter though, we can make an IRIS production do more. We can use an IRIS production to process data from our own database without any external trigger.
.png)
I am attempting to configure an inbound service that utilizes the EnsLib.SOAP.GenericService class. This service receives HL7-v3 content wrapped in SOAP requests. Despite reading the documentation on configuring SOAP services, I am still confused.
In my current configuration item "Fr_Centrak_RTLS", I have ‘Enable Standard Requests’ checked, ‘Pool Size’ set to 0, and the port is unspecified.
.png)
.png)
I have also configured a web application with the following details:
.png)
My challenge is determining the correct URL address for sending SOAP traffic to this service.
Hi Team,
Is there any way to disable all operation ( or services) in a production entirely?
For example when restoring from one HealthShare environment to another we may need to get the configs (IP, port, ssl etc ) updated before staring the operation. We set the production autostart to disabled but still need to disable the operation one by one if we want to start production without operations enabled.
Thank you for your help.
I'm currently fighting with SoapUI to get the HS WSDLs imported.
My first issue is, the IRISUsername and IRISPassword parameters don't seem to work.
i've tried the following url:
https://ifwap0661.ad.klinik.xxxyyy.de/ucrdev/csp/healthshare/hsreposito…
result:
Error loading: org.apache.xmlbeans.XmlException: org.apache.xmlbeans.XmlException: error: The entity name must immediately follow the '&' in the entity reference.
not entirely sure what is happening here.
In The Business Process and the Business Operation, I am using the following code to get the value of TimeCreated and TimeProcessed
BP:
%Ensemble("Process").%PrimaryRequestHeader.TimeCreated
%Ensemble("Process").%PrimaryRequestHeader.TimeProcessed
BO:
..%RequestHeader.TimeCreated
..%RequestHeader.TimeProcessed
But I am trying to use ..%RequestHeader.TimeCreated in Business Service it is not storing any value.
How to get the value of TimeCreated and TimeProcessed in Business Service?
Hi,
Is there a way to send certain message based of source into top of the queue of business operation.. so that that message will processed right away.
Hi all,
For a requirement of the customer, we have a BS Rest api with a lot of methods, we need to get the IP of the caller, the method and what is the time that the API has taken to process.
I've found the event onPreDispatch where I can take the IP, ClassMethod, etc.
Hi all,
As you know, it is very complicated to debug a Business Service Rest API because the object is created when the applications receive a request, so we cannot have the JobId that we can use to debug.
https://docs.intersystems.com/iris20211/csp/docbook/DocBook.UI.Page.cls…
So, I'm trying to get the JobId when the class is being created, write a trace in OnInit() method and write the JobId in a log info
Method OnInit() As %Status
{
$$$LOGINFO("JobId: "_$JOB)
hang 20 break
Quit .Hi Community,
What is Defination of XData which we use using in Object script
we are using XData
How can we use XData for different functionalities
Thanks,
Joe
Hi Community,
Is there a way to call HL7 Data transformation directly from Business service without using Rule functionality in the production
In this scenario i need to call a data transformation in directly in business service and give the transformed message to Business operation
Please share if you have any ideas to implement this.
Thanks,
Smythee
Has anyone noticed that when IRIS is forced down that the EnsLib.JavaGateway.Services do not properly shut down and release the ports? While we can write a shell script to kill the processes at the OS level, I was wondering if anyone experienced this issue.
We are working on our Mirroring setup/failover and had the team testing forcing the Primary down to make the Backup to become the Primary Server. When this happened and we failed back, IRIS could not restart the JavaGateway.Services because the ports were still in use.
.png)
Sometimes we need to convert FHIR message to HL7 V2, e.g. to register a patient to the PACS system.
In this article, I will explain the steps to achieve the desired by using IRIS FHIR Server production.
Below are the steps we need to follow:
Let's review the steps in detail.
Open the production page and make sure Production is started. In the next step, we need to make sure business service HS.FHIRServer.Interop.Service is registered with FHIRServer.png)
Hi community.
I have an API that is deployed in my production (business service) and it calls to a business process to retrieve the information that is requested.
The problem that I have is that the calls are queued and it's creating a bottleneck
.png)
The business process is taking more time than needed.
Is possible to configure the BP to process parallely the requests?
I'm thinking to increase the pool parameter, but I'm not sure if it's a good idea.
Best regards
Hi All,
I have ROUTINE for Get Data end of day. Routine Name is "getTicket.mac" . previously i execute at studio using this command to get data
w $$getTicket^production.etl.getTicket() and the result success as we want, in this case i want execute routine using BS ( Business Service ) and i want this routine execute every night at 12.00 AM
.png)
how to implement this condition.
Thanks For your help and time
I am using Intersystems Iris Community Edition. I have created a Rest Api to post HL7 message directly through postman. It is working fine, But I want to create the business service to read the HL7 message from Rest- Api. I tried to create this, but I am not understanding how to do that. Can anybody help me?
Hi All! If you have looked into Health Connect Cloud at all, you may know that the cloud-native environment presents a few differences from traditional deployments of InterSystems integrations. If you've taken a classroom course at InterSystems, you may have used "in" and "out" folders in productions to simulate receiving and outputting HL7 messages.
Configuring Secure File Transfer in Health Connect Cloud shows how this is achieved in a cloud environment where you can't simply create an "in" and "out" folder on your local server. Let me know if you have any questions!
Anybody out there who is willing to share ObjectScript code for handling file read/write operations stored in SharePoint?
Suggested goal: try to create a common library which will be made available on OpenExchange.
SQL inbound service execute using schedule task it ends up with error when end time occurs.
Normally task run from 10 to 10:30 every day.
Error in Log: ERROR <Ens>ErrException: <INVALID OREF>%OnClose+10^EnsLib.SQL.GatewayResultSet.1 -- logged as '-' number - @''
Please suggest..
Hi Interoperability experts!
Recently noticed an interesting conceptual discussion in our Interoperability Discord channel to which I want to give more exposure.
All we know that typical InterSystems Interoperability production consists of the following chain:
Inbound adapter->Business Service->Business Process->Business Operation->Outbound adapter.
And Business Process (BO) here is always considered as a passive "listener" either on port/folder/rest API for an incoming data.

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. The old server is a CentOS 6.4 (Final) (uname -rv: 2.6.32-358.14.1.el6.x86_64 #1 SMP Tue Jul 16 23:51:20 UTC 2013), the new server is a SLES15.
We have this intermittent issue with a particular supplier message , just wondering if anyone has further insight around the two errors we get when we see this.
We use the out of the box TCP hl7 adapter.
We first seem to get this incomplete hl7 message resulting in an error like
Discarding leftover input 'MSH|
This is not unexpected as the final obx has not dot the description of OBX:2.2 ect.
OBX|53|TX|NCDAC^
The next message will have the error
| Status |
Error <Ens>ErrException: <NOTOPEN>zFlush+7^%IO.DeviceStream. |
I have the following setup: REST broker calls inProc BO via BS. As BO initialization is time-consuming, I want to reuse the same BO during the CSP process lifetime.
I have tried the following approaches:
%session.Preserve to 1 (I would prefer not to use it as the BO object is not linked to a specific client)
$$$EnsInProcPersist to 1 (looked relevant)
However, every time I call my REST endpoint, I get a new BO. Is there a way to cache inProc BOs in the CSP context?
To run the sample, import it into any interoperability-enabled namespace, start in.
The Telegram Adapter for InterSystems IRIS serves as a bridge between the popular Telegram messaging platform and InterSystems IRIS, facilitating seamless communication and data exchange. By leveraging the capabilities of the Telegram API, the adapter allows developers to build robust chatbots, automate tasks, and integrate Telegram with InterSystems IRIS applications.
The most common scenarios where the Telegram Adapter can be used include:
Had an issue on Friday where a vendor added an additional field in the middle of a row of one of our record maps. This threw the mapping off when I take the record and try to map it into HL7 and caused massive amounts of errors in our EMR because the data was wrong.
Is there a way that I can add validation on the Business Service to say if the fields are off to fail, stop, and alert on the Business Service?