#Ensemble

23 Followers · 2.3K Posts

InterSystems Ensemble is a complete and easy-to-use integration platform that enables users to connect people, processes, and applications in record

time.

Learn more

Documentation

Question Tey Kitthajaroenchai · Jun 16, 2020

I've got a class that extends FTP.PassthroughService and utilizes the FTP.InboundAdapter.  In Business Service, I have the FilePath set as /tmp and the subdirectory level = 1.  How can I access the current file path (/tmp/subdir1) when there are files in /tmp/subdir1/test.txt for example?  The ..Adapter.FilePath only returns the FilePath setting in the Business Service/Adapter but not the subdirectory level.  Of note, it is a SFTP connection.  I can access the %Net.SSH.SFTP from ..Adapter.FTP.%sftpSession but don't see how to retrieve the current directory of the file being processed.

1
0 391
Question Ewan Whyte · Jun 22, 2020

Hi, I have a timestamp of 201906192359 with a HL7 and I need to add a minute to it to get 201906200000. Is there an easy way within Healthshare to do this?

It seems easy enough within SQL but I cannot get the SQL to work within Healthshare,  this is what I have for SQL which does the job in SQL Server.

 SELECT REPLACE(REPLACE(REPLACE(CONVERT(CHAR(16),DATEADD(mi,1,STUFF(STUFF(@test,11,0,':'),9,0,' ')),120),'-',''),' ',''),':','');

Within Healthshare I've tried to use this SQL to populate a :dateout variable using this code but it isn't updating :dateout. (datein: = 201906192359)

3
0 399
Question Craig Regester · Jun 17, 2020

Good day all -

I am attempting to use the Data Transformation Builder (for ease of use for my other engineers) to build up a web service request object to send to an outbound operation. The source is a custom persistent class (extends Ens.Response, %JSON.Adaptor) and has serialized sub-class data elements and the request object is a custom persistent class (extends Ens.Request, %JSON.Adaptor.)

5
0 646
Question Tim Miller · Jun 9, 2020

So we have a custom business service that we use and we are calling SendRequestSync.

Set tSC=..SendRequestSync(tOneTarget,tTargetStream, .tResponse)

For our response from our custom business operation, we send back an Ens.StringResponse.

set pResponse = ##class(Ens.StringResponse).%New()
set pResponse.StringValue = "File Delivery: "_tOutFilename_" of size: "_pRequest.Stream.Size_" (modified='"_pRequest.Stream.LastModified_"')"_" Status: "_tSC
 

3
2 629
Question Yone Moreno · Jun 15, 2020

Hello,

We would need to iterate all over the OBXs list and get their OBX3 CE1 to determine if it is the lab result we need to send to the output system.

We wonder how could we achieve this in a foreach component inside a Bussiness Process.

We think we would need to use a foreach because of it is needed to generate a message, for each one of the OBX which have the OBX3 CE1 that the output systems uses for the lab results.

So then we would need to use a foreach and then inside a transform and a call

We have already been able to output all tbe OBX3 CE1 to the log as follows:

1
0 694
Question Gunwant Kapade · Apr 9, 2019

Hi, I am facing issue during LDAP lookup like whenever I used product group parameter in AD explorer to search data from application I am getting empty result. If I set product group parameter as null then based on distinguished name result is generated in application. So if anyone knows about how LDAP works and how parameters are set in AD explorer then please let me know.

Thanks in advance.

1
0 357
Question Viroj (Pat) Padyandorn · Jun 11, 2020

Hello,

In the DTL, is there a way to set a value for the HL7 data element in the code section?

For example,
set target.SetValueAt("PID:3(k1).1)") = mrn (mrn is the value returned from the SQL query)

When I ran the test utility, I got this error message.

ERROR ErrException: zTransform+27^testclass.TEST.1 *SetValueAt,EnsLib.HL7.Message -- logged as '-' number - @' set target.SetValueAt("PID:3(k1).1)") = mrn'

I tried both target.SetValueAt("PID:3(k1).1)") and target.GetValueAt("PID:3(k1).1)"). That didn’t make a difference. The code still error out.

Thank you in advance for

3
0 1225
Question Scott Roth · Jun 9, 2020

After all these years of doing basic Ensemble work, I am just beginning to venture into using Cache Tables instead of either Data Lookup tables, or what I know of Outside SQL tables using JDBC.  I have several Cache SQL tables that I am building for a project I am working on.  

  • I was wondering if it was possible to use a SQL call to look up a value against a Cache SQL table  within a Business Rule? 
  • Or is this something that I would have to build a custom function for? 
9
0 522
Question Viroj (Pat) Padyandorn · Jun 9, 2020

I have a table with 4 column: MRN (primary key), Name, DOB, and Gender. I want to bring in the values on all of the columns into a DTL. Currently, I declare variables for each of the columns and using 3 select statements.

  &sql(SELECT Name INTO :Name FROM osuwmc_RQGPatient.DataTable WHERE MRN=:MRN)

  &sql(SELECT DOB INTO :DOB FROM osuwmc_RQGPatient.DataTable WHERE MRN=:MRN)

  &sql(SELECT Gender INTO :Gender FROM osuwmc_RQGPatient.DataTable WHERE MRN=:MRN)

Is there a way to do this in a single select statement?

4
0 333
Question Stuart Byrne · Jun 4, 2020

Dear All, 

I am currently working on a project to record ORU^R01 into a global for a particular set of tests.

I have multiple OBX repeats that need to go into a specific fields withing one row/ record on the global.

I am having trouble finding a way to either count or loop though the OBX's correctly in ObjectScript often with the counter being undefined.

I have done this this way, as I am building upon an existing class to populate this global.

The latest iteration of my obx looping code is below:

8
0 1595
Article Yuri Marx · Jun 8, 2020 3m read

About regulations

Personal data privacy regulations have become an indispensable requirement for projects dealing with personal data. The compliance with these laws is based on 4 principles:

  1. Compliance with the rights of the holder of personal data;
  2. Governance of personal data assets;
  3. Privacy by Design and by Default;
  4. Data protection.

In case of violation in the treatment of personal data, controllers and operators of these data may suffer:

0
2 468
Question Simon Barker · May 29, 2020

I've got a REST service that I can access via a browser. I can get it to take HTML tags as data and display it back to me (so I know the REST part is working). So if I send it this:

http://MyServer:57772/TestArea/rest/TestQuery?UUID=1&RTX=RTX123456&CareType=Palliative
 

Then I can pick out the data and tell it to display in the browser, which is great but what I really want to do is put the data into a string and send to a business process that will do lots of looking up but eventually return a URL that my REST service will then redirect the browser to.

5
0 538
Question Md Asif Khalil · Jun 7, 2020

Hi All,

I have created a custom method into persistent class to call vendor Rest API from Ensemble that is working fine through Terminal, but my concern is:

I want to call only if  Error, Warning or Alert are generated. Is there any way that it would call automatically to send that Logs records through API or from where I need to call custom method of persistent class.

I also tried to put that persistent class method from Ens.Util.Log class but it's calling multiple time automatically.

Thanks,

Asif

1
0 223
Question Scott Roth · Jun 3, 2020

Cache for UNIX (IBM AIX for System Power System-64) 2018.1.3 (Build 414U) Mon Oct 28 2019 11:24:02 EDT [HealthShare Modules:Core:15.032.9026 + Linkage Engine:15.032.9026]

We had an odd situation come up last night. Towards the end of the day one of my team members added a rule to an existing routing rule. When he had hit saved, he got a warning that he would overwrite someone else's changes. He hit cancel, then was able to click save. What he did not know is that there was a syntax issue in his rule that he had put in. He was missing a {  that wasn't caught till hours later. 

3
0 290
Article Sergey Mikhailenko · Jun 2, 2020 8m read

When you first start working with InterSystems IRIS, it’s a common practice to install a system with only a minimum level of security. You have to enter passwords fewer times and this makes it easier to work with development services and web applications when you're first getting acquainted. And, sometimes, minimal security is more convenient for deploying a developed project or solution. And yet there comes a moment when you need to move your project out of development, into an Internet environment that’s very likely hostile, and it needs to be tested with the maximum security settings (that is, completely locked down) before being deployed to production. And that’s what we’ll discuss in this article. For more complete coverage of DBMS security issues in InterSystems Caché, Ensemble, and IRIS, you may want to read my other article, Recommendations on installing the InterSystems Caché DBMS for a production environment. The security system in InterSystems IRIS is based on the concept of applying different security settings for different categories: users, roles, services, resources, privileges, and applications. Users can be assigned roles. Users and roles can have privileges on resources — databases, services, and applications — with varying read, write, and use rights. Users and roles can also have SQL privileges on the SQL tables located in databases.

2
3 1177
Question alex chang · Jun 1, 2020

Hi,

 Recently, I meet some problem at product env.

Some outside http request send to my Business Service.   cause service very slow down. So I want find root cause . But at the message trace page. I can't found any source address .    But at Product env. I can't install packet capturer like wireshark . I meet some problem.

And  Second.  Does ensemble can limit request speed at Business Service?  too many requests slowdown my service.

Tks.

1
0 272
Question Jimmy Christian · Dec 18, 2019

Hello community,

I am receiving a HL7 message over TCP connection.

I have to set up  a process/operation to produce a daily file with this HL7 messages to be created in a directory using EnsLib.File.OutboundAdapter
and EnsLib.HL7.Operation.FileOperation. The file needs to have a header line added each time it is created and a footer .I did not find any standard class file under File Adapter which will create header/footer. 

Any suggestion will be greatly appreciated.

Thanks,

Jimmy Christian

4
0 947
Question ED Coder · Apr 14, 2020

DeadJobAlert: Job 'X478915' for config item 'Business  Service' was marked as 'dead' under ghost Id 'sys:ZX478915_6117'

This is the error message I get, but can you advice how can I start debugging this? I look at the jobs and I just see "dead" I cant see any information on the message itself.

I would appreciate if you could advice on how to start debugging such a job. Events are also non-informative.

3
0 1064
Question Warren Baldock · May 26, 2020

Hello All,

I am compiling a REST Operation to call our hospital Administration system, following tutorials around the REST API's etc. First time we have integrated like this so not much knowledge around our hospital - hoping someone on here can help.

I have been using the JSONStreamToObject Method which is working as i expected, apart from trying to get a specific item in the example JSON Response as follows:

{"test":"abc","name":[{"use":"usual","family":"Matest","given":["Mia"]}]}

2
0 658
Article Evgeny Shvarov · May 25, 2020 2m read

Hi ObjectScript developers!

How to Protect Your Belongings from Pests While Moving - Delicate ...

InterSystems ObjectScript is perhaps the best language on the planet to deal with globals - and it is an interpretable language.

Yes, it has a compiler. But even the compiler can compile some lines in ObjectScript which will then fire as bugs during the runtime.

There are some technics on how to avoid that such as unit testing, coding guidelines and your coding experience, of course ;)

Here I want to present to you the yet another approach to how you can reduce the number of errors in your ObjectScript runtime and enforce coding guidelines - it's an ObjectScript Quality tool developed by Lite Solutions, InterSystems solution partner.

See the details below.

0
0 518
Question Tom Robinson · May 21, 2020

I have an upcoming project where we are being asked to take a PDF result and send it to a PACS system as a DICOM encapsulated PDF.  I am wondering if anyone has done this and if so can you share your experience?

Thanks,

1
0 593
Article Dmitry Zasypkin · May 22, 2020 2m read

If you work with interoperability productions of InterSystems IRIS or Ensemble, no doubt you are familiar with the Message Viewer page. The page supports filtering messages according to filter criteria you enter in the Basic and/or Extended Criteria sections. Extended Criteria conditions are specified as property-operator-value triples. Once you click Search button, such triples become WHERE clause conditions of a generated SQL query executed against message header/body tables.

As a side note, one can view recently generated message queries by following the instructions listed in the doc.

0
2 686