InterSystems Official RB Omo · Apr 10, 2023

InterSystems has corrected a defect that can result in Enterprise Cache Protocol (ECP) client instability under rare conditions.

The defect exists in the following products and any InterSystems offerings based on them.

Impacted versions are 2022.1.x, 2022.2, and 2022.3:

InterSystems IRIS®

InterSystems IRIS for Health

HealthShare® Health Connect

Impacted version is 2022.2 (only for customers deploying ECP):

InterSystems HealthShare®

The issue can only occur on ECP client systems. When this issue is triggered, processes may experience a <SYSTEM> or <DATABASE> error. Following the error,

0
0 360
Question Dmitry Maslennikov · Apr 10, 2023

Trying to make some scripts to do some IRIS initialization during startup, I noticed that iris start and particularly stop takes too much time, and it starts to many processes in the background.

nostu is mostly useless for system initialization but could help in some scenarios, such as setup passwords, but it is still too slow

irisowner@4ea1bfb50b7f:~$ time iris start iris nostu
Starting IRIS
Using 'iris.cpf' configuration file

Starting Control Process
Global buffer setting requires attention.  Auto-selected 25% of total memory.
Allocated 7417MB shared memory
6002MB global buffers, 600MB routine buffers
Creating a WIJ file to hold 99 megabytes of data
InterSystems IRIS is started in single user mode.
To log into InterSystems IRIS, type:
    iris session IRIS -B

real    0m0.513s
user    0m0.090s
sys     0m0.207s

For instance, I have no idea why it starts so many AUX processes, even during NOSTU. With a normal start with no extra volumes attached, just plain start, I see no reasons to have so many AUX processes as well.

2011 pts/0    S      0:00 /usr/irissys/bin/irisdb -s/usr/irissys/mgr/ -w/usr/irissys/mgr/ -cc -B -Enostu -C/usr/irissys/iris.cpf*IRIS
 2052 pts/0    S      0:00 /usr/irissys/bin/irisdb WD                                                                                 
 2053 pts/0    S      0:00 /usr/irissys/bin/irisdb GC                                                                                 
 2054 pts/0    S      0:00 /usr/irissys/bin/irisdb JD                                                                                 
 2055 pts/0    S      0:00 /usr/irissys/bin/irisdb AUX2                                                                               
 2056 pts/0    S      0:00 /usr/irissys/bin/irisdb AUX1                                                                               
 2057 pts/0    S      0:00 /usr/irissys/bin/irisdb AUX5                                                                               
 2058 pts/0    S      0:00 /usr/irissys/bin/irisdb AUX7                                                                               
 2059 pts/0    S      0:00 /usr/irissys/bin/irisdb AUX4                                                                               
 2060 pts/0    S      0:00 /usr/irissys/bin/irisdb AUX3                                                                               
 2061 pts/0    S      0:00 /usr/irissys/bin/irisdb AUX6                                                                               
 2062 pts/0    S      0:00 /usr/irissys/bin/irisdb DBXD
0
1 646
Article Luis Angel Pérez Ramos · Apr 10, 2023 9m read

Welcome community members to a new article! this time we are going to test the interoperability capabilities of IRIS for Health to work with DICOM files.

Let's go to configure a short workshop using Docker. You'll find at the end of the article the URL to access to GitHub if you want to make it run in your own computer.

Previously to any configuration we are going to explain what is DICOM:

  • DICOM is the acronym of Digital Imaging and Communication in Medicine and it's a images and medic data transmission standard. In this protocol is included the format of the DICOM file and the communicat



0
0 1212
Question Raj Singh · Mar 1, 2023

My general question is how to convert to a %Library.ListOfObjects to a Python "array-like" structure for use in Matplotlib.

Specifically, I have a Line Object which is comprised of a list of Points (see classes below). I want to pass the line to Python to create a Matplotlib Path.

Bonus points for converting the Point to a Python tuple!

Class geo.model.Point Extends %SerialObject
{
  Property latitude As %Float(MAXVAL = 90.0, MINVAL = -90.0, SCALE = 6);
  Property longitude As %Float(MAXVAL = 180.0, MINVAL = -180.0, SCALE = 6);
}
Class geo.model.Line Extends %SerialObject
{
  Prope
13
0 587
Question water huang · Apr 6, 2023

hi,I meet a problem,i want to move huge data from ensemble to oracle.it`s about 3years business data.i have tried some case!

1.EnsLib.SQL.OutboundAdapter

i parse the data one by one,and translate it into inser or update sql statement then write to Oracle,it·s most slowly,and take more disk space。

2.save the data to a new table,and then use dbeaver transport data to oracle。

3.user linktable. save object as insert,but,i can·t user %openid method.

hope to find a high-efficiency way!

1
0 348
Question Akshay Pandey · Apr 5, 2023

Hi Guys,

I have XDSb documents stored in repository and its url stored in Document streamlet in Edge.

Now when document gets deleted from Xdsb repository using XDSb_ removeDocument that goes to repository services.

How can I delete document streamlet of that document.

Any Ideas?

2
0 386
Announcement Anastasia Dyubaylo · Apr 8, 2023

Hi Developers,

This March, you've posted 89 new questions on the Developer Community: 

 

Questions

21 Questions Game: 110+ Best Questions You'll Ever Ask |

0
0 466
Question Norman W. Freeman · Apr 4, 2023

I use the following code to grab 509 certificate and show private key :

set x509 = ##class(%SYS.X509Credentials).GetByAlias("foo")
write x509,!
write x509.OwnerList,!
write x509.PrivateKey,!

It works perfectly fine under Studio (eg: when called from output window) :

29@%SYS.X509Credentials
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKC...

However, it fails when called in the context of a CSP request. I got a stack trace when displaying content of PrivateKey :

6@%SYS.X509Credentials
0??%Admin_Secure:USE MYNAMESPACE?-e^zPrivateKeyGet+2^%SYS.X509Credentials.1^1e^^User.www.1^1B^zOnPage+7

5
0 504
Question Jacinto Busquets · Apr 6, 2023

How can I create a calculated member in Analyzer using MDX for the following logic?

WHEN 'F' THEN 'FEMALE'
WHEN 'Female' THEN 'FEMALE'
WHEN  'M' THEN 'MALE'
WHEN 'Male' THEN 'MALE'
WHEN 'U' THEN UNDIFFERENTIATED'
WHEN 'UN' THEN UNDIFFERENTIATED'
WHEN 'Undifferentiated' THEN UNDIFFERENTIATED'
ELSE 'OTHER'
END

2
0 286
Question Pravin Barton · Apr 7, 2023

On an IRIS system, we expect the default string collation for SQL columns to be SQLUPPER. This means WHERE conditions will be case-insensitive. However, when I make a WHERE condition on a SQL procedure that returns a string, it's case sensitive.For example:

Class Sample.Person Extends%Persistent
{

Property Name As%String;ClassMethod Test() As%String [ SqlProc ]
{
    return"Abe Lincoln"
}

} 

If I query select * from Sample.Person where Name = 'abe lincoln', it will return results where name = "Abe Lincoln". If I query select * from Sample.Person where Sample.Person_Test() = '

2
0 462
Article Sean McKenna · Aug 26, 2016 8m read

Enterprise Monitor is a component of Ensemble and can help organizations monitor multiple productions running on different namespaces within the same instance or namespaces running on multiple instances.

Documentation can be found at:

http://docs.intersystems.com/ens20161/csp/docbook/DocBook.UI.Page.cls?KEY=EMONITOR_all#EMONITOR_enterprise

In Ensemble 2016.1 there were changes made to make this utility work with HealthShare environments.

This article will:

  • Show how to set up Enterprise Monitor for HealthShare sites
  • Show some features of Enterprise Monitor
  • Show some features of Enterprise Message Viewer

For this article, I used the following version of HealthShare:

Cache for Windows (x86-64) 2016.1 (Build 656U) Fri Mar 11 2016 17:42:42 EST [HealthShare Modules:Core:14.02.2415 + Linkage Engine:14.02.2415 + Patient Index:14.02.2415 + Clinical Viewer:14.02.2415 + Active Analytics:14.02.2415]

2
0 1587
Article Oliver Wilms · Apr 7, 2023 2m read

This week I was able to demo a proof of concept for our FMS interface on traffic cop architecture to my team. We are working on modernizing an Interoperability production running on mirrored Health Connect instances. We deploy IRIS workloads on Red Hat OpenShift Container Platform using InterSystems Kubernetes Operator (IKO). We can define any number of replicas for the compute stateful set where each compute pod runs our Interoperability production. We introduced Horizontal Pod Autoscaler (HPA) to scale up the number of compute pods based on memory or CPU utilization. But IKO scaled down beca

0
0 463
Question Scott Roth · Apr 6, 2023

We have a function that was written for us that allows us to create text files for logging certain aspects to the OS using %Stream.FileCharacter. We had no issues with this until we moved from AIX to Red Hat.

Now it seems the 1st time the function is called, and the file is created the permissions seem to be correct on the file. But as soon as we attempt to write another line to the file using MoveToEnd() it seems the permissions are changed on the file. I have been able to narrow the issue down to the MoveToEnd() by calling the function from different users. 

When I initaly create the file

9
0 994
Article Oliver Wilms · May 30, 2022 1m read

InterSystems Production Monitor is a page in Management Portal to display monitoring information for the current running production. I like the page as it comes, but one size does not fit all.

On May 13, 2022 I read this post on Developer Community:

https://community.intersystems.com/post/creating-custom-monitoring-page

I agree with Mark that Production Monitor is complex. I liked the idea to create a nice clean clear monitor page.

I began to work on a Cache Server Page utilizing class methods to provide the production data.

I shared my first attempt with Mark. He customized it according

2
1 502
InterSystems Official Fabiano Sanches · Apr 6, 2023

InterSystems announces its fifth developer preview, as part of the developer preview program for the 2023.1 release. Many updates and enhancements have been added in 2023.1 and there are also brand-new capabilities, such as production-ready support for Columnar Storage, ability to use Bulk FHIR, and support to MacOS 13 Ventura. Additionally, a new feature to provide the ability to use Foreign Tables is being released as "experimental" and will be accessible through an Early Access Program (EAP). Some of these features or improvements may not be available in this current developer preview.

Fut

0
0 266
Question Nezla · Apr 5, 2023

Hi Guys, 

I have two dropdowns where if I select a type from the first dropdown I would like to populate all subtypes in the second dropdown as below (I've set showquery =true to show you what's going on )

but for some reason I'm not getting the query filtering to the required where clause.

eg. by select Bearing from the first dropdown I should only get 6 records in subtype dropdown, but I'm getting all subtypes 

here is my code:


<dataCombo id="Type" name="Type"  align="left" size="25" maxRows="400" 
sql="Select ID,Component from MSDS_Common.ComponentType where Active=1"
searchKey

2
0 524
Question Joao Palma · Feb 18, 2019

Hi

I've got a string variable which I need to convert into a XML one.

My main goal here is to use the XML bit I've extracted from a HTML file in a message I need to pass over to an operation.

I'm doing the following which always errors

classMethod WriteNodes(myfile As %String)
{
    Set status=##class(%XML.TextReader).ParseString(myfile,.reader)

....

Any easy way of making this happen?

Kind regards

18
1 2311
Question Timothy Leavitt · Mar 10, 2023

I'm trying to read the response to a long (indefinitely) running HTTP response with Transfer-Encoding: chunked. Ideally I'd be able to read the individual chunks from the response and do something with them as they arrive rather than needing to wait for the response to finish (because it never will) - ultimately I'm thinking to wrap these back up over a WebSocket connection which seems cleaner from an API perspective.

So far it looks like my options are:

  • Extend %Net.HttpRequest, override the Read method, and add support for read of individual chunks from an ongoing request (similar to what
3
0 1242
Announcement Anastasia Dyubaylo · Apr 4, 2023
2
0 203
Question Matjaz Murko · Apr 1, 2023

Hi.

I have a query:

SELECT '['||Material->Sifra||'] '||Material->Opis AS Material,
       SUM(MasaBlago) AS MasaBlago
 FROM Tehtanje.Dokument
 WHERE DatumDokumenta BETWEEN '01/01/2023' AND '04/01/2023'
 AND (Material->Sifra %INLIST $LISTFROMSTRING('5,7',','))
 GROUP BY Material
 ORDER BY %EXACT Material

The query returns all rows where Material->Sifra is 5 or 7. That's OK.

If I want to get all rows where Material->Sifra is NOT 5 or 7 I use query:

SELECT '['||Material->Sifra||'] '||Material->Opis AS Material,
       SUM(MasaBlago) AS MasaBlago
 FROM Tehtanje.Dokument
 WHERE DatumDokumenta BETWEEN '

2
0 373
Announcement Ben Spead · Apr 3, 2023

With the InterSystems Global Summit 2023 coming up, I wanted to ensure that our users of CCR hear that there will be an opportunity at Global Summit to take the CCR Technical Implementation Specialist Certification for Free!!    If you haven't been certified yet, this is a great opportunity to do so if you will be attending the conference.

See https://summit.intersystems.com/event/c9b5de9f-aa57-4a05-810b-236fd5a1a… for details on how to register for a free exam sitting.  Good luck!

0
0 322