Question Stanislav Fiseyskiy · Jan 28, 2025

I have an old .NET 4.5 project, working with database InterSystems.Cache. The project is deployed on a Windows server. Data is retrieved using the InterSystems.Data.CacheClient.dll library.

But now I'm planning migration of the project to .NET 8 to container with linux centos.

How can I get data from InterSystems.Cache in this case?

As I understand it, InterSystems.Data.CacheClient.dll is only for the .NET framework.

The InterSystems.Data.IRISClient.dll library recommended for the more modern InterSystems.IRIS database throws an error 'InterSystems Iris Provider is not compatible with Cach

2
0 145
Question John Hotalen · Feb 27, 2025

Dear Fellow Cache Gurus:   I would like to know if there is either any built-in Cache Date/Time function or an easy way to include a timezone abbreviation such as EST, PST, MST, etc... within the Cache Date/Time formats.

I read through the Cache Documentation but could not find anything to achieve this.

So if I do the following command:   $ZDateTime($H,1,4,,,4,,,,,"InvalidDate"), then I get an output like this:   02/27/2025 11:10AM

But I am looking for the output to be formatted like this:    02/27/2025 11:10AM EST

Any feedback, suggestions, etc.... would be greatly appreciated.   I am sur

0
0 92
Question Alessandra Carena · Jan 30, 2025

I am building a web application that uses JWT for authentication. I would like to pass the token in cookies instead of the Authorization header.
Is there a way to intercept the request and check the token from the cookies instead of the header? I tried overriding the OnPreDispatch() method and adding it to my dispatch class, but it seems like it never gets executed, as the response returns "Unauthorized" before reaching it.

ClassMethod OnPreDispatch(pURL As%String, pMethod As%String, ByRef pContinue As%Boolean) As%Status
{
        Set token = %request.Cookies.Get("JWT-TOKEN")
        
2
0 131
Article Alberto Fuentes · Jan 24, 2025 8m read

In the world of APIs, REST is very extended. But what happens when you need more flexibility in your data-fetching strategies? For instance letting the client to choose what fields is going to receive. Enter GraphQL, a query language for your APIs that provides a flexible alternative to REST.

In this post, we will:

  • Compare REST and GraphQL.
  • Dive into the basics of GraphQL: Queries, Mutations, and HTTP.
  • Build a simple GraphQL server implementation using Graphene, SQLAlchemy, and Flask over data in InterSystems IRIS.
  • Explore how to deploy your GraphQL server as a WSGI application in IRIS.
3
1 524
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. To correctly handle edits on a previously null property (for example, the first edit to store value in "Data" field), we need XMLIGNORENULL to be "inputonly" so that

1
0 171
Question Oliver Wilms · Sep 19, 2024

Hello, I try to develop a REST interface where I need to interact with legacy MUMPS routines. How can I pass in input to a Read without modifying the legacy code?

I think in linux I can execute command < inputfile to read from file, but how does it work in ObjectScript?

7
0 320
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).FromJSON(stream,"vR4")


It's working ok but when I include a realistic PDF in a FHIR Binary resource (contained in the Bundle) I get a MAXSTR


9
0 196
Question Colin Brough · Feb 25, 2025

We have some ObjectScript code in a custom business process:

When Log Trace Events is ticked on the business process in the Production view in the management portal, the argument is obviously computed.

Our question is whether the argument is computed when Log Trace Events is not ticked? Don't want to accidentally include something in a $$$TRACE() statement that takes enough computation to make a performance difference when released to production, even though the final output is not written to the event log.

A more general question is whether its possible to check the Log Trace Events status

3
0 139
Question Jani Hurskainen · Jan 17, 2025

The documentation at https://docs.intersystems.com/irisforhealthlatest/csp/docbook/DocBook.U…

Case-sensitive: variable names (other than the system variables) are case-sensitive. Names of classes and their members, names of routines and their entry points, names of include files and macros are all case sensitive.

Consider "fully qualified" class name: Package.subpackage.ClassName

What is the class name mentioned in the documentation? Package.subpackage.ClassName  or ClassName ?

It's unclear to me if in InterSystems/ObjectScript parlance class name includes also t

9
0 224
Question Federico Sandrinelli · Feb 24, 2025

Hello everyone!

I have set up an EnsLib.REST.GenericService with an  EnsLib.HTTP.InboundAdapter which forwards the http requests received by a web app to my Business Process. 

I would like to parse HTTP multipart/form messages I am receving and be able to iterate over the various fields within the request body, accessing its content type and the content itself.

As far as I understand I should use the %Net.MIMEReader class which should return a list of %Net.MIMEPart, one for each field within the request. However if I do : 

Set mimeReader = ##class(%Net.MIMEReader).%New()
Set sc = mimeRead
4
0 166
Announcement Anastasia Dyubaylo · Feb 25, 2025

Hi Community,

Watch this short exercise in writing basic code snippets in InterSystems ObjectScript using Copilot in VSCode and the GPT-4.0 engine. This screencast covers "Hello, World," global manipulation, class creation, and building a simple REST API application.

>> Coding InterSystems ObjectScript with Copilot <<

🗣 Presenter: @Evgeny Shvarov, Senior Manager of Developer and Startup Programs, InterSystems

📌 The related code can be found here: objectscript-copilot-demo.

0
0 300
InterSystems Official Daniel Palevski · Dec 12, 2024

The first developer previews of InterSystems IRIS® data platform, InterSystems IRIS® for Health, and HealthShare® Health Connect 2025.1 have been posted to the WRC developer preview site.  Containers can be found on our container registry and are tagged latest-preview.

These developer previews include the feature to migrate to IBM "Open XL C/C++ for AIX" 17.x compiler ensuring compatibility with future AIX builds as older compilers approach end-of-support. This migration focuses on the aixopenssl30 target, supporting SSL3 on AIX 7.2 and 7.3.

Initial documentation can be found at these links

13
0 553
Announcement Celeste Canzano · Feb 24, 2025

Hi Everyone!

The Certification Team of InterSystems Learning Services is currently developing an InterSystems ObjectScript Specialist certification exam. Earlier this month we reached out to our community for feedback that will help us evaluate and establish the contents of this exam. We are still currently accepting responses and would love to hear your feedback!

Please note that this is one of two exams being developed to replace our InterSystems IRIS Core Solutions Developer exam. You can find more details about the other exam, InterSystems IRIS Developer Professional exam, here

How do

0
0 103
Question Thomas Wuppermann · Feb 10, 2025

While upgrading old Ensemble and Health Connect applications to V 2024.1 we are installing many webgateways since the private webserver is deprecated.

Configuring the "Default Parameters" we can determine the "Event Log Rotation Size" but not the count of preserved logfiles. So even if the webgateway cuts the logs in pieces they could fill up the disk space entirely for there seems to be no cleanup-job for old logfiles.

What is the recommended way to deal with this situation?

Do I have to create a schduled job on OS-level? 

Using a Task in Health Connect would be difficult because Helath C

2
0 140
Article Chris Stewart · Feb 18, 2021 2m read

Hi Dev Community

I thought i would share a little method I knocked together to traverse and compare 2 JSON objects for basic equivilance.   I'm currently working on some data migration, and wanted a basic sanity check to validate that the JSON output is basically equivliant between the old and new, excluding a few things like timestamps.  

It's a basic little recurvsive method, that will bubble up any differences over a nested structure.   It's very low tech, as that's all I need it to do, but I thought it might be useful for others?

It can accept a source and target JSON object or array, a

6
1 984
Question Evgeny Shvarov · Feb 21, 2025

Hi folks!

I'm building a very simple REST API.

But before testing it via a Web Server what I want to make sure that REST API methods work in principle.

Is it an easy way to "fake" the web-server request and get a result e.g. of the method with signature like that?

ClassMethod GetAllRecords(pRequest As %CSP.Request, pResponse As %CSP.Response) As %Status

e.g. calling it in Terminal?

6
0 257
Article Ariel Glikman · Mar 8, 2024 3m read

The IKO will dynamically provision storage in the form of persistent volumes and pods will claim them via persistent volume claims.

But storage can come in different shapes and sizes. The blueprint to the details about the persistent volumes comes in the form of the storage class.

This raises the question: we've deployed the IrisCluster, and haven't specified a storage class yet. So what's going on?

You'll notice that with a simple

kubectl get storageclass

you'll find the storage classes that exist in your cluster. Note that storage classes are a cluster wide resource, not per namespace a

1
1 435
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 241