Say I have an ObjectScript object called Book. It has 2 properties title and author. It extends JSON.%Adaptor, so I can call book.%JSONExport() and get this output:

{ "title": "For Whom the Bell Tolls", "author": "Hemmingway" }

In my web service I want to have a search function that returns an array of Books along with the total number of responses, like this:

0 18
2 1.9K
InterSystems Developer Community is a community of 22,359 amazing developers
We're a place where InterSystems IRIS programmers learn and share, stay up-to-date, grow together and have fun!

There is a list of numbers from 1 to 190.

AllList="1,2,3,4,5,6,7,8,9,.....,187,188,189,190"

There is a collection of sets of these values:

List(1)="3,5,6,7,9"
List(2)="1,2,6,9"
List(3)="5,8,9"
List(4)="2,4,6,8"
List(5)="4,7,9"

What is an elegant approach in Object Script to pick the least number of list items:

  • List(1)
  • List(5)
  • List(n)

That together would cover as many numbers as possible from the AllList.

Interested in best coverage over efficiency.

1 7
0 71

Hello Team,

I got xDBC protocol is not compatible while executing python script. How to fix this error

C:\Users\ak\Desktop\lpyth\iris>C:/Users/ak/AppData/Local/Programs/Python/Python312/python.exe c:/Users/ak/Desktop/lpyth/iris/irisconn.py
An error occurred: connection failed: IRIS xDBC protocol is not compatible

py -m pip list
Package Version
------------------ ---------
intersystems-iris 3.9.2

0 2
0 23
Article
· Jul 8, 2020 7m read
Tips for debugging with %Status

Introduction

If you're solving complex problems in ObjectScript, you probably have a lot of code that works with %Status values. If you have interacted with persistent classes from an object perspective (%Save, %OpenId, etc.), you have almost certainly seen them. A %Status provides a wrapper around a localizable error message in InterSystems' platforms. An OK status ($$$OK) is just equal to 1, whereas a bad status ($$$ERROR(errorcode,arguments...)) is represented as a 0 followed by a space followed by a $ListBuild list with structured information about the error. $System.Status (see class reference) provides several handy APIs for working with %Status values; the class reference is helpful and I won't bother duplicating it here. There have been a few other useful articles/questions on the topic as well (see links at the end). My focus in this article will be on a few debugging tricks techniques rather than coding best practices (again, if you're looking for those, see links at the end).

15 8
11 2.2K

Hello,

Our software commonly returns a full result set to the client and we use the DataTables plugin to display table data. This has worked well, but at datasets grow larger, we are trying to move some of these requests server-side so the server handles the bulk of the work rather than the client. This has had me scratching my head in so many ways.

I'm hoping I can get a mix of general best practice advice but also maybe some IRIS specific ideas.

Some background

0 6
0 66

As we all know, InterSystems is a great company.

Their products can be just as useful as they are complex.

Yet, our pride sometimes prevents us from admitting that we might not understand some concepts or products that InterSystems offers for us.

Today we are beginning a series of articles explaining how some of the intricate InterSystems products work, obviously simply and clearly.

In this essay, I will clarify what Machine Learning is and how to take advantage of it.... because this time, you WILL KNOW for sure what I am talking about.

12 0
3 43

Using Cache 2017.2 sever as my target.

I have a x64 Ubuntu client setup going. This is NOT server. Just client.

I have the Linux Ubuntu x64 ODBC driver gzip file.

ODBC-2018.1.5.659.0-lnxubuntux64.tar.gz is all I could find. Someone posted it in another post.

I can connect to a test sever that does NOT use SSL. That works pretty easily.

But I have A server with SSL enabled. With Windows Cache ODBC drivers I can use SSL just fine.

This is what my SSLDefs.ini file on the Windows machines look like and it works just fine.

0 1
0 18

Hi developers!

This will be a very short article as in April 2025 with Lovable and other Prompt-to-UI tools it becomes possible to build the frontend with prompting. Even to the folks like me who is not familiar with modern UI techics at all.

Well, I know at least the words javascript, typescript and ReactJS, so in this very short article we will be building the ReactJS UI to InterSystems FHIR server with Lovable.ai.

Let's go!

4 0
1 28

I ask ChatGPT periodically to produce ObjectScript or plain MUMPS code for string manipulation, or for implementing known algorithms etc. Occasionally, it does make mistakes or uses non-existing class members but generally not that bad. Is there any tutorial on the subject of using AI for coding, ideally specifically for ObjectScript/MUMPS? Any AI productivity advice, or tricks you are using, or another AI flavor?

Thanks in advance,
Anna

0 4
0 63

Hi Community,

Enjoy the new video on InterSystems Developers YouTube:

Integrating DBT and Apache Airflow with InterSystems IRIS @ Global Summit 2024

https://www.youtube.com/embed/tFHSoqZpA88
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]

0 0
0 26

One of the pain points for maintaining HL7 interfaces is the need to run a reliable regression test upon deployment to new environments and after upgrades. The %UnitTest class allows unit tests to be created and packaged alongside interface code. Test data can also be maintained within the unit test class, allowing for quick and easily repeatable smoke-testing and regression testing.

Resources:

  • Standard %UnitTest class

13 1
1 262

Hey everyone.

I'm currently looking at a process where we're utilising the Class Ens.StreamContainer, and was looking to do some deletions outside of any purge routines.

Having been burned before, I wanted to make sure that deleting the container also deletes the contents within.

From looking in the class, the %OnDelete ClassMethod appears to be removing an index from a search table and nothing more.

1 2
0 30

Our client says the call to send email (method (%Net.SMTP).Send) started returning error # 6167 (Authentication expected but failed.) after installing IRIS 2022.1.2; email had worked before. Properties (%Net.Authenticator).UserName and .Password were configured. We can get email to work when we don't set property (%Net.SMTP).authenticator.

Any ideas what is going on? Thanks.

0 3
0 410

Hello,

One of our clients has a 'Notes' class with over 3 million records. We have a report that pulls data from this table that was taking about an hour to run. Our test environment (which has a copy of the production database) runs the same report query in 1 second.

We attempted to purge and rebuild indices which made an improvement (down to 15 minutes) but still not great.

0 3
0 60

Hi, Community!

Looking to get quicker insights from your supply chain data? See how InterSystems® Data Fabric Studio™ can help:

Leveraging Data Fabric Studio in Supply Chain Management

https://www.youtube.com/embed/R1KqK4uVNNI?utm_source=youtube&utm_medium=social&utm_campaign=R1KqK4uVNNI
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]

0 0
0 21

Hi everyone,


I'm currently testing out IRIS 2024.3 for a new project, and it's been running smooth for the most part. However, I noticed that when running some heavier analytical queries, the memory usage spikes more than I expected, even when result sets aren’t that large.

I’ve gone through the basics (buffer sizes, query plans, etc.), but I’m wondering if there are any new tweaks or recommended settings in 2024.3 specifically for managing memory better during these peak loads.

Anyone else run into something similar or have tips to fine-tune this?

0 1
0 46