Ensemble Analytics, Counts of Messages via Dashboard or other

51 views
Skip to first unread message

R Ali

unread,
Jul 1, 2010, 6:29:15 AM7/1/10
to InterSystems: Ensemble in Healthcare
I am sure I have heard of the Dashboard being used to acheive
analytics of messages going through specifc services and operations in
Ensemble.

I am wanting to do Analytics of messages reporting Message types,
counts and then to feed this via email on a daily basis?

Is this possible via dashboard, or has anyone acheived similar via
alternative routes in Ensemble.

Thoughts and ideas welcome.

Many Thanks

David Loveluck

unread,
Jul 1, 2010, 3:07:39 PM7/1/10
to ensemble-in...@googlegroups.com
the easiest way to get this information in a daily report is to use SQL.

for example

select count(*), sourceconfigname from ens.messageheader where sourcebusinesstype=1 group by sourceconfigname

will give you a count of message by business service, and

select count(*), targetconfigname from ens.messageheader where targetbusinesstype=3 group by targetconfigname

will give you message counts being sent to business operations.

There is an index on TimeCreated if you want to use a time range, but for large message databases this can take several/many minutes to run when limited to a sinlge day. So you don't want to put it in a dashboard. It seems more appropriate to schedule a batch job to find the numbers from the previous day and email the results.


I will try and post an example for that later tonight if I get a chance

dave

David Loveluck
617 225 3122

Thoughts and ideas welcome.

Many Thanks

--
You received this message because you are subscribed to the Google Groups "InterSystems: Ensemble in Healthcare Community" group.
To post to this group, send email to Ensemble-in...@googlegroups.com
To unsubscribe from this group, send email to Ensemble-in-Healt...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/Ensemble-in-Healthcare?hl=en

Trey Reeves

unread,
Jul 1, 2010, 3:25:22 PM7/1/10
to ensemble-in...@googlegroups.com, David Loveluck
In a similar vein, can you suggest a query that would give an overall picture of message throughput for an entire day?  Maybe 15 min intervals?

Trey Reeves
InterSystems Corporation
Service Executive
( (919) 608-2169 (c)
( (919) 467-6653 (o)
* Trey....@InterSystems.com

Ali Ruhul (RQ8) Mid Essex Hospital

unread,
Jul 2, 2010, 9:00:06 AM7/2/10
to ensemble-in...@googlegroups.com
Many Thanks Dave, an example will be excellent.

The idea that a batch job running for a previous day, then being sent by email would be spot on.

for example

dave

Thoughts and ideas welcome.

Many Thanks

Mid Essex Hospital Services NHS Trust Caring for you, Caring about you.

Information in this message may contain confidential and privileged information. If you are not the intended recipient please accept our apologies; please do not disclose, copy or distribute information in this e-mail or take any action in reliance on its contents: to do so is strictly prohibited and may be unlawful. Please inform us that this message has gone astray before deleting it.

Content of emails received by this Trust will be subject to disclosure under the Freedom of Information Act 2000. Unless the information is legally exempt from disclosure, confidentiality of this e-mail and your reply cannot be guaranteed. Thank you for your co-operation.

David Loveluck

unread,
Jul 2, 2010, 1:45:29 PM7/2/10
to ensemble-in...@googlegroups.com
Here is a very simple example. I have only done the very minimum of testing. SO TREAT AS AN EXAMPLE ONLY!!!!

It includes a business service, a business operation and a production.

The business service includes some methods to run an SQL query, build a string of HTML and then invoke the business service ProcessInput method.

That sends the string of HTML to an operation that sends it as an email message.

From a command lime you could invoke it

set sc=##Class(ABC.Reports.SubmissionService).GenerateReport(10,1)

to start reporting from 10 days ago and end 1 day ago. You could schedule this in a batch job easily enough.


I have replaced various settings (such as the email addresses and servers) in the operation with xxxxx.

I did most of it in streams, but then used Ens.StringContainer because I was running out of time and couldn't remember the syntax for Ens.StreamContainer.

I only included one very simple SQL statement and I did the absolute minimum work on the presentation of the 'report' (I would like to get this into a ZEN Report), but it should be enough to get you going with any SQL you can think of.

I included my analysis methods in the business service, mainly to minimize the number of classes.

dave

ReportProduction.xml

Ali Ruhul (RQ8) Mid Essex Hospital

unread,
Jul 2, 2010, 1:58:29 PM7/2/10
to ensemble-in...@googlegroups.com
Many thanks for this David, will have a study, sure it will be of great help.

Again Many Thanks

Reply all
Reply to author
Forward
0 new messages