Article
· Sep 14, 2016 4m read
Creating a Dummy SOAP Web Service

A “Dummy” SOAP Web Service

When dealing with SOAP in Caché, it is sometimes necessary to debug errors by directly accessing (and sometimes editing) the XML which is sent, i.e. the SOAP request and subsequent SOAP response. If you’re debugging a Caché web service, it is often useful to use a tool such as SoapUI (https://www.soapui.org/) to manually create and control the SOAP request, so that the effect of adjustments can easily be seen on the Caché web service.

4 0
1 3,628

NewBie's Corner Session 26 Globals and Arrays Part 2

Welcome to NewBie's Corner, a weekly or biweekly post covering basic Caché Material.

Globals, Arrays, and Variables Part 2

A thorough understanding of Globals, Arrays, and Variables is foundational for every Caché developer.

Uniqueness of the Caché Global Structure or database

0 0
0 302

This short article was motivated by a problem of one of my customers. They use Ensemble to integrate many systems, some of them use just plain files.

So they naturally selected File Outbound Adapter to write into target file. Things were running smoothly for years, until recently, when the volume of data being written to the file reached large size of tens of megabytes. The operation took around half an hour to complete, causing timing problems where subsequent operations within the process had to wait, and third party system was not happy to wait so long.

13 2
0 657

NewBie's Corner Session 25 Globals, Variables, and Arrays Part 1

Welcome to NewBie's Corner, a weekly or biweekly post covering basic Caché Material.

Globals, Arrays, and Variables

A thorough understanding of Globals, Arrays, and Variables is foundational for every Caché developer.

A Global may be:

Scalar (a single element), as in a Global Variable

0 0
0 411

Mirror Outage Procedures

Caché mirroring is a reliable, inexpensive and easy to implement high availability and disaster recovery solution for Caché and Ensemble-based applications. This article provides an overview of recommended procedures for dealing with a variety of planned and unplanned mirror outage scenarios.

5 0
1 974
Article
· Sep 7, 2016 5m read
Running HealthShare XSLTs from Terminal

HealthShare uses a lot of XSLTs. These are used to convert IHE medical documents to SDA (internal HealthShare format) and back to IHE formats, to create summary reports, and to deal with IHE profiles (e.g., patient information query, document provide and register). Customers may customize the XSLTs to customize reports or for other reasons.

For debugging and development, it is very convenient to be able to run an XSLT from Terminal.

12 0
2 1,194

I was recently troubleshooting a problem on a Linux (RHEL) instance of 2016.1 at a site. For policy reasons their sysadmins wanted to update the Caché installation so it used network accounts for its cacheusr and iscagent users and groups instead of the locally-created ones that had been set up during original install of Caché.

To do this they ran various commands including chown

Afterwards non-root users couldn't obtain a terminal session using the csession command. Instead they receive this message:

cache: Permission denied

3 2
0 535

NewBie's Corner Session 20 Parameters and Status Part I

Welcome to NewBie's Corner, a weekly or biweekly post covering basic Caché Material.

Parameters

Parameters are another name for Variables when used in passing data from one Routine to another.

Let us say we have 2 routines (RtnA and RtnB), and we want to pass 3 parameters (Parm1, Parm2, Parm3) from RtnA to RtnB.

RtnA would look like:

0 1
0 284

Welcome to NewBie's Corner, a weekly or biweekly post covering basic Caché Material.

MUMPS verses Caché, what's the difference?

MUMPS was developed at Massachusetts General Hospital during the 1960s. Through a series of experiences and companies over the years eventually MUMPS evolved into Caché. Some deny this but the facts are there. You can read through the various websites with Wikipedia and make up your own mind. The closest way to explain this is that Caché is a superset of MUMPS.

0 3
0 552
Article
· Aug 26, 2016 2m read
NewBie's Corner Session 18 Caché or Cache

NewBie's Corner Session 18 Caché or Cache

Welcome to NewBie's Corner, a weekly or biweekly post covering basic Caché Material.

Caché and Cache

Caché and Cache are not the same. Caché is a product offered by InterSystems. Whereas Cache refers to memory storage.
In computing, a cache /ˈkæʃ/ KASH, is a hardware or software component that stores data so future requests for that data can be served faster; the data stored in a cache might be the result of an earlier computation, or the duplicate of data stored elsewhere.

0 0
0 328
Article
· Aug 13, 2016 3m read
NewBie's Corner Session 17 New command

NewBie's Corner Session 17 New command

Welcome to NewBie's Corner, a weekly or biweekly post covering basic Caché Material.

New command

The New command limits a variable's scope or range of use. In theory the New command is simple, in reality the New command is powerful and needs to be respected and understood. In Caché ObjectScript and MUMPS an entire chapter is devoted to it.

There are three variations of the New command:

When used without variables

0 7
0 512

Process-private Globals can be used as a data global in storage definition. That way, each process can have its own objects for the class with ppg storage. For example lets define a pool, which can:

  • add elements to a pool (ignoring duplicates)
  • check if an element exists in the pool

Here's the class:

4 2
0 802
Article
· Jul 14, 2016 1m read
Caché Haiku

Alex Koblov posted today a #CachéHaiku:

Full command names

Make your code more readable

Than compact versions

My haiku:

Caché Globals

Shows you keys to the value

If you $order it

Your variant? ;)

8 19
1 971

NewBie's Corner Session 16 Introduction to New Concepts

Welcome to NewBie's Corner, a weekly or biweekly post covering basic Caché Material.

A number of new concepts are introduced in this session that will be developed more fully in subsequent sessions. It is necessary to at least introduce these concepts here because they are all interrelated.

Older style of MUMPS Programming

0 0
0 209
Article
· Aug 5, 2016 8m read
HealthShare's new SDA extensions

Creating and working with the new SDA extensions for storage of custom data elements

In HSCore 15.01, there is a new way to store custom data elements. HealthShare now had the ability to use custom extensions on many SDA elements.

This article will:

  1. Show how to set up your system to use SDA extensions
  2. Create a new SDA extension property
  3. Use the new SDA extension property in HL7 transactions
  4. Interact with the new data
  5. Show new SDA extension used in a customization of Patient Summary Report

8 2
0 2,631

This is the fourth article in a series on iKnow demo applications, showcasing how the concepts and context provided through iKnow's unique bottom-up approach can be used to implement relevant use cases and help users be more productive in their daily tasks. Previous articles discussed the Knowledge Portal, the Set Analysis Demo and the Dictionary Builder Demo, each of which gradually implemented slightly more advanced interactions with what iKnow gleans from unstructured data.

This week, we'll look into one more demo application, the Rules Builder Demo, in which we'll build on previous work but again climb a step on the level ladder, implementing a more high-level use case than in the previous ones. The idea came from an opportunity where we were asked to help the customer in the finance sector make sense of vast volumes of contract data. They wanted to semi-automate the extraction of logical rules from that text (in fluent legalese!), so they could be fed into other systems. While this was an exciting use case to work on (and more on it in this GS2016 presentation), we've also used it in other cases, for example to extract mentions of ejection fraction from Electronic Health Records.

1 2
0 808

This is the third article in a series on iKnow demo applications, showcasing how the concepts and context provided through iKnow's unique bottom-up approach can be used to implement relevant use cases and help users be more productive in their daily tasks. Previous articles discussed the Knowledge Portal, a straightforward tool to browse iKnow indexing results, and the Set Analysis Demo, in which you can use the output of iKnow indexing to organize your texts according to their content, such as in patient cohort selection.

This week, we'll look into another demo application, the Dictionary Builder demo, in which we'll marry iKnow's bottom-up insights with top-down expertise, organizing our domain knowledge into dictionaries that are composed of the actual terms used in the data itself. Sticking to a top-down approach only, you'd risk missing out on some terminology used in the field that a domain expert sitting in his office wouldn't be aware of.

3 2
0 835

NewBie's Corner Session 15 Executing Routines and Labels

Welcome to NewBie's Corner, a weekly or biweekly post covering basic Caché Material.

Routines and Labels

Routines are computer programs with a number of executable code lines.

Labels (also called tags) are points in a routine that can be called (executed). They subdivide routines into manageable modules (or subroutines).

Routines, Subroutines/Modules and Functions

0 0
0 249

In previous articles on iKnow, we described a number of demo applications (iKnow demo apps parts 1, 2, 3, 4 & 5) that are either part of the regular kit or can be easily installed from GitHub. All of those applications assumed you already had your iKnow domain ready, with your data of interest loaded and ready for exploration. In this article, we'll shed more light on how exactly you can get to that stage: how you define and then build a domain.

2 0
0 808

The release of IBM POWER 8 processors with AIX 7.1 introduced up to 8 SMT threads per processor core (logical or physical). Which SMT level (1, 2, 4, or 8) to use can be confusing and varies based on multiple factors. This article is meant to help with a starting point for your specific application.

Firstly, if running on a version of 2014.x or older, it is advised to use SMT 4 or lower. SMT 8 with those older versions of Cache' has shown a decline in performance and scaling in benchmarking applications.

3 3
0 2,567

Hi, Community!

You know, that when we build hierarchies in DeepSee dimension all the members of lower level should be the part of one member of the higher level.

If not you'll get some empty results in MDX queries with this hierarchy.

With Time dimensions the obvious valid hierarchy is Year->Month->Day, cause every Month consists of one Year and every day consists of one month.

2 3
0 374