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.
I have a production with one Business Host - a Business Service which I need to scale automatically to consume ~80% of CPU time. Business Service pulls data from a (non-FIFO) queue so that I can adjust pool size without any issues.
So far, I'm planning a different BS running every X seconds and sampling CPU with $system.Process.GetCPUTime() and scaling the pool size of the main BS up/down based on that metric.
Has anyone tried something similar? Any advice/code samples would be appreciated.
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.
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.
We're having an issue with an inbound message to a Healthshare Business Service where the '£' sign is not being recognised and is being passed onto our downstream systems as '?'.
NTE|1|ODRCMNT|test!���comments � for pou$nd si�n
We are using the 'latin1' selection for the Encoding.
I am wondering if there any mechanism available in the Healhtshare where send a request from the service to the operation without storing the Data on CACHE.DAT?
My company going to receive ADT's and CCDA's from an external source (Hospital), The incoming data will have two kinds of patients, our patients, and not our patients. We do not want to keep the data on our servers of those patients that do not belongs to our company due to HIPPA complaint
Looking forward to hearing great ideas from this community.
Is it possible to create a task that will initiate a Business Service that is dependent on the completion of a separate EDI data process?
I have a complex data flow with multiple EDI processes where one process must run and produce one or more files that get deposited in the source folder for the next EDI process. The entire process is currently set up where 2 of the EDI processes execute at a specific time. The problem with that is when a network or server interruption occurs at the time they are supposed to start, it causes a complete failure of the entire process.
We have a bunch of CSV files of a few different types, which contain patient and medication data, among other things, which we need to load into Healthshare, so the information can be compiled together and then viewed from the Clinical Viewer/reports made on the data as well.