Article Joel Solon · May 23, 2023 5m read

Methods written in ObjectScript can use pass-by-reference arguments to return information to the caller. Python doesn’t support pass-by-reference arguments, so Embedded Python in IRIS doesn’t support them either. That's it, that's the end of the post, hope you liked it. 😉 But wait, what about the Classic Rock & Roll?

Actually, since returning values in method arguments can be useful, this post demonstrates several ways to do this, between ObjectScript and Embedded Python. So let’s start with the simplest example: calling an ObjectScript method that already has a pass-by-reference argument from

1
1 636
Question Yone Moreno · May 22, 2023

Good afternoon,

first thank you from heart and mind, mind and heart; for reading, thinking, reflecting, responding, and above all explaining a possible solution and/or documentation to address this doubt.

We would need a way to get inside a SOAP Web Service the SAML Assertion, and then, send it directly to the endpoint throught a SOAP Operation.

Currently we have researched and developed how to get the SAML Assertion with the following code:

Class Servicios.RESNS.ConsultaRecetas Extends EnsLib.SOAP.Service [ ProcedureBlock ]
{

/// This is the namespace used by the ServiceParameter NAMESPACE
1
0 442
Article Eduard Lebedyuk · May 23, 2023 1m read

When developing interoperability productions, it might be useful to have settings outside of a Business Host. The primary reason is when you need a setting to affect several different Business Hosts and want to guarantee that the value is the same. While System Default Settings can be used to propagate settings for Business Hosts, they can be changed by overriding the value on a BH level (although the advantage of Business Host settings set via SDS is that they don't need custom code which our current approach requires).
Another reason is when you need to affect non-setting parts of the Business Host configuration (PoolSize, Enabled, etc.)

We will be adding an env setting to a production.

1
1 443
Article Henry Pereira · Jan 16, 2023 14m read

cover

In this article, I will show you how one can easily create and read Microsoft Word documents using InterSystems IRIS with the leverage power of embedded Python.

Setup

First things first, let’s install the Python module called python-docx. There are a lot of modules to write MS Word files in Python. However, this one is the easiest one to use.

Just execute the following command on the terminal:

!pip3 install python-docx

If you are working with Docker, like I do, just add the following line to a Dockerfile

ENV PIP_TARGET=${ISC_PACKAGE_INSTALLDIR}/mgr/python RUN pip3 install python-docx

Let’s Get

7
7 1386
Article Eduard Lebedyuk · May 18, 2023 2m read

Let's have a round of Code Golf!

String rotation is when you take a word and move some of its letters to the end of the word, so the first letter becomes the second letter, the second letter becomes the third, and so on. Last letter becomes first. Rotation can happen only in one direction →. Your task is to write a method that will receive two strings. It then must return an integer value of how many times needed to rotate the strings to be equal. As usual shortest solution wins.

Input

"hello", "llohe"

Output

3

  ​

Note

Rules

  1. The signature of the contest

14
0 527
Question Minoru Horita · May 19, 2023

I have a problem with connecting to IRIS via ODBC on Apple Silicon.

I installed unixodbc with brew, and downloaded ODBC-2023.1.0.229.0-macos.tar.gz from the community github repo.

After setting up odbc.ini so that libirisodbcur6435.so that was just downloaded is used as the driver,  isql fails as follows:

$ isql -v sampleodbc
[08S01][unixODBC][Iris ODBC][State : 08S01][Native Code 459]
[libirisodbcur6435.so]
Connection via irisconnect failed:
getaddrinfo(, , 0, 0) failed in s_TCPConnect, reason = nodename nor servname provided, or not known.
 
[ISQL]ERROR: Could not SQLConnect

Can anyone

4
0 786
Question Phillip Wu · May 17, 2023

Hi,

I trying to find out the procedure to kill off a currently printing Cache job.

The user wants to cancel the job as they put the wrong start date. The start date was set to be generated from the default date of 1 Jan 1900.

As the start date was such a long time ago, the report generation would take a long time.

I think the printing uses this "production" on the print server:

Report.Print.Service.CachePrintService

  -> Report.Print.Process.Request

  -> Report.Print.Operation.PrintCacheReport

I think the printing part is  "production" "Operations",  Report.Print.Operation.PrintCacheReport.

2
0 369
Question Prashant Sonnaik · Apr 29, 2023

Have just deployed IRIS in Azure and when accessing the filesystem through SSH I just can't see the ISC folder through the WSL ubuntu user, what am I missing here?

As I want to create new folders and use the same in test productions.
the needed directories are created in /home/azureuser but the same is not visible in IRIS file system

4
0 376
Question Dmitrii Baranov · May 19, 2023

Example:

Method Execute (args...) As %Status {
...
 #dim statement as %SQL.Statement
 set statement = ##class(%SQL.Statement).%New(2)
 set statement.%Dialect = "CACHE"
 do statement.prepare(query)
    
 #dim rs as %SQL.StatementResult
 set rs = statement.execute(args...)

My questions are: 1) how do I get the size of **args **2) how to get all values of **args **3) is it possible to modify the args?

6
0 463
Question Andrea Levesque · Feb 9, 2023

Any suggestions on a way to indicate when a patient encounter is in an ‘Observation’ status** in Clinical Viewer? Clients would like to be able to distinguish between true ‘Inpatient’ or ‘Emergency’ status and ‘Observation,’ especially given that encounters often cycle between various statuses.

HealthShare only allows for the following ‘encounter type’ values, and anything that does not match will be translated to Outpatient by HealthShare

  • I = Inpatient
  • O = Outpatient
  • E = Emergency patient
  • C = Community
  • N = Not applicable or New born
  • P = PreAdmit
  • G = Generated
  • S = Silent

**CMS

1
2 301
Question Larry Overkamp · May 18, 2023

In over a decade of using Ensemble/HealthShare, we have been able to use a single message type (doc type) for all HL7 ADT event types. We now have an application for which the HL7 segment sequence is different for A03s than it is for other ADT event types. The content of the segments is the same across event types; only the segment sequence differs. The data transformation has to do some custom logic, so we can't just use the "copy" variety of the transformation Create property.

Because a different message schema has to be used for A03s, the only way I can think of accomplishing this is to

3
0 451
Question Raja Mohan · Jan 19, 2018

Hi All,

I am trying to create a production from a script(routine). 

I am using the below way to create an empty production

Set oProd=##class(Ens.Config.Production).%New()
Set oProd.Name="Test.NewProduction"
Set oProd.ActorPoolSize=1
Set status=oProd.%Save()

But when i tried to start the production, i am getting an error as "Test.NewProduction" class does not exists. 

Is there any other way to create the production via routine or terminal using commands as above?

6
2 829
Question Gustavo Viel Ferro · May 16, 2023

@Jeff Fried 

Hi Jeff,

I reviewed the Ensemble 2018 support documentation
https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KE…

And I did not find a restriction on the use of Ensemble 2018 installed on Docker with Openshift, but I received information that Intersystems would not support this installation case. That is true?

This would help us with the transition to IRIS as I carry out the migrations.

Thank you very much for your help

1
0 276
Discussion Fabiano Sanches · May 17, 2023

We are very eager to learn what kind of feedback you might have for InterSystems.

We hope you had a chance to download and install one of the kits that show how the new process works. If not, you still can do it, following the instructions on these posts:

Our target release is InterSystems IRIS 2023.2 (and InterSystems IRIS for Health 2023.2) and will be available in a few months.
 

Provide your

1
0 379
Question Colin Brough · Apr 5, 2023

Exported contents of a namespace on one server (classes, include files and lookup tables). Importing that code into a newly created namespace on another server. Both servers Ensemble 2018.1, same build. Export was via InterSystems Studio. Export is around 18Mb in total (XML file sizes).
When importing and compiling on the new server, getting errors as below - with #6301: SAX XML Parser error prominent - on a number of the imported files, all containing data transformations or business processes.

When I try and open the transformation or the business process through the management portal I get a

1
0 891
Question Dmitrii Baranov · May 15, 2023

I have a production with a HLv2 HTTP Listener. For demo purposes, I need to send HL7 messages directly from a browser. Here is an example (React/typescript):

const message = "MSH...";
const args: RequestInit = {
      method: "POST",
      mode: "no-cors",
      body: message
 }

const response = await fetch(IRIS_SERVER_HL7_HTTP, args);
// await checkResponseAsync(response);
return await response.text();

Technically it works, and Chrome network monitor lets me know that operation completes successfully (response code is 200 and I see the ACK), but the browser restricts fetching the response

1
0 387
Article Evgeny Shvarov · May 14, 2023 2m read

Hi Developers!

Often solutions with InterSystems IRIS BI can turn into a quite big solution with dozens of pivots and dashboards.

With every new IRIS BI solution release we can add changes that could influence the behavior of existing pivots or dashboards so they stop working. For example if we change the dimension or measure name, forget deploying some cubes or subject areas, conduct refactoring via mass renaming of cubes and its elements etc some widgets could stop functioning.

The solution is to test (manually?) every widget in every dashboard if the MDX queries are working.

Today I want to

3
1 401
Question Yone Moreno · May 16, 2023

Good morning:


Thank you very much for reading the doubt and above all thank you very much for answering.

Given the following use case:

If we have a Destination Service that through a HTTP GET by REST gives us a certain JSON response, where it should be noted that it is a list of objects where each object in the list does NOT have a key:

[
    {
        "codigo": "5128",
        "descripcion": "LAS ENFERMERAS FRENTE A LOS PROBLEMAS DE SALUD MENTAL",
        "programa": "Probabilidad de contagio ante un accidente hemático.",
        "admitido": 1,
        "desdefecha": "26/10/2022",
3
0 410
Question Ran Kahane · May 17, 2023

Hello,

We have recently encountered an issue which requires us to define a new identity field (named xMDA in the attached example), instead of using the default ID field.

We need to run an SQL query which unfortunately overrides the ID field (see attached image) but we still need to be able to access the ID field in said query.

We are however unable to get the attached solution to work. Is there a way to get around this issue?

Class TafnitCore.System.MDA.USER.caghoNybdWE1x0wt0DpyXVMhA5Yx2x2 Extends %Persistent [ ProcedureBlock, StorageStrategy = MainStorage ]
{

Property xMDA As %Integer [ Id

0
0 223
Question Stuart Goodrick · May 16, 2023

I'm trying to extract data from an IRIS database into SQL server with SSIS using the ODBC driver: InterSystems ODBC35 (ODBC-2023.1.0.229.0-win_x64.exe)

I have Unicode turned off in the ODBC settings. 
I'm getting strange results - with some tables the SSIS ODBC connector will work but the ADO.net connector - using the same ODBC driver will. For other tables it's the other way round. The ADO.net sees the data as unicode and won't allow me to insert it into a non unicode table but ODBC will be fine.

In some cases I'm getting data that just looks screwed up  

Anyone had similar issues?

1
0 354
Question Lucas Galdino · Apr 27, 2023

Dear experts,
Please, could you help me?

Im trying import a global:

ACB> K ^GlobalManualSend
ACB> D $System.OBJ.Load("C:\Users\BNAPC\GlobalManualSend.xml")
ACB> Set sc = ##class(%Studio.Project).InstallFromGbl("^GlobalManualSend","fv")

But is returning a error about version:

Please, could you help me about it?

Thank you.

5
0 360
Question Elliott Grey · May 15, 2023

Trying to gather basic code examples written in ObjectScript and realized it's probably easiest to ask the people who know what they're doing!

I'm looking for examples of the following five prompts all in ObjectScript:

Prompt 1. Write a function that partitions the array into two subarrays: one with all even integers, and the other with all odd integers. Return your result in the following format:

[[evens], [odds]]

Prompt  2. Create a function that computes the hamming distance between two strings

Prompt  3. Make a function that encrypts a given input with these steps:

Input: "apple"

Step 1: Reverse

3
0 309
InterSystems Official Fabiano Sanches · May 10, 2023

InterSystems announces its first preview, as part of the developer preview program for the 2023.2 release.  This release will include InterSystems IRIS and InterSystems IRIS for Health.

Highlights

Many updates and enhancements have been added in 2023.2 and there are also brand-new capabilities, such as Time-Aware Modeling, enhancements of Foreign Tables, and the ability to use Ready-Only Federated Tables. Some of these features or improvements may not be available in this current developer preview.

Another important topic is the removal of the Private Web Server (PWS) from the installers.

3
0 349