🐞🐛▶ There is a helpful tool which allows us to debug code visually with different colours.
Post that includes the step by step explanation of the technical feature or solution.
Post that includes the step by step explanation of the technical feature or solution.
🐞🐛▶ There is a helpful tool which allows us to debug code visually with different colours.
This article is intended to be a simple tutorial on how to create ODBC connections and working with them, since I found starting with them a little bit confused, but I had amazing people to take my hand and walk me through it, and I think everyone deserves that kind of help too.
I'm going to divide each little part in sections, so feel free to jump to the one you feel the need to, although I recommend reading everything.
I'm going to use the sample data created in a previous article, Quick sample database tutorial: Samples.PersistentData, with the properties Name and Age.
.png)
This tutorial is a follow on to Working with %Query
It was displaying the content of the input stream chopped in fixed-size chunks.
But often those streams are structured and have well-defined separators (e.g HL7)
So as a side subject of this tutorial, this chapter shows how to break a stream into PIECES.
It is exactly the same idea as the $PIECE() function for strings with some add-ons.
.png)

My previous article introduced you to SQL based Basic Class Query
where a clever wizard created all the required code for you and your essential
contribution was an SQL statement.
Now we enter the real Custom Class Query that provides more freedom but
requires a deeper understanding of the mechanic behind the scene.
The full code example is again on GitHub
.png)

My previous article introduced you to the COS based Custom Class Query.
There were some features missing like more lines of the stream displayed
and numbered.
This is a simple tutorial on the quickest way I found to create a sample database for any purposes such as testing, making samples for tutorials, etc.
Now you have a new namespace in a faster way than creating it from the Management Portal - which of course offers way more configuration options.
To select it, quit the SQL Shell writing "q" and then typing 'zn "namespaceName"'.
I am following the ESB tutorial(https://learning.intersystems.com/course/view.php?id=77) and using my local system(2014.1.5) windows 7. I click the button on SoapUI for the Weather piece (http://127.0.0.1:57774/esb/soap/Weather/GlobalWeather.asmx) and get the response of <text>ERROR <Ens>ErrBusinessDispatchNameNotRegistered: Business dispatch name 'EnsLib.SOAP.GenericService' is not registered to run</text>
checked the Event Log :
| ID: | 116 |
| Type: | Error |
| Text: | ERROR <Ens>ErrBusinessDispatchNameNotRegistered: Business dispatch name 'EnsLib.SOAP. |
Hey there,
I posted a reply to the recent video https://community.intersystems.com/post/new-video-building-data-driven-web-apps#comment-132511
with a slew of questions. Wondering if someone can take a look a address my questions on that post or on this new thread.
I find many InterSystems learning to be challenging to follow, but I"m not sure if it's because my work computer is so locked down that I don't have all the right tools and permissions I need to do what the tutorial asks, or if I'm not understanding the basics of Cache/IRIS, or both!
Mike
For some years I missed being able to offer, to everybody interested in ObjectScript, a tutorial more or less complete, to start with ObjectScript. Something that could help more and make things easier to those new developers that come to our technology... something intermediate, halfway between the common "Hello World!", that doesn't really get you further, and the "Advanced Training", that is unaffordable because of lack of time,etc.
If there were something truly helpful not only as an introduction to the ecosystem, but as a starting point, as a boost, to really start to walk into ObjectScript and move forward by yourself... wouldn't that be awesome?
or "So you just got yelled at by your boss, for sending him an unformatted Hello World webpage"
Our previous lesson ended with us serving a Message value obtained from a Caché REST service to the client, using Angular as a runtime. While there is a lot of moving parts involved in this process, the page is not especially exciting at the moment. Before we can start adding new features, we should take a step back and review our tools.
This tutorial is using the JSON functionality built into 2016.2+ versions of Caché. This functionality is partially available in 2016.
Don't you wish a fresh, hot cup of coffee could be waiting for you right when you get into the office? Let's automate that!
Cache and IRIS come with a built-in Task Manager, which should have a familiar feel to those used to using the Windows task scheduler or using cron on Linux. Your user account will need access to the %Admin_Task resource to use it, and you can access it in the management portal under System Operation -> Task Manager. When first installed, there are roughly 20 types of task that you can schedule.
I wrote a step by step tutorial in the qewd-howtos repository how you can write state of the art multi-page web apps with Node.js using a QEWD-Up WebSocket/REST api back-end integrated with a mainstream web framework like NuxtJS & Vue.js. In particular with the latest NuxtJS/Vue.js frameworks, writing web applications becomes fun again, allowing you to write your applications very efficiently, hiding all boilerplate code from you.
The tutorial should be very easy to try out on your development machine and consists of two parts:
This article suggests to you some patterns to create REST API applications using IRIS.
Note: source code in https://github.com/yurimarx/movie
To begin, see my suggestion for classes needed to create IRIS API applications:
.png)
Hello Developers!
Have you ever had to convert HL7v2 messages to FHIR (Fast Healthcare Interoperability Resources) and found the process complicated and confusing? InterSystems is rolling out a new cloud based SaaS offering called InterSystems FHIR Transformation Service, which makes the process easy. We are excited to announce an Early Access Preview Program for our new offering, and we would love to have you kick the tires and let us know what you think! All you need is a free AWS account, with an S3 bucket to drop in your HL7v2 messages, and another S3 bucket to get your FHIR output.
Hi Developers!
Many of you publish your InterSystems ObjectScript libraries on Open Exchange and Github.
But what do you do to ease the usage and collaboration to your project for developers?
In this article, I want to introduce the way how to introduce an easy way to launch and contribute to any ObjectScript project just by copying a standard set of files to your repository.
Let's go!
The question has come up several times and I saw mixed answers and no quick example
My personal preference is using CPIPE device as you get back exactly the output you will get at the command line interface of your OS .
The tricky thing is to stop reading in time.
The example just displays what you normally see in your console.
it becomes useful if you look for things that you can't get from any $system.whatever()
e.g.
- your servers IP address or addresses depending on your configuration.

“A Dry Martini”, he said. “One. In a deep champagne goblet.”
“Oui, monsieur.”
“Just a moment. Three measures of Gordons, one of vodka, half a measure of Kina Lillet. Shake it very well until it’s ice-cold, then add a large thin slice of lemon peel. Got it?”
"Certainly, monsieur." The barman seemed pleased with the idea.
Casino Royale, Ian Fleming, 1953
OAuth helps to separate services with user credentials from “working” databases, both physically and geographically. It thereby strengthens the protection of identification data and, if necessary, helps you comply with the requirements of countries' data protection laws.
With OAuth, you can provide the user with the ability to work safely from multiple devices at once, while "exposing" personal data to various services and applications as little as possible. You can also avoid taking on "excess" data about users of your services (i.e. you can process data in a depersonalized form).
AWS has officially released their second-generation Arm-based Graviton2 processors and associated Amazon EC2 M6g instance type, which boasts up to 40% better price performance over current generation Intel Xeon based M5 instances.
A few months ago, InterSystems participated in the M6g preview program, and we ran a few benchmarks with InterSystems IRIS that showed compelling results. This led us to support ARM64 architectures for the first time.
Now you can try InterSystems IRIS and InterSystems IRIS for Health on Graviton2-based Amazon EC2 M6g instances for yourselves through the AWS Marketplace!
Hi Developers!
This post describes how you could publish your InterSystems application on Open Exchange.
What is the InterSystems application?
It could be anything, which is built with InterSystems data platforms or to help work with InterSystems data platforms: InterSystems IRIS, InterSystems IRIS for Health, InterSystems HealthShare, InterSystems Ensemble and InterSystems Caché. This could be tools, frameworks, adapters, examples and business solutions.
Why publish on Open Exchange?
InterSystems Open Exchange is an "App Central" for the solutions in InterSystems. It's the first place where the developer goes to look for tools, frameworks, and examples on InterSystems IRIS. And Open Exchange brings the added traffic to your solution which could be converted into leads.
We are having a set of business development tools for published Open Exchange applications. This definitely makes your InterSystems application more noticed.
Submitting an application
Suppose you have a library with open source published on Github which you want to publish on Open Exchange. For the purpose of a demo, I'll fork this remarkable project of @Peter Steiwer ObjectScript-Math which I forked and renamed to object script-super-math.
Hi Developers!
Often when we install a code package we want to make some post-install settings, e.g. call to a method, set up a configuration file.
This article describes how to do this with the ObjectScript Package Manager.
To make any post-install calls you need to add <Invoke> elements into <Invokes> tag to the module.xml. Each <Invoke> element can have nested <Arg> elements if you want to pass params to the method:
<Invokes> <Invoke Class="Class.Name1" Method="MethodName1"> <Arg>Sting Value</Arg> <Arg>123</Arg> </Invoke> </Invkoes>
Here is an example module.
Hi Developers!
In previous articles, we spoke on how to publish your application. But how to make Open Exchange work its best for your application?
What do you want for your application on Open Exchange? It is attention (traffic) and downloads.

Let's talk about how Open Exchange can deliver this.
Hi Developers!
Suppose you published your application on Open Exchange with version 1.00. And then you've added a new outstanding feature and you make a new release.
You can also make a new release of your application on Open Exchange.
Why make releases on Open Exchange?
This the way for you to highlight the new features of your application. When you publish a new release the following happens:
Release notes appear on the News page of Open Exchange
The version of your app changes
Version History tab is updated
All the followers of you, your application or your company receive an email notification.
Hi Developers!
Many of you work in the companies which produce tools, solutions, frameworks on InterSystems Data Platforms.
You can list your Company on Open Exchange to have an option to publish tools, solutions, and frameworks on behalf of your Company:
This article describes how to do that.
Hi Developers!
Recently we updated the design of Open Exchange and I want to describe how you can find the solutions you are interested in.
Applications Catalog
The first thing you see is the catalog of published applications, tools, and solutions.
If you’ve ever wondered whether there is a way to regulate access to resources in Caché, wonder no more. In version 2014.2 special classes were added that allow developers to work with semaphores.
Just like Caché pattern matching, Regular Expressions can be used in Caché to identify patterns in text data – only with a much higher expressive power. This article provides a brief introduction into Regular Expressions and what you can do with it in Caché. The information provided herein is based on various sources, most notably the book “Mastering Regular Expressions” by Jeffrey Friedl and of course the Caché online documentation. The article is not intended to discuss all the possibilities and details of regular expressions. Please refer to the information sources listed in chapter 5 if you would like to learn more. If you prefer to read off-line you can also download the PDF version of this article.
I am planning to implement Business Intelligence based on the data in my instances. What is the best way to set up my databases and environment to use DeepSee?

Hi,
This is a quick tutorial how to install and use TFS in Atelier. It is based on my self experience and some tricks that I 've noted.
If you are used to using visual studio maybe you feel that is a bit slow and heavy, but you have the same TFS panel as you have in Visual Studio, so don't need any special "training" to use it ![]()
It's important don't store the file .buildpath because it has the server definition that you are working in a team, each one have the personal configuration, so the name of the server could be different.
To prevent it, create a file called .
Please note, this article is considered deprecated, check out the new revision over here: https://community.intersystems.com/post/tutorial-websockets
The goal of this post is to discuss working with Websockets in a Caché environment. We are going to have a quick discussion of what websockets are and then talk through an example chat application implemented on top of Websockets.
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.
