All time
InterSystems Developer Community is a community of 25,433 amazing developers
We're a place where InterSystems IRIS programmers learn and share, stay up-to-date, grow together and have fun!

Hi developers!

Just want to share an old but always relevant best practice on namespaces changing @Dmitry Maslennikov shared with me (again).

Consider method:

classmethod DoSomethingInSYS() as %Status

{

set sc=$$$OK

set ns=$namespace

zn "%SYS"

// try-catch in case there will be an error

try {

// do something, e.g. config change

}

catch {}

 zn ns    ; returning back to the namespace we came in the routine

return sc

}

And with new $namespace the method could be rewritten as:

classmethod DoSomethingInSYS() as %Status

{

set sc=$$$OK

new $namespace

set $namespace="%SYS"

// do something

return sc

}

So! The difference is that we don't need to change the namespace manually as it will be back automatically once we return the method.

and we don't need try-catch (at least for this purpose) too.

4 5
0 811

InterSystems IRIS for Health ENSDEMO

Yet another basic setup of ENSDEMO content into InterSystems IRIS for Health.

Make sure you have Docker up and running before starting.

Setup

Clone the repository to your desired directory

git clone https://github.com/OneLastTry/irishealth-ensdemo.git

Once the repository is cloned, execute:

Always make sure you are inside the main directory to execute docker-compose commands.

5 14
0 631

Hi Community!

It's time to celebrate our 25 fellow members who took part in the latest InterSystems Technical Article Contest and wrote

🌟 38 AMAZING ARTICLES 🌟

The competition was filled with outstanding articles, each showcasing innovation and expertise. With so many high-quality submissions, selecting the best was no easy task for the judges.

Let's meet the winners and look at their articles:

11 21
0 490

Hi,

A device is sending me HL7 messages (ORM^O01)

the framing is set to "None"

and i get the following error:

3 Segments
Build Map Status = 'ERROR <EnsEDI>ErrMapRequired: Missing required PID element at segment 2 (PID)'
'ERROR <EnsEDI>ErrMapRequired: Missing required OBR element at segment 2 (PID)'
'ERROR <EnsEDI>ErrMapSegUnrecog: Unrecognized Segment 2:'PID' found after segment 1 (MSH)'

i seems that there framing chars in at the beginning and end of each segment

(in Hex)

0 3
0 907

I am currently working on an Upgrade to HealthShare 2019.1.1. As described in the steps once the upgrade was complete to run $system.OBJ.Upgrade(). When I run $system.OBJ.Upgrade() , it is not finding any classes to update. However I am getting an Error 5116 on one of my Productions...

Class dictionary version for '%1' is out of date, please run upgrade utility $system.OBJ.Upgrade()

1 5
1 905
Question
· Jan 3, 2019
n00b questions

Hello,

I have some beginner questions as I am working through the InterSystems Cache learning path:

- Where I work, we us Cache, but we often learning about and train on MUMPS. No one really talks about or mentions MUMPS here, but my understanding is that ObjectScript is basically MUMPS plus whatever new things InterSystems put on top of it. Is that a fair assessment?

0 16
0 894

This tells me that there is no timezone offset on this table/field:

Select TOP 1 GETDATE() as Now, TimeCreated FROM ens.messageheader ORDER BY TimeCreated DESC;
Now TimeCreated
------------------- -------------------
2016-10-18 16:16:49 2016-10-18 16:16:31
0 13
0 897

Hi there have been various posts around how to clean up globals without parent data but none have gone into how you solve these issues.

Our database is approaching 600gb in size so i am looking into how to reduce this.

We use standard purge tasks.

Our cache stream class has a global size of 2463243 from running global size so it is what i would like to tackle first.

1) is there any way i can find based on my oldest message session for where most of these globals

0 3
1 906

Hi Developers!

We are introducing a new feature on Dev Community site – Key Questions by InterSystems Developers.

We've added a new special #Key Question tag to highlight questions related to InterSystems Data Platforms considered as having the biggest impact.

Each month InterSystems Experts will choose such questions, and those authors will be awarded with all the honours!

What honours? Details in this post!

5 6
0 788
Article
· Feb 8, 2021 2m read
Websocket Client Embedded Python

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

How to Test it

  • Run an Iris Session in Docker
  • Select your WebSocket Echo Server
  • Enter the text you want to send or generate it
  • Send it and see the result
$ docker-compose exec iris iris session iris "##class(rccpy.WSockPy).Run()"

*** Welcome to WebSocket Embedded Python Demo ***

9 0
0 908

Cache 2016.2.1.603 for windows)

I created a few classes and one class called jitPod.Api.toServer.additionalConsignments and realised even before I did any work,, that the word "Api" (note capital A) needed to be "api" (all lowercase)

it would not allow copying the class to the lowercase name because the directory already exists (i understand that)

so I exported the class to an XML, edited the xml to become lowercase "api" , deleted all the classes (and directory name) and re-imported the class.

0 19
0 889

Introduction

Say you have a receiving system that accepts HL7 and provides error messages in field ERR:3.9 in the ACK it returns. You require a different reply code action depending on the error message, however the Reply Code Actions settings for the operation do not provide this level of granularity. One option could be to create a process that takes the ACK and then completes the action you were expecting, however things can get a bit messy if the action is to retry the message, especially when trying to view a message trace.

9 2
1 867
Article
· Aug 8, 2017 1m read
Outperforming PostgreSQL and MySQL

In a previous exercise, I was able to show the power of Caché.
A medium-designed set of interdependent tables with some GB of data.
URLs cross reference over some million pages resulting in ~3 billion records

Competition was between

  • Caché
  • PostgreSQL
  • MySQL

Criteria were Speed + Storage consumption
I composed a customized loader fed over a "raw" TCP connection
Mapping the "objects" into the final table by directly writing to Global Storage.,

17 3
0 847

Hi,

I am wondering if there is a way I can change the GUID of an instance. The use case is that I am restoring from a backup on an alternate host and start the instance there. However, the restored instance ends up with same GUID as that of source. Is there a way I can tell this newly restored instance to use a different GUID?

Thanks,

Raghu

0 19
0 888

Good morning!

I am developing a Java project (Spring Boot + Maven + Hibernate) but I've a big issue when I try to define the Hibernate Dialect org.hibernate.dialect.InterSystemsIRISDialect... that dialect is neither in the Hibernate library nor in the IRISDriver class com.intersystems.jdbc

How should I define the IRISDialect in my project?

Thank you in advance!

0 5
0 901
Article
· Jun 13, 2016 1m read
Debug: using locks for breakpoints

Hi, Community!

Want to share with you one debugging approach from the Russian forum.

Suppose I want to debug the application and I want it to stop the execution on a particular line.

I add in code this line:

l +d,-d

When I want to start debugging in this line I block d in terminal

USER> l +d

And execute the app.

The app stops on this line and lets me connect to it with Studio debugger.

0 8
1 746

In looking at the Production monitor within Ensemble, I was wondering if there is a way we could customize it for our use. I notice it is basically a dashboard.

For example I would only like to truly display those Services, Processes, and Operations that are truly in dire need of attention. The Monitor out of the box just seems too busy, and I would like to simplify it.

0 2
3 904

Ran into an issue with our upgrade from HealthShare Health Connect 2018.1.3 to IRIS HealthShare Health Connect 2022.1, that I thought I would reach out about, I already have a ticket open with WRC and started a chat on Discord. We have a couple of MS SQL tables that I have setup as Linked Tables within Cache to query NPI, Patient Account Information, Visit information, etc... When we upgraded last week we found that within a day or even a half a day that we were having problems with our JDBC connections.

0 19
0 886

Hi Community,

We've launched a nice competition on Global Masters under the "Season of Giving" campaign, which I hope will bring inspiration to all of you!

We inviting you to share your task ideas for new applications that could be developed on InterSystems Technology. Let's enrich our Open Exchange apps gallery with great applications in 2021!

6 42
0 863

Hello everyone,

Im just wondering if there is any possibility to "Listen" to a cache DB? We have our cache DB somewhere else provided by a different company, we are provided the interface to connect to that cache DB so we can extract the cache DB every night.

Im just curious if theres a way to "listen" to the cache DB, so if theres any changes on the table in the cache DB, I could make a trigger to extract the table again.

I know i could just set my ETL every hour or so... but that would extract all the tables in cache DB.

0 9
0 896

Hello!

Intersystems is a fascinating yet niche marketed.
We are using it, but we struggle to find good developers to join us to work on Caché or Ensemble products.

Who is interested into joining us? the job will be in Geneva, Switzerland!

For more information, please drop me an email to: erika.stegagnini@ch.randstad.com or call me directly +41 58 2015408.

Thanks!
Erika

1 0
0 905

Hi All,

It must be the groundhog days but I can't solve something that I know I've done before. I have a legacy CSP page on a version of Cache without JSON and just pure Cache.

I need a CSP page that takes a .xlsx file, manipulates the file (in COS) and then returns a new manipulated file.

My CSP Page gets the file fine, the problem is then returning the response with the new file as an attachment. I don't want to pipe to a new csp page with a different content-type so was sure I can set %response.Headers etc to get the reply stream I want.

0 6
0 898