Article Megumi Kakechi · Dec 5, 2024 1m read

InterSystems FAQ rubric

If you want to raise an arbitrary custom error in a TRY block, you can pass an exception with a throw as follows. In the following example, a custom error is raised if Stcount is less than 1.

Class User.Test
{

ClassMethod ExceptionTest()
 {
    try
    {
      // : some codesif (Stcount<1) {
          throw##class(%Exception.General).%New("User-defined error", "5001", "location", "Data at location error")
          // User-created errors are 5001 and above
      }
    }
    catch ex
    {
      write"Errors #", ex.Code, ": ", ex.Name, " : ",
1
2 535
Article Ashok Kumar T · Sep 8, 2025 19m read

FHIR Server

A FHIR Server is a software application that implements the FHIR (Fast Healthcare Interoperability Resources) standard, enabling healthcare systems to store, access, exchange, and manage healthcare data in a standardized manner.

Intersystems IRIS can store and retrieve the following FHIR resources:

  • Resource Repository – IRIS Native FHIR server can effortlessly store the FHIR bundles/resources directly in the FHIR repository.
  • FHIR Facade - the FHIR facade layer is a software architecture pattern used to expose a FHIR-compliant API on top of an existing one (often non-FHIR). It also streamlines the healthcare data system, including an electronic health record (EHR), legacy database, or HL7 v2 message store, without requiring the migration of all data into a FHIR-native system.

What is FHIR?

Fast Healthcare Interoperability Resources (FHIR) is a standardized framework created by HL7 International to facilitate the exchange of healthcare data in a flexible, developer-friendly, and modern way. It leverages contemporary web technologies to ensure seamless integration and communication across various healthcare systems.

0
3 369
Question Fiona Griffiths · Mar 11, 2025

Hi

I'm trying to assess whether git-source-control will work for our development environment.  I've watched some videos and read the documentation and read some posts and I'm still unsure whether it works with multiple developers using a shared remote development environment (i.e. namespace).  This [Video] Let InterSystems IRIS Do the Work: Git Source Control & Linting says that you can have multiple developers and says it's "Package Manager-aware (supporting multiple repos in one namespace)" whereas  this post on the git-source-control github Remote development and multiple users · Issue #613

3
0 239
Article Andre Ribera · Nov 15, 2024 2m read

I have a large tree outside my window. Here in Phoenix, Arizona, USA it's still warm and sunny so our plants are still covered in lush foliage despite so many other places in the full throws of Autumn. My desk is oriented such that I can look out at the tree throughout the day. Part of the reason I like having my desk facing the tree is because I need the break from staring at the computer screens but the other reason is because I need reminders from nature from time to time.
Today I'm reminded of two things:

  1. Growth requires absorbing from your environment
  2. Growth doesn't always happen in the
2
6 438
Question Scott Roth · Aug 4, 2025

I am trying to help another group within our organization access a SQL Table that I have created to populate Epic Department Data within our environment and came across the ability to use SQL Seach REST Interface using iKnow.

However, I am having issues trying to get it to work via POSTMAN before I hand off the solution...

the POST URL... https://<servername>/api/iKnow/latest/TESTCLIN/table/osuwmc_Epic_Clarity.DepartmentMaster/search

where osuwmc_Epic_Clarity.DepartmentMaster is the table

In the body...

{"query":SELECT ID, Abbr, Name, ExternalName, PhoneNumber, ApptPhone, FaxNumber, Address1,
15
1 237
Article Ariel Glikman · Sep 7, 2025 1m read

Often times when working with FHIR data, for example with IRIS For Health, you'll find it useful to create a custom FHIR operation. The FHIR Standard comes with a set of defined operations (such as $everything) but a custom operation comes in handy when you need to create some extra functionality that goes beyond the set of standard FHIR operations. The docs take you step-by-step (though this comment may be helpful to those of you just getting started).

0
0 69
Article sween · Feb 18, 2025 5m read

Professional Grade FHIR® to OMOP Transformation

Lets zero in on the use of the word professional and put it into some context.  It was written by industry experts who wrapped it up in a fee based service with support and some guardrails around flexible options to contribute to its behavior.  I feel its an important distinction to either an open or home grown solution (though it may do the same thing) to consider it to scale or provide mission critical value on the other side of it. The OHDSI community has an entire competency around the subject of ETL to the OMOP database,  WhiteRabbit for

1
0 276
InterSystems Official Bob Kuszewski · Aug 15, 2025

Welcome to the 2025 third quarter update.

Last quarter, we had a few important announcements that are worth reiterating this quarter.

  • RHEL 10 support was added to IRIS 2025.1
  • 2025.3 will use OpenSSL 3 across all operating systems SUSE 15 sp6 will be the minimum OS for orgs using SUSE
  • The minimum CPU standards are going up in 2025.3
  • Older Windows Server operating systems will no longer be supported in 2025.3

If you’re new to these updates, welcome!

2
0 270
Article Hiroshi Sato · Nov 21, 2024 1m read

InterSystems FAQ rubric

Mirroring only synchronizes database files.

To synchronize other files required for your application (CSP files, images, documents, etc.) between the two servers that make up the mirror set follow one of the approaches:

  1. Place those files on a shared disk by introducing a NAS or similar device
  2. Or use file sync software to synchronize files between two servers.
2
1 311
Question 지용 김 · Sep 4, 2025

Hello,

I am currently maintaining a legacy application that was developed in ObjectScript and accesses data by working directly with globals.
For a new program, however, I plan to access the same global data through SQL-mapped classes.

I have two questions regarding this approach:

  1. If I define indexes in the SQL-mapped class, what potential impact (if any) could this have on the existing legacy application that directly accesses the globals?
  2. I’ve read that when an index is defined in an SQL class, it will not be automatically updated if data is modified directly in the global (outside of SQL
1
0 72
Question Jonathan Harris · Sep 4, 2025

..Contains(source.{ORCgrp(x1).OBRuniongrp.NTEi2(x2):Comment(x3)},"(")&&..Matches(source.{ORCgrp(x1).OBRuniongrp.NTEi2(x2):Comment(x3)},"^[A-Z][0-9][0-9]$")

I want to do this to match strings such as X98. Community AI tells me this is correct but I get an error in testing. Specifically, this is the part causing the error;
..Matches(source.{ORCgrp(x1).OBRuniongrp.NTEi2(x2):Comment(x3)},"^[A-Z][0-9][0-9]$")


What do I need to change?

1
0 54
Question Matheus Augusto · Sep 4, 2025

Dear, Community!

I have a concern about using %Stream.TmpCharacter for storage purposes. Reading the class's source code, I can understand a bit about how it works. But I'd like to know from the community how it actually works. Is it necessary to use the .Clear() method to clear this buffer, or is it done automatically upon disposal?

Note: Please forgive my poor English.

6
0 130
Article Megumi Kakechi · Sep 4, 2025 2m read

InterSystems FAQ rubric

In InterSystems IRIS, you can create linked tables using commands, instead of using System Explorer > SQL > Wizard > Linked Tables in the Management Portal:

To create a linked table, use the CreateLinkedTable method of the %SYSTEM.SQL.Schema class. See the class reference for details.

To execute it, follow these steps:

set sc = $SYSTEM.SQL.Schema.CreateLinkedTable("<dsn>","<Schema>","<Table>","<primaryKeys>","<localClass>","<localTable>","")

/// 1st argument: dsn - SQL Gateway connection name/// 2nd argument: Schema - Source schema name/// 3rd argument: Table -
0
1 120
Question Prakash Hinduja · Sep 4, 2025

Hi Everyone, I'm Prakash Hinduja, a financial advisor and consultant. My roots in India now living in Geneva, Switzerland (Swiss). I'm looking for some suggestions on how to get the best performance from Adaptive Analytics 2023.2. I know it uses Adaptive Parallel Execution and automatic aggregates, but I'm curious if you've found any other tips or tricks. For example, are there any specific data modeling choices or system configurations that have worked well for you? I'm trying to make our cubes as responsive as possible. Thanks in advance for any insights!

Regards

Prakash Hinduja from Geneva,

0
0 55
Article Evgeny Shvarov · Sep 3, 2025 5m read

Hi folks!

Sometimes, when designing a class method and feeding it with more and more useful features, very soon the number of parameters can reach 10 and even more.

It becomes pretty difficult for users of useful methods to remember the position of the important parameter, and it is very easy to misuse the position and transfer the wrong value to the wrong parameter.

Here is an example of such a method (I asked GPT to create a method with 20 params):

ClassMethod GenerateReportWith20Params(
    pTitle As%String = "",
    pAuthor As%String = "",
    pDate As%String = "",            // e.g. 2025-09-03
    pCompany As%String = "",
    pDepartment As%String = "",
    pVersion As%String = "1.0",
    pFormat As%String = "pdf",       // pdf|html|docx
    pIncludeCharts As%Boolean = 1,
    pIncludeSummary As%Boolean = 1,
    pIncludeAppendix As%Boolean = 0,
    pConfidentiality As%String = "Public",
    pLanguage As%String = "en",
    pReviewers As%String = "",       // CSV, e.g. "Alice,Bob"
    pApprover As%String = "",
    pLogoPath As%String = "",
    pWatermarkText As%String = "",
    pColorScheme As%String = "default",
    pPageSize As%String = "A4",
    pOrientation As%String = "Portrait",
    pOutputPath As%String = "report.pdf"
) As%Status
{

// implementation
}
0
1 109
Announcement Michael Braam · Aug 29, 2025

#InterSystems Demo Games entry


⏯️ Copilot for InterSystems Embedded BI

The Co-Pilot enables you to leverage InterSystems BI without deep knowledge in InterSystems BI. You can create new cube, modify existing cubes or leverage existing cubes to plot charts and pivots just by speaking to the copilot.

Presenters:
🗣 @Michael Braam, Sales Engineer Manager, InterSystems
🗣 @Andreas Schuetz, Sales Engineer, InterSystems
🗣 @Shubham Sumalya, Sales Engineer, InterSystems

2
0 121
Question Touggourt · Sep 2, 2025

Hi Guys,

I get the below error when trying to compile an imported class in IRIS, it compiles if I remove [ Collection = list ] so not sure about the use of  [ Collection = list ] and if removing it would affect anything and its just a duplication?

Thanks

3
0 71
Question Scott Roth · Sep 2, 2025

I created a Custom Search Table that extends EnsLib.HL7.Search Table. I saved, compiled, and rebuilt the index however when I go into Message Search to try to use the Search Table, within the conditions the proper fields are not showing up that was defined. It is showing the fields from EnsLib.HL7.SearchTable. I did a build index on both EnsLib.HL7.SearchTable and OSU.HL7.SearchTable.

Class OSU.HL7.SearchTable Extends EnsLib.HL7.SearchTable
{

Parameter DOCCLASS = "EnsLib.HL7.Message";Parameter EXTENTSIZE = 4000000;

XData SearchSpec [ XMLNamespace = "http://www.intersystems.com/EnsSea
6
0 113
Announcement Larry Finlayson · Sep 2, 2025

Managing InterSystems Servers – In-Person  September 29-October 3, 2025
  • Configure, manage, plan, and monitor system operations of InterSystems Data Platform technology
  • This five-day course teaches system and database administrators how to install, configure and secure InterSystems server software, configure for high availability and disaster recovery, and monitor the system. Students also learn troubleshooting techniques.
  • This course is applicable to both InterSystems IRIS and Caché.

0
0 32