#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 Megumi Kakechi · Jan 11, 2024 2m read

InterSystems FAQ rubric

This error occurs when an instance of the class is already open at compile time.

There are two ways to deal with this issue:

  1. Terminate the process or application that has the instance open
  2. Compile options in the studio build menu: Check the compile flag “Compile classes in use” and compile.  

If you want to determine which process is using the class, try the sample routine below.

/// Test.mac
search(classname) public {
    Set pid=""
    Set pid=$order(^$Job(pid))
    While pid'="" {
        Do checkVars(pid,classname)
        Set pid=$Order(^$Job(pid))
    }
1
0 223
Announcement Larry Finlayson · Jan 10, 2024

Developing with InterSystems Objects and SQL – IN PERSON (Cambridge office) February 12-16, 2024   9:00am-5:00pm US-Eastern Time (EST)

  • This 5-day course teaches programmers how to use the tools and techniques within the InterSystems development environment to build high-performance transactional applications. Learners build a complex application using an IDE, object-oriented design, SQL and unit testing.
  • This course is applicable for users of InterSystems IRIS Data Platform and Caché.
  • Many benefits are offered by being physically in the classroom with our instructors for a more
0
0 158
Question Lewis Houlden · Jun 30, 2023

Hello

We are in the process of upgrading to 2023.1 for InterSystems Health Connect, and the Business Rule Engine editor is very difficult to use compared to 2022.1. It's difficult to scan over the rules as it all looks the same style with barely any distinction between rules, constraints, conditions, whens etc. There's also tonnes of whitespace, and searching on the page is hit and miss (using Ctrl + F) . I can see the previous editor is still available when you modify the URL, but I'm wondering if we can set it to be the default editor, and if this is something supported.

Thanks

Lewis

7
1 673
Question Sylvain Guilbaud · Jan 5, 2024

Hello,

I have been facing a problem for several months, I have several flows that work in SFTP with the iris class EnsLib.FTP.PassthroughService

The problem is that from time to time I get an error message that says:

"A connection could not be established because the target computer expressly refused it"

I had the case for a server at our house and we solved the problem by extending the call interval parameter to 60 seconds,

However I have the same error for an external server with exactly the same configuration as the first flow, I contacted their infrastructure department who told me that an

3
0 462
Question Sylvain Guilbaud · Aug 23, 2023

Is it planned that LOAD DATA takes into account several DATE/DATETIME formats with, for example, a parameter indicating the format used in the source data?

example :

LOAD DATA .../...
USING
{
  "from": {
    "file": {
       "dateformat": "DD/MM/YYYY"
    }
  }
}
3
0 263
Article Sylvain Guilbaud · Jan 8, 2024 3m read

Hello Community,

When using an SQL type Business Service, it may happen that we need to replay certain rows from the source table.

Let's take as an example the Business Service "from customer SQL" using the generic class EnsLib.SQL.Service.GenericService

Different cases arise, depending on the settings used on this Business Service.

First case :

If the Business Service only uses a KeyFieldName

In this case, to reprocess IDs 123, 456 and 789, it will be enough to delete them from the global ^Ens.AppData for the Business Service concerned on the "adaptor.sqlrow" reference:

kill^Ens.AppData("from
0
1 450
Question Julian Matthews · Dec 21, 2023

Hi everyone.

I have a few processes where I rely on them being triggered by a schedule to run, and in the past I have relied on the following setup:

The Scheduled Task is a custom class that runs a minimal amount of code to simply create and send the specified service an Ens.Request, and equally the Service is also a custom class that simply passes the Ens.Request to the Process for it to kick the process off.

As scheduled tasks need to be configured on a per-mirror basis, I'd like to do away with it completely and simply have a service that just sends the Ens.Request to the Process based on a

8
0 663
Article Megumi Kakechi · Jan 4, 2024 1m read

InterSystems FAQ rubric

If a relationship is set and there is a large number of n in a 1:n ratio, a large amount of memory may be consumed due to sequential processing of the relationship.

After referencing a many-sided object in a program and internally swizzling it, simply releasing the variable containing the OREF (deleting it, setting another value, etc.) will not free the many-sided object and the relationship object. This is the cause.

To free them completely from memory, you need to explicitly free them by freeing the OREF variable and executing the Relationship object's %UnSwizzleAt<%Libr

0
0 343
Announcement Pravin Barton · Nov 2, 2021

Hello everybody! We’re happy to announce a new way to download Community Edition kits of InterSystems IRIS and IRIS for Health. The Community Edition is a no-cost developer edition that makes it easy to start developing solutions with IRIS. You can now download these kits through the Evaluation service: evaluation.intersystems.com.

If you already have an InterSystems single sign-on account (for example, to post here on the Developer Community), you can log in with those credentials. If you're new to InterSystems, please follow the link from the login page to register for a new account.

Once

3
3 1745
Question Cyril Grosjean · Jan 2, 2024

Hi,

I'm trying to access to my datas stored in a RecordMap from SQLAlchemy, and I need to access to any tables already created before using SQLAlchemy.

Here is some part of my code :

TestBase:

classTestBase(DeclarativeBase):
    CreatedAt: Mapped[int] = mapped_column(TIMESTAMP, default=func.now())
    UpdatedAt: Mapped[int] = mapped_column(TIMESTAMP, default=func.now(), onupdate=func.current_timestamp())

 

Engine creation and entities binding :

bases = {
    "TEST": TestBase.metadata.create_all,
}

defcreate_engine_and_session(namespace: str) -> Session:
    engine: Engine = create_engine(f"
0
0 172
Question Ashok Kumar T · Dec 19, 2023

Hello Community,

How to properly connect and run the Grafana with my local IRIS community instance  in Windows machine. I had executed Mr. @Dmitry Maslennikov contianerzied environment from this POST  and it's working pretty. However the Plugin is not yet posted in the Grafana plugin datasource. What is the roadmap to do setup and establish connection same in my local environment . I have read some additional community post for reference 
 

Regards,

Ashok

1
0 310
Article Mihoko Iijima · Dec 28, 2023 1m read

InterSystems FAQ rubric

There is no need to recompile the routines after the version upgrade, but since the version update overwrites %SYS, user-created INT and OBJ format routines (*.INT,*.OBJ) in %SYS will be deleted. Therefore, you need to be careful. 

MAC, INT and OBJ routines with the following names are not deleted.

%Z*.INT, %z*.INT, Z*.INT,z*.INT
%Z*.OBJ, %z*.OBJ, Z*.OBJ,z*.OBJ

Please note that classes/CSPs need to be compiled after upgrading.

However, if you are upgrading to a maintenance release, no compilation is required. For details, please refer to the document below.

Post-upgrade tasks

0
1 256
Question Flávio Lúcio Naves Júnior · Dec 21, 2023

Hello everyone,

I'm currently conducting tests using the docker image intersystemsdc/irishealth-ml-community:latest. I'm accessing the Linux terminal and attempting to utilize the superuser functions, but I'm encountering an issue with the password. Could someone assist me, please?

Best Regards,
Flávio

1
0 283
Article Mihoko Iijima · Dec 21, 2023 1m read

InterSystems FAQ rubric

If multiple InterSystems products are installed on the same system, the latest version of the InterSystems ODBC driver among the installed products will remain registered in the driver manager.

You can change to any driver by changing the registry entry below.

 Please note that running RegFiles.bat does not change the ODBC driver.

The registry entry is as follows.

HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\InterSystems ODBC35 key Driver
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\InterSystems ODBC35 key Setup

The above entry records the path to the driver currently in

0
0 418
Question Rizki Okta Alhadi · Dec 17, 2023

Hi all

how to enable content-type : application/json 

this is our web application environment

with body request

we got result when our hit with postman like this

{

    "resourceType": "OperationOutcome",

    "issue": [

        {

            "severity": "error",

            "code": "invalid",

            "diagnostics": "<HSFHIRErr>InvalidContentType",

            "details": {

                "text": "The Content-Type 'application/json' is not supported."

            }

        }

    ]

}

what we have to do to make this request success, thanks for your help and time

Thanks,

Rizki Okta Alhadi

4
0 498
Question Ashok Kumar T · Dec 19, 2023

Hello Community,.

I've updated the IRIS community form 2023.2 to 2023.3 and I didn't see the User defined(Sample) error messages in ^IRIS.Msg global even I verified in both pointer and data level. I re run the set x=##class(%MessageDictionary).Import("error.xml") After import I could see the pointers and data in ^IRIS.Msg

Is the User defined error will reset from the server after IRIS upgrade?

Regards,

Ashok

1
0 167
Article Evgeny Shvarov · Mar 27, 2023 1m read

Hi folks!

Recently I was in need to setup a local FHIR server using IRIS For Health and I think I found the easiest and simplest way ever.

Just run in terminal these two lines below :

docker run --rm --name my-iris -d --publish 9091:1972 --publish 9092:52773 intersystemsdc/irishealth-community

and

docker exec -it my-iris iris session iris -U "USER" '##class(%ZPM.PackageManager).Shell("install fhir-server")'

And you'll have FHIR server running locally at http://localhost:9092/fhir/r4.

That's it!

The FHIR server will use the latest build of InterSystems IRIS for Health Community Edition and will deploy FHIR server from this app via IPM package in  FHIRSERVER namespace.

This is for Mac, so please add in comments how it works in Windows.

This is a very short article as it is really easy to setup a local FHIR server with InterSystems IRIS for Health and IPM Package Manager.

6
0 924
Question Jagadiswara Bandaru · Nov 30, 2023

We have solution which uses IRIS with IAM and webgateway integrated.

After integration, we notice that in the kong configuration in the kongdb upstreams are not created as listed in the kong.yml

We noticed that, IAM api calls are failing with enterprise license expired.

[kong@iam-deployment-75f485954c-ssdfv /]$ curl --location --request POST 'http://localhost:8001/services/'
{"message":"Enterprise license missing or expired"}

From Logs:

`2023/11/22 14:59:04 [notice] 2331#0: *31 [lua] init.lua:393: timer_at(): [timer-ng] fallback to ngx.timer.at [delay = 86400], context: ngx.timer
2023/11/22

3
0 413
Question Ashok Kumar T · Dec 17, 2023

Hello Community,

Is there any way to avoid generating the built in validation inside the classmethod from the .disp class definition. I've added the resource with path parameter as integer in swagger 2.0 open API.  The class method(in my case getRandom is the class method) inside .disp handles the integer validation by default. Is there a way to avoid/remove by default.

default validations for Integer

If ($number(pmin,"I",-2147483648,2147483647)="") Do##class(%REST.Impl).%ReportRESTError(..#HTTP400BADREQUEST,$$$ERROR($$$RESTInvalid,"min",pmin)) QuitIf ($number(pmax,"I",-2147483648,2147
0
0 143
Article sween · Oct 20, 2023 6m read

image

This article will cover turning over control of provisioning the InterSystems Kubernetes Operator, and starting your journey managing your own "Cloud" of InterSystems Solutions through Git Ops practices. This deployment pattern is also the fulfillment path for the PID^TOO||| FHIR Breathing Identity Resolution Engine.

Git Ops

I encourage you to do your own research or ask your favorite LLM about Git Ops, but I can paraphrase it here for you as we understand it.

3
1 884