Article Heloisa Paiva · Mar 9, 2023 2m read

Introduction

In some of the last few articles I've talked about types between IRIS and Python, and it is clear that it's not that easy to access objects from one side at another. 

Fortunately, work has already been done to create SQLAlchemy-iris (follow the link to see it on Open Exchange), which makes everything much easier for Python to access IRIS' objects, and I'm going to show the starters for that.

Thank you @Dmitry Maslennikov !

Installing

To install, simply open your terminal with administrators' access and type

pip install sqlalchemy-iris

and that will also install the pre-requisites for

3
2 1881
Article Muhammad Waseem · Jul 6, 2023 2m read


 

The FHIR® SQL Builder, or Builder, is a component of InterSystems IRIS for Health. It is a sophisticated projection tool used to create custom SQL schemas using data in an InterSystems IRIS for Health FHIR repository without moving the data to a separate SQL repository. The Builder is designed specifically to work with FHIR repositories and multi-model databases in InterSystems IRIS for Health.

The objective of the Builder is to enable data analysts and business intelligence developers to work with FHIR using familiar analytic tools, without having to learn a new query syntax.

5
1 823
Question Moritz Siegert · Aug 31, 2023

Hi there,

I want to use regex in my code, and I saw that the %Regex.Matcher class contains a property "OperationLimit" that you can also set to a number of steps that the regex engine should take maximum in analysing a given string. So far so good.

I tried to set the property with the function OperationLimitSet() to a silly value like 3. In 3 steps only very few regex should be executed, right? But what I found is that my regex always comes up with a solution. Here is what I did:

First I initialised my %Regex.Matcher.

set m = ##class(%Regex.Matcher).%New("(.+)\@(.+)\.(.+)")
do m.OperationLimitSe
1
0 219
Article Ashok Kumar T · Aug 31, 2023 2m read

In this article, I am demonstrating how to create a table column(formerly known as properties) with your custom datatype classes by using User defined DDL.Properties are the crucial member of the persistent class definition.Datatypes are essential to define types of values that are stored in a table column.In general, the datatype names of SQL different from Intersystems datatypes, such as VARCHAR = %String.you have the ability to create or modify a table by using these datatypes.Indeed, you’re creating the tables through DDL and you have your own datatype classes are already defined.

0
0 328
Question Martin Staudigel · Aug 28, 2023

Hello Community,

To get to my problem, I need to elaborate a bit. We use an older fixed length format called HCM to transfer data from our SAP-ISH system to the Intersystems server. The data file is generated on a dedicated server and stored in a directory that is mounted to the communication server.
The synchrnoization is done via a lock file, which is exclusively locked in the adapter.
Now this, let's call it HCM server, is to be replaced.

4
0 263
Article Rizmaan Marikar · Aug 31, 2023 5m read

Introduction.

Have you ever felt like your PDF files take up too much space on your server? As you collect more and more of these files, you might run into storage issues that can be costly to solve. But what if there was a way to shrink the size of these PDFs by 50% to 70% without compromising the document's visual clarity.

Today, we're going to explore a solution for this problem that I really like: GhostScript.

What is GhostScript?

Ghostscript is a free and open-source software suite that provides a powerful set of tools for compressing documents, including PDFs.

0
0 4926
Discussion Eduard Lebedyuk · Aug 21, 2023

Has anyone tried AWS Batch with InterSystems IRIS docker images?

I have a noninteractive workload (but it requires internet access from the job to deliver results), so I'm considering using it as a simpler alternative to ECS since Fargate backs both, and that's enough for my use case.

I wonder if anyone tried and cares to share the results, issues, cfn templates.

1
0 218
InterSystems Official Carmen Logue · Aug 30, 2023

InterSystems Reports version 23.2 is now available from the InterSystems Software Distribution site in the Components section.  They are labeled InterSystems Reports Designer and InterSystems Reports Server and are available for Mac OSX, Windows or Linux.  insightsoftware elected to move from a  numerical number plan to a year-based numbering plan in 2023 so there are no versions 20 through 22;  versions increase from Version 19 to Version 23.  Note that the reports Server docker image will be available at a later date from the Container Repository.

This new release brings along some great

0
0 278
Article Rizmaan Marikar · Aug 30, 2023 5m read

Wanted to share something I learned recently while working on a problem. We needed to add and change some Business Hosts in one of our edge productions.

In the past, we simply added the production class to CCR and then spreading it around. But there was a problem because different developers were working on different things, and we only wanted to include only the relevent production changes onto the CCR. 

Here's a little piece of code that can help add new things to an existing production:

class HSEDGE1PKG.ProductionDefinition
{

/// define the Productions Definitions which are listed below/
0
2 274
Question Michael Gosselin · Aug 28, 2023

I have a problem. Occasionally, I am getting locked out of IRIS because of password failures. However, the failures aren't necessarily related to my password.  We are using VSCode, and I have installed one or two proposed APIs for use with the software (because that's just how I am; I want to learn the new stuff).

Today, I had that problem again. The step that caused the problem was most likely when I was trying to switch the branch I was using and updating within VSCode. Let's say I was switching from branch "1A" to branch "2B". When I did this, IRIS caught two password errors:

You can see the

1
0 249
Question Phil Burkhalter · Aug 29, 2023

I am trying to create the JSON message below for a REST API:

Class REST.Test.Sample.ItemDetails Extends (%Persistent, %JSON.Adaptor)
{

Property ItemId As %String;

Property Item As list Of AllItems;

}

Class AllItems:

Class REST.Test.Sample.AllItems Extends (%JSON.Adaptor, Ens.Response)
{Property ItemtId As %String;

Property itemName As %String(MAXLEN = 100);

Property itemStockNumber As %String(MAXLEN = 150);

Property itemType As %String;

Property itemPriority As %String;

Property itemDetailData As %String(MAXLEN = 10000);
}

I have a table with the data I want to export as a JSON message containing a list

7
1 427
Question Adam Raszkiewicz · Aug 28, 2023

When creating the db using the Properties array, if I use a literal like "/iris/db/<instance name>/<directoryname>" it's created in the correct directory.

       set Properties("Directory")="/iris/db/InstanceName/DirectoryName"

but when it's executed with a variable, as in the example below,  it gets created in /iris/sys/<instance name>/mgr/

      set directoryPath="/iris/db/InstanceName/DirectoryName"
      set Properties("Directory")=directoryPath

 Is there any reason string literals work and variables do not?

5
0 240
Article Luis Angel Pérez Ramos · Aug 29, 2023 8m read

We continue with the series of articles based on the QuinielaML application.

In today's article I will describe how to work with the Embedded Python functionality available in InterSystems products.

Embedded Python allows us to use Python as a programming language within our productions, being able to take advantage of all the features available in Python. Here you can expand information about it.

First of all, let's remember what the designer of the architecture of our project is like:

Problematic to solve

In our case, we need to obtain the historical results of the First and Second Division

2
2 262
Question Sean Pham · Aug 29, 2023

Testing ghostscript version 9.52 (ps2pdf command) from Cache Studio and it's taking about 1 minute to complete.  Size of EQ110823BG1001A.ps file is about 11MB.

Running from ensemble command line completed in 1 second

Not sure why it's taking so much longer to distill from Cache Studio.

0
0 190
Question Ephraim Malane · Oct 13, 2022

Hi ommunity,

I am downloading an Excel xlsx from the web with the below method and saving it as xlsx, how do I convert and save xlsx as csv?

ClassMethod DownloadFileUrl()
{
        
        Set httprequest = ##class(%Net.HttpRequest).%New()
        Set httprequest.Server = "www.health.gov.za"Set httprequest.SSLConfiguration = "SSL_OAUTH_Client"Do httprequest.Get("/wp-content/uploads/2021/04/ICD-10_MIT_2021_Excel_16-March_2021.xlsx")
        write httprequest.HttpResponse.StatusLine         
        Set stream=##class(%FileBinaryStream).%New()
        Set stream.Filenam
6
1 674
Article Iryna Mykhailova · Aug 2, 2022 8m read

Before we start talking about databases and different data models that exist, first we'd better talk about what a database is and how to use it.

A database is an organized collection of data stored and accessed electronically. It is used to store and retrieve structured, semi-structured, or raw data which is often related to a theme or activity.

At the heart of every database lies at least one model used to describe its data. And depending on the model it is based on, a database may have slightly different characteristics and store different types of data.

To write, retrieve, modify, sort, transform or print the information from the database, a software called Database Management System (DBMS) is used.

The size, capacity, and performance of databases and their respective DBMS have increased by several orders of magnitude. It has been made possible by technological advances in various areas, such as processors, computer memory, computer storage, and computer networks. In general, the development of database technology can be divided into four generations based on the data models or structure: navigational, relational, object and post-relational.

5
4 1971
Announcement Anastasia Dyubaylo · Aug 29, 2023

Hey Community,

We're pleased to invite all the developers to the upcoming kick-off webinar for the Python Programming Contest 2023!

During this webinar, we will describe how you can win the prizes! We'll talk about the topics we expect from participants and show you how to develop, build and deploy applications on the InterSystems IRIS data platform and how to use Embedded Python or Python API in your projects.

Date & Time: Tuesday, September 5 – 11 am EDT | 5 pm CEST  

0
0 314
Question Dave Lancaster · Aug 25, 2023

Trying to write multiple records to a file via Record Mapper from a single inbound DFT transaction with multiple FT1 segments. DTL with HL7 DFT inbound and Record Mapper outbound checks field values in both FT1 segment and PV1 segment within a "foreach" loop, and if criteria are met for a particular FT1 then the target fields in the record map are set with values from multiple segments (MSH, PID, PV1, and FT1).

2
0 262
Question Ben Spead · Aug 22, 2023

We're trying to get a little more discipline around Web Gateway change control, and deploy changes to our CSP.ini from source control.  I was wondering if anyone cared to share their best practices in this area?  There is a "RELOAD" parameter (https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cl…) which says you can put RELOAD=1 in your CSP.ini file in order to force it to automatically activate when noticed by the daemon.  

Do people use this approach, and keep RELOAD=1 stored in their CSP.ini in source control?

6
2 435