#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 Mihoko Iijima · Jul 20, 2023 4m read

InterSystems FAQ rubric

You can search for a specific global variable in the journal file using the ByTimeReverseOrder query of the %SYS.Journal.File class and the List query of the %SYS.Journal.Record class.

The role of each query is as follows.

A) %SYS.Journal.File query of the ByTimeReverseOrder class

You can get the journal file name. Results are returned in descending order of journal file name. 

USER>set stmt=##class(%SQL.Statement).%New()

USER>set status=stmt.%PrepareClassQuery("%SYS.Journal.File","ByTimeReverseOrder")

USER>set rs=stmt.%Execute()

USER>while rs.%Next() { write rs.
1
1 525
Question Dmitrii Baranov · Jul 31, 2023

These two articles describe how to extend business components with additional properties:

1. https://community.intersystems.com/post/how-customize-ensemble-settings

2. https://community.intersystems.com/post/creating-custom-captions-intero…

I have one more question about drop-down editor. Is it possible to pass to its URL the value of another business component property, not just @productionId? Something like: 

class MyOperation extends (EnsLib.REST.Operation, Ens.
1
0 247
Question Dmitrii Baranov · Jul 19, 2023

Hello,

I want to add a couple of properties to a custom Transform class to give the user the ability to edit its properties directly in the Business Process visual editor. It can be easily done with other Production components, but I can't find in the documentation how to do the same with my Transform. Is it possible?

And another question is about how to use the 'aux' parameter of the DataTransform.Transform method if my component is non-visual?

4
0 313
Question Minn Bo Bo · Jul 27, 2023

I have been successfully able to transform hand-written medical test results documents to HL7 ORU_R01 v2.x, then to SDA, which will be trasformed to FHIR or C-CDA.
However, I have a category of documents which contains reference range in multiple date formats, which are measured for each gestation period. 
For example, below is one of the documents.
 

Analyte: HCG, Value: 1968, Unit: mlU/mL 

Reference Range:
Week of gestation: 3, Range: 5.8-71.2
Week of gestation: 4, Range: 9.

4
0 389
Article Ikram Shah · Jul 6, 2023 4m read

FHIR has revolutionized the healthcare industry by providing a standardized data model for building healthcare applications and promoting data exchange between different healthcare systems. As the FHIR standard is based on modern API-driven approaches, making it more accessible to mobile and web developers. However, interacting with FHIR APIs can still be challenging especially when it comes to querying data using natural language.

Introducing the FHIR - AI and OpenAPI Chain application, a solution that allows users to interact with FHIR APIs using natural language queries.

4
2 1461
Article Jeffrey Drumm · Jul 24, 2023 2m read

When creating custom Business Hosts, it's often necessary to add properties to the class for additional settings that will be used in the initialization or operation of the host. The property name itself isn't always very descriptive, so it's an advantage to have a custom caption display with the field.

In Caché, it was fairly straightforward:

TEST> Set^CacheMsg("EnsColumns","en-us","<property name>") = "<caption>"

But It involves a bit more effort in IRIS ...

In IRIS, the caption names of business host and production properties are stored in

4
3 467
Article Satoshi Hosoi · Jul 27, 2023 1m read

InterSystems FAQ rubric

Whether the value of a local variable is an OREF or not can be determined using $IsObject(). Let v be the variable you want to check,

$IsObject(v)=1// v is an OREF$IsObject(v)=0// v is not an OREF$IsObject(v)=-1// v is an OREF but does not point to a valid object

Note that $IsObject(v) will give an UNDEFINED error if v is undefined.

To avoid UNDEFINED errors, it is recommended to use $Get like this:

$IsObject($Get(v))
0
0 465
Question Kevin Kindschuh · Jul 26, 2023

Visual Studio Code, like Atelier, connects to IRIS through the Web Server and a web service, unlike Studio that connect to the SuperServer port.

What about the VS Code terminal?  Does that open a shell with SSH or does it also use a web service?

In other words, does an IRIS developer using VS Code need direct access to the IRIS instance with SSH or the SuperServer port, in addition to the external or private web server to execute terminal commands?

Is that different with linux vs. Windows?

1
0 466
Announcement Henry Pereira · Mar 27, 2020

SQLBuilder is a flexible and powerful SQL query string builder for InterSystems IRIS,

With SQLBuilder you have nice and clean object oriented methods, instead of having to use concatenation and substituition to generate dynamic queries.

A Dynamic SQL without SQLBuilder

A Dynamic SQL with SQLBuilder

If you like it, don't forget to vote in the IRIS Programming Contest

18
5 813
Announcement Larry Finlayson · Jul 24, 2023

Managing InterSystems Servers - Virtual  August 14-18, 2023   9:00am-5:00pm US-Eastern Time (EDT)

  • 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é. Although the course is mostly platform independent, students can complete the exercises using either Windows or Ubuntu.

Self Register Here

0
0 116
Article Guillaume Rongier · Jul 24, 2023 20m read

k8sfhir

This is a sample to deploy iris-oauth-fhir on k3d with IKO.

  • iris-oauth-fhir is a sample to deploy a FHIR server with OAuth2 authentication with InterSystems IRIS for Health as a resource server and Google OpenId as an authorization server.
  • k3d is a lightweight wrapper to run k3s (Rancher Lab's minimal Kubernetes distribution) in docker.
  • IKO is a tool to deploy InterSystems IRIS for Health on Kubernetes.
0
2 675
Question Jon Astle · Jul 20, 2023

Hi

We've been asked to develop a HL7 interface, but the end system has very different needs than any we've ever interfaced with before. We need assistance to determine if these needs are things HealthShare can support that we're just not aware of, or whether we'll need to develop some custom code to accomplish this.

This end system wants us to send HL7 messages completely asynchronously, one after the other without waiting for any form of ACK or NAK.

4
0 584
Question Michael Davidovich · Jan 31, 2023

When manually coding REST services and using GET /api/mgmnt/v1/:namespace/spec/:application/ to return an OpenAPI spec, how do you specify supported properties (OpenAPI Properties in Use | Creating REST Services | InterSystems IRIS Data Platform 2021.1) like responses, definitions, and information in paths like summary and description?

GET /api/mgmnt/v1/:namespace/spec/:application/ | Creating REST Services | InterSystems IRIS Data Platform 2022.2

Using a very basic manual REST service that returns a JSON string I get a pretty basic spec that is not really helpful when it comes to documentation.

7
1 401
Question Lewis Houlden · Jul 20, 2023

Hi InterSystems Community

We recently had an issue where we weren't able to parse a JSON HTTP request, but the issue went by unnoticed. We also did not have a trace of what the raw HTTP request was that we couldn't parse. I'm looking at improving our this by:
Tracing the raw request using $$$TRACE

Raising an alert which will hit our Ens.Alert router which will compose and send an email

I'm having an issue with consistently raising the alert (I've seen it raise an alert before, and then it wouldn't raise it again on a subsequent message), and also the error back does not really make sense.

0
1 373
InterSystems Official Fabiano Sanches · Jul 19, 2023

InterSystems announces its sixth 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, and enhancements of Foreign Tables (but still as an experimental feature). Note that some of these features or improvements may not be available in this current developer preview.

Another important topic is the removal of the Private Web Server (PWS) from the installers.

0
0 260
Question Michael Wood · Jul 18, 2023

I am trying to write a class method to return the value of a object element.  Input to method is the object and element. I am not getting a value returned. What am I missing?

ClassMethod GetObjectFieldValue(pObject As %DynamicAbstractObject, pField As %String) As %String
{
    quit:pObject="" ""
    quit:pField="" ""set tResponse=""
    set tResponse = pObject.

8
0 386
Job Cristiano Silva · Jul 18, 2023

I'm open for new opportunities and challenges. Remote Job for any part of the world. Languages: portuguese, english and spanish.

I have more tha 20 year of experience with InterSystems Technologies. 
Two InterSystems Certifications.
Large HealthCare Interoperability Experience.
I'm worked on large projects in Brazil, Chile, United States.
Knowledge in other program languages then COS, like Java, Python, C#, JavaScript, R.

mail: cristiano.js@gmail.com

LinkedIn: https://www.linkedin.com/in/cristianojs/

0
0 306
Article Mihoko Iijima · Jul 13, 2023 2m read

InterSystems FAQ rubric

It can be obtained by using the Size query of the system-provided %SYS.GlobalQuery class.

See the sample code below for usage examples.
*Please check the class reference for specifying columns and parameters.

 set dir="C:\intersystems\iris\mgr\user" // IRIS.DAT(or CACHE.DAT) folder
 set rs = ##class(%ResultSet).%New("%SYS.GlobalQuery:Size")
 do rs.Execute(dir) // You can also specify a mask with the 3d parameter
 while (rs.Next()) { 
   set gname= rs.Get("Name") // global name
   set gsize= rs.Get("Used MB") // global size (MB)
   write gname," : ",gsize,!
0
2 663
Discussion Michael Lei · Jul 13, 2023

With rapid evolution of Generative AI,  to embrace it and help us improve productivity is a must. Let's discuss and embrace the ideas of how we can leverage Generative AI to improve our routine work. 

0
1 215
Question Jordan Simpson · Jun 23, 2023

Hi,

I'm trying to figure out why I'm unable to iterate through a dynamic array and access the nested objects.

Using the NHS PDS FHIR API in the NHS sandbox environment, I'm querying the PDS endpoint using a sample NHS Number to retrieve a patient's demographics. My Business Operation reads the response data and passes it back to my Business Process where I intend on iterating through certain nested objects. The data present in these nested objects will decide what happens next in the process.

In the JSON snippet below, I'm attempting to access the values of code and display.

4
0 927
Question Kevin Kindschuh · Jul 11, 2023

Is it possible to hide certain properties in a class from displaying in the BPL visual editor, if you want to prevent drag and drop from accessing them or otherwise controlling or restricting their behavior?

Virtual document messages, such as EnsLib.HL7.Message, have hidden fields, such as Source, that do not show, presumably since the field list is rebuilt from the document schema. Setting the flag Internal, or XMLPROJECTION = "NONE" doesn't do it. Trying to follow the Virtual Document precedent to rebuild or edit the field list seems like a heavy list.

3
0 301
InterSystems Official Fabiano Sanches · Jul 12, 2023

The extended maintenance releases of InterSystems IRISInterSystems IRIS for Health, and HealthShare Health Connect 2023.1.1 are now available. This release provides bug fixes for the previous 2023.1.0 releases.

You can find the detailed change lists / upgrade checklists on these pages:

How to get the software

The software is available as both classic installation packages and container images.  For the complete list of available installers and container images, please refer to the Supported Platforms webpage.

0
1 473
Question Gautam Rishi · Jul 11, 2023

Hi All,

I am trying to fetch resultset using the below code - 

set rs = ##class(%ResultSet).%New("Simple.Person:ValidateAge")

do rs.Execute()

it is giving me error while the same code I run it through iris terminal worked fine. 
I want to understand that problem behind this. Also how can I check the possible methods that I can use on 'rs' somewhat dir() does in python.

2
0 231