Article
· Oct 11, 2022 2m read
ZPM Simple Implementation Cookbook

ZPM is designed to work with applications and modules for InterSystems IRIS Data Platform. It consists of two components, the ZPN Client which is a CLI to manage modules, and The Registry which is a database of modules and meta-information. We can use ZPM to search, install, upgrade, remove and publish modules. With ZPM you can install ObjectScript classes, Frontend applications, Interoperability productions, IRIS BI solutions, IRIS Datasets or any files such as Embedded Python wheels.

Today this cookbook will go through 3 sections:

19 10
10 863

InterSystems FAQ rubric

For volatile tables (tables with many INSERTs and DELETEs), storage for bitmap indexes can become inefficient over time.

For example, suppose that there are thousands of data with the following definition, and the operation of bulk deletion with TRUNCATE TABLE after being retained for a certain period of time is repeatedly performed.

3 0
0 209

We are trying to come up with huge DataStore which needs to store HIPAA transactions and Data getting partitioned with idkey - YYYYMM. Current Live data get inserted into current Month DB - HIPAA_202306. 10 years (Hipaa retention policy) old data is going to be sitting in to 120 DBs ( 201606_HIPAA, 201607... 202305) for historical audit legal compliance purposes.

Currently if we create Namespace we get 2 databases - CODEDB for routes/classes & DATADB for journals data.

0 7
0 318

Hi All,
I was creating a unit test directory with the below script. But it not creating any directory as mentioned in code. I am working on MacBook with irisusr User as standard installation process.

if '$data(^UnitTestRoot) {

set mainFolder = "UnitTest\NewDir\"

set st = ##class(%File).CreateDirectoryChain(mainFolder _ testSuite)

if $$$ISOK(st) { set ^UnitTestRoot = mainFolder }

else {

write !, "UnitTestRoot folder could not be created. Consult with instructor."

do $system.Status.DisplayError(st)

}

}

0 2
0 170

Getting INVALID OREF error while unit testing. Also ResultDyanmicObj.Headers.%Size(),DummyResponse.Headers.%Size() these are working fine getting 7 value from both. but still it is not working.

do $$$AssertEquals(ResultDyanmicObj.Headers.%Size(),DummyResponse.Headers.%Size(), "Validation for Headers")

error - INVALID OREF>TestAccountSearchWithoutAccount+6

0 1
0 196

Hi community members!

I'm trying to deploy a container based on IRIS Community for Health ML image available from this url but when I start the container the memory consumption skyrockets to 99% making impossible to work with the instance (it never goes below the 95% of the memory). When I do the same with the IRIS Community for Health image it never goes over 80% of memory.

0 2
0 249

Hello all,
I am creating a REST API with a spec-first approach. However, I am using the try-catch method to handle any exception if any occurs. But whenever any error related to syntax or something occurs, we get internal server error

{

"errors": [

{

"code": 6220,

"domain": "%ObjectErrors",

"error": "ERROR #6220: Internal Server Error",

"id": "InternalError"

}

],

"summary": "ERROR #6220: Internal Server Error"

}

0 6
0 265
Article
· Jun 22, 2023 1m read
Countermeasures against SQL injection

InterSystems FAQ rubric

Countermeasures against SQL injection have been published on various websites, but we believe that it is possible to prevent SQL injection in applications using InterSystems SQL as well as other RDBMS by implementing these countermeasures appropriately. In addition, InterSystems Data Platform (hereinafter referred to as IRIS) incorporates several measures that make SQL injection more difficult than general RDBMS.

4 0
0 393

Hey Developers,

Watch this video to learn how to leverage InterSystems IRIS Natural Language Processing to analyze patient portal messages and improve patient engagement:

Use Natural Language Processing to Drive Patient Engagement @ Global Summit 2022

https://www.youtube.com/embed/k60gsuH7rmI
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]

2 0
0 168

Hi,
i got 2 server with iris instances on them:

srv1
irisinstance1 port 51773/52773
irisinstance2 port 51774/52774

srv2
irisinstance3 port 51773/52773
irisinstance4 port 51774/52774

Both of them have apps published on an external apache on port 443 and i would like to publish irisinstance1 and irisinstance2 on port 443 of srv2.

Something like https://srv2/mgmt1/csp/sys/UtilHome.csp and similar to mgmt2.

I've tried with proxypass without luck.

How can i do that? Is there a guide?

Thanks!

0 1
0 155

Hi Community,

Watch this video to learn how to manage your HealthShare HealthConnect Cloud deployments using the InterSystems CloudServices Portal. Inspect the details of your deployment, create users and productions in Health Connect Cloud, and access the System Management Portal for a given deployment:

Navigating the Health Connect Cloud Portal

https://www.youtube.com/embed/Lyx6TlSWCGQ
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]

2 0
0 140

How to import Custom Schemas from VSCode? They look like this:

<?xml version="1.0"?>
<Category name="ITK" description="xmlns:hl7='urn:hl7-org:v2xml' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'" std="1">
<MessageType name='ACK' structure='ACK' returntype='ACK' description='xsi:schemaLocation="urn:hl7-org:v2xml ACK.xsd"'/>
</Category>

Instead of wrapped XML export produced by $system.OBJ:

0 2
0 198

Intro

If you ever wondered how to debug some requests that are being made to or from IRIS, well here is a little tutorial on how to do that.

During a complex project, usually you get the specifications and implement the communication between IRIS and other things based on that. But from the paper to the real world there's usually a huge gap and you need to know why you are receiving an error on a parameter, on a header, you are not receiving the data and so on.

6 1
2 335
Article
· May 25, 2023 2m read
API to import/export routines

This is an article on the InterSystems FAQ site.

1. Export API

a. Use $system.OBJ.Export() to specify individual routines to export. For example:

do $system.OBJ.Export("TEST1.mac,TEST2.mac","c:\temp\routines.xml",,.errors)

The format to specify is routine name.extension, and the extension is mac, bas, int, inc, obj.

Errors during export are stored in errors.

7 2
2 380

Written in reply to community post for can Python create HL7 Message dynamically.

Pre-requisites and setup

Use an integration enabled namespace.
Note: USER namespace is not enabled for interoperability by default.
If following suggest create a new interoperatibility namespace to explore functionality.

# Switch to
ZN "[Interoperability Namespace Name]"

# Launch interactive Python shell:
Do $SYSTEM.Python.Shell()

4 0
2 322
Article
· Jun 8, 2023 1m read
How to write SELECT ... FOR UPDATE

InterSystems FAQ rubric

Since SELECT ... FOR UPDATE is implemented in many RDBMS as a method of explicit row lock acquisition, I think there are many cases where this function is used.

This syntax is not an error for InterSystems products, but it does not acquire row locks as expected.

This article will show you how to achieve equivalent functionality.

4 0
0 240