Article Philipp Bonin · Jun 19, 2023 3m read
OwnObjectScriptExtensionLogo

OwnObjectScriptExtension

ObjectScript is a powerful language used in InterSystems products like InterSystems IRIS, enabling developers to build robust applications. To enhance the ObjectScript development experience, the OwnObjectScriptExtension is a Visual Studio Code extension that provides a range of tools and features. In this article, we will explore how the OwnObjectScriptExtension can improve your ObjectScript development workflow.


Features

Add Method Description

Writing comprehensive method descriptions is essential for maintaining code clarity and promoting

7
2 652
Question Sukhpreet Singh · Jul 15, 2023

I have created a global say ^myglobal and entered some data. I am storing the name of global in databases and fetching the name based on some criteria. I am getting "^myglobal" in return from databases but i am not able to fetch the data I stored in the global. 

I tried set var = result.global which gives me "^myglobal" in var. Doing WRITE var will return "^myglobal" and not the data i stored in this global.

5
1 442
Question Sam Duncan · Jul 12, 2023

It can sometimes be useful to list or export all of the subclasses that are derived, directly or indirectly, from a given class. In Studio, the Class -> Derived Classes menu option will show such a list, but I'm not aware of a built-in API for programmatically exporting their source code.

Yesterday I wrote some code for exporting derived classes, and I'm thinking about cleaning it up and putting it on Open Exchange.But if there's a simple way to do this that someone has already figured out, I'd be happy to know about that (and help others find that solution) rather than reinventing the wheel.

4
0 459
Article Luis Angel Pérez Ramos · Jul 17, 2023 10m read

Hello again everyone.

In our previous article we saw how to configure our EMPI to receive FHIR messages. To do this we installed the FHIR Adapter that InterSystems made available to us that configured a REST endpoint to which we could send our FHIR message. We would then get the message and transform it to a %String that we would send via TCP to the output of our EMPI configured in our HSPIDATA namespace.

Alright, it's time to see how we retrieve the message, transform it back to a %DynamicObject and parse it to the class used by the EMPI to store the information.

Message reception by TCP

As we

0
0 352
Job Preston Brown · Jul 16, 2023

Strong technical experience with InterSystems Cache Objects, XSLT is a must for this position.
Experience in CACHE/MUMPS technology.
Experience in IHE XCA, XDS.b profiles, CCDA exchange.
Experience in HL7 v2 messaging.
This position is good thru 2023 and very good possibility of extension if budget gets approved.
This position is for Pacific time hours.

We have several temporary open positions for InterSystems Application Developer.  If you are interested, please drop your resume to pbrown@cybercodemasters.com
 

0
0 243
InterSystems Official Andreas Dieckow · Dec 15, 2022 5m read

As previously announced at Global Summit 2022, InterSystems will discontinue shipping or installing an Apache-based web server (often referred to as the private web server or PWS); this change is currently planned for InterSystems IRIS 2023.2. 


With this new approach, you have full control to choose which web server best suits your purposes, and how you configure, maintain, and update it.A key benefit of this change is that you will no longer have to wait for an updated kit from InterSystems to get the latest version, which is important especially in security vulnerability situations.

23
5 2570
Announcement Emily Geary · Jul 14, 2023

Is your InterSystems Certification expiring soon? Have you thought about why you should renew your certification? Are you curious about our recertification process?

Take some time to review our new recertification policy!

Benefits of getting recertified include

  • Keeping your skills current and ensuring you are up to date with the latest technology.
  • Demonstrating a continuous learning mindset.
  • Helping your company maintain organizational certification.

When your certification reaches its last 6 months before expiration, you'll receive an email explaining that you've entered our

0
0 307
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 880
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 427
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 350
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 552
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 383
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 925
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 299
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 472
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 517