Henry Elliott is currently recruiting for Sr. Developers with InterSystems technology stack experience including Cache, IRIS for Health, HealthShare, Ensemble. Experience in any of the following preferred: FHIR, AWS, VA VistA, APIs, RPCs. These are remote opportunities. Please send resume to Mary Pion- mpion@henrye.com or call me at 781-416-9915 to discuss further.
It is a classic Global Mapping exercise presenting ^SPOOL as Class / Table
Background
Device #2 named SPOOL dates back to the predecessors of Caché and IRIS
It was the first "%Stream" like option to buffer output before printing.
It is also the first and till today the most simple way of output redirection.
Solution
This is also an example of a mapped Global.
USE 2 redirects the output into the Global ^SPOOL
You can read the global manually or with some ancient utilities
or use this mapping to access it as class or a SQL table.
The structure of Spool
- the global ^SPOOL is local to your namespace
- fist
Hi,
I am attempting to set up a security role for our support team so they can have read access to the production and messages.
I have given the role RW rights on the resource associated with the database. However, when I log into Management Portal and select "Ensemble", the "Available Ensemble namespaces" list is empty.
What permissions do i need to set to be able to navigate to the production?
Thanks in advance,
Carl
Edit:
Just in case it is of any future use to anybody; adding R permission on %DB_CACHESYS and %DB_HSSYS solved the problem of not being able to navigate to the production from the
Hi
What would be the best way to restrict use of a set of SOAP services so that they could only be called from specific white-listed IPs?
Thanks
This is my introduction to a series of posts explaining how to create an end-to-end Machine Learning system.
Starting with one problem
Our IRIS Development Community has several posts without tags or wrong tagged. As the posts keep growing the organization of each tag and the experience of any community member browsing the subjects tends to decrease.
First solutions in mind
We can think some usual solutions for this scenario, like:
- Take a volunteer to read all posts and fix the mistakes.
- Pay a company to fix all mistakes.
- Send an email to each post writer to review the texts from past.
My Solution

The guide “Extending Languages with %ZLANG Routines”
Tells you all details you need to know to extend your programming language.
EXCEPT: How to do it in a clean way.
This example of a %ZLANGC00.mac may show a possible approach
to get an easy to overview and to manage setup.
With less than 50 lines of code you might not be affected.
But if your Studio shows close to 1000 rows or more you may get in troubles.
My recommendation is simple.
Instead of adding line-by-line commands and it's code
you isolate each command and its code into a separate Include file.
And what is left in your %ZLANG* Routines is a
Sapphire has CSV import, create and train IntegratedML model and I will create more features. See the pool. Check sapphire in https://openexchange.intersystems.com/package/SAPPHIRE
Hey Developers!
This week is a voting week for the InterSystems IRIS AI Programming Contest!
So, it's time to give your vote to the best AI- and ML-enabled solution on InterSystems IRIS!
🔥 You decide: VOTING IS HERE 🔥
How to vote? This is easy: you will have one vote, and your vote goes either in Experts Nomination or in Community Nomination.
IRIS and Caché / Ensemble offer the possibility to add Languages Extension as SystemFunctions, SystemVariables, SystemCommands
The related documentation tells you where to add the system-wide extension. Parameter passing is not covered explicitly.
Currently, the process of using machine learning is difficult and requires excessive consumption of data scientist services. AutoML technology was created to assist organizations in reducing this complexity and the dependence on specialized ML personnel.
AutoML allows the user to point to a data set, select the subject of interest (feature) and set the variables that affect the subject (labels). From there, the user informs the model name and then creates his predictive or data classification model based on machine learning.
It is not necessary to know about cognitive algorithms, since AutoML
Hi Developers,
Please welcome the new video, specially recorded by @José Pereira for the InterSystems IRIS AI Programming Contest:
Hi Team,
When I tried to open ensemble in my system I got bellow error.
I have done lots of code in my local system but now not able to open the ensemble.
.png)
.png)
GA releases are now published for the 2020.2 version of InterSystems IRIS, IRIS for Health, and IRIS Studio!
A full set of containers for these products are available from the WRC Software Distribution site, including community editions of InterSystems IRIS and IRIS for Health.
The build number for these releases is 2020.2.0.211.0.
InterSystems IRIS Data Platform 2020.2 provides an important security update with the following enhancements:
- Support for TLS 1.3
- Support for SHA-3
InterSystems IRIS for Health 2020.2 includes all of the enhancements of InterSystems IRIS.
This is the second post of a series explaining how to create an end-to-end Machine Learning system.
Exploring Data
The InterSystems IRIS already has what we need to explore the data: an SQL Engine! For people who used to explore data in csv or text files this could help to accelerate this step. Basically we explore all the data to understand the intersection (joins) which should help to create a dataset prepared to be used by a machine learning algorithm.
Posts Table ( Provided by Intersystems Team )

Tags Table ( Provided by Intersystems Team )

Our challenge demands to classify a post with the
What is the sql command to describe table in cache db.
I send ORUs to a process where a transform is applied before sending the message to a process where the routing is handled.A recent request was made that when OBR:25="D" the message is also be faxed with transforms that have some similarities to the original, but not exactly the same.I copied the DTC, made the alterations, and created a separate rule to handle it.However, when I run a message through with a "D" in OBR:25, it is only sent to the routing process once.
Hi Community,
Please welcome the new video, specially recorded by @Renato Banzai for the InterSystems IRIS AI Programming Contest:
Following up the previous part, it's time to take advantages for IntegratedML VALIDATION MODEL statement, to provide information in order to monitor your ML models. You can watch it in action here
The code presented here was derived from examples provided by either InterSystems IntegragedML Template or IRIS documentation, my contribution was mainly mashing up such codes. It's a simple example intended to be a start for discussions and future works.
Note: The code presented here is for explanation purpose only. If you want to try it, I developed an example application - iris-integratedml-monitor-
A few months ago, I read this interesting article from MIT Technology Review, explaing how COVID-19 pandemic are issuing challenges to IT teams worldwide regarding their machine learning (ML) systems.
Such article inspire me to think about how to deal with performance issues after a ML model was deployed.
I simulated a simple performance issue scenario in an Open Exchange technology example application - iris-integratedml-monitor-example, which is competing in the InterSystems IRIS AI Contest. Please, after read this article, you can check it out and, if you like it, vote for me! :)
Content
Part
InterSystems supports use of the InterSystems IRIS Docker images it provides on Linux only. Rather than executing containers as native processes, as on Linux platforms, Docker for Windows creates a Linux VM running under Hyper-V, the Windows virtualizer, to host containers. These additional layers add complexity that prevents InterSystems from supporting Docker for Windows at this time.
We understand, however, that for testing and other specific purposes, you may want to run InterSystems IRIS-based containers from InterSystems under Docker for Windows.
Hey Developers,
New "Coding Talk" video was specially recorded by @Yuri Marx for the InterSystems IRIS AI Programming Contest:
Let's say I have this simple script file try.script
write 1 write 0
I can execute it in a terminal (csession) by calling:
csession cache < try.script
And I get the following output:
%SYS> 1 %SYS> 0
However I want to use a try catch block in my script:
try {
write 1/0
catch {}
haltBut as script is executed line by line, it's interpreted like this:
%SYS>
TRY {
^
<SYNTAX>
%SYS>
WRITE 1/0
^
<DIVIDE>
%SYS>
CATCH {}
^
<SYNTAX>
%SYS>I know that I can write it all in 1 line, but I'd rather not do that. Is there a way to feed multiline statement into Cache?
Lets say I have a serial Class A ,Serial Class B,Serial C and Persistent Class Ens.Request
Class SerialA Extends (%SerialObject, %XML.Adaptor) [ ProcedureBlock ]
{
Property SerialB as SerialB
Property SerialC as SerialC
}
Class SerialB Extends (%SerialObject, %XML.Adaptor) [ ProcedureBlock ]
{
Property SerialB as %String
}
Class SerialC Extends (%SerialObject, %XML.Adaptor) [ ProcedureBlock ]
{
Property SerialC as %String
}
Class PersistantClass Extends Ens.Request
{
Property Record as SerialA
}the produced xml looks like this :
<Record>
<SerialA As you probably know, InterSystems IRIS has a mechanism for auto-generating methods. So, when you create an index in a class, you create methods that make your work easier. There is also a good article on Community that describes such methods.
Take, for example, IndexNameOpen(val), where IndexName is the name of the corresponding index. This method returns an object in which the value of this index corresponds to the value of val.
But this method is available only for unique indexes.
I want to map global ^myUnitTests(ID)={Start}_"^"_{JOB} where {Start} and {JOB} are two properties and ID is determined by $Increment(^myUnitTests).
I defined this class but it will not compile:
Class UnitTest.Test Extends %Persistent [ StorageStrategy = NewStorage1 ]
{Property JOB As %String;Property Start As %String;Storage NewStorage1
{
<IdFunction>increment</IdFunction>
<IdLocation>^myUnitTests</IdLocation>
<SQLMap name="Map1">
<ConditionalWithHostVars></ConditionalWithHostVars>
<Data name="JOB">
<Delimiter>"^"</Delimiter>
<Piece>2</Piece>
</Data>
<Data name="Start">
<Delimiter>"^"</Delimiter>
<Piece
Hi,
Below To_Char function is not working as expected
SELECT TO_CHAR('12/31/1840','mm/dd/yyyy') ---01/12/1841
I expect the result to be 12/31/1840. Let me know If there are any suggestion to get the correct result.
Thanks, Meena
Hey Developers,
Check out the latest video on InterSystems IRIS for Health Data Platform:
⏯ What is InterSystems IRIS for Health?
Hello,
We would need to know the Ens.Response SourceConfigName to identify which Operation has raised an exception.
We have tried:
$$$LOGINFO("..%Process.%PrimaryResponseHeader.SourceConfigName..: "_..%Process.%PrimaryResponseHeader.SourceConfigName) //It outputs an empty string
$$$LOGINFO("response.SourceConfigName: "_response.SourceConfigName) //It generates an exception
We would need to get from an Ens.Response which body is null, its SourceConfigName:
.png)
.png)
How could we know it? 📛
Hello, I am running into a little problem.
I am trying to create a Cache Trigger on a FACS table using the SQL CREATE TRIGGER command but I am getting the message [SQLCODE: <-300>:<DDL not allowed on this table definition>].
I am not creating a persistent class but using the SQL CREATE TRIGGER command.
Please advise.
thanks.

