Discussion Yuri Marx · Jul 28, 2020

I'm working with clients planning migrate from Caché to IRIS and I want to summary advantages to go to IRIS. I think is:

  1. IntegratedML - AutoML - Agile machine learning
  2. IAM - InterSystems API Manager
  3. Interoperability
  4. Advanced Reports (JReport)
  5. Cloud Manager/Docker and DevOps support
  6. ZPM - Package manager
  7. Native API - Node.js, Python, Java and .NET interoperability
  8. Core based license x user based license
  9. InterSystems Support and new features
  10. Improved management and monitoring features

Can you help me to think or detail these 10 topics?

12
2 858
Question Stefan Pichel · Sep 3, 2023

I did not find any answer in the documentation and in the posts here to check if it also possible to migrate all databases from a native installed IRISHealth on Windows to my Community Edition in the container? Maybe anybody had tried this and can give me a hint.

If I try to import the backup file with all databases (that I created on Windows with the Management Portal, and copied into the container) and set /usr/irissys/mgr as top-level directory for import during "Do ^DBREST", I get the error
"The target database has a block size of which does not match the blocksize of the database in the

1
0 291
Question Pedro Lopes · Aug 31, 2023

The program below works perfectly when I call it directly from the Terminal, however when I call it from within a CSP it does not work (It does not do the SELECT).

In the USER namespace, the program works both in the Terminal and on the CSP , but in another namespace it only works when called directly in the Terminal.

PropList(class) ;
 k pl S c=0 s class="'"_class_"'"
 K ^PropList s ^PropList=class
 S lista=$SYSTEM.SQL.Execute("SELECT * FROM Projet.GerePageCSP")
 while lista.%Next() {
 S c=c+1,pl(c)=lista.%Get("NomdePage")
 S ^PropList(c)=pl(c)
 }
 Q

________________________ CSP _______________________

<

4
0 324
Question Yone Moreno · Sep 6, 2023

Good morning,

Thank you for taking the time to read, understand, and answer this question.

If you needed to convert a message where questions are separated by "|", and the question text is the portion before the ":" and the response is the portion after the ":"; Which way would be the most readable and understandable for other developers?

Input example:

NAME OF SQUAD 1?:ALPHA|NAME OF SQUAD 2?:BRAVO|NAME OF SQUAD 2?:ANSWER THREE||NAME OF SQUAD 25?:YANKEE|NAME OF SQUAD 26?:ZULU

Output structure:

[
    {
        "definition": "question 1",
        "text": "NAME OF SQUAD 1?",
        "answer": [
          

2
0 196
Article Muhammad Waseem · Sep 6, 2023 7m read

Hi Community,

In my previous article, we learned topics listed below:

  1. What is Docker?
  2. Some of the Docker benefits
  3. How does Docker work?
  4. Docker Image
  5. Docker Container
  6. Docker Image repository
  7. InterSystems's Docker image repository
  8. Docker Installation
  9. Docker Basic Commands
  10. Running IRIS community edition by using Docker
  11. Docker Desktop GUI

In this article, we will cover the following topics:

  1. Use of Docker Compose file (a YAML file)
  2. Use of Docker file (employed to build a Docker image)
  3. Use of Docker volume

So let's begin.

2
3 1571
Question Pietro Di Leo · Aug 8, 2023

Context

I have created a Business Operation (BO) named "Sender" that sends HTTP messages to an endpoint (for testing, I'm using Postman's Mock Servers).

Goal: I want to set up an automatic timeout mechanism so that if I don't receive a response from the server within 18 seconds, an alert is generated and the message is resent. This process should be repeated every 18 seconds, for a maximum of 90 seconds. If no response is received within 90 seconds, I would like to generate an error message. On the other hand, if a response is received, I want to stop the resending process and complete the operation by indicating successful reception.

7
0 596
Article Alex Woodhead · Sep 5, 2023 8m read

Overview

The online documentation contains a reference Defining and Using Class Queries -

Customizing Stored Procedures with ObjectScript directly has been useful to access NoSQL storage and external messaging via integration, to present output in tabular format.

For example: An application that already uses 90% SQL interaction from a front end, can then also extend this access to the other 10% of required platform functionality, via the same SQL access.

The purpose of this article is to explore how to achieve the same effect via Embedded Python methods.

Figure 1: Stored Procedure as a SQL gateway

0
0 474
Question Smythe Smythee · Aug 23, 2023

Hi Community ,

I am using %Date Property for defining one csv source message class .Please refer below class

Class CSVtoHL7.Inputfile.Record Extends ,(%XML.Adaptor, Ens.Request, EnsLib.RecordMap.Base) [ Inheritance = right, ProcedureBlock ]

{

Property ID As %Integer;

Property LastName As %String;

Property FirstName As %String;

Property MiddleName As %String;

Property DOB As %Date;

Property Gender As %String;
}

Please refer to data transformation class

XData DTL [ XMLNamespace = "http://www.intersystems.com/dtl]
{
<transform sourceClass='CSVtoHL7.Inputfile.RecordtargetClass='EnsLib.HL7.Message' targ

14
0 743
Announcement Olga Zavrazhnova · Aug 7, 2023

Hi Everyone,

Join us at the online Developer Roundtable to discuss Generative AI Use Cases in Healthcare on August 31, 10 am ET. 
Learn Use Cases + Reference Architecture in Healthcare, and witness the demo of LLMs. We will have time for Q&A and open discussion as usual.

Speaker: @Nicholai Mitchko , Manager, Solution Partner Sales Engineer, InterSystems

Background: Nicholai runs a team of 10 solution engineers at InterSystems that help healthcare companies design, develop, and deliver solutions at enormous scale. In his free time, Nicholai works on large language models, including developing his own models which appear on the Huggingface OpenLLM leaderboard.

See the recording on our YouTube channel:

    

4
0 394
Announcement Anastasia Dyubaylo · Sep 3, 2023
0
0 165
Question John McBride · Sep 3, 2023

Hi All,

Been trying to setup a iris 4 health community version along with a webgateway bothing utilizing docker. The documentation seems a little sparse when it comes to configuring each of these to work together, especially when it comes to utilizing the Webgateway to front end the MGMT pages for Irirs 4 Health.

I know there is a github repo that has a docker compose file, but that doesn't see to provide a light on what needs to be configured in order for it to work.

I know that the community version still includes a PWS but as a developer, I'd like to mock a production environment as closely

2
0 439
Question Stefan Pichel · Sep 3, 2023

Hello,

I have set up a Docker image with IrisHealth Community Edition and created a backup of all databases with the Management Portal. Obviously, the restore requires a different way, i.e. a terminal or session needs to be started to use a "Do ^DBREST".

Due to the manual first a session (which is probably same as iristerm terminal) needs to be started:

docker exec -it iris iris session iris

If I enter "DO ^DBREST", I get the answer:

<NOROUTINE> *DBREST.

I assume that when I start the session that way I get logged in as "USER", at least the prompt "USER>" indicates this.

4
0 291
Article Eduard Lebedyuk · May 10, 2018 9m read

In this series of articles, I'd like to present and discuss several possible approaches toward software development with InterSystems technologies and GitLab. I will cover such topics as:

  • Git 101
  • Git flow (development process)
  • GitLab installation
  • GitLab Workflow
  • Continuous Delivery
  • GitLab installation and configuration
  • GitLab CI/CD
  • Why containers?
  • Containers infrastructure
  • CD using containers

In the first article, we covered Git basics, why a high-level understanding of Git concepts is important for modern software development, and how Git can be used to develop software.

In the second article, we covered GitLab Workflow - a complete software life cycle process and Continuous Delivery.

In the third article, we covered GitLab installation and configuration and connecting your environments to GitLab

In the fourth article, we wrote a CD configuration.

In the fifth article, we talked about containers and how (and why) they can be used.

In the sixth article let's discuss main components you'll need to run a continuous delivery pipeline with containers and how they all work together.

In this article, we'll build Continuous Delivery configuration discussed in the previous articles.

10
4 2864
Question Hao Ma · Sep 1, 2023

a customer engineer asked me how to use Http basic authentication on a Ensemble SOAP service. Anyone has done this before? 

When secure SOAP service from Web Application setting, by select "password" for "Allowed Authentication Methods", it expected WSS, username and password in SOAP head. The customer hospital would like to add user authentication on sopa service, but SOAP client team prefer to add it on http header, instead of on SOAP header. 

Also, I am very confused with adding password on URL for SOAP service, like 

/devsys/csp/mysamples/MyApp.StockService.cls?IRISUsername=_SYSTEM&IRISPasswo

3
0 453
Question Benying Zou · Aug 31, 2023

I have created 3 pages, the scripts are there:

Class BZ.Test1 Extends%ZEN.Component.page
{
    ClientMethod onloadHandler() [ Language = javascript ]
    {
        console.log("Test1");
    }
}

Class BZ.Test2 Extends BZ.Test1
{
    ClientMethod onloadHandler() [ Language = javascript ]
    {
        this.invokeSuper('onloadHandler',arguments);
        console.log("Test2");
    }
}

Class BZ.Test3 Extends BZ.Test2
{
    ClientMethod onloadHandler() [ Language = javascript ]
    {
        this.invokeSuper('onloadHandler',arguments);
        console.log("Test3");
    }
}

e

2
0 359
Question Anup Thakkar · Aug 31, 2023

Hello Community,

I am trying to load data from a CSV into IRIS. I am using a record mapper. The CSV has 3 columns which are dates and I am using $ZDATEH() to convert the date columns to IRIS internal format. But the year that is getting loaded in IRIS is wrong. Example: if in my csv the date is "5/26/23", after data transformation and loading the data, date stored in the IRIS is "05/26/1923". The year getting stored is wrong, instead of 2023 the year getting stored is 1923. Can you please tell me how to solve this? Attaching screenshot of Data Transformation builder for reference.

Thank you!

7
0 394
Article Mihoko Iijima · Aug 31, 2023 1m read

InterSystems FAQ rubric

By specifying the start and end values ​​of the IDs for which you want to rebuild indexes in the arguments of the %BuildIndices() method provided in the persistent class (=table) definition, you can rebuild only the indexes within that range.

For example, to rebuild the NameIDX index and ZipCode index in the Sample.Person class only for ID=10 to 20, execute the following code (the ID range is specified in the 5th and 6th arguments). 

 set status = ##class(Sample.Person).%BuildIndices($LB("NameIDX","ZipCode"),1,,1,10,20

$LB() is the $ListBuild() function. The

0
0 640
Question Geoff Lawson · Aug 7, 2023

I'm setting up a web application as CSP/ZEN to host a React SPA. SPA's typically need to use a fallback page to deal with server requests based on the browser route, unless you use hash routing in the browser code. Our requirements prevent us from using hash routing, so we need to deal with 404's - redirecting/fallback them to index.html - a very common practice. I 'think' IRIS uses Apache under the hood, so I tried adding a .htaccess in the applications root directory - which did not work.

2
0 488
Question Norman W. Freeman · Aug 31, 2023

I have notified the following :

  • Web Gateway usually maintain a certain amount of TCP/IP connections (that is capped to Maximum Connections) with Super server process (also named %SYS.SERVER). Those connections will stay, even after some client requests (eg: browser) have been processed and the TCP/IP connections have been closed the other side (between client and webserver, usually Apache).
  • As a consequence, there will be (at minimum) a certain amount of IRIS worker processes waiting for a request to came, which is good (eg: 200 maintained TCP/IP connections = at minimum 200 IRIS worker
5
0 304