This article is aimed at developers implementing DICOM productions, specifically for cases with third-party endpoints that cannot handle the DIMSE timeout themselves.
In Ensemble 2016.3 ‘Java Business Hosts’ provides the means to create new Business Services and Business Operations using Java without need for any ObjectScript coding. There are two major reasons to use this capability:
In Studio you could open a class directly via it's name, without having to traverse the package tree with multiple clicks until arriving at the desired class.
You would Ctrl + O or (File -> Open) and be able to simply type in the class name, for example:
1.1 I met a few project that their interface servers were crashed. Cutoms wanted resume server as fast as we can. their servers are running at lan,and they can't use git,there are some namesapce in the server running different service,and usualy there is only one server.
1.2 In the message,it has property in typeof characterstream,as you know,the message search page doesn't support filtering with property of characterstream,so it's so hard to find the messge you want.
InterSystems has corrected a defect with Mirroring that can impact data integrity
The defect is present in all released versions Caché, Ensemble, and HealthShare beginning with 2015.2.0. It is present for all platforms and affects both failover and asynchronous mirroring configurations.
Triggered by a question placed by @Kurro Lopez recently I took a closer look at the indexing of collections. My simple test setup is a serial class and a persistent class with a list of this serial.
We use the Caché JDBC Gateway to Oracle and SQL servers to directly invoke their stored procedures from Ensemble. Getting quick, inline data results back are typically handled within the Functions.Library class as a function to wrap the query and format the return appropriately.
Every now and then you may encounter a situation where for various reasons ODBC is the only option to access a remote system. Which is sufficient as long as you need to examine or change tables. But you can't directly execute some commands or change some Global.
Special thanks @Anna Golitsyna for inspiring me to publish this.
If you define a Persistent Class / Table the class compiler generates for you an appropriate Storage definition. A different option is to define a SQL mapping for an already existing Global storage. This has been excellently explained already in a different series of articles. The Art of Mapping Globals to Classes 1 of 3
Object Synchronization is a feature that has been around for a while, since Caché days, but I wanted to explore a bit more how it works. I've always thought that database automatic synchronization is complex by nature but, for some particular scenarios shouldn't be so hard. So I considered a very simple use case (OK, perhaps the typical one, I'm not discovering anything... but if it's common and it works, it's good ).
The typical WHERE condition in SQL relates mostly to some content of the rows you work on. So it needs to be calculated and checked for each row you access. Differently (and that's why I named it STATIC) is a WHERE condition that is independent of the rows you access.
This paper describes how Ensemble behaves after a system crash or similar uncontrolled shutdown or failover. Ensemble is normally configured to start processing messages automatically when the operating system restarts or when the system has failed over to a cluster member or mirror member. No manual intervention is required. But, in order for your system to robustly handle system failure and restart, you must understand how Ensemble handles these conditions and develop your productions using the rules and guidelines in this document.
How do you exercise your creativity? How do you test new ideas?
Over the years I have always thought about creating new things, modifying existing ones, experimenting, testing, breaking (it always happens), building again, starting over.
Prompted by this post about accessing a global at its original location after you have changed a mapping, here's a tip about one specific dropdown in Portal that's sometimes useful.
InterSystems HealthShareÆ and InterSystems EnsembleÆ both provide a rapid integration and development platform with built-in capabilities for the high-speed processing of HL7 messages. For the purposes of HL7 v2 message routing the two products are equivalent in performance. For brevity, this document will just say Ensemble in many places but it should be taken to apply equally to both products.
Enhance Ensemble or IRIS production so it can dynamically allocate pool size for adapter-based components based on their utilization.
Sometimes, an unexpected traffic volume occurs, and default pool size allocated to production components may become a bottleneck. To avoid such situations, I created a demonstrator project some 2 years ago to see, whether it would be possible and feasible to modify production, so it allowed for dynamically modifying its components per their load.
When connecting to the database using a client-server architecture, for example using language binding, the machine name of the client can be obtained using the following code:
set client=##CLASS(%SYS.ProcessQuery).Open("P"_$j).ClientNodeName
During the last weeks, I was working on various issues and problems related to SW development. I found that quite often problem analysis was mostly chasing issues just on the surface but not really attacking the deeper reasons of the problem and follow the consequences. It's like the doc that stops your leg bleeding but doesn't see that it is broken.
While the classic solution followed rather close the concepts and design of the ancestors Caché / IRIS allows a more modern approach to flexible/multidimensional properties
We heard from a customer who wanted to display a version number as a read-only production setting. During the build on the build server, this version number is added to the Production class. This works fine, and the Version is displayed in the Portal, but the customer wanted to write protect it, so the enduser can’t change it. The customer had defined the setting like this:
Property Version As %String;
Parameter SETTINGS = "Version:Info";
We advised the customer to define SETTINGS like this instead:
I had looked around a bit and couldn't find a native way to log queue counts in Ensemble/HealthShare so I wrote a quick task and persistent class to do it. Hope this saves someone a bit of time. Let me know your thoughts! Thanks!
The title of the contest subject is not quite precise but addresses the %Library.classes involved. What is meant is officially named Class Query and is dating back to the early days of Caché. CLASS is used because it is embedded in a COS class. Though there is a precise description in the official documentation it remains rather abstract. My tutorial should guide you step-by-step through a simple example in COS to make it tangible to you
Steve Glassman is on vacation today so in his place I wanted to announce the availability of a new kit for the 2016.2 Field Test. The kit details are: 2016.2.0.665.0
There is a wide range of changes to the 2016.2 Field Test, 145 of them in total. You can find a complete listing here: