Article Eduard Lebedyuk · Mar 4, 2021 1m read

Recently I wanted to get a list of all cached queries and their texts. Here's how to do that.

First create an SQL Procedure returning Cache Query text from a Cached Query routine name:

Class test.CQ
{

/// SELECT test.CQ_GetText()
ClassMethod GetText(routine As %String) As %String [ CodeMode = expression, SqlProc ]
{
##class(%SQLCatalog).GetCachedQueryInfo(routine)
}

}

And after that you can execute this query:

SELECT Routine, test.CQ_GetText(Routine)
FROM %SQL_Manager.CachedQueryTree()

And get a list of Cached Queries:

4
0 761
Question Yone Moreno · Nov 22, 2023

Hello,

First of all thanks for your help.

We have the following scenario: some responses include special characters as ">" and "<" which are being put inside a property defined as:

Property PACPROBLEMAS As %String(MAXLEN = "", XMLNAME = "PAC_PROBLEMAS");

So then, when we observe the LOG SOAP it shows that the Target System replies to the ESB as follows:

➡️ <PAC_PROBLEMAS>46807#278.01#OBESIDAD INFANTIL GRAVE     ( Z-SCORE IMC &gt;2,70 ) #19/09/2019##N#</PAC_PROBLEMAS>

However when we observe the Visual Trace, the message being replied from the Operation to the Process has a CDATA s



5
0 932
Announcement Jean Millette · Jun 12, 2024

TL;DR: My comment to Microsoft when I voted:Our team has implemented most of what we need for source management of Power BI Report files in Perforce. The missing piece? Automated creation of ".pbix" files from ".pbit" template files that can deployed to the Power BI Report Server. Let's get the manual “Power BI Desktop->File->Save As” step out of the process to make report deployment totally automated.

Our team has implemented change management for some critical Power BI Reports used by other teams at InterSystems. We do this by extracting the “.pbix” zip file that makes up a report and s

2
0 261
Question Parameshwaran Muthaiyan · Apr 11, 2024

I'm facing a challenge in dynamically generating SQL queries based on incremental q_ids for a project I'm working on. Here's the scenario:

  • I have a table log_reports that contains logs of service activities, including timestamps and associated q_ids.
  • Each service log entry is associated with a cls and a q.
  • My goal is to generate SQL queries that calculate statistics such as average, minimum, and maximum time differences between the log creation time and the current timestamp, for each combination of cls_id and q_id.

Current Approach:

Here's the SQL query I'm currently using:

SELECT
8
0 360
Question Stefan Schick · Jun 12, 2024

Hello Community,

I have encountered the following SQL problem trying to create a table from a SELECT statement.

I narrowed the problem down to the following example:

1. The SELECT statement alone works as expected.

SELECT m.Name, h.Status 
FROM EnsLib_HL7.Message m, Ens.MessageHeader h 
WHERE h.MessageBodyClassName='EnsLib.HL7.Message' AND h.MessageBodyID = m.ID

2. But if "CREATE TABLE ... AS" is added it fails

CREATE TABLE UKEr.Test AS
SELECT m.Name, h.Status
FROM EnsLib_HL7.Message m, Ens.MessageHeader h
WHERE h.MessageBodyClassName='EnsLib.HL7.Message' AND h.MessageBodyID = m.ID
4
0 145
Question Stella Ticker · Jun 11, 2024

We have an operation that sends a Rest request to an external endpoint. The request includes the secret, which shows up in the Message Viewer. While access to the Production is restricted to only those who need it, we have been asked to remove it from the Message Traces. Is there a way to hide certain information on the Message Viewer ?

Thanks for reading

2
1 183
Question Anzelem Sanyatwe · Oct 25, 2016

ISCAgent is automatically installed with Cache, runs as a service and can be configured to
start with the system. This is fine – but the complication comes when this is on VCS clusters with
Mirroring on. When installing a Single Instance of Cache in a Cluster, point number 2. Says “Create
a link from /usr/local/etc/cachesys to the shared disk. This forces the Caché registry and all
supporting files to be stored on the shared disk resource you have configured as part of the
service group.”
So on the second passive node – this statement makes ISCAgent startup with the system, nor manually
starting it i

15
0 1894
Question Carl Maklad · Jun 10, 2024

Hi,

I will try to explain my problem. I have a Main ZenPage on one server that has 2 buttons: each button will launch a different ZenPage on a separate server in an iFrame. All 3 servers have the same user.

Currently, the user logs in to the Main ZenPage, but when they click either button to launch the other ZenPage on the separate server they get the login screen again to login to that server.

Is there anyway I can pass the credentials from the Main ZenPage to the child ZenPages, so that the user doesn't have to login again? Thanks.

3
0 155
Announcement Anastasia Dyubaylo · Jun 11, 2024

Hey Community,

Watch this video to learn how the InterSystems AppServices team migrated a data lake powering a suite of marketing reports off of Microsoft SQL Server to InterSystems IRIS, leading to such benefits as lower maintenance, better performance, and a better overall development fit:

⏯ Migrating Our Data Lake from MS SQL Server to InterSystems IRIS @ Global Summit 2023

2
0 188
Article israel khanokh · Oct 5, 2023 6m read

Hello community, 

Just wanted to share..

While requested to access some service I was told to authenticate my request using OAuth 1.0 (revision A) with HMAC-SHA256 as a signing method. And knowing little to none about it. I started by testing it first in Postman, and all worked just fine. BUT with Object Script, well.. a big smile goes here! :) as I had some issues and no one to suggest..  
In the end the most helpful thing to do was to refer the docs here : https://oauth.net/core/1.0a/  while the signature method in it is for HMAC-SHA1 and RSA-SHA1 it is valid for HMAC-SHA256 as well.

let

1
2 1036
Article Evgeny Shvarov · Jul 28, 2019 2m read

Hi Developers!

Recently I was asked, “How can a beginner in InterSystems technologies learn from InterSystems Developers community content to improve his developer skills”?

This is a really good question. It has several answers so I decided to write the post with the hope it could be useful for developers.

So! How to learn Intersystems Data Platforms(IRIS, IRIS for Health) from InterSystems Developers community content if you are a beginner?

2
0 607
Article Irène Mykhailova · Jun 10, 2024 3m read

Hi Community!

It's that time of year again—the time of the Global Summit! All the Developer Ecosystem teams, in general, and the Developer Community team, in particular, are doing their best to bring even more new, interesting people into our midst! 

We had this beautiful booth ready on Sunday to welcome everyone when the Summit officially started:

As you can see, we have quite a selection of goodies waiting to be claimed by our existing and new members 😉 So if you're attending the Global Summit, don't hesitate to come by and get a pin, a T-Shirt, a sticker or something else - we're alway

0
0 338
Question Michael Wood · Jun 6, 2024

I have an API that does not have all the data.  Like it is truncated. Magic number of characters seems to be 163,280

I do an <assign> 

context.RawBundle=##class(%DynamicObject).%FromJSON(context.FHIRResponse.Body)

The error does not happen when the response is < 163,280 chars.  And when < 163,280 chars, it is a complete FHIR Bundle.  Have anyone experienced this?  If so, what is the resolution?

2
0 241
Question Stella Ticker · May 29, 2024

I created a FHIR Client to execute a GET response from an external FHIR server. I set everything up according to this post: https://community.intersystems.com/post/create-fhir-rest-client#comment…

I was able to send a GET request and got a response of type HS.FHIRServer.Interop.Response.

But in the visual trace, I do not see the actual json response payload.  I opened the response object in terminal and saw it has a QuickStreamId, which I used with the HS.SDA3.QuickStream class to open the quickstream object. But how do I get the payload from this quickstream object? 

2
0 243
Announcement Anastasia Dyubaylo · Jun 8, 2024
0
0 94
Article Luis Angel Pérez Ramos · Apr 29, 2024 5m read

For some time I have been planning to do some type of proof of concept with the Workflow functionality, which, like so many other functionalities present in IRIS, tends to go quite unnoticed by our clients (and for which I say mea culpa). That's why I decided a few days ago to develop an example of how to configure and exploit this functionality by connecting it with a user interface developed in Angular.

To avoid a very long article and make it more accessible, I am going to divide it into 3. In this first article I will present the functionality of Workflow as well as the example that we ar

2
8 653
Article Luis Angel Pérez Ramos · Jun 7, 2024 7m read

Finally and with a little delay, we conclude this series of articles about our Workflow Engine by showing an example of the connection that we could make from a mobile application.

In the previous article we showed the example that we were going to discuss, an application that allows detailed control of a chronic pathology such as hypertension for both the patient and their associated doctor. In this example, the patient will have access from their mobile phone to a web application (basically, a web page designed to be responsive with the device) in which they will receive notifications based

4
1 382
Question Andy Stobirski · Jun 6, 2024

Hi

I have a question about terminal, when I run a class from it that contains an error I get a report of error as I would expect, and then an apparently random three letter code is appended to the namespace name in the prompt, as shown below.

GMMHTIE>do ##class(temp.Nothing).What()
 
 w !, tParisAnswer
      ^
<UNDEFINED>zWhat+23^temp.Nothing.1 *tParisAnswer
GMMHTIE 2d1>

Then, when I try to enter a command I get an error

GMMHTIE 2d1>do ##class(temp.Nothing).What()
 
DO ##class(temp.Nothing).What()
^
<COMMAND>^temp.Nothing.1
GMMHTIE 2d1>

Whilst the terminal is in this state, it is apparently unu

4
0 198
Article Theo Stolker · Feb 2, 2024 9m read

In a customer project I was asked how you can keep track of database changes: Who changed what at which date and time. Goal was to track insert, update and delete for both SQL and object access.

This is the table that I created to keep the Change Log:

/// Changelog, keep track of changes to any table
Class ChangeLog.DB.ChangeLog Extends (%Persistent, %JSON.Adaptor)
{

/// Action 
Property Action As %String(%JSONFIELDNAME = "action", DISPLAYLIST = ",Create,Update,Delete", MAXLEN = 1, VALUELIST = ",0,1,2");

/// Classname of the %Persistent class
Property ClassName As %String(%JSONFIELDNAME = "t
5
4 601
Article Nicholai Mitchko · Apr 12, 2022 2m read

Background

In InterSystems IRIS versions >=2021.2 we can use the accompanying irispython binary to directly write python code on top of our IRIS instances. This lets us use python packages, call methods, make SQL queries, and do nearly anything in Objectscript but pythonic.

For example, below I check if a namespace is present:

#!/usr/irissys/bin/irispython
import iris
# call arbitrary class methods
result = iris.cls('%SYS.Namespace').Exists('USER')
if result == 1:
    print(f"Namespace USER is present")

But, what if my method in IRIS has special parameters such as Output and ByRef parameters

image

6
5 1009
Announcement Olga Zavrazhnova · Jun 6, 2024

Hi Developers,

We'd like to highlight some key information about the Tech Exchange zone at Global Summit 2024. This year, you can see and add every demo, roundtable, or discussion to your schedule, ensuring you don't miss a thing!
Here's what to explore at Tech Exchange: 

  • Request a 1-on-1 meeting with InterSystems product experts and developers
  • Startup Showcase
  • Partner Pavilion
  • Developer Community booth
  • Learning Services booth
  • FHIR booth
  • Supply Chain booth 
  • UX booth
  • Vector Search, GenAI discussion table. Available for spontaneous connections with others interested in this topic
  • more than 40 tech demos!

Learning opportunities in Tech Exchange room: 

0
0 162