Additionally, if you have a 401 – Unauthorized status, verify that you have granted the appropriate permissions.

Kurro Lopez · Dec 17, 2025 go to post

Thanks Eduard.

Indeed, adding the class name and the element name makes it work.

Kurro Lopez · Sep 30, 2025 go to post

if you are using Ens.Request as request class, you can redirect you message acording the name of the class using "Switch"

On each switch connector, you must evaluate the class name, as follows:

$classname(request)="MyApp.Msg.Test1"

I hope this is the answer that you are looking for

Best regads

Kurro Lopez · Sep 18, 2025 go to post

Thanks... I was making my own class to convert datetime in other time zone, more or less that is working in C#

You have save me a lot of hours of work.

Well done. 🥇

Kurro Lopez · Sep 9, 2025 go to post

Thanks for the information. I'll have a look the instructions how to implement a Semaphore.

Kurro Lopez · Aug 26, 2025 go to post
  • Went to the sea or a lake
    • YES... I live in a city by the Mediterranean Sea
  • Hiked/enjoyed nature
    • YES... I love it
  • Traveled somewhere new
    • YES... A small town in Galicia
  • Attended a concert or festival
    • YES... Brisa festival
  • Watched a movie or series
    • YES... Every day
  • Read a book
    • YES... A few
  • Earned points and redeemed a reward on Global Masters 🏆
    • YES.. Every day
  • Joined READY 2025 🎉
    • NO :( 
  • Spent time with family or friends
    • YES.. Always
Kurro Lopez · Jun 30, 2025 go to post

Great team!!!
I've missed you all so much this year, I hope to see you all next year.

Kurro Lopez · Jun 25, 2025 go to post

Thanks, Evgeny, as always.

It's not a bad idea to use an abbreviation map and Python for this. I can create a table with the code name and replace it with the UTC value.

https://www.timeanddate.com/time/zones/

This is a complete list of time zone codes and their UTC values.

What's the problem? Some are duplicated.

According to this list, Thursday, July 3rd at 08:20:00 AST, 2025 could be:

AST: Arabia Standard Time - UTC+03

AST: Atlantic Standard Time - UTC-04

Perhaps there's a mistake in the list.

Kurro Lopez · May 28, 2025 go to post

Hi community:

  • My name is Francisco López, AKA Kurro López
  • I'm from Spain, born and living in Málaga (Andalusia) in southern Spain, close to Mediterranean Sea.
  • Working as project manager in Salutic Soluciones, SL. This company is dedicated to creating software for medical management and services for health insurance companies.
  • I have extensive programming experience in several languages, from Clipper 87 to C#, including Python, PowerBuilder, Visual Basic, and, of course, ObjectScript. I've spent a long career dedicated to programming and the technical and functional analysis of new processes. I love programming in IRIS because it gives me a lot of freedom when generating complex workflows that would be much slower to complete with other languages.
  • My main hobby is the mountains. I love long walks, hiking, and discovering new places. I used to do mountain running, but my knees aren't what they used to be.
  • LinkedIn: https://www.linkedin.com/in/franciscolopezdelasheras/
  • I won't be attending READY 2025 this year, but I have attended in previous years and it's a great experience that everyone should go to at least once.
Kurro Lopez · Apr 7, 2025 go to post

Also... you can create a ClassMethod to pass the fields to retrieve

ClassMethod DynamicQuery(columns As%String) As%Status
{
    // columns: comma-separated string, e.g. "Book,Author"// Basic validationIf columns = "" {
        Write"No columns specified.", !
        Quit$$$ERROR
    }
    
    // Build the SQL querySet sql = "SELECT " _ columns _ " FROM myTables.Books"Try {
        Set stmt = ##class(%SQL.Statement).%New()
        Set sc = stmt.%Prepare(sql)
        If$$$ISERR(sc) {
            Write"Error preparing the query.", !
            Quit sc
        }
        
        Set rset = stmt.%Execute()
        
        While rset.%Next() {
            For i = 1:1:rset.%ColumnCount {
                Write rset.%GetColumnName(i), ": ", rset.%Get(i), " | "
            }
            Write !
        }
    } Catch ex {
        Write"Error executing the query: ", ex.DisplayString(), !
        Quit ex.AsStatus()
    }

    Quit$$$OK
}

Then, call it using this command:

Do##class(MyApp.Utils).DynamicQuery("Book,Author")
Kurro Lopez · Apr 7, 2025 go to post

Hi @Touggourt 

If you want to retrieve the values, prepare the query by concatenating the values ​​you want to retrieve

set var1 = "Book"set var2 = "Author"set query = "SELECT "_var1_","_var2_" FROM myTables.Books"set statement = ##class(%SQL.Statement).%New()

set status = statement.%Prepare(query)
set rset = statement.%Execute()
do rset.%Display()

Have a look the following link:

https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cl…

Regards
 

Kurro Lopez · Apr 1, 2025 go to post

Thanks @Brett Saviano 

I've already taken a look at the api/atelier APIs, and they've been very helpful in retrieving namespace names.

In our check method, in addition to server information, we return more information about production, such as the version number, last installation date, connection status with external databases, etc.

We have two mirrored servers, so if one of the servers goes down, the backup server is activated.

If the server name is different than expected, it's because the backup server has been activated and is providing service without issue, but we have an alert that the primary server has gone down.

This is an example of what our check service returns:

{
  "result": "OK",
  "methods": [
    {
      "test": "SQL_USERS",
      "result": "OK"
    },
    {
      "test": "SQL_APPOINTMENT",
      "result": "OK"
    },
    {
      "test": "VERSION",
      "result": "1.14.0.0327"
    },
    {
      "test": "INSTALLED",
      "result": "2024-12-04T08:04:52+01:00"
    }
  ],
  "serverName": "SRVPROD01",
  "serverApi": "10.168.1.1",
  "serverInstance": "HEALTHCONNECT",
  "execution_time": "00:00:00.0597418"
}
Kurro Lopez · Oct 28, 2024 go to post

Thank you Luis Angel,

I've followed the steps of the documentation and now it works.

Fortunally, the code of that namespace it was a dummy code just to create a documentation about how to rename a namespace.

Kurro Lopez · Oct 18, 2024 go to post

Thanks Julian.

If there is any error in the query, always throw a generic error code (ERROR #6022: Gateway: Execute fail), but I don't know if it is due a a duplicate value (code 2061) or is due other sql error code.

Using this code, err.Code always is 6022

Kurro Lopez · Oct 18, 2024 go to post

Note: I've done the following code to catch the native error... but it is a bit "smell code"

// run the querySet tSC = ..Adapter.ExecuteUpdateParmArray(.nrows,SQL,.param)

// Check if there is any errorIf$$$ISERR(tSC)
{
	Set msgError = $System.Status.GetErrorText(tSC) 
	// Check here if the native error code is 2601 (Cannot insert duplicate key row into object 'MYPATIENTS' with unique index 'UQ_UNIQUE_INDEX')if$FIND(msgError, "[2601]") > 0
	{
	    // This is a insert/update that violates the unique code// remove duplicate recordquit$$$OK
	}
	else
	{
	    // Generic error... thow excepctionquit tSC
	}
}
Kurro Lopez · Jul 23, 2024 go to post

Thanks Thomas,

Indeed, I have tried to use IntegratedML as a neural network, if I really need my model to learn to find what the pattern of converting degrees Celsius to Fahrenheit is, it is to "feed" the data with more data.

Thanks so much for the explanation.