Hi Community,
Please welcome the new video on InterSystems Developers YouTube Channel:
⏯ Operationalizing "Machine Learning" Experiences From the Field
Hi Community,
Please welcome the new video on InterSystems Developers YouTube Channel:
⏯ Operationalizing "Machine Learning" Experiences From the Field
Hi Developers!
I'm pleased to announce that ObjectScript package publishing is now generally available on Open Exchange with this November 2019 release!
If you want your ObjectScript application to be published in ObjectScript Package Manager just enable "Publish in Package Manager" option:

And send the app on approving.
Once the application is approved it will be published automatically in ObjectScript Package Manager Registry and will be available for installation via ZPM client.
See the details below.
I would like a REST client to be able to send a custom header with the http request, for example "APPLICATION-ID".
This can be seen in the CSP gateway trace but I have tried using %request.GetCgiEnv("HTTP_APPLICATION-ID") in various formats and parts of the classes but cannot work out where I can get this. Documentation says this should work but is for normal CSP pages.
Any ideas?
Is there a way to get dynamic object from iterator?
set arr=[1,2,3]
set iter=arr.%GetIterator()I pass iterator several frames down and I'd rather avoid passing both the array and iterator, but for debugging I need to access original object in a situation where only iterator is available.
Is there a way to do it?
This repository is a go-public that builds on the already existing InterSystems-internal Convergent Analytics community and InterSystems-private MLToolkit repo (remains active and contains the most recent information for external ML Toolkit users - request memebership by writing us at MLToolkit@intersystems.com). This repo embraces more than ML Toolkit, we would like to host any discussions, publications, projects that add up in what we call convergent analytics approach. Welcome!
I have to write a DTL with the Data Transformation Builder to convert messages from HL7 ORU R01 v2.1 to HL7 ORU R01 v2.5. The incoming messages contain a text in OBX-5. This text contains LF characters (only LF - Segment separator is CR). Therefore it is not possible to parse the incoming message. While testing the transformation the OBX Segment ends at the first occurence of LF. Is there a way to replace the LF character before parsing?
example:
source:
OBX||FT|ltest1|| first line
second line
…
last line
||||||F|
target:
now: OBX||FT|ltest1|| first line
expected: OBX||FT|ltest1|| first
In the previous part of this series, we saw how to include data in a portlet from within DeepSee. This used the built in data controller. In this part, we are going to be pulling in data from outside of DeepSee. This will include both information from within InterSystems IRIS and from the OS.
This is useful if you would like to create a dashboard that only contains information about your system. It is also useful if you want to display data about your system along side data that you have stored in DeepSee.
In this part we will learn different ways of calling out
TL;DR: If I set an Ensemble Production Service based on EnsLib.File.PassthroughService to a Binary charset encoding, it breaks the file handling. Any ideas?
Full long post:
All,
I set up an Ensemble production to transfer files via SFTP, which works fine sending the files to my Linux server. Then I was informed that we needed to save a hash of the file, for comparison with the destination to verify the file arrived unmodified. I looked at the base64 encoded hash on my linux server:
G7QWAP6FcLInFWP8ECRL/EI2NfKdaf6TtrpwYuvSOEc=
and I created a class to extend the StreamContainer to add a hash value:
While and for are pretty similar, but sometimes you need to do a not recommended thing - change cycle boundaries.
In this situation while and for are different. For calculates boundaries once per run and while calculates boundaries on every iteration.
Consider this code sample:
set x = 5
for i=1:1:x {
write "i: ", i,", x: ", x,!
set x = x+1
}You'll get this output:
i: 1, x: 5
i: 2, x: 6
i: 3, x: 7
i: 4, x: 8
i: 5, x: 9
Compare to while cycle:
set i = 1
set x = 5
while (i<=x) {
write "i: ", i,", x: ", x,!
set x = x+1
set i = i+1
}The output is infinite:
i: 1, x: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.
Please suggest me.
I use delphi to develop and import VISM.OCX to component in delphi.
I run My Qurey Code in terminal get data many line but in VisM1.PLIST get data One line.
This is my code.
VisM1.MServer := 'IP and Port My Server';
VisM1.NameSpace := 'My Namespace';
VisM1.Execute('My Qurey Code');
VisM1.PLIST;
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.
We
Some may think it's a strange / daft idea, but just today the Raspberry Pi folks have announced that they've now sold more than 10 million of them..and counting. That's a huge potential marketplace, and a great platform for getting people to hear about Cache and try it out. Given its focus on the education sector, another great way of getting heard about.
I am trying to create a rule which filters out ADT_A08 messages, when they have an OBX segment and their EVN.4 is "COD" or EVN.4 is "FIN"
The attempt is:

I have sent messages with EVN.4 COD or FIN and they are filtered out correctly
However if I remove EVN.4 and leave just the OBX filled up, the message passes from the Process to the Operation.
How could we express that if the message has OBX, we want it to be filtered out‽
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.
I am working on a BPL to take data from a MS SQL database and create an HL7 Materials Message for our EMR. I have done this plenty of times in the past however I am running into an error.
"Remote Gateway Error: JDBC Gateway SP execute(0) error 0: Access to the remote server is denied because no login-mapping exists."
What is confusing is that this BPL doesn't differ from any of my other BPLs in connecting to MS SQL Server. I know I am missing something..
This BPL will execute the 1st Stored Procedure without any issues, the issue is when it comes to executing the second stored procedure.
.png)
.png)
.png)
Any
When using Related Cubes in InterSystems IRIS BI, cubes must be built in the proper order.The One side must be built before the Many side.This is because during build time for the Many side, it looks up the record on the One side and creates a link.If the referenced record is not found on the One side, a Missing Relationship build error is generated.The One side is going to be the independent side of the relationship, AKA the side of the relationship that is referenced by the Many side or the Dependent cube.For example: Patients contain a reference to their Doctor.
Hello!
I am taking the 'Creating an InterSystems Class Definition' course, and the Exercices asks to open a Terminal from the Management Portal to create and interact with a new object. I didn't found how to acces tot the Terminal from the Management Portal, and the documentation I have seen doesn't help me... ![]()
In some moment I saw a video wich explains how to acces to the terminal, but I can't find it. ¿Can someone explains me how to find the Terminal acces?
Thank you!
1,138
790
458$zv = Cache for Windows (x86-64) 2017.2.1 (Build 801_3) Thu Apr 12 2018 10:14:19 EDT
I have a problem with my installation that I've logged with WRC, I've been asked (and have done so) to run ^pButtons
here's what I did.
%SYS>w $zv
Cache for Windows (x86-64) 2017.2.1 (Build 801_3) Thu Apr 12 2018 10:14:19 EDT
%SYS>d ^pButtons
Current log directory: c:\intersystems\cache\mgr\
Available profiles:
1 12hours - 12 hour run sampling every 10 seconds
2 24hours - 24 hour run sampling every 10 seconds
3 30mins - 30 minute run sampling every 1 second
4 4hours - 4 hour run
Did some quick testing replacing Intersystems.Data.CacheClient.dll with Intersystems.Data.IRISClient.dll and ran against Cache 2018.1 and IRIS 2019.1. Seems to work in both cases. Is it a safe assumption that the IRIS dlls are backward compatible with Cache 2018.1?
Wondering whether it's possible to get %UnitTest to output an arbitrary key-value pair (a new property) into ^UnitTest.results ?
I have an array of table names that I want to iterate over and for each table, get the number of rows. I was hoping I could do something like:
set tStatement = ##class(%SQL.Statement).%New()set tSC = tStatement.%Prepare("SELECT COUNT(*) AS ObservedRowCount FROM ?")$$$ThrowOnError(tSC)set tTableName = ""for{ set tTableName = $O(tCounterAry(tTableName)) quit:tTableName=""set tResult = tStatement.%Execute(tTableName)
// ...
}But that doesn't work:
ERROR #5540: SQLCODE: -1 Message: IDENTIFIER expected, ? found^ SELECT COUNT ( * ) AS ObservedRowCount FROM ?
For reasons 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.
Hi Community!
Thank you for being a part of the InterSystems Open Exchange! We want to know what you like about Open Exchange and how we can make it better in 2020.
Could you please go through this short survey which will let us know what do you think.
➡️ Open Exchange Survey 2019 (2 minutes, 7 questions)
Hello All,
I have connected InterSystems Cache remote server from Power BI using ODBC Connection . But I am not able to view the data records on Power BI getting some error "Value cannot be null. Parameter name: exceptionType". And also I checked with that remote server with the location System > System Logs > View xDBC Error Log > xDBC Errors . On that place I can see the below error
"[SQLCODE: <-400>:<Fatal Error Has Occurred>] [Cache Error: <<READ>ServerLoop+16^%SYS.DBSRV>] [Location: <ServerLoop>] [Client info: <Username: Hp, Node Name:XXXXXXXXXXX , IP Address: XXXXXXXXXX, Executable
Some readers of my previous article, Caché eXTreme for .NET - direct access to globals from C#, wondered if you could access information not just from the same instance in which you’re working, but also from another instance on the same computer, or from an instance located on another computer in the same local network. Some theorized, correctly, that this would be possible using the Enterprise Cache Protocol (ECP). In this article I’m going to show how it can be done.
Have you ever needed a math function but could not find what you needed and ended up writing your own? Look no further! ObjectScript-Math is here to solve all your math related function needs.
ObjectScript-Math is an Open Source library for ObjectScript Math functions. It is now available on Open Exchange. This library contains a mix of new functions that are not currently available and functions that are available. The existing functions will be wrapped for use from ObjectScript-Math so that all Math functions can have a central location.
This library will continue to grow, so give it a try and give your feedback!
Don't see what you are looking for? Please feel free to submit requests for additional functions or contribute code yourself!
I'm currently working with a developer to add IRIS/Caché functionality to his HL7 analysis tool that would allow its users to extract messages directly from the Ensemble message store.IRIS for Health Community Edition has been a great aid in debugging this, but I keep banging into the 5 connection license limit with Studio, the Management Portal, an IRIS terminal session and a client database connection using either ODBC or ADO.NET.