#InterSystems IRIS for Health

0 Followers · 2.3K 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.

Question Dmitrii Baranov · Dec 1, 2024

I'm trying to call a SOAP web service which is implemented in .NET Classic and requires NTLM authentication. The client class was generated by %SOAP.WSDL.Reader. The problem is that neither NTLM authentication works nor can I handle the exception since VSCode debugger says that all meaningful fields and properties are empty (the same request works fine in Postman):


ClassMethod Test()
{
    #Dim client as My.Client
    Set client = ##class(My.Client).%New()
    Try
    {
        Set client.SSLConfiguration = "SSL"
        Set client.Location = "https://server/service.asmx"
        Set client.HttpInitiateAuthentication = "NTLM"
        Set client.HttpUsername = "domain\username"
        Set client.HttpPassword = "password"

        ...


        Set result = client.SomeMethod(inputParams, .outputParams)
        Write result, !
    }
    Catch ex
    {

        Set displayString = ex.DisplayString() // contains ''<ZSOAP> 64 InvokeClient+251^%SOAP.WebClient.1"
        Set fault = client.SoapFault // empty
        Set statusCode = client.HttpResponse.StatusCode // empty
        Set stream = client.HttpResponse.Data // empty
        Write stream, !
    }
}

Do you have any suggestions what I'm doing wrong?

4
0 227
InterSystems Official Daniel Palevski · Nov 27, 2024

InterSystems announces General Availability of InterSystems IRIS, InterSystems IRIS for Health, and HealthShare Health Connect 2024.3

The 2024.3 release of InterSystems IRIS® data platform, InterSystems IRIS® for Health, and HealthShare® Health Connect is now Generally Available (GA).

Release Highlights

In this release, you can expect a host of exciting updates, including:

  1. Much faster extension of database and WIJ files
  2. Ability to resend messages from Visual Trace
  3. Enhanced Rule Editor capabilities
  4. Vector search enhancements
  5. and more.
0
0 327
Article Yuri Marx · Nov 27, 2024 8m read

The rise of Big Data projects, real-time self-service analytics, online query services, and social networks, among others, have enabled scenarios for massive and high-performance data queries. In response to this challenge, MPP (massively parallel processing database) technology was created, and it quickly established itself. Among the open-source MPP options, Presto (https://prestodb.io/) is the best-known option. It originated in Facebook and was utilized for data analytics, but later became open-sourced. However, since Teradata has joined the Presto community, it offers support now.

0
3 290
Question Patty Aguirre-Romero · Nov 14, 2024

What settings do I need to just passthrough an X12 messages from a BS to BO and out the BO without modifying the message?

Currently, we are receiving the X12 messages but, it seems Iris is modifying it by "hiding" some segments like the ISA segment. The message goes out the BO modified and it doesn't reach its destination. Since I just want to pass it through, there is no BP, DTL, or Rule processing the message. Message is received by the BS and sent directly to the BO. 

My current settings:

7
0 158
Article Luis Angel Pérez Ramos · Nov 25, 2024 3m read

Greetings dear community members!

I have recently been deploying an IRIS for Health image on a Docker with a preconfigured Webgateway image and I have come across the problem of the SSL configurations that allow us to connect to the IRIS instance using HTTPS and going through our Webgateway.

Until now I had always deployed IRIS for Health with a Community license, which still has the Private Web Server installed, so I only needed to configure the Webgateway connection with the deployed IRIS instance:

1
5 355
Question Oliver Wilms · Nov 22, 2024

I finally figured out how to get JWT token using set x = ##class(%SYS.OAuth2.Authorization).GetAccessTokenClient("medbank","openid fhirUser",.prop,.err).

I also found iris-fhir-client app on Open Exchange. I registered Epic sandbox server, but I cannot list resources. I suspect I need to integrate authorization / authentication. How do I do this with irisfhirclient py?

1
0 135
Article Sylvain Guilbaud · Apr 30, 2024 3m read

Production Configuration

This demo has an interoperability production with 16 items. 

Production Configuration HL7 + Kafka Producer

The first part of this demonstration consists of sending an HL7 SIU file which will be transmitted to the 2 other HL7 flows (HTTP and TCP), and transformed and transmitted to the Kafka server. HTTP and TCP flows will transform HL7 messages in the same way before sending them to Kafka as well.

  • 3 HL7 Business Services
  • 1 HL7 router
  • 2 HL7 Business Operations
  • one Business Operation sending the transformed messages to Kafka

Business Rule

3
4 474
Question Phillip Wu · Nov 20, 2024

Is anyone using Veeam as their external backup product?

I'm trying to backup a Linux VMs (VMWare; SUSE).

These VMs have a mirrored pair IRIS DB.

I'm using the InterSystems's provides pre-freeze - Backup.General(ExternalFreeze)
I'm using the InterSystems's provides post-thaw  - Backup.General(ExternalThaw)

I've been running the backups with Veeam 'application aware processing' so I can add the pre-freeze and post-thaw scripts.

I'm backing up the PRIMARY node of the mirror pair.

3
0 213
Question Scott Roth · Nov 20, 2024

I am using a JDBC connection to MS SQL server to execute a stored procedure to select data and bring it into InterSystems as a EnsLib.SQL.Snapshot. I loop through the EnsLib.SQL.Snapshot using a while loop, but I also want to iterate through the Columns within that Row to do logic.

Is there a way to iterate through the Columns of the current Row of the EnsLib.SQL.Snapshot so I can apply logic/rules for further processing?

Thanks

Scott

4
0 131
Question Claude Mourzelas · Nov 13, 2024

Hello,

I want to upload a "custom" metric in prometheus (queue).

For now, in version 2022, I have the impression that we cannot add multiple labels and yet the basic metrics know how to do it.

ex: standard metric

iris_interop_messages_per_sec{cluster="1", host="xxxx", id="API", instance="xxxx:80", job="SAM", production="xxxx"}

my current example: I would like to be able to at least add the production, just to have the source of the measurement.

my_iris_queue{cluster="1", id="xxxx", instance="xxx", job="SAM"}

2
0 108
Question Oliver Wilms · Nov 19, 2024

I need to create a JWT to connect to EPIC FHIRserver sandbox.

https://fhir.epic.com/Documentation?docId=oauth2&section=BackendOAuth2G…

You will generate a one-time use JSON Web Token (JWT) to authenticate your app to the authorization server and obtain an access token that can be used to authenticate your app's web service calls. There are several libraries for creating JWTs. See jwt.io for some examples.

The header and payload are then base64 URL encoded, combined with a period separating them, and cryptographically signed using the private key to generate a signature.

5
0 239
Question Jani Hurskainen · Nov 18, 2024

The following CPF entry:

[Actions]
CreateUser:Name=foobar,Roles=%All,Password=loremipsumdolorsitamet1234,FullName=Foo Bar,ChangePassword=1,Enabled=1,Comment=Testing testing,AccountNeverExpires=1,PasswordNeverExpires=1

Fails with an error:

ERROR #506: Invalid property error at line 19, 'Password=loremipsumdolorsitamet1234', Class Security.Users, Error=<CANNOT SET THIS PROPERTY>zPasswordSet+3^Security.Users.1

A bug or a feature or a stupid user error? The documentation says nothing about the limitations:

3
0 120
Article Jeff Morgan · Aug 6, 2024 10m read

When building a bundle from legacy data, I (and others) wanted to be able to control whether or not the resources were generated with a FHIR Request Method of PUT instead of the hard coded POST.  I have extended the two classes responsible for transforming SDA to FHIR in an Interoperability Production to accomodate a setting that lets the user control the Request Method.

2
1 363
Question Dmitrii Baranov · Nov 12, 2024

To transfer data between production components I actively use messages of type Ens.StreamContainer class and its descendants. In many cases the content of the message content is not visualised (the 'Body' tab contains a table with a list of selected message properties but the 'Contents' tab is empty). Response messages are never visualised, and request messages are visualised with a fifty-fifty probability. What do I need to do to ensure that messages are always visualised?

3
0 139
Question Dmitrii Baranov · Nov 17, 2024

I'm playing with some anayltic queries against FHIR server tables. The HSFHIR_X0002_S_Patient.addressCity table contains a lot of cities which names contain german charachers such as ä, ö and ü.

The following query works fine:

select value from HSFHIR_X0002_S_Patient.addressCity

But this one converts city names to uppercase, and characters with umlauts are lost, so instead of "Köln" or "München" I see KOLN and MUNCHEN:

select ac.value, count(ac.value) as cnt
  from HSFHIR_X0002_S_Patient.addressCity ac
  group by ac.value
  order by 2 desc

I'm using DBeaver with IRIS official JDBC driver.

UPD: distinct also makes city names malformed:

select distinct(value) from HSFHIR_X0002_S_Patient.addressCity
2
0 114
Question Csaba Gyenge · Nov 15, 2024

Is there a way to create and establish DICOM Association with Extended Negotiation? 

I have implemented DICOM Query/Retrieve C-FIND, using EnsLib.DICOM.Operation.TCP and EnsLib.DICOM.Process base classes. My application, acting as an SCU, needs to query by Study Date-Time (combined date-time matching) range with timezone query adjustment. For this, I need to use Extended Negotiation.

I've checked the IRIS Manual - Creating DICOM Associations section but there is no mention of this.

0
0 99
Article Megumi Kakechi · Nov 14, 2024 1m read

InterSystems FAQ rubric

By default, the order of columns in a table is determined automatically by the system. To change the order, explicitly set the order for each property using the property keyword SqlColumnNumber when defining the class.

Example:

Property Name As %String [SqlColumnNumber = 2];

Please see the documentation below.

SqlColumnNumber

If you want to change the SQL table name, specify SqlTableName. If you want to change the column name (field name), specify SqlFieldName.

Both apply only to persistent classes.

0
0 216
Question John McBride · Nov 13, 2024

I'm trying to get the python external language server started up in a container I am starting. The container is up and running but I cannot get the python language server to start.This is the error that is coming back when trying to start the language server. I have tried creating a custom image with that package installed but it still does not work. Is there something specific that needs to be done to to get this working? (FYI, I have the dotnet version working but creating a custom image and installing the dotnet runtimes via a docker file)Base iris

0
0 65
Question Joost Platenburg · Nov 13, 2024

I'm trying to rewrite a legacy portal created with all .csp files into a portal written in .cls files. The problem I have is that the old cap pages use "csp:include page='page.csp'> tags. I'm trying to use the Include method  that is in the %CSP.Page master page. It doesn't seem to insert the required file. Any suggestions?
 

<table width="100%">
<tr>
<script language="Cache" runat="server">
do ..Include("pubsub/portal/include/headLogoDXC.csp")
#; <!--csp:include page="/pubsub/portal/include/headLogoDXC.csp"-->
</script>
</tr>
</table>
1
0 106
Question Nicki Vallentgoed · Nov 8, 2024

Intersystems provides External language server connections for various languages which,
from a development perspective, is great as I can keep my application code separate but still interact with the IRIS kernel.

It becomes more complex though if you are using Interoperability etc where you might end up with some code in IRIS and some code in another language.
What would be great is having an IRIS to IRIS language server where the application code and stay IRIS based but separate from the database?

5
0 172
Question Andrew Wardly · Nov 7, 2024

I hit halt in Iris lite terminal within VS Code and was exited out to PS prompt.  I was just curious what the best way / recommended way to get back into an InterSystems lite terminal would be?  Perhaps it is just to start a new InterSystems lite terminal from a the options listed previously in this post https://community.intersystems.com/post/how-run-objectscript-commands-v….  I was just curious if there was a way to kick it off again from the PS prompt?

2
0 164
Question Nicky Zhu · Nov 8, 2024

Hi guys,

Is it possible to apply business rule on a XML without Schema?

Say, I'm trying to make some business rules on FHIR XML payload. I transferred the XML stream as an EnsLib.EDI.XML.Document in a BPL and passed it to a General Business Rule.

Set context.xmlDocument = ##Class(EnsLib.EDI.XML.Document).ImportFromLibraryStream(##class(HS.SDA3.QuickStream).%OpenId(request.QuickStreamId))

I'm handling following XML document 

With this rule

Then I got stuck at visiting the elements in the XML.

I.e How may I evaluate the profile value?

Thanks。

6
0 186