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]

I have a use case where Epic is sending an A60 Allergy transaction is set at the Patient level, but we have a system called VIBE which needs the ADT at an Encounter level instead. Currently we store ADT information in a MS SQL database for years, and we are querying it to get the latest Account Number to insert into the ADT^A60 for VIBE.

0 2
0 170

Hi all,

We're in the process of creating several courses for creating custom business components for productions. This includes custom business operations, BPL processes, and custom business services. Custom Business Operations and Custom Business Services are both aimed at software developers while BPL processes can be also be created by business analysts. What are some gotchas or best practices you've learned that you wish you knew when first building these components?

We'd love to include what you've learned into these courses so others can learn from them as well!

0 1
0 427
Question
· Jun 2, 2017
Decoding Base64 PDF File

Hello, I am writing some cache code that will pick up a PDF file, Base64 encode the contents and then send on to a third party system within a Long String (via their API). I have been testing this and discovered that the PDFs do not open within the supplier system (I get an error saying that it hasn't been decoded correctly). I wanted to prove that the issue does not lie with the way that I have Base64 encoded it within Ensemble, and therefore as a test wanted to Encode the PDF stream, then decode the stream and write out to a new file.

0 13
0 6.2K

Hello, we have a couple of BPL processes. This works with a limited amount of messages but we run into issues when we process thousands of messages in a session. One BPL calls a Validation BPL process with async='False' and there is a response defined. The timeout is two seconds and that seems to be plenty of time for the validation process. I expected the calling process to wait for a response but that is not happening.

0 1
0 324

Hello, I want to show a fellow DC member how to convert JSON file into HL7 message. I personally do not work with HL7. I set up a production with EnsLib.File.PassthroughService. It passes Ens.StreamContainer to BPL process. I call a DTL to transform StreamContainer to HL7 message. I run into an error:

ERROR <Ens>ErrBPTerminated: Terminating BP JSON2HL7 # due to error: ERROR #5035: General exception Name 'Parsing error' Code '3' Data ''
> ERROR #5035: General exception Name 'Parsing error' Code '3' Data ''

The code is in this GitHub repo:

0 2
0 719

Hi there,

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.

Thanks in advance for your help!

0 3
0 525

Very similar question posed here: https://community.intersystems.com/node/467496, but I am missing a piece of this:

How do I correctly call a EnsLib.HL7.MsgRouter.RoutingEngine class from the BPL?I can successfully call the BPL from the EnsLib.HL7.Service.TCPService, and I have the BPL created to delay then call the rule. And I set the context and the result location.

0 0
0 82

I am creating a BPL using the Management Portal instead of creating a custom class.

As per the documentations 'request object' contains properties those were in the original request message object or primary request and can be reference using the dot syntax.

So if the primary request was an HL7 message, i should be able to pull the value MSH:9.2 as follow

request.{MSH:9.2} and assign it to a context property

0 5
0 1.8K

I have a process that I am trying to duplicate from SQL Integration Services (SSIS) into Ensemble so that the rest of my team can help support any issues that may happen.

This particular job creates multiple dictionary files, but for each one of the dictionary files it creates, it also creates a control file that tells the vendor what to process.

0 1
0 496

Hello,

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'.

Error #5002: Cache error: <ROLLFAIL> %TRollBack+10^%occTransaction

The error happens on a particular large object.

Our FileService gets the same Errors #5803 and #5002 with class 'EnsLib.EDI.X12.Document'

0 3
0 575

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 862

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 307

Hi,

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

0 3
0 355

I have a message class define. But sometimes the RelatedItems fields is not returned.

Parameter %JSONIGNOREINVALIDFIELD As BOOLEAN = 1;

Property RequestedTerm As AH.AHLIB.Custom.Symedical.Message.PostRelationResponse.termsRequested;

Property RelatedItems As list Of AH.AHLIB.Custom.Symedical.Message.PostRelationResponse.RelatedItems;

Respnse normally will return someting like this,

0 2
0 226

maybe I am not looking in the correct spots, but how should one handle an Exception from a SOAP web service within the Business Process Language? For example I am sending a request to a Web Service to try to get information, but the response I am getting is an Exception like "Patient Not Found".

Is there a function I can call to check the response similar to what I do to check a SQL Snapshot to see if it is valued?

Thanks

Scott Roth

0 2
0 751

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.

0 3
0 784

I am trying to transform an Enlib.EDI.XML.Document through aXLT I know how to trans form the xml document through a xlt stylesheet but been trying to get an Enlib.EDI.XML. Document from a procees by creating aoperation that will do the transformation of this to file if this can be done in a process all ideas welcome so far I have come to this and I keep getting an error

0 7
0 951
Question
· Jul 20, 2018
Oracle Transaction

Hi,

I have a question related with EnsLib.SQL.OutboundAdapter adapter.

Is there a way to open an oracle transaction and do either commit or rollback depending on the query result?

Is posible to keep open an oracle transaction to execute a lot of queries on different methods on the same business operation and do a commit when the business process finished?

Thanks and Best Regards

0 4
0 371

I have a business process.

if it has an error it dies, or if a have a catch all/fault handler the execution flow goes there.

However, I want another behavior.

If any error occurs I want the process to "Pause" (and alert me), so I can figure out what went wrong and resume from the last request.

Here's an example of how it could work:

  1. If an error is caught, call BO
  2. BO defers response
  3. BO sends alert
  4. Fix BP
  5. Manually resolve deferred response

I'm not set on the exact pause/resume mechanic but I hope it makes the general idea of what I want clear enough. Ideas?

0 4
0 363

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 297