We're back with a code golf!

You will receive a string. Each word in the string will contain a number.
This number is the position that word should have in the sentence.
If the input string is empty, return an empty string.
The output can only be in words, without the given numbers.


"i2s T1his Te4st a3"


This is a Test

2 13
0 493

The topic of for/while loop performance in Caché ObjectScript came up in discussion recently, and I'd like to share some thoughts/best practices with the rest of the community. While this is a basic topic in itself, it's easy to overlook the performance implications of otherwise-reasonable approaches.

21 21
2 7,851

We have a handful of cases where we get reflex orders in an interface that contain multiple OBR segments. These are rare but when we get them, they are causing errors in down stream systems because we are unintentionally excluding OBR segments.


At the DTL level - is it possible to iterate over this segment WITHOUT altering the underlying schema? If so what would that look like?

0 1
0 60

I just wrote up a quick sample to help a colleague load data into IRIS from R using RJDBC, and figured it's worth sharing here for future reference.

Ultimately it was pretty simple, aside from IRIS not liking "." in column names; the workaround is to just rename the columns. Someone better at R than me could probably provide some generic approach. smiley

3 2
0 120


I was wondering if there is a way, or what is your recommended way to generate, or develop some kind of deep interest or even some joy, love, or excitement towards coding, programming, software developing. Specifically for people aged between 20 and 30 years old.

I am aware of some programming games like the following ones:



0 5
0 124

Leet (or "1337"), also known as eleet or leetspeak, is a system of modified spellings used primarily on the Internet. It often uses character replacements in ways that play on the similarity of their glyphs via reflection or other resemblance. Additionally, it modifies certain words based on a system of suffixes and alternate meanings. There are many dialects or linguistic varieties in different online communities. Wikipedia

3 8
0 388
Timothy Leavitt · Mar 17, 2021 3m read
Making the most of $Query

I ran into an interesting ObjectScript use case today with a general solution that I wanted to share.

Use case:

I have a JSON array (specifically, in my case, an array of issues from Jira) that I want to aggregate over a few fields - say, category, priority, and issue type. I then want to flatten the aggregates into a simple list with the total for each of the groups. Of course, for the aggregation, it makes sense to use a local array in the form:

agg(category, priority, type) = total

Such that for each record in the input array I can just:

14 10
4 707

Hello, good morning

First thank you for your time in reading and answering our question.

We have been reading, inquiring, researching about how to make multiple dispatches from 1 Process of type "DICOM.BP.QueryProcess" to several target Operations.

We need some help to further develop this use case, and some advice 🧭, examples or recommendations

0 1
0 89

Good morning,

We would appreciate your support:

Developing an integration to perform a "Query / Retrieve" circuit with DICOM medical imaging studies, we would need the following:

Options of invocation of the DICOM TCP service that has been published for this integration, alternatives to the command line option.

Specifically we have read: Receive DICOM document with an embedded PDF and metadata.

0 3
0 147

Good morning,

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

We need to find out how to display an EnsLib.DICOM.Document using LOGINFO, in the traces.

We have tried to use:

set writer=##class(%XML.Writer).%New()

set status=writer.OutputToString()

set status=writer.RootObject(..DocumentFromService)

set xml= writer.GetXMLString()

$$$LOGINFO("..DocumentFromService en xml: "_xml)
0 0
0 59

Good morning,

First of all, thank you very much in advance for reading and responding.

Also, thank you for any support, because it is a relief, support, contribution, help to have people with more understanding, knowledge and practice, reading, and thinking this doubt.

There is the following need:

Two 2 circuits are available:

1st DICOM Circuit of "Studio" ( Classic Service ).

Service: class: DICOM.BS.QueryService

Process: class: DICOM.BP.QueryProcess

0 0
0 92

New month, new code golf!

You will receive a string with a label code with numbers and letters.
Our challenge is to check if this code begins with 1, 2, or 3 and ends with A, B, C, S, or R.
It should return true(1) if so or return false(0) otherwise.
As usual shortest solution wins.





6 4
1 227

You will receive a string of comma-separated integers whose elements have both a negative and a positive value, except for one integer that is either only negative or only positive, our challenge will be to find that integer.
As usual shortest solution wins.





3 has no matching negative appearance

4 34
0 584
Robert Cemper · Feb 8, 2021 3m read
WebSocket Client with embedded Python

This is a demo to make use of a simple WebSocket Client with Embedded Python in IRIS.

To continue my series of WebSocket Client I have added an example written in Python.
The most impressive experience was how easy the writing and testing of the client was
which happened total offline from IRIS.
Embedding, running and feeding the client with data from IRIS was also incredibly simple.

9 6
0 539

to dismount/mount a database, use Dismount() and Mount() methods in SYS.Database class available in %SYS namespace.
NB: the database ID is its Directory

You'll find some examples of how to dismount/mount and check if a database is mounted (Mounted=1) or not (Mounted=0), and quickly see all the attributes of a database (via zwrite)

3 2
0 1,900

DTL Transformations and GetValueAt/SetValueAt calls on HL7 messages will truncate any fields longer than 32K. To avoid this, the methods GetFieldStreamRaw and StoreFieldStreamRaw must be used when dealing with fields that might be larger than 32K. OBX:5 is a frequent example. These methods have some subtleties and must be used carefully.

This can't be done by simply dragging from left to right in a DTL. It must be done with a code action. Also, the StoreFieldStreamRaw call must be the last edit made to the segment because the segment becomes immutable after that.

8 6
3 1,883

First of all thanks for your help and time

We would need to find inside PID:3 which one meets the following condition:

PID 3.4.1 = "CAC" and PID 3.5 = "JHN"

We have been investigating how could we do it

We have achieved to get single fields in a call request as follows:



1 2
0 177
Eduard Lebedyuk · Oct 8, 2021
Code Golf: Just add water...

Have you ever seen those vaccum compressed towels, that look like a pill and after you add water became a towel?

That's our challenge for today. As usual shortest solution wins.


You will receive an integer number and you will return a new number where each digit is repeated a number of times equals to its value.






3 11
0 352


I made for fun a bash script that creates csv files from a %GOGEN exported file.
%GOGEN, the utility for exporting globals for Cache 5.xx

First I thought it would be very simply with bash, but ...
- if I want a header in the csv file
- if you export with GOGEN more globals together not only one
- if I want a csv file for every global/indexes has the global ..

The simply bash script goes up 100 lines of code. If I will start again with this, I would use Python or Go, not bash.



0 5
0 521