1) What's the correct way to check for an existence of a segment? So far I have been doing this by checking to see if a required field is non-null, and this seems to work but is a bit clumsy. In this case, it’s an X12 message being checked in an IF action in BPL:
Created a business process and ticked "Is component".
Later trying to use it as component from another business process, and when trying to set up target for a call activity, selecting process components does not show anything in the list.
when ever I pull the xml file from business services and its failed in business process and I am getting the below error.
ERROR ErrPreviouslyCrashedMessage: Message '117' crashed previously.
We have defined four BPL Business Processes. One gets occasionally errors when pool size is two. No errors happen with pool size one. The error happens on calling %Save() on a large objects with many references to other objects.
Error #5803: Failed to acquire exclusive lock on instance of 'classname'.
I am working on a BPL to take data from a MS SQL database and create an HL7 Materials Message for our EMR. I have done this plenty of times in the past however I am running into an error.
"Remote Gateway Error: JDBC Gateway SP execute(0) error 0: Access to the remote server is denied because no login-mapping exists."
What is confusing is that this BPL doesn't differ from any of my other BPLs in connecting to MS SQL Server. I know I am missing something..
Ensemble Business Process seems like red color but it still processing message successfully. I have checked log, events, queue everything is clear. there is no log info or error in the history. If BP is in red color in the sense might have some issues, but is still processing messages successfully.
I have two files that I ultimately need to combine. The first file contains data from a PO. The second file contains tracking information. What I thought about doing was create a BS that grabs the first file, loads it into a record map and transfers it to a BPL. Then, the BPL would open the second file where I would write code to load the file into a second record map and then insert the tracking information to the correct places in the first file based on PO line items.
I'm working on a project where I retrieve RawHL7 message(ORU R01 2.3.1) content from a database in a BPL. I've created a context object of type Enslib.HL7.Message, and I need to populate it with the contents from the RawHL7 message so that I can use this context object as source for my DTL transformation.
Does anyone have suggestions on the best approach to achieve this? I'm looking for guidance on how to efficiently transfer the data from the RawHL7 message to the context object.
What are the pros and cons of developing a custom database driven routing engine vs. using the Ensemble standard routing engine. What I'm trying to accomplish with the custom routing engine is less manual intervention every time a new route is added. The con I can see with the custom engine is performance may lag behind the standard engine. My development vs. Intersystems essentially.
Is it possible to dynamically adjust the RetryInterval andFailureTimeout settings in a BPL?
I've got a business process that calls a web service operation to get a session ID from an external system. There is a string property returned in the body of the response that indicate an exception occurred in the external system. I have code in the BPL that examines the property and sets the status property to an error status when that occurs.
We are starting to look into our BPL's and catch errors that calls may return. Can someone explain how to use the THROW and CATCH within the Business Process Language or have a sample of how it should work?
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> ?
We are developing a BP where we would need to call at the same time to get appointments in two external systems. So then, we would need two threads, one for primary care appointments, and other for specialist appointments . We need to paralelize both calls because of both of them require some time and we would need to shorten it as much as possible.
we get HL7 MDM messages with embedded PDF documents that are Base64 encoded. When the embedded PDF document exceeds the size of 3.6 MB the following error occurs:
FEHLER <Ens>ErrBPTerminated: BP Main HL7 MDM # wird wegen folgenden Fehlers beendet: FEHLER #5002: Caché-Fehler: <MAXSTRING>zgetAtFromArray+46^EnsLib.HL7.Segment.1 > FEHLER #5002: Caché-Fehler: <MAXSTRING>zgetAtFromArray+46^EnsLib.HL7.Segment.1
I created a custom class for a process that does some basic manipulation to an HL7 message. I'd like to be able to write some debugging to the process event log. How would I do that?
I had an interesting scenario come up, as when we moved from eGate to Ensemble and we will be moving to IRIS here in the near future I was taught to create Business Processes for writing to and extracting data from outside MS SQL Databases.
I have a batch record mapper that reads a csv file and passes the message to a process that uses the EnsLib.MsgRouter.RoutingEngine and would like to pass the message to an operation that will output that as a XML file but so far been unlucky as the operation that I use , uses the EnsLib.EDI.XML.Operation.FileOperation which only works with the messages("BusinessOperation class for writing XML messages to a file.
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.