Hello, I am trying to get some fields from HL7 message and create a file using BPL. The values I need are in a repeating segment (AIG). Even in the repeating segment, I just want the iteration that has a certain field (AIG:3 populated). With the help of documentation and community posts, I was able to create the BPL to loop through all of AIG and create the file. But when I try to narrow the results even further (AIG:3 present), the process gets stuck. I am not sure I am missing anything or have anything incorrectly set up. Also, since the process gets stuck, it doesn't even seem to h
I want to consume an API that provides HL7 messages. To achieve this, I have thought of the following workflow:
I have created a business service that periodically triggers a business process. The trigger request is forwarded to a business operation. There, a %Net.HttpRequest is assembled from scratch and then sent to the API endpoint. The corresponding HttpResponse then contains several HL7 messages encoded in UTF-8 in the message body. To further process the HL7 messages, the operation sends the HttpResponse back to the business process as EnsLib.HTTP.GenericMessage.
I've modified the class file, but messages still arrive as a single line (e.g., "H|.../rQ|.../rL") instead of separate lines in the ASTM service. The <ENQ>..<EOT> header looks correct, logs show no errors, and the service receives messages fine. Is there an Ensemble 2018.1 engine setting (like line terminator handling or TCP framing) to fix the line splitting?
I frequently use the #call (https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY...) feature to make asynchronous calls in the CSP. However, in some cases, I encounter a timeout issue with the CSP Gateway. Is there any way to change this call timeout? I don't want to change the default configuration in the CSP Gateway.
We have an existing process (running in FIFO order), all business hosts having pool size=1.
Currently we are reading records from a file (one record at a time) then that record goes to business process for further processing and finally through the business operation. As of now we are using synchronous call in our existing code. Before processing the last record we are using hang of 50 seconds because we need to initiate a batch once the processing of last record is finished.
We have created a CSP application in the path /csp/ourapp. Due to some session handling issues, we created a new web application /csp/ourapp/hl7mapping that points to the sane namespace, and we now access the CSP pages using this new URL. This works fine in the local system.
After deploying the app to server, we are facing issues around compiling CSP pages.
As part of an ongoing mission to track down orphaned HL7 Messages in our integration engine, I have been digging into our environment to track down the causes.
Having looked at various posts here (including one of my own) there are a few scenarios that can create orphaned messages resulting in excessive disk space usage. These scenarios are generally:
Are there any utilities/api in HealthConnect 2016.2.1 that will allow conversion of XML virtual document to Json format? We were thinking to convert HL7 ADT message to XML via Ensemble DTL and then send it to another BP to convert to Json format for transmission via Web Services. To my understanding there isn't anyway to represent Json as a virtual object so it can be use for direct mapping of HL7 2.x message to Json via Ensemble DTL.
Recently, we implemented some Java-based services using JDBC. And some time ago, I refactored some legacy PHP programs that used "csession" for communication between systems to use PDO with ODBC.
This raised a question for me about how license management is done in this scenario. Is a license used per pool? Or per connection? How is this management done?
Is there any way of saving a representation of the results of a query created in the Message Viewer to a file - most obviously CSV.
We are reasonably adept at creating queries. We'd like to be able to send the output to a file, rather than resorting to cut'n'pasting from the message viewer window...
Is this possible? (on any version of Ensemble/Iris?)
I'm a newbie in term of MQTT clients & brokers, and I've created a MQTT adapter to connect to a broker and I asked our system admin for the user/pass and the URL and this where we got stuck.
The admin is saying that all he has is IP address to the PEM key to the server itself, so my question is, is the broker the server itself and the url is the url to the server or is the Broker an application (eg. Mosquito) that runs in a server and if that's the case and if its Mosquito, where do I find the connection details to it (user/pass & URL) ?
Hello, I am currently facing the task of retrieving or sending HL7 messages from a web API. Since we only send HL7 messages via internal sockets, web APIs are relatively new to me. The following is my plan for the new interface:
In Ensemble->Enterprise Portal->Message Bank Viewer ,the Search option based on basic or extended criteria is not working.Please can somebody answer why so?
I'm trying to make a connection to an external database using %SQLGatewayConnection, but the connection always fails. DSN properly configured. I try to make the same connection through isql in bash, and the connection is successful.
Some languages have the concept of a garbage collector for automatic memory management. I'd like to know if something like this exists in InterSystems Caché in the context of routines, %CSP.REST, or %CSP.Page.
The question arises from the %Close() method of the %RegisteredObject class. This indicates that I need to manually clear the object from memory if it's no longer in use, or in the web context, if the request has completed. Is this correct? Or am I completely wrong?
For historic reasons we've got a mix of ADT feeds coming out of our PAS (TrakCare) to a wide range of downstream systems. In particular, there are some that are direct from TrakCare to the downstream systems, and many more that pass through Ensemble as our integration engine.
This is complicating management of the integrations, and so we'd like everything to go through the integration engine. In other words move from the flow in the top of the diagram to the flow in the bottom of the diagram:
I'm trying to access the Bearer token from the Authorization header in my REST service class, but I'm getting a 500 Internal Server Error when I try to use %request.GetCgiEnv("HTTP_AUTHORIZATION").
My Environment:
InterSystems ensemble 2018
Using EnsLib.REST.Service with HTTP Inbound Adapter
REST API URL: http://ip:port/api-kiosk/patientData
Our vendor is developing an interface API on their end to capture HL7 data on a Server Port, and they require us to send a pre-defined HL7 Order message for testing every hour until the API is completely operational.
Is it possible to accomplish that in a Business Operation automatically without utilizing a service or process? The BO is a standard TCP/IP connection.
I'm manually sending the message again from the Operations right now. I do not have access to the System Operation to use the Task Manager feature.
I've basic learning in Ensemble. I want to create a code as per following request. Please help in clearing following questions
We have a business process-AA. In this business process, we have onRequest method, here after performing some logic, I have to call a method ProcessAAlogic.
We are trying to make an ODBC connection via our intersystems ensemble (2016.2 running on ubuntu). However, when I am testing the connection I receive a pop-up that: "Http object response incomplete or invalid.0,#R". Note that the iodbctrace.log remains empty (and it is working because on the first try it registered a 459 error that I should activate kerberos, which I did). Any advise where I should look?
I have taken the following actions:
1. Expand the cacheodbc.ini in the mgr directory as follows:
Actually, I want to know specific production component status. I used "Ens.Config.Production" to get the status of component. But it will return only the component enabled/disabled. Anyone is having any Idea to get the specific production component status?