It is clear how to get the request header value with a specific name:

Class My.RestController Extends %CSP.REST
{

ClassMethod processRequest() As %Status
{
    #dim request as %CSP.Request 
    set request = %request
    set h = ##class(%REST.Impl).%GetHeader("...")
    ...    
    return $$$OK
}

But I can't figure out how to enumerate ALL the request headers (and also get all values).

1 7
0 743

While I can query the HL7 message class EnsLib.HL7.Message (EnsLib_HL7.Message for SQL) to my heart's content in the SQL Shell or the Management Portal's SQL page, I can't seem to SELECT anything other than ID/%Id from an ADO/ODBC client. Properties such as TimeCreated, Name, MessageTypeCategory, etc. all seem to prevent the query from ever completing EXCEPT when I provide the ID as part of the WHERE criteria.

This works fine in the Management Portal and Shell:

0 7
0 491
Article
· Oct 17, 2024 2m read
ORU to MDM with large HL7 v2 messages.

I was working on a DTL but kept getting ERROR #5002... MAXSTRING errors. The problem was that most of the DTL GUI action steps only support the string data type when working with the segments. A %String has a limit of 3,641,144 characters and my OBX5.1 was 5,242,952 characters long as the example provided. Of course PACS admin stated ultra high quality up to and including 4K resolution files were needed, so we could not get the vendor to compress or reformat these files to compressed jpg or something similar.

3 7
1 302

Hi Friends,

I have created one utility method to check given id exist some reference table or not. If exist the method return1 otherwise 0.

But some times the backed table data will be reload with another process (REST request) , on any point of time. This reload process max it will take 30 seconds.

My Requirement is , the utility method should wait , if table reload is in progress.

Could you give me any suggestion for this issue.

Thanks,

Prashanth

0 7
0 261

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 406

I had a question about using ZSTART, ZSTOP, and ZMIRROR.

  • If we use them and it is not correct, does it mess up with any of the existing functionality?
  • So, if I create a ZSTART with a simple command of starting the %JDBC Server will that mess up anything existing in the Startup sequence?
  • Is ZSTART, ZSTOP, and ZMIRROR just an extension of the existing functionality, or does it alter how the built in functionality runs?
  • Should we tread lightly in the use of them?
2 7
1 398

At the moment we're creating multiple BPLs are using a router (or another BPL) to direct to these based on a unique key modulo the amount of BPLs available, e.g. if we have 3 BPLs created.

Message key = 1 mod 3 + 1 -> BPL02
Message key = 2 mod 3 + 1 -> BPL03
Message key = 3 mod 3 + 1 -> BPL01

FIFO only matters in that each messages for each key is processed in order.

1 7
0 137

Database systems have very specific backup requirements that in enterprise deployments require forethought and planning. For database systems, the operational goal of a backup solution is to create a copy of the data in a state that is equivalent to when application is shut down gracefully. Application consistent backups meet these requirements and Caché provides a set of APIs that facilitate the integration with external solutions to achieve this level of backup consistency.

1 7
2 2.8K
Question
· Feb 23, 2021
Logging for "Dead" Processes

Today we had an issue where a couple of our IRIS "processes" had a status of "Dead".

How do I configure IRIS so that, when that happens, IRIS will log an event to messages.log or alerts.log?

We are forwarding the contents of both of those logs to Splunk for analysis, and I'd like to be able to see those events in there as well.

0 7
0 407

InterSystems announces its third developer preview, as part of the developer preview program for the 2023.1 release. Many updates and enhancements have been added in 2023.1 and there are also brand-new capabilities, such as production-ready support for Columnar Storage, ability to use Bulk FHIR, and support to MacOS 13 Ventura. Some of these features or improvements may not be available in this current developer preview.

2 7
0 381

I am often asked by customers, vendors or internal teams to explain CPU capacity planning for large production databases running on VMware vSphere.

In summary there are a few simple best practices to follow for sizing CPU for large production databases:

  • Plan for one vCPU per physical CPU core.
  • Consider NUMA and ideally size VMs to keep CPU and memory local to a NUMA node.
  • Right-size virtual machines. Add vCPUs only when needed.

Generally this leads to a couple of common questions:

5 7
0 6.6K

Hi Community!

We'd like to invite you to join our next contest to share your FHIR knowledge:

🏆 InterSystems IRIS for Health Contest: FHIR for Women's Health 🏆

Submit an application that uses InterSystems FHIR or InterSystems Healthcare Interoperability!

    Duration: November 14 - December 4, 2022

    Prizes: $13,500!

    >> Submit your application here <<

    7 7
    0 3.4K

    I have created a custom Business Process setting called X509CredentialAlias in which I load the name of the credential alias to use for some background processes. I have looked through EnsPortal.Component but do not see an option for selecting X509 certs stored within IRIS. How might I adjust this setting to query all X509 certs saved within IRIS and offer a drop-down selection to the user within the business process? Similar to the EnsPortal.Component.sslConfigSelector.

    0 7
    0 224

    I found myself in the not-so-comfortable situation of working with a Linux system on which someone had accidentally disabled user access to the Linux shell. HealthConnect was running, servicing hundreds of interfaces. To resolve the access issue, though, we needed to bring the host down for the application of a fix.

    Without the shell, the iris command is not available to control the instance, so we were faced with the potential of shutting down the server ungracefully. We wanted to avoid that if possible ...

    6 7
    3 519