Introduction
Since version 2019.2, InterSystems IRIS has provided their Native API for Python as a high-performance data access method. The Native API allows you to directly interact with the native IRIS data structure.
Since version 2019.2, InterSystems IRIS has provided their Native API for Python as a high-performance data access method. The Native API allows you to directly interact with the native IRIS data structure.
Preview kits are now published via the WRC's preview download site for:
The build number for these releases is 2019.1.1.608.0.
This is a maintenance release and includes changes in a number of areas, as described in the online documentation here.
It also includes three new features, described in the online documentation here:
This release
Code golf is a type of recreational computer programming competition in which participants strive to achieve the shortest possible source code that implements a certain algorithm.
Here's a list of Code Golf competitions we had on Developers Community.
And some interesting challenges:
Did I miss something? Add more challenges in comments.
We have a customer that is not able to accept HL7 result messages that are missing OBX:3.1. I have been trying to create a function that could return a boolean value of 0 if the message didn't meet the expectations of the function.
.png)
ClassMethod IsValued(pHL7Msg As EnsLib.HL7.Message, pSegment As %String, pField As %String) As %Boolean
{
#dim tSeg as EnsLib.HL7.Segment
set tSegCount = pHL7Msg.SegCountGet()
set i = 1
Set tFound = 0
while ((i <= tSegCount) && (tval="")) {
set tSeg = pH
Would anyone please have an example of how to use the WriteSOAPBodyMethod method?
The webservice method I'm trying to overwrite the body looks like this:
Method RecepcionarLoteRps(EnviarLoteRpsEnvio As %String(CONTENT="MIXED")) As %String(CONTENT="MIXED",XMLNAME="EnviarLoteRpsResposta") [ Final, ProcedureBlock = 1, SoapBindingStyle = document, SoapBodyUse = literal, WebMethod ]
{
Set ..WriteSOAPBodyMethod = "override"
Quit ..WebMethod("RecepcionarLoteRps").Invoke($this,"",.EnviarLoteRpsEnvio)
Set ..WriteSOAPBodyMethod=""
}
Method override(proxy As %SOAP.ProxyDescriptor, tag As %String)
I have several BPL's that act like SQL Server Integration Services (SSIS) where they are transferring data. When I do this they are all being written under 1 session id, is it possible to make the BPL create multiple session ID's as it is cycling through a Snapshot, so it is easier to read in the trace?
Thanks
Scott Roth
Just wanted to share my Zabbix template for monitoring InterSystems IRIS on Linux servers.
It monitors irisusr (configurable) memory consumption:
How to use:

Is there a way to set null in dynamic object without using %Set methods?
I have this method and I need to set NULL as, well, null and not string.
ClassMethod node(name) [ CodeMode = expression ]
{
{
"name":(name),
"content":($case(##class(%Dictionary.ClassDefinition).%ExistsId(name), $$$YES:"mycontent", $$$NO:"NULL"))
}
}.png)
Hi Community:
Interested in getting hands-on with our technology? Come to Global Summit, where you'll find five experiences to choose from in the Experience Lab:
If you've never tried these out, Experiences are guided exercises in which you engage with our technology. Each Experience starts with a brief introduction outlining a particular task. Then you complete the task on your ow
Hello,
I had an issue when using the method Exists, I noticed that if you provide a directory for this method it returns 1. This is really misleading, because sometimes the input could be a directory and the only way to predict this is to also test if the file is a directory.
I didn't tested using the Attributes method, but I supposed that this means could also be a solution for that issue. But still, I expected the Exists method to return 1 for files and 0 for directories, since there's also method called DirectoryExists already.
write ##class(%File).Exists("/InterSystems")
1
Would you guys
I'm writing "Finder"-like dialog and need to get list of BPL classes.
The query is dependent on current "path" - it outputs all BPLs in the current path (if any) and all sub-packages which contains BPLs.
So far I have this query:
Query getBPL(path, needPlus = {(path'="")}) As %SQLQuery
{
SELECT DISTINCT $PIECE(Name, '.', 1, $LENGTH(:path, '.') + :needPlus) Name
FROM %Dictionary.ClassDefinitionQuery_SubclassOf('Ens.BusinessProcessBPL')
WHERE Name %STARTSWITH :path
}My problem is, if I'm not in "root" path I need to add additional dot level, but in root path I only need to add one.
Curr
Hi -
I'm wondering if there is any sort of experience with trying to leverage things like fingerprint readers into any identity management interface. I'm wondering if the "output" of some fingerprint scanner (or face scanner, or eyeball scanner for that matter) is something that HealthShare Patient Index might be able to use?
Hi Community,
Our latest issues of Developments and Developments Healthcare Edition have been posted to the Developments Archive site, where you'll also find other previous issues. Learn about InterSystems API Manager, preview releases of InterSystem IRIS and IRIS for Health, and live webinars this month about how you can easily move your Ensemble or Caché applications to InterSystems IRIS.
Optimize your investment in InterSystems technology by subscribing to these and other InterSystems publications.
Hi all,
I am trying to create a method to count the number of entries in a global, including all subscripts. I am having a bit of trouble getting the code to make it to the second subscript. When I get to the position where my key is "Canada" and I add a comma and empty quotes to it, it returns USA as the new key when I do the order function. Is the $Order or the global not able to use a single string to represent multiple subscripts?
Here is my global structure:
^Locations("Canada",1)="Montreal"
^Locations("Canada",2)="Vancouver"
^Locations("USA",1)="Michigan"
^Locations("USA",2)="Ohio"
^Location
Hi,
I want to do ordering dynamically in Query. I mean to say that order by value will not be hard coded in query, it will be passed in parameter.
I have tried to it following way, but it is not working for me. Can you please advise me how can I achieve it?
In below code, Order by :objSearch.SortingField is not working.
Class Query.ExternalUsers Extends %Library.RegisteredObject [ ClassType = "", DdlAllowed, Owner = {_SYSTEM}, Not ProcedureBlock ]
{
Query Search(objSearch As LISSystem.ModelView.UserSearch) As %SQLQuery [ SqlName = ExternalUsersSearch, SqlProc ]
{
select * from (
We've just published an update to the Serenji extension for VS Code. Starting with this version (3.0.7) you can now debug the code that implements your REST services. Here's a taster:

Read more about Serenji on Open Exchange.
Hello,
Having difficulty with sending POST request.
How I can send parameters in the body of request, if i'm using ContentType:"application/x-www-form-urlencoded".
Version of ensemble: 2010
My code is bellow:
Set httpRequest=##class(%Net.HttpRequest).%New()
set httpRequest.SSLConfiguration="1"
Set httpRequest.ContentCharset="utf-8"
Set httpRequest.Server="test.oath.com"
Set httpRequest.Port=443
Set httpRequest.Https=1
Set httpRequest.Location = "/auth/key"
set httpRequest.ContentType="application/x-www-form-urlencoded"
Set httpRequest.ContentCharset="utf-8"
do httpRequest.EntityBody.Write("grant_type=cl

Hi Community!
Enjoy watching the new video on InterSystems Developers YouTube, recorded by @Thomas Carroll, Cloud Market Technical Specialist at InterSystems.
How Are Containers Different From Virtual Machines?
Hi Developers!
Suppose I have a project where I want to build an IRIS container with two different dockerfiles depending on goals. How can I make it?
The issue is that docker-compose is looking for the file with name 'dockerfile'
Are there any #IF constrations in a dockerfile syntax?
Commenting works but sometimes it's more than one line.
Is there a way that when you run $system.OBJ.Compileall() that you can make the output written to a file instead of the screen? I am trying to capture all the errors so I can review the code and fix them before we upgrade.
Thanks
Scott
hi,
i have two where-clauses:
a) ... WHERE company=1 and product=7
b) ... WHERE product=7 and company=1
with other words the position of the where fields are swapped.
now the question is:
bring the where clauses a) and b) the same performance(queryplan) or do i have to write it in a special order???
in my point of view, there is a parser/optimizer who cares about this, so i don't have to care about.
Hello,
I have a small SQL question.
Running an example queries in our Samples Namespace:
1. select top 5 Description,Category from Cinema.Film order by Category - runs fine no issues and returns 2 columns as expected
2. select top 5 * from Cinema.Film order by Category - runs fine no issues and returns 8 columns as expected
3. select top 5 Description,Category,* from Cinema.Film order by ID - runs fine no issues, and returns 10 columns, with my first 2 repeated
4. When I try to combine the first 2 queries:
select top 5 Description,Category,* from Cinema.Film order by Category
I get an error:
Ambigu
The Management Portal allows you to Export one or more globals to a file that you can then Import into that or another namespace. However, the Management Portal can only be used to export entire globals. For exporting selected nodes or subtrees within a global, a different utility is necessary. This utility is the Export() classmethod in the %Library.Global class, which can export an entire global but also has the ability to export selected nodes or subtrees.
For example, consider this global named ^DATA:
^DATA(1)="ONE"
^DATA(1,2)="twelve"
^DATA(1,2,3)=123
^DATA(1,"two")="three"
^DATA(2)="TWO"
^D
Currently we are using Health Share 2015.2.2, and looking to upgrade to the latest version in the next month.
From what I understand we have to upgrade to 2017 or 2018 prior to going to 2019.1 since 2019.1 is on the IRIS platform.
In trying to outline my steps in the upgrade process I came up with a question.
Has anyone had experience with this? or should I open a ticket with WRC?
Thanks
Scott Roth
The Ohio State University Wexn
Hi all,
We just encountered an instance of a result set RS and while looping through the results, RS is getting overwritten when method 1 calls out to method 2 (in the same class). Method 2 creates it own result set also named RS.
This code is several years old and never had this problem. When I changed the name of the result set variable in method 1 the problem cleared up.
I though that variables were automatically 'newed' in classmethods. ???
We also recently upgrade to the latest Cache version from a much older version. Is it possible that variable scope has changed across method
Hi, I have used CSP to exec SQL selects from any own NAMESPACE. But in our servers we have many SQL GATEWAY CONNECTIONS.
I'd like to create a CSP page that could use these gateway to exec SQL using these gateway connections, only Administrators will use that page to launch many select at many dsn. I'm not sure if we must deploy that CSP on %SYS namespace and how to use DSN(SQL Gateway connections) that are defined on server.
Anoyone has made that?
For example:
DSN CLIENT ONE
DSN CLIENT ONE
CSP Webpage:
TEXTBOX: Introduce your select:
select count(*) from product where stock<100
OPTION BUTTON:
*CLIENT
Hello Cache Developers! The purpose for this post is to outline a coding challenge that I have encountered when trying to use shortcuts (i.e. CTRL+G) within a ZEN application. Allow me to provide a summarized background:
Our application has a ZEN page (call it the PPL page) with a tablepane that displays a list of records. This page also has an iFrame (#1)
Hello everyone,
We have a process that is listening to an FTP service to collect some CSV files and process them. The process works correctly and when it ends it clears the directory waiting for it to enter some other file.
We have been receiving the following error message for a long time:
ERROR <Ens>ErrGeneral: Error in SFTP Dir() ERROR #7500: Error DirEnum SSH '-2146430967': 'SSH Error [80101009]: Would block waiting for status message [80101009] at SFTP.cpp:150,0
This happens when there are no files to process and appears from time to time, maybe every 20 minutes.
The adapter configurat

Hello, has anyone tried to use Caché as a reverse proxy ?
We are trying to embed a dashboard server (Plotly Dash in this case, but it could be anything which runs on its application server) inside our application which is written in Caché.
The dashboard/report server runs locally (for example, or inside a LAN) on port 8080, and has no authentication features, so we have to implement them on a different layer, and we'd like to use Caché for it.
We'd like to hide the dashboard server (port 8080 not exposed), and use it behind Caché, this way (putting it as simple as possible):

Caché should pass al