#InterSystems IRIS

19 Followers · 5.6K Posts

InterSystems IRIS is a Complete Data Platform
InterSystems IRIS gives you everything you need to capture, share, understand, and act upon your organization’s most valuable asset – your data.
As a complete platform, InterSystems IRIS eliminates the need to integrate multiple development technologies. Applications require less code, fewer system resources, and less maintenance.

Job Spencer Frey · Aug 31, 2022

Hi everyone!

I am recruiting on a fully remote Intersystems Developer.  This role will be a long term contract to begin with high likelihood of extensions or conversion permanent.  Please check out the job description down below and feel free to send me an email with your resume: Spencer.Frey@insightglobal.com 

The Healthcare Integration Developer is responsible for designing, developing, and deploying the complex near real-time and real-time data interoperability solutions using Healthcare industry-standard data formats/specifications (HL7, FHIR, EDI, etc.).

1
0 425
Question Ditmar Tybussek · Aug 31, 2022

Hi, 

I have a problem when starting the docker container that the collation is standard US

sample:

docker run --name iris1 -d --publish 1972:1972 --publish 52773:52773 containers.intersystems.com/intersystems/iris-community:2022.1.0.209.0 --check-caps false

After the installation I like to import existing classes and globals but it failed due to an collation error 

We usually use DEUW = German3 

if I change it manually - in the management portal / NLS... -  to DEUW it works fine. (By the way.... the managemet portal  shows all in German due to the Linux version)

Question: is there a way to

3
0 305
Question Timothy Leavitt · Aug 31, 2022

Consider the simplest possible CSP file upload/download page - you upload a file, it's saved in the database, and the file is immediately re-download via %CSP.StreamServer:

Class DC.Demo.CSPUpload.Page Extends (%Persistent, %CSP.Page)
{

Property stream As%CSP.BinaryStream [ Required ];ClassMethod OnPage() As%Status
{
	&html<<formmethod="post"enctype="multipart/form-data"><inputtype="file"name="file" /><inputtype="submit" /></form>>quit$$$OK
}

ClassMethod OnPreHTTP() As%Boolean [ ServerOnly = 1 ]
{
	#dim%requestAs%CSP.Request#dim%responseAs%CSP.Res
2
1 319
Question Thanongsak Chamung · Aug 31, 2022

Hi 

I try to create an ODBC connection to MariaDB using SQL Gateway Connection. It works when testing with isql command at OS level but in the SQL Gateway Connection test is failed as this message :

Connection failed.
SQLState: () NativeError: [2002] Message:

And another way try to testing with this command

d$SYSTEM.SQLGateway.TestConnection("MariaDBodbc")

I got the error message look like this :

INST01:USER>d$SYSTEM.SQLGateway.TestConnection("MariaDBodbc")

Connection failed
  SQLState: () NativeError: [2002] Message:

INST01:USER>zw%objlasterror%objlasterror="0 "_$lb($lb(5023,"
2
1 522
Article José Pereira · Dec 27, 2021 12m read

In the previous articles, we learned the basics of using IMAP protocol to handle messages from mailboxes in an e-mail server. That was cool and interesting, but you could take advantage of implementations created by other ones, available in libraries ready to use.

One of the improvements to the IRIS data platform is the ability to write Python code alongside ObjectScript in the same IRIS process. This new feature is called Embedded Python. Embedded Python lets us bring to our ObjectScript code the power of the huge Python ecosystem’s libraries.

In this article, we’ll use one of those libraries,

1
1 740
Question David Underhill · Aug 23, 2022

Credentials for a Productions are stored as plain text in ^Ens.SecondaryData.Password and exposed as plain text via SQL table Ens_Config.Credentials which is not ideal as only admins should know the credentials.

I can create my own adapter etc... to store and use encrypted passwords but does anyone know if there is a standard way to do this in a Production?

Alternatively, am I missing how to secure this so the production can run and someone can monitor and operate a production without access to the SQL table or global?

2
2 734
Announcement Evgeny Shvarov · Aug 29, 2022

Hi Developers!

Here're the technology bonuses for the InterSystems "Sustainability" Interoperability Contest 2022 that will give you extra points in the voting:

  • Sustainability Topic
  • Sustainability Dataset
  • Business Process BPL or Business Rule DTL Usage
  • Custom Interoperability Adapter
  • Production EXtension(PEX) Python, Java, or .NET usage
  • Embedded Python usage
  • Docker container usage
  • ZPM Package Deployment
  • Online Demo
  • Code Quality pass
  • Article on Developer Community
  • The second article on Developer Community
  • Video on YouTube

See the details below.<--break-><--break->

1
0 336
Question Claude Mourzelas · Aug 12, 2022

Hello,

I try to realize a simple test in a BPL and i have this kind of error message. I don't understand why ! I have a simple CSV file in input with 3 columns (Nom, Prenom, Age) and a rule based on the age

ERROR <Ens>ErrBPTerminated: Terminating BP TestSiJeune # due to error: ERROR <Ens>ErrException: <PROPERTY DOES NOT EXIST>zevaluateRuleDefinition+18 ^User.Person.IsJeune.1 *Age,User.Person.TransfoTest.Context -- logged as '-'
number - @'
if (((pContext.Age)>(25))) {'
> ERROR <Ens>ErrException: <PROPERTY DOES NOT EXIST>zevaluateRuleDefinition+18 ^User.Person.IsJeune.1

5
0 1155
Question Nils Dittberner · Aug 26, 2022

Is it possible to use integer with a higher precision so that something like this works:

ClassMethod BigNumbers()
{
    Set bigInt1 = 9223372036854775807Set bigInt2 = 9223372036854775808W !,bigInt1
    W !,bigInt2

    Set bigInt3 = 9223372036854775807123456789W !,(bigInt3 # 2)
}
9223372036854775807
9223372036854775810   // should be 9223372036854775808
0                     // should be 1

The docs say "...

3
0 331
Question Damian Jenkin · Aug 16, 2022

Hello,

  We have an IRIS installation on one drive "D"; the drive is a partition that is limited to 2TB in size; we want to move the entire D: contents to a larger partition-type not limited to 2TB.

The IRIS install is on D: as are all of the Databases the instance uses.

Are there any concerns or issues that should be considered or are not so obvious with doing this?

i.e. IRIS and all processes doing disk access to D: need be shutdown first (and a full-backup taken, all journals up to date for mirrors etc).

A new partition of E: created as say 3TB.

Robocopy (for example) the entirity of D: to E:,

2
0 288
Question Scott Roth · Aug 19, 2022

I was able to get SAM running with podman, but I am still unable to access the web page, and need a bit of help in troubleshooting as I am just trying this for the first time.

I verified the images were running by running podman ps

[xxxxxx@xxxxxx sam-1.1.0.107-unix]$ sudo podman ps
CONTAINER ID  IMAGE                                    COMMAND               CREATED         STATUS             PORTS                   NAMES
065776e769e8  localhost/podman-pause:4.0.2-1650363392                        13 minutes ago  Up 13 minutes ago  0.0.0.0:8080->8080/tcp  d91a3f748861-infra
f78b9bc67c28

6
0 346
Article Lucas Enard · Aug 17, 2022 7m read

In this GitHub we fine tune a bert model from HuggingFace on review data like Yelp reviews.
The objective of this GitHub is to simulate a simple use case of Machine Learning in IRIS :
We have an IRIS Operation that, on command, can fetch data from the IRIS DataBase to train an existing model in local, then if the new model is better, the user can override the old one with the new one.
That way, every x days, if the DataBase has been extended by the users for example, you can train the model on the new data or on all the data and choose to keep or let go this new model.
We are aware that training

2
1 521
Article Evgeny Shvarov · May 30, 2020 2m read

Hi Developers!

Sometimes we need to import CSV data programmatically to InterSystems IRIS either from CSV or from URL. And we expect the class with proper datatypes to be created and the data to be imported.

I published a module csvgen on Open Exchange which does exactly that.

If you just need the CSV file be imported into IRIS you can do the following:

USER>do ##class(community.csvgen).Generate("/usr/data/titanic.csv",,"Data.Titanic")

Class name: Data.Titanic
Header: PassengerId INTEGER,Survived INTEGER,Pclass INTEGER,Name VARCHAR(250),Sex VARCHAR(250),Age INTEGER,SibSp INTEGER,Parch INTEGER,Ticket VARCHAR(250),Fare MONEY,Cabin VARCHAR(250),Embarked VARCHAR(250)
Records imported: 891
USER>

Or if you have the CSV on the internet, e.g. COVID-19 Data on Github you can get the data in the following way:

USER>d ##class(community.csvgen).GenerateFromURL("https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_daily_reports/05-29-2020.csv",",","Data.Covid19")

Class name: Data.Covid19
Header: FIPS INTEGER,Admin2 VARCHAR(250),Province_State VARCHAR(250),Country_Region VARCHAR(250),Last_Update DATE,Lat MONEY,Long_ DOUBLE,Confirmed INTEGER,Deaths INTEGER,Recovered INTEGER,Active INTEGER,Combined_Key VARCHAR(250),Incidence_Rate DOUBLE,Case-Fatality_Ratio DOUBLE
Records imported: 3522
USER>
16
1 1479
InterSystems Official Fabiano Sanches · Aug 17, 2022

This is the fifth in a series of releases that are part of the developer preview program for 2022.2 Future preview releases are expected to be updated biweekly and we will add features as they are ready.  Many updates, fixes and enhancements  have been added in 2022.2, in SQL management, cloud integration, Kafka and JMS adapters, the SQL Loader, and other areas. Please share your feedback through the Developer Community so we can build a better product together.

The Early Access Program (EAP) is still active for the Columnar Storage.   Customers interested in exercising it should join the Early

0
0 317
Question Michael Davidovich · Aug 16, 2022

Have a Zen report with a huge query that we are trying to break down and be more efficient.  

Looks like Zen only wants to take a result set class as the data (or XML, but writing to a file to generate these reports is probably even more overhead).

Is there a way I can move through a result set object, delete rows I don't want based on some objectscript commands and the pass that to the report?

Or can I pass a dynamic object?

Thanks.

3
0 350