Hi Developers,
Let's meet in-person at our next Developer Meetup in Boston on April 24 5:30 pm!
>> RSVP here <<
Tech Talks:
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.
Hi Developers,
Let's meet in-person at our next Developer Meetup in Boston on April 24 5:30 pm!
>> RSVP here <<
Tech Talks:
We are writing a custom Business Operation to interact with a downstream SOAP web-service. Classes for the SOAP operation were originally generated using the SOAP Wizard, then modified. This is functioning OK, but we'd now like to set the ReplyCodeActions setting on the operation and are struggling to make it visible via the management portal. How can we achieve this?
The classes are structured like this:
The following code call the method of the same name as defined in the nearest superclass:
Class MyClass Extends%Persistent
{
ClassMethod Foo()
{
}
}
Class SubClass Extends MyClass
{
ClassMethod Foo()
{
do##super() // <----
}
}Not let's say I want to call Foo() super class method but from another method :
Class SubClass Extends MyClass
{
ClassMethod AnotherMethod()
{
do##super().Foo() //will not work
}
}This is possible in some other programming languages such as C# or Java.
I cannot find anything in documentation
Hot on the heels of our announcement last week about our ultra-high-performance mg-dbx-napi JavaScript interface for IRIS, we are now pleased to announce a significant new technology - mg_web - which not only represents a new paradigm for JavaScript Web Frameworks, but also delivers significantly higher performance than even the fastest of the established Node.js Web Frameworks, whilst leveraging all the benefits of the big-three industry-standard Web Servers.
InterSystems' team is heading to the MIT Hacking Medicine GrandHack 2024, taking place from April 19-21 2024!
MIT GrandHack is a premier event that brings together innovators, entrepreneurs, and healthcare professionals from around the world to collaborate on solving some of the most pressing challenges in healthcare through technology and innovation.
InterSystems is pleased to sponsor and support this event, offering our technology to hackers and presenting the "The GenAI in Healthcare" challenge.
We're excited to see the innovative projects that will arise from this event!
.png)
EnsLib.File.PassthroughOperation has File Name property with default value: %f_%Q%!+(_a)
The Management Portal documentation description of the property:
Name of file to output the document(s) to. May include timestamp specifiers. The %f specifier if present will be replaced with the name of the document's original source filename (stripped of characters illegal in target filenames).
See the method Ens.Util.File.CreateTimestamp() for documentation of timestamping options.
More documentation describing the behaviour of %f: https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.
We have JSON type data in a Dynamic Object. Is there a simple way to export / dump that data to a delimited string or file?
e.g.
Results={"ClassA":{"ClassName":"ClassA","ACount":367191880,"BCount":367191880,"CurrentDiff":0,"PreviousDiff":0,"ReportDate":"2024-03-02 00:00:00"}
"ClassB":{"ClassName":"ClassB","ACount":5352149227,"BCount":5352149227,"CurrentDiff":0,"PreviousDiff":0,"ReportDate":"2024-03-02 00:00:00"}}
I though this is a pretty cool way of installing webterminal in an environment where I had Management Portal / Visual code access, but I had no terminal access. zpm was already present. otherwise you could add it in the same class.
Class Theo.Util.Webterminal Extends %RegisteredObject
{
/// Description
ClassMethod install() As %Status [ CodeMode = objectgenerator ]
{
zpm "install webterminal"
}
}
It is probably somewhere in the doc. So hard to search. Hope InterSystems going to AI on their community/support data.
How to see a meaningful value in management portal - sql explorer. For instance
Class MySetting Extends %Persistent{
Property Name As %String;
Class MyObj Extends %Persistent{
Property Setting As MySetting;
When browsing MyObj in management portal (just select * from MyObj - lazy to do a join), I will see 1,2.. values in the Setting column. I would like to see the Name. I do not want index MySetting with Name as primary as the name can change
Thank for your comment.
I recently had the need to monitor from HealthConnect the records present in a NoSQL database in the Cloud, more specifically Cloud Firestore, deployed in Firebase. With a quick glance I could see how easy it would be to create an ad-hoc Adapter to make the connection taking advantage of the capabilities of Embedded Python, so I got to work.
To start, we need an instance of the database on which we can perform the tests. By accessing the Firebase console, we have created a new project to which we have added the Firestore database.
.png)
Hey Community,
Watch the latest video on InterSystems Developers YouTube:
Updated Jan 19th, 2023.
Hi all,
I want to share a quick little method you can use to enable ssl with a self signed certificate on your local development instance of IRIS/HealthShare. This enables you to test https-specific features such as OAuth without a huge lift.
1. Install OpenSSL
Windows : Download from https://www.openssl.org or other built OpenSSL Binary. Debian Linux: $ sudo apt-get -y install openssl RHEL : $ sudo yum install openssl
2. Create a self-signed certificate pair.
Say I've been developing a web application that uses IRIS as the back end. I've been working on it with unauthenticated access. It's getting to the point where I would like to deploy it to users, but first I need to add authentication. Rather than using the default IRIS password authentication, I'd like users to sign in with my organization's Single Sign On, or some other popular identity provider like Google or GitHub. I've read that OpenID Connect is a common authentication standard, and it's supported by IRIS. What is the simplest way to get up and running?
I am currently adding a field to our Existing messaging from Epic, however there might be a possibility I need to back load data into the Ancillary system. While I have the previous messages that can be sent, they do not have this additional field that I am adding to the message.
I can do a lookup against Epic Clarity SQL Database; however, I don't want to throw a wrench into the workflow if the system cannot connect to the Epic Clarity SQL Database.
The Web/CSP Gateway management page is typically configured so that it cannot be accessed from client machines.
To access from any client, do the following:
For example, I have two timestamp values ('2024-04-01 10:00:00', '2024-04-01 11:30:30'). I would like to find the difference between these two timestamps, and I need the result in hours:minutes:seconds (hh:mm:ss) format.
Expected Output: 01:30:30
Note: I need an SQL query command. I should not use ClassMethod, Function, or Stored Procedure.
Could anyone please provide me with an SQL query for my question?
A report that I need to create - I need to write a class method that will execute a few queries and save the data to a class and then return the data in a result set that can be used in the Logi report as a Stored procedure.
I can create the class method that is a Stored procedure and do the queries and manipulate the data, however I am having an issue at the end of the method to return the fields back as a result set.
I know that you can use Do $SYSTEM.SQL.Schema.ImportDDL() to insert sql files into IRIS however I was wondering if there is a way that I can upload .sqlite files into iris? I have about 20 .sqlite files that I need to get into my database. I tried using the ImportDDL method but it said "SKIPPING non-SQL SOURCE:"
Hello
I am trying to convert some old rest classes using the OpenApi spec (e.g. %REST.Impl)
Say I want to return a 401 in my impl.cls for api and I can define the status code as follows, e.g.
Do ..%SetStatusCode("401")
Do ..%SetContentType("application/json")However the api client will see this as 401 OK which is not right.
In the past, I could just create a rest class that extends from %CSP.REST and return as follows:
Set%response.Status = ..#HTTP401UNAUTHORIZEDThis will return 401 Unauthorized, which what I expect to see reported in the api
When connectiong to IRIS from UBUNTU LTS 18.04, I got this error message:
ErrorException: odbc_connect(): SQL error: [unixODBC][Iris ODBC][State : S1000][Native Code 417]
[libirisodbcur6435.so]
Access Denied, SQL state S1000 in SQLConnect
I'm using "ODBC-2022.1.0.209.0-lnxubuntu1804x64.tar.gz" downloaded from
"https://github.com/intersystems-community/iris-driver-distribution/tree…"
and folowing guide from
https://community.intersystems.com/post/intersystems-iris-laravel-odbc
Here's my odbc.
.png)
Hi Community!
Do you usually work with automated tasks? Then let me share with you a pair of tips ;-)
Do you have an automated task that is running but you are not sure when it will end and you are at the crossroad of take the decision to stop it or wait and you are not sure if could be better wait for 5 o 10 minutes?
Here you are a tip to check when your task will finish (approximately).
For one of the reports I need to produce through Logi, I need to create a parameter/filter and pre-populate it with items from a query. Has anyone done that before? And if so how did you do it?
Thanks,
Kris
In the modern digital age, securing applications, particularly those handling sensitive health data, is paramount. The confidentiality, integrity, and availability of such data are crucial, necessitating robust security measures. Two-factor authentication (2FA) stands out as a critical enhancement in safeguarding access, adding an extra layer of security beyond just passwords. Recognizing the significance of this feature, InterSystems provides built-in support for 2FA in its database solutions. This tutorial aims to guide you through the process of configuring two-factor authentication in your InterSystems environment, ensuring that your data remains secure and accessible only to authorized users.
I built my rest api with ^%REST and update with CreateApplication.
Postman works fine and I suppose production server will work fine as UI and rest api will be on the same domain, but for now in dev, I need to have access from my local to the Iris rest api. I have a CORS error.
I do not know how to configure my swagger file to have either Parameter HandleCorsRequest=1 or <route Cors=true in the generated displ,cls.
As adviced in community, I tried in my impl.cls
Do ..%SetHeader("Access-Control-Allow-Origin", "*")
I even tried
Do
What is Unstructured Data?
Unstructured data refers to information lacking a predefined data model or organization. In contrast to structured data found in databases with clear structures (e.g., tables and fields), unstructured data lacks a fixed schema. This type of data includes text, images, videos, audio files, social media posts, emails, and more.
Why Are Insights from Unstructured Data Important?
According to an IDC (International Data Corporation) report, 80% of worldwide data is projected to be unstructured by 2025, posing a significant concern for 95% of businesses.
As you have seen in the latest community publications, InterSystems IRIS has included since version 2024.1 the possibility of including vector data types in its database and based on this type of data vector searches have been implemented. Well, these new features reminded me of the article I published a while ago that was based on facial recognition using Embedded Python.
For those of you who don't remember what that article was about, it is linked at the end of this article.
Attempting to setup an outbound (I'm querying out, not querying the IRIS db) SQL connection. I am connecting to a PostgreSQL database, name "hl7interface".
I have setup the odbc.ini file at /usr/local/etc with the following contents:
[HL7Interface2] Driver = PostgreSQL Description = HL7 Interface DB Servername = localhost Port = 5432 Protocol = 7.4-1 #userName = postgres #Password = <real pw here> Database = hl7interface ReadOnly = no ServerType = Postgres
I have set the /etc/odbcinst.
I want to write a routine [I think this is the correct Intersystems term] call STOPALLPRODUCTIONS.
I want to be able to call the routine:
DO ^STOPALLPRODUCTIONS
Routines are described here:
https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cl…
The code will be something like:
zn "namespace1"
set status=##class(Ens.Director).StopProduction()
set status=##class(Ens.Director).GetProductionStatus()
WRITE "namespace1 production is ",$CASE(status,
0:"Running",1:"Stopped",2:"Suspended",
3:"Troubled")
zn "namespace2"
set status=##class(Ens.
I'm excited to let you know that we at George James Software have released some new VS Code training courses. Following the success of our Basics course we have expanded our offering to help InterSystems users looking to move to VS Code improve their knowledge.
Here's what's on offer...
Studio to VS Code Migration - The Basics (2.5 hours)
An interactive training webinar for those who have never used VS Code before and want hands-on help in getting set up and explaining the basics of how it
Hello Community,
I'd like to share with you our article with @Regilo.Souzaon AWS Amazon blog Automating application-consistent Amazon EBS Snapshots for InterSystems IRIS databases. Our team has created this step-by-step instruction to create application-consistent snapshots for InterSystems IRIS databases. In this article, we outline how to automate pre-scripts to pause I/O and flush buffer to disk and post-scripts to thaw I/O, as shown in the following figure:
