0 Followers · 475 Posts

Choose the tag if you want to post something which doesn't relate to InterSystems data platforms or services. 

Article Robert Cemper · May 13, 2023 2m read

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.

0
0 339
Question Elliott Grey · May 10, 2023

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"]

4
0 426
Article Robert Cemper · May 9, 2023 2m read

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.

  • eg. at first run, or during installation I found this quite useful for my Docker-based demos as it all happens at start time.

This package includes a demo example to visualize the operation of this utility.

How to Use it

0
0 552
Announcement Matthew Giesmann · May 1, 2023

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).

1
0 239
Article Maria Nesterenko · Apr 20, 2023 5m read

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.

5
0 395
Announcement Elle Marcus · Apr 10, 2023

person writing on white paper

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%.

0
0 326
Article Robert Cemper · Feb 26, 2018 2m read

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

7
0 1355
Article Robert Cemper · May 22, 2022 1m read

I'm sure you have met this situation:

  • There is a bug in a System that you can't reproduce yourself locally
  • You need to run a few lines in the affected instance
  • You get full access to System Management Portal
  • But there is just  no terminal, nor console, nor access with Studio, Atelier or VSCode
  • How to run your few lines for testing ???
3
5 1113
Announcement Vita Tsareva · Mar 22, 2023

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.

0
0 318
Article Robert Cemper · Mar 2, 2023 5m read

    

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

4
1 699
Article Robert Cemper · Apr 27, 2020 4m read

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

1
3 723
Question Robert Cemper · Mar 17, 2023

During my last migration to IRIS I met this Compatibility parameter

  • NullSubscripts    true
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. 

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.

5
0 435
Article Robert Cemper · Feb 28, 2023 2m read

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.

1
0 382
Announcement Matthew Giesmann · Mar 6, 2023

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

1
0 334
Article Robert Cemper · Mar 2, 2023 4m read

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.

1
1 556
Article Robert Cemper · Mar 2, 2023 5m read

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

1
0 418
Announcement Olga Zavrazhnova · Feb 14, 2023

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.

5
0 408
Announcement Larry Finlayson · Feb 16, 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:

Register for a Course

Complete Course Schedule

0
0 162
Discussion Stefan Cronje · Feb 10, 2023

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.

The main reason for this post

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? 

My opinion on the purpose of Opensource

13
2 368
Article Robert Cemper · Jan 23, 2023 2m read

Some technical background information

There is not just one class in this package:  rcc.gstream.cls but also rcc.gstreamT.cls

While rcc.gstream works with direct access to the stream globals, the *T version uses
a Process Private Global (PPG) as Temporary storage.
using  SELECT * FROM RCC.gstreamT WHERE RCC.useT('^jpgS')=1 and similar.

0
0 347