I am looking to run some analysis on existing software to quickly identify global variable references. Ideally you would feed in a "starting routine" and after going through all referenced routines you would end up with a finite set of global variables. So the primary purpose is to take say 10,000 lines of code and map out the referenced global structures without relying on a programmers eye. I found the post on Object Script equivalent to Studio "Find in Files" interesting but the downside is that output is too verbose and would require parsing to extract the global structures. How would you override writing to the terminal so that you could parse the data?
Hi guys,
I thought I test the InterSystems IRIS for Health 2020.1, the Docker image. but for some reason, the container only lives for about 10 seconds and I can see from the message.log file that as soon as IRIS starts it then performs shutdown thus ending also container. Anyone else seen this?
here is the message.log part
*** Recovery started at Fri Feb 7 14:37:02 2020
Current default directory: /durable/iris-config/mgr
Log file directory: /durable/iris-config/mgr/
WIJ file spec: /durable/iris-config/mgr/IRIS.WIJ
Recovering local (/durable/iris-config/mgr/IRIS.WIJ) image journal
I'm looking into finding ways to fetch data from cache efficiently and work with it with python - specially pandas.
i tried the following but i'm wondering if this is the most efficient way?
to run the stored procedure as %ResultSet inside cache in a classmethod and serialize the data to JSON
and then call that class method from python
Class User.RegObj Extends %RegisteredObject{ClassMethod runAlpha() As %Library.DynamicAbstractObject{set QHi=##class(%DynamicAbstractObject).%FromJSON("{}")set rs=##class(%ResultSet).%New("User.Person:alpha")set pr=rs.Execute("","")set idx=0while rs.Hi-
I have a SQL Query using %iFind.Highlight which returns text highlighting certain words and phrases. %iFind.Highlight seems to remove cr/lf from the returned text.
Here's my query
ClassMethod Search(pSessionId As %String, pSearchString As %String) As %String
{
set tTags="<span style='background-color:yellow;'>"
&sql(
SELECT %iFind.Highlight(Text , :pSearchString , , :tTags) into :results
FROM SSA_OCR.TempSearchable where sessionId = :pSessionId)
quit results
}
The returned text looks like this:
Record date: 2075-01-07 NAME: Villegas, Yosef MRN: 8249813 S: Here for follow up of
Hi Community,
The new video is available on InterSystems Developers YouTube Channel:
⏯ Collecting Healthcare Data with Alexa
We have multiple databases running on a single server. I have duplicate interfaces on each database.
If we're doing testing in copy #1, the interfaces should be running in that copy. I want to block analysts who try to start the interfaces in copy #2.
So, I'm looking for something that would check the port and tell me the status: already in use or free.
My challenge is that this system needs to stay ISO/ANSI compliant.... so I can't use any of the newer tricks.
Is there any plain-old Cache' I could use for this task?
Thanks!
Hi Community,
Please welcome the new video on InterSystems Developers YouTube, recorded by @Stefan Wittmann:
⏯ Supporting All Tools for Development in InterSystems IRIS

AnalyzeThis is a tool for getting a personalized preview of your own data inside of InterSystems BI. This allows you to get first hand experience with InterSystems BI and understand the power and value it can bring to your organization. In addition to getting a personalized preview of InterSystems BI through an import of a CSV file with your data, Classes and SQL Queries are now supported as Data Sources in v1.1.0!
I have two files that I ultimately need to combine. The first file contains data from a PO. The second file contains tracking information. What I thought about doing was create a BS that grabs the first file, loads it into a record map and transfers it to a BPL. Then, the BPL would open the second file where I would write code to load the file into a second record map and then insert the tracking information to the correct places in the first file based on PO line items.
First, is this the best approach? Second, how do I open the second file in the BPL?
I am developing a viewer for Crystal Reports using the Crystal Reports for Visual Studio (CR13SP26). I have also installed the latest ODBC Drivers for Cache, but when I connect some reports to the Cache database using a connection string, I get an error that I failed to retrieve data from the database, and it reports the Database Vendor Code 30. Has anyone used Crystal Reports connecting via a connection string and received this error? If so, how did you correct it?
Thank you,
Brian Cromwell
Hello,
I am wondering the best way to disable a user account using this class in Cache (Security.Users).
https://cedocs.intersystems.com/latest/csp/documatic/%25CSP.Documatic.c…
Example User Account = jhipp
Currently is Enabled
I know that we can use the auto-generated EnabledGetStored method, for example:
%SYS> w ##class(Security.Users).EnabledGetStored("jhipp")
1
There is not an auto-generated method to set this property, right?
I can modify this property with the Modify function, but I have to build a temp array with one value etc...
%SYS> s temp("Enabled")=0
%SYS> zw temp
temp("Enabled")=0
%SYS>
Throughout my years working within HealthShare\Ensemble, I have been able to mimic the Data Lookup page trimming it down to give our Ancillary areas access to modify their own data Lookup tables.
I am currently working on building a CSP application to allow certain users to update MS SQL tables by going through HealthShare. I thought all I had to was create the CSP pages and grant access. I am able to access it off my desktop, but when I have a user try to access the application, they get the sign in but then it doesn't do anything. So I think I might be missing something.
In looking through
Hello Community,
Thank you all for your continued feedback and support of our ad hoc reporting platform, VDM. There's been some questions around setting up a non-ODBC connection for InterSystems platforms. We published a new YouTube video showing the steps necessary to connect to InterSystems Caché and InterSystems IRIS with BridgeWorks VDM.
Hi
I've been working with SQL using an iFind index to search text. Using the %iFind.Highlight function in my SELECT statement I can get text back that highlights the found words using <b> and </b>
I am aware that using ##class(%iFind.Utils).Highlight, I can pass a parameter to override the <b> tag and use instead a <span> tag with style to change the background color of the found words.
Is there a way to override the <b> tag from a SQL statement?
Thanks
How do you cancel a query that is executing in the Management Portal > System > SQL?
Does closing the browser cancel the query or does it continue to run in the background?
Is there any added benefit to using the Shell over the Portal? Perhaps there is a way to cancel/stop a query here?
$SYSTEM.SQL.Shell()
Thanks
When do implicit assumptions in code and arithmetic operators pose a real danger, and how can this danger be overcome?

Constantinople in the 5th century AD
(It was possible for people to build grandiose buildings and vehicles without the use of computers and robots 1,600 years ago.)
If you assign dimensionless numbers to physical parameters in your code, you risk misunderstandings and errors when calculating and converting between units of measurement.
Hello,
I would like to change signature's algorithm to be sha1.
I share the current code:
(BINARY SECURITY TOKEN and USERNAME TOKEN CODE omitted)
//SIGNATURE TOKEN
set signSha1=##class(%XML.Security.Signature).%New()
do signSha1.SetSignatureMethod($$$SOAPWSrsasha1)
//..SetSignatureMethod($$$SOAPWSrsasha1)
//$method(signSha1,"SetSignatureMethod",$$$SOAPWSrsasha1)
//signSha1.SetSignatureMethod($$$SOAPWSrsasha1)
set sig=signSha1.CreateX509(cert)
I have tried to use SetSignatureMethod, however in the Message Viewer we see:

As you see I have tried every other way I could think.
I
Hi
I've got a new piece of work to do which the goal is to send an email out if files start queuing up in a specific folder.
Is there any way of achieving this?
Any help would be appreciated.
Kind Regards,
Joao Palma
Hello,
I have created my first table in Ensemble:

And I have added a row using the Production:

We would like to query it, and we would expect to get a row wih all the previous' image data.
I have tried, inside a code block in a Bussiness Process:
set statement=##class(%SQL.Statement).%New()
set status = statement.%PrepareClassQuery("TablasBBDD.NotificacionesPUSH.RelacionAplicacionNotificacion","seleccionarTodo")
set result = statement.%Execute()
do result.%Display()
$$$LOGINFO("filas result: "_result.%ROWCOUNT)
$$$LOGINFO("result: "_result)
//$$$LOGINFO("clave:
Hi Developers!
This is the digest of new solutions and applications submitted to InterSystems OpenExchange in January 2020!
New applications in January 2020
OUReports by Irina Yaroshevskaya
Online reporting tool for InterSystems IRIS. Online User Reports - automatically analyzes data - generates automated reports - provides interface for ad hoc reports - conducts statistical research. Learn more on OUReports.com
Samples-Aviation by InterSystems
Provides sample data for use in exploring InterSystems IRIS Text Analytics capabilities.
objectscript-package-example by Evgeny Shvarov
ObjectScript Package example with a simplified folder structure to edit/compile/collaborate with InterSystems IRIS, Docker and Github.
Reducing Readmission Risks with Realtime ML by Amir Samary
Patient Readmissions are said to be the Hello World of Machine Learning in Healthcare. We use this problem to show how IRIS can be used to safely build and operationalize ML models for real time predictions and how this can be integrated into a random application.
REST Business Activity Monitoring by Stephen Pisani
Send IRIS Business Metrics to a REST Endpoint, or host a REST API to retrieve Business Metric values
eXTreme for IRIS / Caché Example by Iryna Mykhailova
A console .NET application which shows how to access, create and store globals from a .NET application using eXTreme.
zpm-dockerhub by Evgeny Shvarov
repository for publishing zpm enabled images for InterSystems IRIS via Github Actions
Hello.
I'm trying to export a XML stream containing some files that are supposed to have been written using UTF-8, but I'm facing some broken encoding issues.
You can see below that I'm indeed viewing a UTF-8 encoded and which is inside the CSP folder and encoded correctly (although displaying it on Studio would not display it correctly as the file is not using BOM and that's intentional).
We need to export such files to XML along with many others and for that we'are using the method ExportToStream from the class %SYSTEM.OBJ.
The file must be transmitted using HTTP and that's why we're using
Hi Community,
New video, recorded by @Raj Singh, is available on InterSystems Developers YouTube:
⏯ What Keeps Developers Up at Nigh
Hi,
I have two namespaces
- In the first one, I have defined a class which Extends (%Persistent, Ens.Util.MessageBodyMethods), we'll call it NSOne.Msg.Req
- In the second namespace NSTwo, I want to use the previous class with something like SET pInput = ##class(NSOne.Msg.Req).%New()
I mapped the NSOne.Msg.Req package in namespace NSOne. In Atelier, I can see NSOne.Msg.Req in my NSOne. But, when I try to execute line 2 above, it tells me :
{
"status": {
"errors": [
{
"error": "ERROR #5002: ObjectScript error: <PROTECT>^NStwo.Api.1Hi,
we're planning some work on our SQL Query Plan functionality for a future release of InterSystems IRIS and are interested to hear how you're using them today, or what'd keep you from using them. Rather than try and fit everything in a rigid survey, I thought a simple thread on our beloved DC might also reveal some use patterns that we support or could do a better job on.
I am trying to get a list of all settings for all the config items of a given production using SQL . When I run the following sql as a dynamic query I am unable to access the setting names and values. Settings is a list of Ens.Config.Setting
Set query="Select Name, Production, Settings,$ListLength(Settings) "
_"As Count from Ens_Config.Item "
Set rc=##class(%ResultSet).%New()
Set sc=rc.Prepare(query)
Set sc=rc.%Execute
While rc.Next(.sc) {
For i=1:1:Count {
Set tSetting=$List(Setting,i)
Set name=tSetting.Name
}I get a LIST error on the last line!
Hi Community,
Here is a digest of the Developer Community videos on InterSystems Developers YouTube Channel in January 2020:
| New Videos | |||
| № | Video | Views | Watch Time (hours) |
| 1 | Machine Learning 201: Deep Learning | 379 | 7,8 |
| 2 | Python and InterSystems IRIS | 121 | 1,4 |
| 3 | Python Gateway: Jupyter Support - extended | 97 | 2,9 |
| 4 | What Developers Love About InterSystems IRIS | 77 | 0,8 |
| 5 | Operationalizing "Machine Learning" Experiences From the Field | 74 | 8,6 |
| 6 | Basics and Benefits of Cloud Deployment | 64 | 9,6 |
| 7 | 60 | 7,8 | |
| 8 | How to Install and Use ObjectScript Package Manager with InterSystems IRIS | 55 | 3,9 |
| 9 | Machine Learning 301: Learning from Text | 25 | 2,4 |
Dear Developer Community,
Would you like to earn a free certification exam voucher?
The Certification Team of InterSystems Learning Services has designed exam objectives and now needs input from our implementation community for the following proposed certification exam:
HealthShare Unified Care Record Technical Specialist
If you have completed at least one UCR/Information exchange (version 15.x or higher) implementation, assisting or supporting in a technical role, ObjectScript proficiency, and Health Connect interfacing experience, you can help us by filling out our Job Task Analysis survey.
What
Hi all, it's finally time for the next release of VSCode ObjectScript extension. So what's new in this release.
- Debugging support, for classes, routines and attach to a running process
-
Files in Server Explorer now can be edited
-
Added more details about connection errors
-
Improvements in Server Explorer build tree
- Fixed memory leak when exporting large amount of files
- Server view can be opened in explorer as virtual file system with schema `isfs://`
- Option to suppress popup information message about successful compile, ("objectscript.suppressCompileMessages": true)
- Export, addCategory setting have more flexibility in naming category for exported items
- Formatting for commands and functions, as Word, UPPER or lower
- Some improvements in syntax highlighting
- Some other small fixes
Hi All - I want to share with the community a project I recently posted in OpenExchange, that extends on the Business Activity Monitoring features available with InterSystems IRIS’s integration framework. I have called this REST Business Activity Monitoring, and is implemented via a set of zaux.rBAM.* classes.
Background: Default IRIS Business Activity Monitoring functionality:
First - some background for newcomers: For some time, IRIS (and previous products like Ensemble), provided developers with the ability to define classes that could expose metrics about the data flowing

