I am trying to use EnsLib.SQL.Operation.GenericOperation for retrieving (multiple) rows. But I am looking for a way to handing a StreamContainer returned by the operation, in my business process such as receiving it in the Context object and packing it to a request to call another business operation.

Does anyone have sample code to do this?

Thanks.

1 2
0 260

I am using the EnsLib.File.PassthroughService class in the business service, this business service will accept a text file from a location and pass it through to the BPL as a stream. I have been trying to work with the BPL in the GUI and I have been reading the documentation and trying to get it to work but I can not I continue to get errors and I am not sure why.

I will attach the Photos of what I have been trying, I think there is a problem with my call action because when I try and trace the message the context of the file does not even make it to the business operation.

0 2
0 307

I have a Business Service that reads a file from a folder and sends it as a string to a Business Process. In the business process, I need to add a string to the end of the file string that is coming into the Business Process. I am trying to do this in object script in studio and I am struggling to figure out how to add the string to the end of the other string. I am still new to studio and object script I have been reading up on the documentation and I am not sure what is the best way to accomplish this.

0 6
0 305

Once a week we are attempting to load an XML file from Workday into a MS SQL table using JDBC and Store Procedures. There is approx 102999 records in this XML file. We are struggling with processing the entire file within a reason amount of time. We feed the XML through a BPL to then populate values in a stored procedure then call the stored procedure through a Business Operation. I have tried splitting out the Business Operations to make two calls, but we still continue to see an issue loading the XML into MS SQL.

0 4
0 350

New to Health Connect so please forgive me if this is a stupid question! Is there a specific error code returned when a user initiates an abort from the jobs tab of the business host? I want to be able to treat the Abort as Completed due to our complex business process. Currently, hitting abort just retries the message to the same business operation. Want I want to do is provide the error code used by the Abort (if there is one) and treat it as OK

Thanks in advance.

0 4
0 415

I have a handful of EnsLib.HL7.MessageRouter sending an HL7 message to a single Business Process (Ens.BusinessProcess).

In the OnRequest method, I am declaring pRequest as EnsLib.HL7.Message

What I need to do is determine which HL7 Router sent any given request to my BusinessProcess.

To do this, I know that I need to fetch the SourceConfigName property from the Ens.MessageHeader of the Request, but I am not sure how (or if) I can fetch this data from within the OnRequest Method.

Does anyone have any pointers?

Bill Casey

0 2
0 411

Hi,

While starting newly created production I am getting below error:

17:14:05.498:Ens.Director: ERROR <Ens>ErrProductionSuspendedMismatch: Production 'Training.NewProduction' was suspended, a new production of a different name can not be started.

Please note that I can start and stop 'Training.NewProduction' successfully but still the status of the Training.NewProduction' is suspended.

Thanks

0 4
0 367

I have a BPL Business process which always processes messages - mainly it waits for responses since downstream systems are seriously async.

I need to update this process.

Wwould the existing instances of this Business Process complete correctly after the update?

My BPL changes would result in:

  1. New S method in the Thread class
  2. New OnResponse method in the context class

Both changes are in the middle of the process, so there are S/OnResponse methods before and after my change.

0 4
0 146

Hi! I am working on a project where I use record map to transform a flat file and split it into two output text file and in the future will need to split four output files.

I only want to use one target business operations instead of multiple. Is there a way to set the output file and the target folder path in my business process class?

Any advice on how I can achieve this or is this possible? Thanks!

0 5
0 479

Hi,

After cloning "http://github.com/intersystems/Samples-Integration-RedLights" sample code I imported sample production from /home/project/Samples-Integration-RedLights/data/EndStateProduction.xml file to my local system.

Now I am getting the error "ERROR #5021: Directory '\home\project\shared\Samples-Integration-RedLights\data\SampleFiles\' does not exist." in my service.

While modifying the Directory path I am getting below error :

0 1
0 414

Hello All,

I am exploring Ens.Alert to generate alerts for Server exceptions.

I noticed that in the business operation, if you have your code inside try/catch and if your catch doesn't explicitly invoke $$$systemerror then Ens.Alert is not invoked.

Similarly, in the Business process if you have <catchall> then Ens.Alert is not invoked on error. How can I invoke Ens.Alert from <catchall> ?

0 3
0 266

I am calling a business rule from one of my business processes and I noticed that when the business rule reports an error that the business process calling that rule just stops without any errors. Resultingly it fails to trigger the scope - catch-all construction that is surrounding the business rule. I know that it is possible to view the errors in business rules in the business rules log, but I really like to push an error message to Ens.Alert or something similar when my business rules report an error. How do I achieve that?

0 2
0 326

Hi, I think it's a simple question this at the end of something fairly complex

I've a DTL to go to a target class in context

I get the error CLASS DOES NOT callrequest=##class(context.ConnectDocumentRequest).%New()'

I attempted to add code to initate the context with

set context.ConnectDocumentRequest =##class(Penn.EDT.Messages.ConnectDocumentRequest).%New()

0 1
0 281

I'm looking for a way to get the message header ID for the current message in a Request to a Business Process.

I've located some code that gives me what I need, but it runs the risk of violating the "abstraction layer" ISC has in place around such things. And while I very much appreciate their efforts at keeping things simple for me ... well, sometimes you just have to dig through the guts to get what you want.

Is there a documented, deprecation-resistant method for getting at %Ensemble("%Process").%PrimaryRequestHeader.%Id() from within a BP?

0 6
0 987

Hello,

I am trying to figure out if we can extend a business process in IRIS. My Use Case is that I am developing RESTful Interfaces and my each REST Interface needs to go through certain processes before getting to the actual action.

e.g. I have 2 REST Interfaces, GetPatient and GetEncounter. Both of these need to invoke "GetToken" Business Operation to go to the Authentication server to get an authentication token before they go ahead and hit the Business Operation to Get the data i.e. Patient or Encounter.

1 1
1 237

Does anyone know how to disable the auto-refresh in Healthshare, especially for Message viewer , Business process designer, DTL editor pages?

These pages in management portal refresh every 15min( i.e. as per the session time out setting) . I tried to set the following two configs to disable the auto refresh but both had no impact.

set ^EnsPortal("DisableInactivityTimeout","Portal") = 1
set ^%SYS("Portal","EnableAutoRefresh") = 1

Thank you for your help.

Mary

1 8
0 753
Question
· Jan 20, 2021
Multiple Threads In Operations

I have a BPL that calls a business service (actually does lots of other things unrelated to my question). We receive an acknowledgement back containing data that is processed in the BPL and sent to the source system. The process of sending to our downstream system "A" and receiving the response takes about 20 seconds per transaction (very slow on system A's side). Due to this slowness, we end up with a backlog close to 1000 messages by the end of the workday.

0 4
0 504
Question
· Jan 13, 2021
Handling Errors

I have a case where our EMR is sending data, but not all the values needed for the Ancillary are valued properly and causes that message to error/halt processing on the Ancillary system, not ideal but its what they do. I would expect them to still process the message except that 1 field, but they don't.

I want to add validation to make sure certain fields are valued correctly for the Vendor.

So I add some statements to take those items that don't pass this validation out to a batch file with headers.

0 9
0 917

I have a case where I need to look up the NPI provider against an External MS SQL database to retrieve our Provider Identifier to send to a downstream system. In the past I would use a Business Process (BPL) to connect to the outside MS SQL via JDBC and get that information for me. But I was thinking instead of creating a BPL process to do this, would it be better just to link to the outside MS SQL database table to retrieve the information in a SQL statement within a DTL?

0 3
0 317

We are trying to convert some of our SQL Service Integration Service jobs from Visual Studio to Ensemble. If we execute a Stored Procedure within SQL Server Management Studio it is returning approx 12,000 rows. However when Ensemble executes the same Stored Procedure it is only returning 250 rows.

Is there a limitation to EnsLib.SQL.Snapshot?

This is how we are calling the Stored procedure

0 4
0 904

Did anyone run into this error when stopping a Production from Ens.Director?

Ens.Director::StopProduction => ERROR <Ens>ErrProductionNotQuiescent: IRIS can not become quiescent

It happens sporadically when an automated unit test from a class that extends %UnitTest.TestProduction runs a test on a Business Process. I already increased the parameter MAXWAIT to 30 seconds, but the error still happens.

1 4
0 573

Hello,

We would need to know the Ens.Response SourceConfigName to identify which Operation has raised an exception.

We have tried:

$$$LOGINFO("..%Process.%PrimaryResponseHeader.SourceConfigName..: "_..%Process.%PrimaryResponseHeader.SourceConfigName) //It outputs an empty string
 
$$$LOGINFO("response.SourceConfigName: "_response.SourceConfigName) //It generates an exception

We would need to get from an Ens.Response which body is null, its SourceConfigName:

0 2
0 371

I need to set and use some context variables in a transformation (written in DTL), but the code is manually written.

When writing the same as BPL I define context variables and they are visible in transformations called by that process.

In something like this my.DTLtransform sets HL7 message fields to values in context variables:

0 11
1 791