#HealthShare

17 Followers · 1.4K Posts

InterSystems HealthShare is a healthcare informatics platform for hospitals, integrated delivery networks (IDNs) and regional and national health information exchanges (HIE). HealthShare includes health information exchange, data aggregation, workflow, text analysis, and analytics technology.

Learn more

Question Krishnamuthu Venkatachalam · Mar 10, 2025

Hi all,

I'm working on a requirement to loop through all encounter streamlets(SDA) to identify specific encounters based on an encounter extension property for a patient fetch request. However, this current process is time-consuming, and we need to create indexes for that property to quickly retrieve the expected results without going through all the encounter streamlets of a patient.

I would appreciate help on how to achieve this, as I couldn't find any documentation explaining how to create indexes on a SDA element.

Thanks in advance.

1
0 140
Article Joe Fu · Mar 7, 2025 2m read

We recently changed the 'UserID" property in a "User" class from type of %String to be %Library.Username. This is for better consistency across our codebase regarding MAXLEN limit.

%Library.Username is a system wrapper datatype which extends %String and has a MAXLEN of 160. This change should have minimal/no impact on code behavior. However, we found that some SQL query cannot return expected rows after the change. Query will return empty values even if the entry is in the table.

3
0 242
Question Sheetal Kairawala · Mar 6, 2025

Has anyone used this transform to convert SDA3 to HL7?

HS.Gateway.SDA3.SDA3ToHL7.ADTA0N

Seeing below error

ERROR <Ens>ErrGeneral: Can't evaluate DOM path '/Patient/PatientNumbers/[1]/Organization/UniversalId' because UniversalId in /Patient/PatientNumbers/[1]/Organization/UniversalId is not an element, instead this node is a 'unknown' node. + ERROR <Ens>ErrGeneral: Can't evaluate DOM path '/Patient/PatientNumbers/[2]/Organization/UniversalId' because UniversalId in /Patient/PatientNumbers/[2]/Organization/UniversalId is not an element, instead this node is a 'unknown' node.

0
0 93
Question Krishnaveni Kapu · Mar 5, 2025

Hi ,

I have a scheduler task and an associated class that works.

Class Sample.Util.CreateTask Extends (%SYS.Task.Definition, %Persistent)
{

Parameter PROPERTYVALIDATION = 1;

Parameter TaskName = "Sample.Util.CreateTask";

Method OnTask() As %Status
{
// Perform the logic
}

}

Is there a way to Enable or Disable the above task "CreateTask()" from an external function/Method/class ?

2
0 177
Question Scott Roth · Mar 4, 2025

I already mentioned in a Previous post I am trying to build a list from a repeatable field within a HL7 message. I figured out how to build the list by using a context list string variable within the Business Process (BPL) and doing a

do context.<variable>.Insert = <value>

 when I am looping through the field. I want to do it one step farther though... I want to search the list to see if the value exists before I do the insert. I only want to insert if the value is different than what is in the list already.

IF $LF(context.Facilities,##class(Ens.Rule.FunctionSet).
1
0 148
Question Riccardo Villa · Mar 4, 2025

Hello,

I'm trying to POST a Location resource to a FHIR Server, but I get this error:
{
    "errors": [
        {
            "code": 5002,
            "domain": "%ObjectErrors",
            "error": "ERRORE #5002: Errore di Cach�: <PROTECT>zNewInteractionsInstance+1^HS.FHIRServer.Storage.Json.InteractionsStrategy.1",
            "id": "ObjectScriptError",
            "params": [
                "<PROTECT>zNewInteractionsInstance+1^HS.FHIRServer.Storage.Json.InteractionsStrategy.1"
            ]
        }
    ],
    "summary": "ERRORE #5002: Errore di Cach�: <PROTECT>zNewInteractionsInstance+1^HS.

2
0 138
Article Trent Chismar · Jan 28, 2025 2m read

ISCLOGs are a useful debugging tool provided with IRIS that can help you troubleshoot many different issues. For more information about creating these logs, please see the following IRIS documentation: "Logging".

This log is written to the ^ISCLOG global stored in the %SYS namespace. Each global node is a separate event, with additional information sometimes logged to the subnode.

Each entry consists of a list containing the following fields: ID, Category, LogLevel, Message, Namespace, Process ID, Routine, SessionID, Tag, and, TimeAdded.

7
2 530
Question Joe Fu · Feb 26, 2025

By extending %XML.Adaptor, we can use

Parameter XMLIGNORENULL   

to handle empty tags in output xml file from %Persistent. But this parameter only applies to %String property. What if a class has other types of properties, like %Stream (for holding large chunk of data). What is the recommended handle if we cannot use XMLIGNORENULL here?

Context: In change control, exported .xml file is important to make diff between versions.

1
0 186
Question Kevin Mayfield · Feb 20, 2025

I'm working on FHIR project and using this code to convert an incoming request to FHIR 

Method OnRequest(request As HS.FHIRServer.Interop.Request, Output response As HS.FHIRServer.Interop.Response) As %Status

{

    #dim tSC As %Status = $$$OK

    Try {

        // Process incoming request

       

        set stream = ##class(HS.SDA3.QuickStream).%OpenId(request.QuickStreamId)

        set bundle = ##class(HS.FHIR.DTL.vR4.Model.Resource.Bundle).

9
0 203
Question John McBride · Nov 18, 2024

Since .Net has a unified package manager system (Nuget.org) why doesn't Intersystems create and add a nuget package (.nupkg) containing the InterSystems.Data.IRISClient.dll file.

This would make it easier for external .net developers to obtain the package for creating tools and/or applications that utilize Iris/Iris4Health

Can  Intersystems create a nuget package?

5
0 255
Question Warren Oyco · Feb 21, 2025

Hi Community,

I've created a method in my File Service to do a cleanup for every file load. Currently, I've set it to delete data when LastUpdated date is greater than maxdate. However, I want to do a cleanup for every new file load. Any suggestions or advice on how to do this? Thanks!

 

Method Cleanup()
{

   Set tMaxDate = ""
   &SQL(SELECT Max(LastUpdated) into :tMaxDate
   FROM MC_Table_Data.Patient) 
 

   &SQL(DELETE MC_Table_Data.Patient WHERE LastUpdated<:tMaxDate)
}

0
0 97
Article Nikita Savchenko · Apr 1, 2016 6m read


Hello!

This article is a small overview of a tool that helps to understand classes and their structure inside the InterSystems products: from IRIS to Caché, Ensemble, HealthShare.

In short, it visualizes a class or an entire package, shows the relations between classes and provides all the possible information to developers and team leads without making them go to Studio and examine the code there.

If you are learning InterSystems products, reviewing projects a lot or just interested in something new in InterSystems Technology solutions — you are more than welcome to read the overview of ObjectScript Class Explorer!

38
4 6265
InterSystems Official Daniel Palevski · Feb 19, 2025

February 19, 2025 – Alert: SQL Queries Returning Wrong Results

InterSystems has corrected two issues that can cause a small number of SQL queries to return incorrect results. In addition, InterSystems has corrected an inconsistency in date/time datatype handling that may lead to different, unexpected – yet correct – results for existing applications that rely on the earlier, inconsistent behavior.

0
1 169
Question David.Satorres6134 · Feb 18, 2025

Hello all,

We are currently developing a set of cubes in Unified Care Report (UCR) for data analysis purposes. However, we are encountering issues with cube dependencies, where certain cubes rely on others to be compiled beforehand. The complexity of these dependencies is becoming increasingly difficult to manage, particularly when attempting to deploy the cubes.

The problem arises when trying to compile a cube that depends on another cube, which may also have its own dependencies. For instance, when compiling the Test.Cube.

5
0 186
Article Yuri Marx · Feb 13, 2025 4m read

FHIR repositories, applications and servers typically serve clinical data in small quantities, whether to return data about a patient, their medications, vaccines, allergies, among other information. However, it is common for a large amount of data in FHIR/JSON format to be requested to be used to load into Data Lakes, identifying study cohorts, population health, or transferring data from one EHR to another. To meet these business scenarios that require large extractions and loads of data, it is recommended to use the FHIR Bulk Data Access feature provided by HL7 institution.

0
6 536
Article Julian Matthews · Apr 14, 2021 3m read

Hey everyone.

I came across some issues when setting up Freeze and Thaw batch scripts for use with VMWare in a Windows ecosystem, and I wanted to share what I found in the hopes it can help others. This was undertaken in an environment using Healthconnect 2019.1.x.

IRIS not up (2)

It seems that the sample script from the documentation in my my case would tell me that the environment was not running (despite it running). To correct this, I provided the filepath to the Mgr location as so:

c:\InterSystems\HealthConnect\bin\irisdb -s"C:\InterSystems\HealthConnect\Mgr" -U%%SYS ##Class(Backup.General).
3
0 1451
Question Thembelani Mlalazi · Feb 10, 2025

I have an operation using $ZF this operation ran and did not error but the job has been active and it can not be stopped I have tried stopping it from the front end and through the terminal using ##class(ENSLIB.Job).%New() Stop method. Now my production will not update even if I add a new item to the production I cannot update the item is there a way to force stop  this job.

4
0 246
Question Ali Chaib · Feb 7, 2025

I have a scenario where I send a GET request to a broker and receive a FHIR response. When I attempted to use the built-in InterSystems functions to convert this FHIR response into SDA, the transformation failed—likely because it is not a standard FHIR request.

How should I handle this situation? Is there a recommended approach to processing FHIR responses in this context?

Additionally, if I manage to convert the FHIR response into a request format, I noticed that the broker sends a Task resource.

3
0 194
Question Ali Chaib · Feb 7, 2025

I understand that InterSystems provides functions to facilitate transactions between FHIR and HL7 via the SDA segment. My question is:

  • Does this transformation only work when InterSystems receives FHIR requests and converts them into HL7, or does it also support responses?
  • Specifically, if our operation sends a GET request to a broker and receives a FHIR response, does InterSystems support transforming this response into an SDA segment automatically?
  • Or should we manually parse and modify the response to handle it according to our needs?

What would be the best approach in this scenario?

3
0 150
Article Ashok Kumar T · Feb 7, 2025 6m read

In this article, exceptions are covered.

Working with Exceptions

Instead of returning a %Status response, you can raise and throw an Exception. You are then responsible for catching the exception and validating it. IRIS provides five main classes to handle exceptions effectively. Additionally, you can create custom exception class definition based on your needs.

These exceptions are different from %Status, so you can't directly/efficiently use the exception object with $SYSTEM.OBJ.DisplayError() or $SYSTEM.Status.DisplayError().

0
2 439
Article Ashok Kumar T · Feb 7, 2025 4m read

You may encounter errors during any point of program execution, and there are several ways to raise and handle these exceptions. In this article, we'll explore how exceptions are handled efficiently in IRIS.

One of the most commonly used return types is %Status, which is used by methods to indicate success or failure. Let's begin by discussing %Status values.

Working with %Status

The %Status return type is used to represent errors or success. Many system methods return %Status when an error occurs.

0
6 465
Announcement Larry Finlayson · Feb 3, 2025

*** This is our first in person public course scheduled in the new InterSystems One Congress Street training rooms! ***

 

  • Building and Managing HL7 Integrations – In Person February 24-28, 2025 9:00am-5:00pm EST
    • Build, configure, and manage HL7® V2 interfaces using InterSystems integration technologies.
    • This healthcare-focused 5-day course teaches implementation partners, integrators and analysts how to rapidly build HL7 integration solutions.
    • Students build a production that processes and routes HL7 messages.
0
0 77
Question Saju Abraham · Feb 3, 2025

Hello All,

I need help Integrating the vendor-provided code into the current code to check if the data is an array and if it is, iterate through each item using a for each loop. Also, I need to hit every error handler code mentioned at the bottom along with the transform in both instances.

My Current Code:

/// Given a patient number in a JSON string format, this includes required transformations and makes use of 
/// the MPI Query Handler to pull basic demographics from Epic. 
Class CUH.Proc.DCIQGetPatient Extends Ens.

0
0 92