Article
· Oct 1, 2018 4m read
Profiling code using Caché Monitor

Not everyone knows that InterSystems Caché has a built-in tool for code profiling called Caché Monitor.

Its main purpose (obviously) is the collection of statistics for programs running in Caché. It can provide statistics by program, as well as detailed Line-by-Line statistics for each program.

Using Caché Monitor

Let’s take a look at a potential use case for Caché Monitor and its key features. So, in order to start the profiler, you need to go to the terminal and switch to the namespace that you want to monitor, then launch the %SYS.MONLBL system routine:

3 1
7 971

Hi,

I am using a standard EnsLib.HL7.Operation.FileOperation to create files based on HL7 messages but I just realised that lines in the output file only contain CR (Character Return) but no LF (Line Feed). It is really important to have both as another system picking those files will fail otherwise...

Is there any way to configure this?

Thanks

1 4
1 986

I am just curious if someone has used this service to send Alert emails through AWS / Ensemble

I have verified 2 email ids - One to send. One to receive

Have also configured an access key for the email smtp server and added the credential to ensemble

but I get this error

ERROR #6033: Error response to SMTP MAIL FROM: 530 Authentication required.

email-smtp.us-east-1.amazonaws.com

25

So my first opinion is the authentication is not happening via the credentials settings. It needs to be passed in a different way

0 4
0 983

I"m doing a SQL insert in my BPL, one of the fields in my SQL table is an MSSQL TimeStamp. How do I get the date/time from my HL7 message and format it so that I can then insert it into my TimeStamp column in my SQL table? I've tried lots of different combinations.

I used CONVERT(DATETIME, substring(:request.GetValueAt("EVN:RecordedDateTime"),1,8)) to get just the date portion and it works, but I'd like the whole DateTime inserted into my TimeStamp field. This is an a BPL.

Thanks

0 2
0 979
InterSystems Official
· Mar 17, 2016
Caché and Ensemble 2016.1

I am happy to announce the immediate availability of Caché and Ensemble 2016.1.

The highlights of 2016.1 are

  • Significant improvements in JSON support
  • Continued advances in SQL performance
  • Database scalability improvements
  • New REST services for DeepSee

These and other new features are summarized in this video introduction to 2016.1

For complete technical details of what’s changed in 2016.1, review the Caché release notes and the Ensemble release notes.

7 2
0 940

So I have an ensemble soap client which I use to send a message. The target web service is, however, giving a soapfault stating that my message misses the "SoapAction http header".

When I copy paste the message from my Cache Soap Log and fire it from Soap UI I get a proper response from the target web service. This suggests that my intersystems installation is somehow not including or losing some http headers.

I am running Ensemble 2016.2 SUSE on an ubuntu machine.

Here is the InterSystems message with the http headers from Soap UI:

0 2
0 977

Hello Community,

I am trying to create a simple Ensemble DTL transform using the GUI. In order to test something very simple, I have created a transform that does nothing.

I'm using test data from here: https://www.emedny.org/HIPAA/5010/5010_sample_files/835%20Sample%20(Institutional%20Claims%20only).2014.txt

It's a very small test 835 file.

My transform looks like this in the compiled class:

0 7
0 970

Using the following...

//Get PDF stream object previously saved
   Set pdfStreamContainer = ##Class(Ens.StreamContainer).%OpenId(context.StreamContainerID)
   Try {
     Set pdfStreamObj = pdfStreamContainer.StreamGet()
   }
   Catch {
      $$$TRACE("Error opening stream object ID = "_context.StreamContainerID)
      Quit
   }

Would it be possible to search the pdfStreamObj for certain values like a Medical Record, or Patient Name?

Thanks

Scott

0 1
0 974

Hi,

I am working with this Ensemble Business Operation, which extends the EnsLib.Rest.Operation.

http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=...

I built the OpenWeatherMap Rest Operation described in the article above.

I would like to access the weather.id weather.main, and weather.description. However, these objects are in a JSON Array.

How do you access these three objects in Objectscript.

0 3
0 971

Hello,

I have a problem with an Ensemble instance on Windows to access to a network shared directory. Ensemble service (services.msc) is executed with a user which has access to this network shared directory :

- When I try to copy or access files from a terminal ==> this is OK : the command w ##class(%SYS.ProcessQuery).%OpenId($Job).OSUserName returns the user defined in Ensemble service logon screen.

0 6
0 966
Question
· Nov 19, 2018
Copy csv data into a global object

Hi, I have a CSV file with a list of 5000 records in the following format

Name, Acc, division

Eric, 1234, 567

John, 1235, 987

Peter, 3214, 879

I just want to copy the Acc, division to a global so eventually the global would be like the following:

^People("Customers", "Acc.division")

Can you advice on how I can perform this from the terminal? This is a one time task. I want to read all the values from the csv file and insert them into the global

Regards,

Eric

0 7
0 961

I have been working on a project in our Dev environment which resulted in processing a few (million) HL7 messages, and I thought it would be a good idea to purge the namespace in a controlled way. My concern was when it hit the day where the scheduled task would purge 'the day of a million messages', it would fill the Journal Drive quite dramatically and would happen overnight resulting in triggering a response from the poor person on out of hours support.

My idea of a controlled way was to:

0 6
0 961

We are currently looking into a way to provide a group of end-users (i.e. non-Interface Development engineers) access to a pre-defined group of Ensemble-based Data Lookup Tables for purposes of viewing and editing. We do not want to give them access to ALL Data Lookup Tables due to security/continuity concerns.

My thinking is that a simple persistent Cache table with three columns (Role Name, Table Name, Access-Level [like View or Edit]) with a CSP front-end could potentially provide an easy way to make this solution a reality.

0 1
0 966

I have a batch record mapper that reads a csv file and passes the message to a process that uses the EnsLib.MsgRouter.RoutingEngine and would like to pass the message to an operation that will output that as a XML file but so far been unlucky as the operation that I use , uses the EnsLib.EDI.XML.Operation.FileOperation which only works with the messages("BusinessOperation class for writing XML messages to a file.

0 2
0 963

Hi all - I'm running a Zen page that inherits from %Zen.Component.page, and I'd like to step through code and debug it. Is this possible, and how?

I've tried to attach to a process that I think is mine (it has my internal IP address) but is using "Unknown User". Any ideas on where to start debugging the page -- this page calls lots of other pages. I'd thought I'd start at the home page.

Perhaps I need to navigate to my page that I want to debug, and attach at that point.

Any info on the debugger in this atypical use is appreciated.

0 10
0 937

Hi All

I have a BP which has a transformation.

when I run the process I end up with the following error:

----

ERROR <Ens>ErrBPTerminated: Terminating BP Propirion.BP.GetServices # due to error: ERROR <Ens>ErrGeneral: Object is immutable
+
ERROR <Ens>ErrGeneral: Object is immutable

----

I have created a context named : HL7Message type of: EnsLib.HL7.Message and in the start of the BP assigned the request to it (using set in assigned activity)

What did I miss ?

Thanks

Gadi

0 2
0 944