I am working on JSON and want to be prepared to handle large Objects. I try this code:

ClassMethod MaxLen() As %Status

{

set longStr=""

for i=1:1:$SYSTEM.SYS.MaxLocalLength() { set longStr = longStr_"x" }

write "Maximum string length = "_$LENGTH(longStr)

;

set longObject = {"a":(longStr),"b":(longStr)}

set file=##class(%File).%New("/tmp/longObjectFile.txt")

do file.Open("WSN")

do longObject.%ToJSON(file)

do file.Close()

;

do file.Open("RS")

0 0
0 11

In this article we are going to see how we can use the WhatsApp instant messaging service from InterSystems IRIS to send messages to different recipients. To do this we must create and configure an account in Meta and configure a Business Operation to send the messages we want.

Let's look at each of these steps in more detail.

Setting up an account on Meta

This is possibly the most complicated point of the entire configuration, since we will have to configure a series of accounts until we can have the messaging functionality.

15 1
4 430

HI,

I'm migration an existing integration to InterSystems. The upstream (external) system calls a JSON web service hosted in the interface engine, which converts the JSON data received to an HL-7 messages to send to the downstream system. I'm looking for direction and example of how to do the equivalent in InterSystems, so the the upstream system only has to modify the URL of the web service they call.

I suppose in IS we'll need to create a business service that is a JSON web service? How to access the JSON data (parameters in the web service call) in the Transformation?

0 0
0 22

Hello everyone,

Recently, I've been working on a Business Process that processes a large JSON FHIR message containing up to 50k requests in an array within the JSON.

Currently, the code imports the JSON as a dynamic object from the original message stream, obtains an iterator from it, and processes each request one at a time in a loop.

0 2
0 95

I have an API that does not have all the data. Like it is truncated. Magic number of characters seems to be 163,280

I do an <assign>

context.RawBundle=##class(%DynamicObject).%FromJSON(context.FHIRResponse.Body)

The error does not happen when the response is < 163,280 chars. And when < 163,280 chars, it is a complete FHIR Bundle. Have anyone experienced this? If so, what is the resolution?

0 3
0 81

I am trying to work with the FHIR Object Model where I convert an incoming HL7v2 to SDA then FHIR. From here I would like to be able to process the FHIR Object by deserializing it to a Bundle object using the following code my problem is I keep on getting an error which is not explaining much about what is wrong with what I am doing any help will be appreciated thanks.

0 3
0 78

Good morning, 🙂

I would like to ask a question, which has to do with how to manage %GlobalCharacterStream representing JSONS.

Thank you for reading this question, thank you for your help, and thank you for your time and attention.

Specifically, in a certain Process, we were querying 2 Operations, whose response we were converting to a Property called "informesAutorizadosRangoFechas" (reportsAuthorizedInRangeDates) which is %GlobalCharacterStream whose content is a JSON with the same structure.

0 5
0 134

Hello Community,

My Intersystems Caché Version: 1.2014 (Can't update now.)

I have the following issue:

I have for example an articlenumber with 15049950, which is numeric. But sometimes it can also be an alphanumeric string like PK15049950.

How can i set numbers always to string in Json Stream with quotes like "15049950".

Code Example:

set object = ##class(%ZEN.proxyObject).%New()

set articlenumber = "15049950"

set object.articlenumber = articlenumber

0 5
0 330

Hi folks!

Researching FHIR bundle transactions.

The idea is that you can post a bundle to a FHIR server with a set of resources. And you can send it as a transaction, so only all the resources will be published or neither.

E.g. I send a bundle of two resources: patient and its observation.

The observation resource should reference an existing patient. But it probably doesn't exist yet on the server and goes within the same bundle.

For this purpose there is a way to have a temporary id in the bundle, to let resources reference ids.

0 6
0 195
Article
· Jan 22 2m read
Getting JSON from SQL

Did you know that you can get JSON data directly from your SQL tables?

Let me introduce you to 2 useful SQL functions that are used to retrieve JSON data from SQL queries - JSON_ARRAY and JSON_OBJECT.
You can use those functions in the SELECT statement with other types of select items, and they can be specified in other locations where an SQL function can be used, such as in a WHERE clause

The JSON_ARRAY function takes a comma-separated list of expressions and returns a JSON array containing those values.

18 11
4 641

I have the JSON message below. I am struggling with parsing the data in the OtherProcedures section. That section can be null, or have from one to many other procedures. Any help is greatly appreciated. I have tried using/setting an iterator to go thru the data but not having any success with that.

0 5
0 118

The Lo-Code Challenge

Imagine the scene. You are working happily at Widgets Direct, the internet's premier retailer of Widgets and Widget Accessories. Your boss has some devastating news, some customers might not be fully happy with their widgets, and we need a helpdesk application to track these complaints. To makes things interesting, he wants this with a very small code footprint and challenges you to deliver an application in less than 150 lines of code using InterSystems IRIS. Is this even possible?

19 9
7 648

We have JSON type data in a Dynamic Object. Is there a simple way to export / dump that data to a delimited string or file?

e.g.

Results={"ClassA":{"ClassName":"ClassA","ACount":367191880,"BCount":367191880,"CurrentDiff":0,"PreviousDiff":0,"ReportDate":"2024-03-02 00:00:00"}
"ClassB":{"ClassName":"ClassB","ACount":5352149227,"BCount":5352149227,"CurrentDiff":0,"PreviousDiff":0,"ReportDate":"2024-03-02 00:00:00"}}

0 6
0 235

You may have heard about our mg-dbx-napi interface for IRIS which provides insanely fast access from Node.js. If you've been following recent developments in the server-side JavaScript world, you'll be excited to know that mg-dbx-napi also works with Bun.js, the latter proving to be significantly faster than Node.js for many/most purposes.

Of course, if you're a Node.js user, you'll probably wonder how mg-dbx-napi compares with the Native API for Node.js that is included with IRIS.

5 8
2 159
Article
· Mar 15 5m read
How to start Using VsCode

Introduction

In the next few weeks, my coworkers are planning to start using VSCode to code with InterSystems' products. Among the many advantages of that, I would emphasize being able to connect with other technologies, such as GitHub, with ease. Besides, VSCode also offers an extensive extensions store, where you can find many free add-ons that make coding faster and more efficient. Last but not least, to conquer the heart of every developer, it is open source.

9 2
2 276

Dear,

I'm trying to configure a new interface that reads HL7, transform them into FHIR messages and then send POST or PUT or DELETE depending on HL7 doc type.

1-I added an HL7 TCP service that reads ADTs messages

2a-Send ADTs to a process to transform them into SDA (using the following command: do ##class(HS.Gateway.HL7.HL7ToSDA3).GetSDA(request,.con))

2b-Extract the patient MRN and add it to the AdditionalInfo property (using the following request message class: HS.Message.XMLMessage)

1 5
0 98

JSON is a lightweight data interchange format for representing and exchanging data between a server and a web application. Its popularity has led to its widespread use in applications based on InterSystems technology, as well as demand for a converter that transforms globals to JSON and back. Therefore, @Evgeny Shvarov suggested developing Global->JSON->Global converter. Implementing such a converter is important to ensure interoperability, simplify data exchange, support web services, and provide a standardized approach to data representation across different software ecosystems. This article, the second in the "Implemented Ideas" series, focuses on several projects created by the legend of InterSystems Developer Community @Robert Cemper that deal with this task:

5 1
2 165

I am sending an httpRequest from ObjectScript to a python server. I am not receiving a response in OS

OS config On the client side

// Create an HTTP request object
Set httpRequest = ##class(%Net.HttpRequest).%New()

// Set the server URL
Set httpRequest.Server = "http://127.0.0.1:8080"

// Set content type to JSON
Set httpRequest.ContentType = "application/json"

0 5
0 162

Hi,

I have a scenario where I recognize that I have a duplicate patient in FHIR , both have a different set of data attached to them (Specimens / Observations / Conditions) and I want to transfer all the data from patient X to patient Y, and maybe mark patient X as not relevant or delete it IDK yet.

since Patch currently supports only single patch,

"The Conditional Patch query identified more than one resource."

1 5
0 161
Article
· Feb 22 4m read
IRIS 2024.1 Preview - New Feature

There is an interesting new feature in the recently announced 2024.1 preview, JSON_TABLE. JSON_TABLE is one of a family of functions introduced by the 2016 version of the SQL Standard (ISO Standard, published in early 2017). It allows for JSON values to be mapped to columns and queried using SQL. JSON_TABLE is valid in the FROM clause of some SQL statements.

The syntax of JSON_TABLE is quite large, allowing for exceptional conditions where the provided JSON values don't match expectations, nested structures and so on.

9 4
3 364