A question for anyone using InterSystems technology:
What are the biggest challenges you’ve faced either trying to hire developers that know ObjectScript, or trying to train developers on ObjectScript?
Choose the tag if you want to post something which doesn't relate to InterSystems data platforms or services.
A question for anyone using InterSystems technology:
What are the biggest challenges you’ve faced either trying to hire developers that know ObjectScript, or trying to train developers on ObjectScript?
Following one package from the last contest I met a strange problem.
There was the requirement to install jupyter-notebook
I work on Windows and there was some old Python installed
No big surprise: Installation of jupyter-notebook failed
Therefore, the latest version of Python was installed fast.
Big disappointment: the installation of jupyter-notebook failed again!
Because the new installation of Python didn't upgrade the old one.
And also the environment variable PATH was not cleaned
This was not obvious immediately and took endless time and effort.
I'm trying to write an ObjectScript function that sorts version numbers to help learn ObjectScript. This is all I can think of after staring at VS Code for a while, but I don't know where to go with it. Can someone please help out with a tip? The goal is to take something like ["1.4.5", "0.5.3", "6.3.2", "1.2.4"] and turn it into ["0.5.3", "1.2.4", "1.4.5", "6.3.2"]
Creating your own commands or shortcut is one of the strongest features of ObjectScript
If you create your own Language Extensions to ObjectScript you mostly have to find the
proper %ZLANGC00 or %ZLANGV00 or %ZLANGF00 and add the extensions manually.
A few utilities do it already automatically (ZPM, ZME, ..)
This utility allows you to add your extensions also programmatically.
This package includes a demo example to visualize the operation of this utility.
.png)
The Jupyter Notebook is an open source web application that can be used to create and share documents that contain live text, code, equations and visualizations. It is maintained by the people at Project Jupyter.
Hello,
As of today, all CCR users default to the new view UI on new logins. We don't expect any issues, but please report anything that you encounter.
All users will continue to have access to the classic UI for some time via a button at the top and bottom of the view page (see below).
Be in touch with InterSystems and receive alerts, advisories and product news quickly. The process is really simple:
As you can see, it takes less than a minute to keep informed about the news!
Many factors affect a person's quality of life, and one of the most important is sleep. The quality of our sleep determines our ability to function during the day and affects our mental and physical health. Good quality sleep is critical to our overall health and well-being. Therefore, by analyzing indicators preceding sleep, we can determine the quality of our sleep. This is precisely the functionality of the Sheep's Galaxy application.
Have you ever heard of Design Thinking? Or have you heard of it and thought, “I’m not a designer, when would I use Design Thinking?” While a dedicated designer is responsible for applying Design Thinking practices in an organization, everyone who creates products can benefit from a Design Thinking mindset. According to Forbes, Design thinking practices can “deliver an ROI of 85% or greater”. It can also reduce product development cycles by 33-50%.
If you have worked with Caché Objects,
You know already all about Relationships (one:many , parent:child) ...
But you will not find a word on many:many relationships in the docs.
But I met the question quite often from new adopters of Caché objects:
"Is it possible to implement many:many relationships ?"YES - of course !
HowTo depends on the related tasks: There is a heavy and a lightweight solution.
Both have in common that they are not just out of the box and you have
to add some code to manage it.
Let's take an example based on SAMPLES namespace:
we have the case of an N:1 relationship
Hi Team,
How to extract/export the event logs quicker from Ens_Util.Log (intersystems log) using query itself.
(Similar to OUTFILE in sql)
Hi,
Does anyone have experience with connecting to IRIS with OLEDB through an OLEDB-ODBC bridge? In this case the client can only speak OLEDB at this moment.
Regards,
Marcel
I'm sure you have met this situation:
Hi Community,
The Second Batch of Digital Health Interoperability and FHIR Startup Incubator — Caelestinus, will start today!
Today 21 selected teams will start an eight-month journey at Caelestinus. During the incubation, teams introduce digital health interoperability into their connected medical service or medical device innovation and add the support of FHIR, HL7, DICOM, CDA, X12, and other digital health standards and its transformation using InterSystems IRIS for Health and FHIR Server with the help of experienced InterSystems team.

The title of the contest subject is not quite precise but addresses the %Library.classes involved.
What is meant is officially named Class Query and is dating back to the early days of Caché.
CLASS is used because it is embedded in a COS class.
Though there is a precise description in the official documentation it remains rather abstract.
My tutorial should guide you step-by-step through a simple example in COS to make it tangible to you
While the classic solution followed rather close the concepts and design of the ancestors
Caché / IRIS allows a more modern approach to flexible/multidimensional properties
As you know in Caché / IRIS you have the possibility to define a property as Multidimensional as documented here:
https://docs.intersystems.com/iris20201/csp/docbook/DocBook.UI.Page.cls?KEY=GOBJ_proplit#GOBJ_proplit_multidim
and the explanation of how to use it
https://docs.intersystems.com/iris20201/csp/docbook/Doc.View.cls?KEY=GOBJ_proplit#GOBJ_proplit_multidim_values
Though the access is quite comfortable (in traditional COS sense) there are 2 main restrictions that hurt:
#1) It is not saved to disk unless your application includes code to save it specifically.
#2) It cannot be stored in or exposed through SQL tables
there are some more
I'll show how to overcome these limits
During my last migration to IRIS I met this Compatibility parameter
0 - Throw error when referencing a null subscript. 1 - Null subscript references do not throw an error.
The consequences are shocking. This was allowed:
USER>zw^rcc^rcc=0^rcc("")="***"^rcc("",1)="*,1"^rcc(1,"")="1,*"^rcc(1,2)="1,2"^rcc(1,2,"")="1,2,*"But SMP had no idea what is going on. .png)
And after switching off that flag this was still partialy visible, but read-only
USER>zw^rcc^rcc=0^rcc(1,"")="1,*"^rcc(1,2)="1,2"^rcc(1,2,"")="1,2,*"I just don't understand.
Hi developers!
You are experts in IRIS and know all tricks. The functionality of $ZF(-1,-2,-100, ......)
is nothing new to you And you know the limits of this functionality.
Both give you access to your local server command line environment. And that's it.
During my recent work on Tutorial - Working with %Query #1
I met a Class Property that is quite different from its same-named relatives.
It is there since 'ever' but is rarely used, Related doc doesn't help so much.
Hello CCR Users,
The new CCR view page is now available to all users via an opt-in toggle a at the top and bottom of the view page.
We hope all users will give the new UI a try and provide us with any feedback that you have through your normal support channels.
Thank you to the beta users who have been using this page for a while, making sure its full release goes smoothly! You can always update your beta user status here.
Thanks!
Matt
.png)
This tutorial is a follow on to Working with %Query
It was displaying the content of the input stream chopped in fixed-size chunks.
But often those streams are structured and have well-defined separators (e.g HL7)
So as a side subject of this tutorial, this chapter shows how to break a stream into PIECES.
It is exactly the same idea as the $PIECE() function for strings with some add-ons.
.png)

My previous article introduced you to SQL based Basic Class Query
where a clever wizard created all the required code for you and your essential
contribution was an SQL statement.
Now we enter the real Custom Class Query that provides more freedom but
requires a deeper understanding of the mechanic behind the scene.
The full code example is again on GitHub
.png)

My previous article introduced you to the COS based Custom Class Query.
There were some features missing like more lines of the stream displayed
and numbered.
Hi Community,
We are gathering again for the next Community Roundtable. Many of you asked for a roundtable about AL / ML, and we are delighted to bring such a roundtable to you!
Our invited expert from InterSystems: @Thomas Dyar Product Specialist - Machine Learning.
Join our 60-min discussion, prepare your questions, and use cases! There will be a short demo as well.
UPDATE: the recording is available here.

We are looking for Innovators!
We invite early stage startups to join Caelestinus digital health and FHIR startup incubator for the season 2023!
GREAT NEWS!!
Starting in April the InterSystems classroom course schedule will once again include public in-person classroom training in Cambridge.
Many benefits are offered by being physically in the classroom with our instructors, so we invite you to return to in-person training for a more personalized educational experience.
In-person courses and dates currently offered are:
Hi Community,
Please read this when you have the time and keep an open mind. Also, you are welcome to tell me it is a terrible idea.
If you look at NPM, it has 1.3 million packages. Now ask yourself, is this an achievement or a nightmare?
How many of those packages are no longer supported?
How many of those packages break compatibility on version changes?
How do you know which one to use?
Seeing results in SMP or Terminal
If you run the suggested queries from Terminal in SQL shell you see:.png)