Well, there is no file available, just data that sits inside Ensmeble as Ensemble is also clinical system -> source of data, so it's not just a router in bvetween two systems.
- Log in to post comments
Well, there is no file available, just data that sits inside Ensmeble as Ensemble is also clinical system -> source of data, so it's not just a router in bvetween two systems.
Yes, Luca, that would help me.
Thank you!
Thank you David,
but I have different problem. I admit my HL7v2 knowledge is limited. I have seen several scenarios where Ensemble acts as HL7 router, just accepting message at one end (service) and routing it to another end (operation) and eventually automatically sending ACK back to originator.
But this case is different. Client is expecting immediate response - the ADR^A19 message. So I now have multiple ways of constructing response, but how do I actually return it back to the caller?
Dan
Ok, I thing I got it now.
I just need to subclass a service and implement OnConstrucRepply() method and compose the pReplyDoc as needed.
Dan
Thank you all for responses.
I tried bootstrap and Angular, and after an indeed a painful period of trying to understand angular's javascript templates, I created some decent templates out of those available at web. This seems to be a good way forward and good to recommend to customers as an approach.
Dan
Thank you Eduard!
You saved me a lot of time! I am working on a small project where I am implementing Google HeatMap as a new way of displaying DeepSee geographical data. and for that, I just want to supply the source of data - the saved pivot definition, retrieve the MDX and execute it and build array of GEO points.
I have seen it, but I need this: https://developers.google.com/maps/documentation/javascript/examples/la…
Cool!
the VM I was experimenting with, is still on 2015.2. Time to upgrade.
Thanks Joe!
Cool!
Thanks Stefan, yes I used Apache that comes with Cache. Putting directive you suggested solved my issue.
Dan
PS: use case = pass pivot name into a rest service, I tend to use slashes to organize my DeepSee stuff into 'folders'
Stefan's initial answer is the best for me. Everything else is just too much work.
Thank you Markus for hint,
I have modified the code to read this way:
#dim vDoc as EnsLib.EDI.XML.Document=##class(EnsLib.EDI.XML.Document).ImportFromString("<Body><Topic>Temperature</Topic><Value>30</Value></Body>",.sc)
s vDoc.DocType="message:Body"
s vDoc.DocTypeCategory="message"
w !,vDoc.GetValueAt("/Body/Value")
w !,vDoc.GetValueAt("Value",,.sc)
if $$$ISERR(sc) d $System.Status.DisplayError(sc)
but it throws :
ERROR <Ens>ErrGeneral: Can't evaluate DOM path '/Body/$2:Value' because xsd_2:Topic in /Body/xsd_2:Value is not an element, instead this node is a 'unknown' node.
this drives me mad...
BTW: you're still using DOM way and not property path way of retrieving data.
got it. I was missing xmlns declaration.
this
#dim vDoc as EnsLib.EDI.XML.Document=##class(EnsLib.EDI.XML.Document).ImportFromString("<Body xmlns=""http://tempuri.org/ISC/JBH""><Topic>Temperature</Topic><Value>30</Value></Body>",.sc)
works as expected.
My point was that if you can see at the INT (I was originally pointing to MAC) level, what actual ObjectScript code the rule (XML) generates, it would be easier to understand what's going on. You need to call View Other once more, from XML view, to get to the INT level.
it would also help, if you put TRACE element and evaluate the two message properties there to see what Ensemble thinks of them.
sure, supposed you have a class opened with the rule definition (the XML data you showed earlier) you just click a tiny icon with a little search glass in it. Or you can press Ctrl+Shift+V at the same time. This would bring the ObjectScript layer of the rule.
But my feeling is that condition is simply never called due to the constraint in the rule 1. the constraint is evaluated first before it let's you go and evaluate condition within rule.
You can also change level of tracing information produced by the rule, just makes sure that you production has "Log General Trace Events" turned on, then the Business process that uses the rule has "Log Trace Events: on and Rule logging set to "a" for collecting ALL details. This could also help in determining what is rule evaluating.
Dan
Glad you sorted this out Murillo. However, one of great features of rules is that one can change them on the fly and as soon as they are compiled, the new version becomes active, without need to stop component/production. It would be difficult to find out now, why you needed to stop production. Perhaps Ensemble system developers can comments. On the other hand, it is true that you need (since 2010 or so) to stop/start production components (services, operations) when they are modified and compiled.
I tried several variants, and it seems to me that "dummy numbers" were result of some data corruption in customer database as I could not reproduce it.
Well, whilst it is true that we have much better ways of handling JSON today, this article mentions is by pure coincidence, driven by the fact that I had that problem some 3 years ago and when searching for solution, I found write redirection code withing the class mentioned in the article.
BTW: there is a %Device class available, that wraps redirection code, so no need to write your own mac code anymore.
No prodlog opened yet, Timur. But it might be worthy asking at least to put the information about performance of the method into the class reference and documentation of file outbound adapter. I'll do that.
Dan
You can store both structured and unstructured data in Cache. Thus you can retrieve this data. For structured data you can use regular SQL, XML or Object approach and others (JSON etc...). For unstructured data we have iKnow technology that allows to search such data. Please visit our documentation pages andf filter product to Cache.
Dan
I have never been into building electric circuits, but this Arduion toy really got me. Purchased one and now starting experimenting. Next phase - with Cache. Nice topic.
Probably not, as long as it inherits from correct parent. But then you need to make sure it's visible where it should (either via mapping or just copying to all namespaces needed)
Bill, I'm having troubles launching the new Atelier on Windows 10, it says this:

any idea?
I have this java:
java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) Client VM (build 25.111-b14, mixed mode)
Dan
PS: Actually, colleague of mine has the same problem on his machine.
Thanks Sasha, will do!
Dan
for me personally, the greatest benefit of custom SQL queries is that you don't need any (persistent) data, you can just generate it on the fly, either computing them or bringing from any arbitrary external system.
Dan
Alessandro,
I'm trying to follow your example on Cache 2016.2.1. but with no luck. Respectively, when I drag and drop pivot table rows and columns, I always get "no result" in the (single) cell.
However, when using the MDX supplied, it works fine. Looking at generated MDX when using drag'n'drop, the MDX looks completely different.
What am I doing wrong?
Dan
Thanks to Alexander, he found the potential bug (or a feature), the calculated measure definition shall not have "shared storage" selected!
Dan
Excellent job!
it took me a little while, though, to figure out all dependencies, namely PYTHON that was not mentioned in the github instructions and fresh enough node.js.
But now everything works as expected now.
One wish: please add a button that would navigate back to the System Management Portal or open the dashboard in a new tab/window.
Thank you, Murray!
Istvan, what if I have a habit of putting all XSL stylesheets into XDATA blocks?