Article Nicholai Mitchko · Oct 27, 2022 2m read
   _________ ___ ____  
  |__  /  _ \_ _|  _ \ 
    / /| |_) | || |_) |
   / /_|  __/| ||  __/ 
  /____|_|  |___|_|    

Starting in version 2021.1, InterSystems IRIS began shipping with a python runtime in the engine's kernel. However, there was no way to install packages from within the instance. The main draw of python is its enormous package ecosystem. With that in mind, I introduce my side project zpip, a pip wrapper that is callable from the iris terminal.

What is zpip?

zpip is a a wrapper for python pip that enables developers to quickly add packages to an instance through the

6
1 879
Question Blake Hernandez · Jul 14, 2023

Hi all, 

We are doing a SQL server upgrade to SQL server v.15 from a legacy server which had v.10 . I have our Cache server as a linked server int order to pull data from our system. When building out the ROWSPEC, I have my fields typed as %String with various lengths with one field having a max length of 15000. The SQL server is trying to interpret this as a text data type instead of varchar(n). Text is a depracated data type since SQL server 2008. The error below is produced when trying to query from this view

OLE DB provider "MSDASQL" for linked server "SQ_PROD_USER" returned message

1
0 426
Question Stuart Strickland · Jul 13, 2023

Suppose you have routine ^A loaded in your partition in programmer mode and you call routine ^B. Routine ^B finds the value of $ZU(96,9) which should be the calling routine.

But $ZU(96,9) now returns null, as does $SYSTEM.Process.CallingRoutine()

Works on 2018.1.7 but not 2018.1.8

$ROLES= %All on both systems

More precisely I have line label ZZPP in ^%ZLANGC00 which needs to identify the original routine in the partition and do some work on it. When I type ZZPP I get nothing on the later version. Here's the line of code:

ZZPP New RTN Set RTN=$ZU(96,9) QUIT:RTN=""  WRITE !,$T(+1^@RTN)

If I add a

4
0 349
Article Gevorg Arutiunian · Mar 29, 2020 2m read

Now the Classes/Rutines/DeepSee files will be automatically exported to the working directory after saving or compiling and files will be automatically deleted .

<iframe src="https://www.youtube.com/embed/B1pmqAQqd4M" frameborder="0" allowfullscreen> </iframe>

Installation

To install isc-dev , you just need to download and import the file isc-dev.xml from last release. Some ways to import isc-dev .xml file:

  • Go to Management Portal -> System Explorer -> Classes -> Import and select the XML file.
  • Drag the file over Studio.
  • Terminal command:
NS>do $system.OBJ.Load("yourpath/isc-dev.xml","ck")
NS>zpm
zpm: NS>install isc-dev

How to enable this feature:

  • After importing the class in the target namespace, run the following method to set up the working directory:
NS>do ##class(dev.code).workdir("/path/to/your/working/directory/src/")
  • Go to Management Portal -> System Administration -> Configuration -> Additional Settings -> Source Control.
  • Select the target namespace and set the dev.FileManExtension class as the main one and save it.
  • Try to create a new class in the studio and save/compile it
  • Enjoy!
4
2 551
Article Mihoko Iijima · Jul 13, 2023 2m read

InterSystems FAQ rubric

It can be obtained by using the Size query of the system-provided %SYS.GlobalQuery class.

See the sample code below for usage examples.
*Please check the class reference for specifying columns and parameters.

 set dir="C:\intersystems\iris\mgr\user" // IRIS.DAT(or CACHE.DAT) folder
 set rs = ##class(%ResultSet).%New("%SYS.GlobalQuery:Size")
 do rs.Execute(dir) // You can also specify a mask with the 3d parameter
 while (rs.Next()) { 
   set gname= rs.Get("Name") // global name
   set gsize= rs.Get("Used MB") // global size (MB)
   write gname," : ",gsize,!
 }

If

0
2 662
Question Jeff Zhang · Jul 12, 2023

I have a question about how to modify a XData Block programmatically . Assume i have a impl.cls and there is a XData Block (like XData OpenAPI [ MimeType = application/json ]) in the impl.cls.  In other class, can i write a fucntion to modify the context in the XData Block? 

Ps: The document already show how to read the XData blcok, if i want to insert something into the block and save it back, how can i do this programmatically  (eg write a method and read the block from other class, write something into the block and save it ) ?? 

Thanks 

3
0 382
Question Eduard Lebedyuk · Jul 13, 2023

I'm trying to execute SQL on a EC2 via SSM:

import boto3

instanceid = "i-123456789"
sql = """SELECT path FROM Security.Applications WHERE ID = '/csp/sys'"""
template = """su - irisusr -c 'cat << EOF | iris sql iris -U %SYS
                """ + sql + """
                        q
                        EOF'
                       """
template = [line.strip() for line in template.splitlines()] 
template = """\n""".join(template) 
ssm_client = boto3.client('ssm') 
response = ssm_client.send_command(
            InstanceIds=[instanceid],
            DocumentName="AWS-RunShellScript",
            Comment=AWS,
            Parameters={'commands': template})
0
0 242
Announcement Derek Robinson · Jul 13, 2023

Hi all! Wanted to share a recent video we created with InterSystems FHIR expert, Russ Leftwich, covering some of the most frequently asked questions with FHIR. Let us know if you have more questions for a future iteration of this!

0
0 193
Discussion Michael Lei · Jul 13, 2023

With rapid evolution of Generative AI,  to embrace it and help us improve productivity is a must. Let's discuss and embrace the ideas of how we can leverage Generative AI to improve our routine work. 

0
1 215
Question Jordan Simpson · Jun 23, 2023

Hi,

I'm trying to figure out why I'm unable to iterate through a dynamic array and access the nested objects.

Using the NHS PDS FHIR API in the NHS sandbox environment, I'm querying the PDS endpoint using a sample NHS Number to retrieve a patient's demographics. My Business Operation reads the response data and passes it back to my Business Process where I intend on iterating through certain nested objects. The data present in these nested objects will decide what happens next in the process.

In the JSON snippet below, I'm attempting to access the values of code and display.

"meta": {
        "ve
4
0 923
Question Kevin Kindschuh · Jul 11, 2023

Is it possible to hide certain properties in a class from displaying in the BPL visual editor, if you want to prevent drag and drop from accessing them or otherwise controlling or restricting their behavior?

Virtual document messages, such as EnsLib.HL7.Message, have hidden fields, such as Source, that do not show, presumably since the field list is rebuilt from the document schema. Setting the flag Internal, or XMLPROJECTION = "NONE" doesn't do it. Trying to follow the Virtual Document precedent to rebuild or edit the field list seems like a heavy list.

3
0 298
InterSystems Official Fabiano Sanches · Jul 12, 2023

The extended maintenance releases of InterSystems IRISInterSystems IRIS for Health, and HealthShare Health Connect 2023.1.1 are now available. This release provides bug fixes for the previous 2023.1.0 releases.

You can find the detailed change lists / upgrade checklists on these pages:

How to get the software

The software is available as both classic installation packages and container images.  For the complete list of available installers and container images, please refer to the Supported Platforms webpage.

Full

0
1 471
Question Norman W. Freeman · Jul 10, 2023

I have several 1GB journals from a LIVE server that I would like to inspect (eg: check which globals have been updated over the time).

Is there a simple way to view those journals using another IRIS instance ? (eg: local installation).

I have been tempted to put those files directly into the journal folder of my local installation and restart the system, however I am concerned that the transactions they contains will be restored and will corrupt the local database.

I have checked documentation but couldn't find anything.

10
1 516
Question Gautam Rishi · Jul 11, 2023

Hi All,

I am trying to fetch resultset using the below code - 

set rs = ##class(%ResultSet).%New("Simple.Person:ValidateAge")

do rs.Execute()

it is giving me error while the same code I run it through iris terminal worked fine. 
I want to understand that problem behind this. Also how can I check the possible methods that I can use on 'rs' somewhat dir() does in python.

2
0 223
Announcement Marcus Wurlitzer · Apr 21, 2021

Hi Developers, I am glad to announce Git for InterSystems IRIS, my first submission to OpenExchange and part of the current Developer Tools Contest.

Git for InterSystems IRIS is a source control package that aims to facilitate a native integration of the Git workflow with the InterSystems IRIS platform. It is designed to work as a transparent link between InterSystems IRIS and a Git-enabled code directory that, once setup, requires no user interaction. A detailed description can be found on GitHub.

  

 

I am looking forward to learn what you think about this approach.

10
4 1372
Announcement Vadim Aniskin · Jun 21, 2023

Hi Developers!

Welcome to the 7th edition of the InterSystems Ideas news bulletin! Read on to learn what has happened on the Ideas Portal since the previous bulletin:

​​​​✓ More than 200 ideas are already on the portal 

✓ Idea was implemented by a Community member

✓ Implement an idea and get a tech bonus on the Grand Prix 23 Contest

✓ Ideas posted recently

85,400+ Big Ideas Stock Photos, Pictures & Royalty-Free Images - iStock |  Think big, Innovation, Idea 

3
0 404
Article Luis Angel Pérez Ramos · Jul 11, 2023 8m read

We return to the attack with our EMPI!

In previous articles we have seen how to configure and customize our EMPI, we have seen how we can include new patients in our system through HL7 messaging, but of course, not everything is HL7 v.2 in this life! How could we configure our EMPI instance to work with FHIR messaging?

What is FHR?

For those of you who are not too familiar with the term FHIR, just indicate that they are the initials of Fast Healthcare Interoperability Resource. FHIR is a healthcare interoperability standard developed by HL7 in which, based on the JSON format and REST

0
1 426
Announcement Olga Zavrazhnova · Jul 11, 2023

Our next Developer Meetup will take place on July 26, 17:30 pm at the CIC Venture Café in Cambridge.

Join us to learn Generative AI Use Cases + Reference Architecture in Healthcare, witness the demo of LLMs in Healthcare and share your thoughts on the topic.

RSVP here

 

0
0 406
Question Alexander Obolenskiy · Jul 7, 2023

Hi everybody,

I am writing an SQL query of the following form:

SELECT
(SELECTCOUNT(*) FROM DataTable WHERE Condition1 AND Condition2),
(SELECTCOUNT(*) FROM DataTable WHERE Condition1 AND Condition3),
(SELECTCOUNT(*) FROM DataTable WHERE Condition1 AND Condition4),
(SELECTCOUNT(*) FROM DataTable WHERE Condition1 AND Condition5),
user.id
FROM UserTable user

where Condition1 depends on user and is the same for all four COUNT(*) subqueries.

5
0 854
Question Scott Roth · Jul 10, 2023

Trying my first REST call operation to our internal EMR (Epic) server, and I am receiving "ERROR #6097: Error '<READ>Read+28^%Net.HttpRequest.1' while using TCP/IP device '9999'" when I attempt to test my operation. When I look up the General Error Messages for 6097 I am seeing...Error '%1' while using TCP/IP device $zu(189,1)='%2'. What does this mean? 

I am trying to connect to the server over port 443 which is HTTPS but I am not using an SSL Configuration. Could that be the issue? 

Is there a way to debug HTTP like their is with the ISCSOAP log?

1
0 1144
Question Vivian Lee · Jul 7, 2023

Is "time" a reserved word in the %CONTAINS function?

When I run the following SQL query, I get 0 matching results

SELECT ID, text
FROM Test.Sentence
WHERE text %CONTAINS('time') OR text %CONTAINS('time ') OR text %CONTAINS(' time')

However, when I run a query where the search string contains words other than "time" alone, it returns the expected matching results

SELECT ID, text
FROM Test.Sentence
WHERE text %CONTAINS('providers time money') OR text %CONTAINS('providers time') OR text %CONTAINS('time money')

It also works if I try to search for "tim" or "ime"

SELECT ID, text 
FROM Test.Sentence
7
1 482
Question Steven Coker · Jul 10, 2023

Hello, I am trying to write a script that will output a .log file. When I get PowerShell to parse the file with Get-Content, I find that there are extra spaces in the parsing. How can I edit my Intersystems script to output a logfile encoded differently? I think its outputting in unicode by default.

2
0 263