We are currently using Ensemble on AIX. We are on 2015.2.2. If I install Field Test on a windows desktop, is it possible that I can import the Cache.dat from my AIX server, so I can do some Proof of Concept development?
Thanks
Scott
We are currently using Ensemble on AIX. We are on 2015.2.2. If I install Field Test on a windows desktop, is it possible that I can import the Cache.dat from my AIX server, so I can do some Proof of Concept development?
Thanks
Scott
Is there any good documentation/tutorials on creating gateways in both directions between FHIR and Hl7v2 (for Health Connect)?
the scenarios I'm most interested in
1. Client application sends a FHIR demographic query to Health Connect - and the interface has to convert this to Hl7v2 QBP^Q11 message to the PAS.
2. Health connect sends a PDF document (from a file or HL7v2 interface) to an EPR over FHIR.
Thanks
Stephen
UPDATE
We are using Health Connect 15.03 - Cache for Windows (x86-64) 2017.2.1 (Build 801U) Wed Dec 6 2017 09:07:51 EST [HealthShare Modules:Core:15.03.9901 + Linkage Engine:15.03.
Hi Community!
It's time to announce the best articles on InterSystems Data Platforms you published in 2018!
And here are three best articles for the year (criteria is the number of views):
First place: K-Means clustering of the Iris Dataset, by Niyaz Khafizov 1564
Second place: Continuous Delivery of your InterSystems solution using GitLab - Part I: Git, by Eduard Lebedyuk 1206
Third place: Replacing ZEN - Part 1 - Introduction, by Peter Cooper 933
Congrats to authors!
And what are the best articles by InterSystems Data Platforms?
See below
Hello,
I have some beginner questions as I am working through the InterSystems Cache learning path:
- Where I work, we us Cache, but we often learning about and train on MUMPS. No one really talks about or mentions MUMPS here, but my understanding is that ObjectScript is basically MUMPS plus whatever new things InterSystems put on top of it. Is that a fair assessment?
- The training online often refers to IRIS. We don't use IRIS, but we use globals to store data. I suppose I'm just confused on the difference between Cache, Zen, IRIS and other products as they all seem to do similar things.
Has anyone called any outside Javascript code from inside their class files? I asked a long time ago if there was a way to manipulate an image within Cache Object Script, and since Cache doesn't have any image libraries its not really possible. However I have found Javascript to resize an image and wonder how hard it would be to mesh the two together.
Can anyone share any examples?
Thanks
Scott
Hi Community!
Want to share with you what do we in a new December release on Developer Community!
In short, we have three new features:
See the details below.
Hi -
I'm wondering if anyone has coded up a means to create an extension for a %Persistent class from a base class to a sub-class without making a ton of assumptions about the Global structure. I'm trying to create a new "extension" record that would have the same ID as the Base Class
Class BaseRecord Extends %Persistent
and
Class SubRecord Extends BaseRecord
where I would have an instance of a "BaseRecord" and I want to turn it into a "SubRecord" instance and have all of the existing references to the BaseRecord survive.
Hi,
Is it possible to implement Drag and Drop with the TablePane component?
The following post outlines an architectural design of intermediate complexity for DeepSee. As in the previous example, this implementation includes separate databases for storing the DeepSee cache, DeepSee implementation and settings. This post introduces two new databases: the first to store the globals needed for synchronization, the second to store fact tables and indices.

One of the many benefits of using Atelier for your ObjectScript development is its integration with a wide range of source control systems. This integration enables you to use modern development workflows which increase collaboration while minimizing the risk inherent to volatile code bases.
Veteran ObjectScript developers can tell you about the workarounds that were needed before they could use source control systems with products like Caché and Ensemble. One of these was to treat the data store itself effectively as a code repository. And so shared development environments became essential for many of our customers to be productive and successful.
For code shops that rely on shared development environments, adopting Atelier might seem too complicated. This article aims to provide a practical example to guide your team towards success with Atelier.
You can find an overview of the problems and solutions in this article here, which is a good place to start. This article assumes that you are familiar with the concepts introduced there.
Hi Everyone!
As you know Advent of Code 2018 is in full swing! Till the 25th of December 2018 each day 2 programming problems to sharpen your programming skills!
And now we're ready to present great prizes for Members of InterSystems Global Masters Advocate Hub!

There's a new and exciting enhancement to QEWD that has just been released - it's an additional layer of abstraction known as QEWD-Up. QEWD-Up hides away all the mechanics of QEWD itself, allowing you to focus on just your REST APIs and the code that implements them.
Additionally, and importantly, QEWD-Up simplifies the maintenance of your REST APIs, allowing you (and others) to quickly and easily understand their life-cycle and implementation.
QEWD-Up supports both monolithic application designs and MicroService-based architectures where APIs are broken down by, for example, functional role.
Example: I have a list of tags that I have to find, and a string with these and other tags separated by commas. How to find the desired tags in the string optimally?
Hi Community!
This is a digest of the Developer Community postings in December 2018.
Most viewed
Win Advent of Code 2018 and Get a Ticket to InterSystems Global Summit 2019! 504
Review InterSystems IRIS or Caché and get two $25 Visa Cards! 163
How are stars counted? How InterSystems Caché eXTreme is used in Gaia 158
How to Create Namespace Programmatically in Terminal 153
Calling Javascript within Cache Object Script 136
cache basics 130
QEWD-Up: A New, Fast-track way to create REST APIs 125
Just for Fun. John Conway's Game of Life 114
Atelier 1.3 Update Released 109
How to get files from FTP Server 108
Source control with a shared development instance 85
AnalyzeThis ? Quick start into InterSystems BI 73
Adding Java to a IRIS Docker image 69
Some tips for beginners about using Terminal scripts 55
Get a list of Ensemble Lookup Tables and Schema documents in the current namespace 49
Hi Community!

On behalf of Developer Community and Global Masters team, I wish you a Happy New Year 2019!
2018 was another great year for InterSystems Developer Community - thanks to you!
Here are a few highlights:
This little guide would help you start running Ensemble REST services in no time.
Hi, would really appreciate your advice on how I can restart the mirror-monitor. I've followed the instructions and restarted the mirror monitor, and still the status seems to be down. Can you point me to some resource or steps that I can follow ?
I logged into %SYS terminal and restarted the mirror monitor and it says that it is running

Added new System Default Setting for Production (not Host) setting.
However, Production setting is still the same. I have tried restarting Production and instance, to no avail.
How do I specify System Default Setting correctly?

Production:

Recently I reread this article by @Bernd.Mueller. It's about calling DELFATE function from zlib library. In this article I'll demonstrate several different approaches to callout libraries, we'll build the same functionality (compress function) in several different languages and compare them.
Hey Developers!
Advent of Code 2018 is over! Thanks for participating in our small but productive COS marathon!
And now we're pleased to introduce the winners and distribute all the prizes!
Big applause goes to these winners:
Fabian Haupt (w/ repo: github.com/kazamatzuri/AoC)
Bert Sarens (w/ repo: bitbucket.org/bertsarens/aoc2018/)
Dmitry Maslennikov (w/ repo: github.com/daimor/AdventOfCode)
I recently had to diagnose a networking problem I was having when attached to our corporate network. I was seeing an unknown bridge network being defined that shared the same IP address space as the company network thus blocking access to company resources. This bridge network was separate from the Docker0 bridge network which the docker engine sets up. Docker was configured with a bip (bridge ip) address to prevent docker form using an address space that create a conflict.
HOWEVER, this only applies to the Docker0 bridge.
Hello everybody.
I have task to find out possibility call method from background task. I need run some class with methods. I've found out than I can run it via ^%ZSTART routine. And now I wanna to learn is it possible to call this class and run it's methods.
Thank you
Hi Community!
New session recording from Global Summit 2018 is available on InterSystems Developers YouTube Channel:
When working at the Caché command prompt I sometimes want to run an operating system command on the server host. By prefixing my command line with ! or $ I can do this with ease. The following examples are from 2017.1 on Windows, but the feature is available on all versions and platforms:
USER>!dir
Volume in drive C has no label.
Volume Serial Number is 2EF9-50B3
Directory of c:\intersystems\ens171\mgr\user
12/06/2017 12:41 <DIR> .
12/06/2017 12:41 <DIR> ..
02/02/2017 18:05 11,534,336 CACHE.DAT
16/06/2017 12:05 36
The following code walks a DOM using %XML.Node. It also prevents %XML.Writer to change whitespace. Run the code using the class method "test":
Class objectscript.walkDOM Extends %Persistent
{
ClassMethod dfs(node As %XML.Node)
{
s entrynode=node.NodeId
do {
//element nodes with one whitespacetyped child are the ones we want to change
if (node.NodeType=$$$xmlELEMENTNODE){
s snode=node.NodeId
if (node.MoveToFirstChild())
{
i ('node.MoveToNextSibling()){
i (node.NodeType=$$$xmlWHITESPACENODE){
s node.NodeType=$$$xmlTEXTNODE
s node.NodeId=snode
}
}
}
s node.NodeId=snode
}
if (node.HasChildNodes()){
d node.MoveToFirstChild()
d ..dfs(node)
}
} while (node.NodeType'="" && node.MoveToNextSibling())
s node.NodeId=entrynode
}
ClassMethod test()
{
set xml = "abcdefg <![CDATA[ ]]> "
s reader=##class(%XML.Reader).%New()
do reader.OpenString(xml)
set writer = ##class(%XML.Writer).%New()
//do some magic
d ..dfs(reader.Document)
w !,"with indent=1:",!
set writer.Indent = 1
do writer.OutputToString()
do writer.Document(reader.Document)
w writer.GetXMLString()
set writer.Indent = 0
w !,"with indent=0:",!
do writer.OutputToString()
do writer.Document(reader.Document)
w writer.GetXMLString()
}
}
Here's a link to the code on GitHub: https://github.com/intersystems-community/code-snippets/blob/master/src/cls/objectscript/walkDOM.cls
Hi
We have a few large PDFs coming into our engine - when it goes thru the Process and hits the Data Transformation it gets cut off before it sends it outbound to the receiving system.
Whats the best way to handle large PDFs?
Hi Community!
Thank you for being with InterSystems Developer Community yet another year! We appreciate it very much!
We want to know how helpful DC for you today and how could we make it better.
Could you please go through this short 5 min survey which will let us know what do you think about DC and what could be improved.
We wish you a Merry Christmas and a Happy New Year!
Sincerely,
Your InterSystems Developer Community Team

InterSystems products (IRIS, Caché, Ensemble) already include a built-in Apache web server. But the built-in server is designed for the development and administration tasks and thus has certain limitations. Though you may find some useful workarounds for these limitations, the more common approach is to deploy a full-scale web server for your production environment. This article describes how to set up Apache to work with InterSystems products and how to provide HTTPS access. We will be using Ubuntu, but the configuration process is almost the same for all Linux distributions.
The goal of this article is to give users of InterSystems products background on source control in general, and how it can be used with Atelier, an Eclipse plugin. Specifically, I'll be discussing what to do when all of your developers share a single dev instance of an InterSystems product where they can edit and compile code. For more information about the implementation details, and sample workflow, see Michelle Stolwyk's DC post giving a Perforce example.
Hi Community!
We are pleased to invite you to the upcoming webinar "Using Blockchain with InterSystems IRIS" on 20th of December at 10:00 (Moscow time)!