#InterSystems IRIS for Health

10 Followers · 2.4K Posts

InterSystems IRIS for Health™ is the world’s first and only data platform engineered specifically for the rapid development of healthcare applications to manage the world’s most critical data. It includes powerful out-of-the-box features: transaction processing and analytics, an extensible healthcare data model, FHIR-based solution development, support for healthcare interoperability standards, and more. All enabling developers to realize value and build breakthrough applications, fast. Learn more.

Article Daniel Aguilar · Jun 29, 2023 2m read

Hello Community!

I'm going to try to explain how to create test for Postman collections for use it with my app IRIS Api Tester.

 

Yet, What is Newman?:

Newman is a command-line tool that allows you to run Postman collections in an automated and scalable way. By creating tests in Newman, you can ensure the reliability and correctness of your API endpoints. In this article, we will explore how to create tests for Newman in Postman, along with practical examples to help you get started.

0
0 465
Article Mihoko Iijima · Jun 29, 2023 3m read

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.

Class MyWork.
0
0 383
Question Lakshmi Ankireddipalli · Jun 16, 2023

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.  

In our requirement, Global mapping should point to 120 DataDbs.

7
0 473
Question Gautam Rishi · Jun 29, 2023

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)

}

}

2
0 365
Question Gautam Rishi · Jun 29, 2023

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

1
0 443
Announcement Emily Geary · Jun 27, 2023

A set of 14 interactive practice questions are now available for the InterSystems HL7® Interface Specialist Certification exam. These questions have all been developed by our subject matter experts. Feedback for these questions include documentation resources and online learning content.

If you're interested in taking our InterSystems HL7® Interface Specialist exam, we highly recommend these questions.

0
0 399
Question Luis Angel Pérez Ramos · Jun 19, 2023

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.

Is this a known problem? Should I try another version? Maybe have I just to sit down in a corner and cry like a baby?

2
0 390
Question Gautam Rishi · Jun 25, 2023

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"

}

 

This is I think IRIS defined, I want to customize my own Internal server error. 

6
0 593
Article Hiroshi Sato · Jun 22, 2023 1m read

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.

0
0 632
InterSystems Official Fabiano Sanches · Jun 21, 2023

InterSystems announces its fourth 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. Note that some of these features or improvements may not be available in this current developer preview.

0
0 276
Question Pietro Montorfano · Jun 16, 2023

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!

1
0 249
Question Gautam Rishi · Jun 19, 2023

getting an error while installing  git-source-control
Log of error 
 

zpm "install git-source-control"

[TTN|git-source-control]    Reload START (/Users/irisusr/mgr/.modules/TTN/git-source-control/2.2.0/)
[TTN|git-source-control]    Reload SUCCESS
[git-source-control]    Module object refreshed.
[TTN|git-source-control]    Validate START
[TTN|git-source-control]    Validate SUCCESS
[TTN|git-source-control]    Compile START
[git-source-control]    Compile FAILURE
ERROR! Error registering reference '^Studio.SourceControl.ChangeI("$Change")' for use by 'SourceControl.Git.Change.

0
0 153
Announcement Anastasia Dyubaylo · Jun 17, 2023

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

0
0 237
Question Samantha Forish · Jun 16, 2023

I am working with a REST API JSON Response that contains a list of integers (departmentids).

JSON Response:

{
"status":"ACTIVE",
"departmentids":[
72
],
"subscriptions":[
{
"eventname":"LabResultAdd"
},
{
"eventname":"LabResultUpdate"
},
{
"eventname":"LabResultClose"
}
]
}

 

I am having trouble getting that to parse into my custom message structure using the %JSONImport method.

do pResponse.%JSONImport(tHttpResponse.Data.Read())

Here is my custom message class (pResponse):

Class AH.AHLIB.Custom.Athena.Message.GetEventsSubscribedResponse Extends (Ens.Response, %JSON.
1
0 305
Question Eduard Lebedyuk · Jun 15, 2023

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:

2
0 373
Article Megumi Kakechi · Jun 15, 2023 1m read

InterSystems FAQ rubric

Query cache can be purged programmatically using the Purge* methods of the %SYSTEM.SQL class.

*For details of each method, please refer to the following documents.

%SYSTEM.SQL class【IRIS】

%SYSTEM.SQL class

① When deleting all query caches in the system

Do $SYSTEM.SQL.PurgeAllNamespaces()


② When deleting the query cache in the namespace

// delete all cached queries in namespace
Do $SYSTEM.SQL.Purge()
// when deleting the query cache specified by date
// the following deletes the cache not used in the last 30 days

Do $SYSTEM.SQL.
0
0 423
Article Pietro Montorfano · May 23, 2023 3m read

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.

1
2 628
Article Hiroshi Sato · May 25, 2023 2m read

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.

See the class reference %SYSTEM.OBJ for details on $system.OBJ.Export().

b. Use $system.OBJ.Export() even when exporting with wildcards. For example:

do $system.OBJ.Export("*.mac",c:\temp\allmacroutines.xml")

*Before version 2008.1, use $system.

2
2 847
InterSystems Official Fabiano Sanches · Jun 13, 2023

InterSystems has corrected a defect that causes increased process memory usage.

Specifically, the increased consumption of local process partition memory occurs when executing $Order,  $Query, or Merge on local variables.  While this will have no detrimental impact for most running environments, environments that support a large number of processes or closely limit Maximum Per-Process Memory could be impacted.  Some processes may experience <STORE> errors.

The defect exists in 2023.1.0.229.0 but it is reposted as 2023.1.0.235.

0
0 388
Article Alex Woodhead · Jun 10, 2023 5m read

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()

Script start

#Load dependencies

import datetime as dt
import uuid

# Cache current time in CCYYMMDDHHMMss format
hl7_datetime_now=dt.datetime.now().
0
2 670
Article Mihoko Iijima · Jun 8, 2023 1m read

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.

DECLARE CURSOR C1 IS
SELECT Name FROM Person WHERE Name LIKE 'A%' FOR UPDATE
OPEN C1
LOOP FETCH C1 INTO name 
.
0
0 399
Article Hiroshi Sato · May 18, 2023 2m read

InterSystems FAQ rubric

Using the Config.Configuration class and SYS.Database class methods, you can create and register a namespace database from the terminal.

Below is a series of execution examples that create database file /CacheDB/AAA/cache.dat and register database AAA and namespace AAA in the configuration file (cache.cpf).
* Execute in the %SYS namespace. *

* Make sure that this script runs as the user  that is used for all IRIS processes to ensure that the directory has appropriate ownership and permissions *

Set Directory="/CacheDB/AAA/"
Set x=##class(%File).
3
0 542