A business service is part of InterSystems Ensemble interoperability production which is responsible for accepting requests from external applications.
We are getting more and more request wondering if we could send/receive data via HTTPS to the outside world from within our Hospital Network. As you can imagine our Ensemble/Cache productions are not exposed to the DMZ or has access outside of the network. We only communicate with external vendors through a VPN, so communicating not using a VPN is rather new to us.
Currently there is a project to get rid of using Proxy, and instead of through a Load Balancer that can use rules to filter out traffic, which adds another layer of complexity.
I'm trying to find a good way to control the Filename for X12 Acknowledgement files, but there doesn't seem to be a way to do that without custom coding. Here's what I figured out so far:
EnsLib.EDI.X12.Service.FileService allows you to set a Reply Target Config, which would likely be an X12 File Operation. The Service doesn’t have any settings related to the name of the Acknowledgement file though. That’s determined entirely by the Operation.
I've a Service utilising the Adapter EnsLib.SQL.InboundAdapter, which uses a Credentials item set with the details of a local SQL account. This currently works, however, we're looking to use the credentials of an AD domain account.
The domain account is a member of an AD security group, which has the required permissions on the source SQL database. I've checked that access is possible with this account via SQL studio.
We have a simple BS that Extends Ens.BusinessService with an ADAPTER = "EnsLib.File.InboundAdapter"; The "incoming" folder has more than 4M files, so we get the following error: ERREUR <Ens>ErrException: <STORE>zFileSetExecute+38 ^%Library.File.1
TL;DR: If I set an Ensemble Production Service based on EnsLib.File.PassthroughService to a Binary charset encoding, it breaks the file handling. Any ideas?
The Complex Recordmapper specify a map for headers, body, and trailers, but it expects all three to have fixed Leading Data to identify the record type. But what if the Header and Trailer have Leading Data, but not the body records? I can't seem to find a way to do this. For example:
I want to deploy Iris Interoperability Production in multiple containers . The production has File Services that process files from EFS location. All the files being processed by multiple containers are in the same directory. The standard Adapter class does not have Check Complete option to lock a file so that other containers File Services looking in the same file path cannot process the same file.
I updated the Inbound File Adapter class to offer another Check Complete option LOCK that will lock the file until it is processed and archived.
Is it possible to "Ping" a remote host in IRIS for Health using ObjectScript? We host hundreds of TCP connections over hundreds of VPNs. I'm working on a project that would make it nice to have way to ping remove clients over the VPN to monitor connectivity and keep the tunnels alive.
Another thought/method would be to make an OS system call (AWS Linux), but I don't see a way to do that either.
Is there any issue with using a pool size setting greater than 1 for an inbound file service? The reason I ask is we can easily dump 100k+ files to a folder in minutes, but using a pool size of 1 can take hours for that backlog to clear.
Hi I'm hoping the community will once more help me out with a question!
Right I have a production that takes an attachment from an email and processes it, sending out a hl7 message at the end. This works ok.
Now I just need to take the email and send it back out to a 'backup' email address, basically giving a) A backup incase there is a problem with the email or something else further down the line. b) A log of the emails receieved.
So I thought the best thing to do is have an operation with an email adapter and to send that my message.
I started working on Ensemble this year so maybe I am not implementing the right way. I'm trying to connect a Welch Allyn monitor to TrakCare. The workflow is the following:
- User scans patient number with the monitor.
- The monitor sends a QBP_Q22 message to request patient information
- Ensemble (or TrakCare) sends back a synchronous RSP_K22 containing the patient data (name, dob, sex)
- The user checks the patient's information displayed on the monitor, takes vital signs and sends them to TrakCare (via Ensemble)
Not sure if is possible, but I am trying to find the way to show in the log the username of whoever enable a specific service. The idea is that a service is normally disabled..if someone enable it, the username will be reported to the log...
I have tried with $username but it only return "_Ensemble" when running from ensemble although it works in Studio.
I have a REST Service that I want it to receive a json string request I have set up my URLMap as follows the top URL when populated and requested works fine but I would like my request to be a json string and that is not working I am getting a 500 error am I missing something please advice.
Does anyone have a good example of setting up an Inbound Email Adapter Service to retrieve an email? I am thinking of sending this email to a BPL to retrieve the Attachment that is in the email. Would that be the correct method to do that?
I have a healthshare web application with production, I try to make a field in basic setting of business service, and I would like to set a string to DISPLAYLIST and VALUELIST of that Property (string maked by query to sql table). I code the same here but it's syntax incorrect in DISPLAYLIST = GetTypeDisplay(), VALUELIST = GetTypeValue(). Someone know a best way to solved my problem? Thanks so much!
Hello, I have a task created in my task manager, calling my Business Service class, and it's working fine. But I need to know the ID of the task, I searched within the class %SYS.Task.Definition and found nothing related.