5 Followers · 224 Posts

A programming tool or software development tool is a computer program that software developers use to create, debug, maintain, or otherwise support other programs and applications.

Announcement Evgeny Shvarov · Sep 8, 2024

Here are the technology bonuses for the InterSystems Developer Tools Contest 2024 that will give you extra points in the voting:

  • IRIS Vector Search usage -3
  • Embedded Python usage -3
  • WSGI Web Apps - 2
  • InterSystems Interoperability - 3
  • InterSystems IRIS BI - 3
  • VSCode Plugin - 3
  • FHIR Tools - 3
  • Docker container usage -2 
  • ZPM Package Deployment - 2
  • Online Demo -2 
  • Implement InterSystems Community Idea - 4
  • Find a bug in Embedded Python - 2
  • Code Quality pass - 1
  • Article on Developer Community - 2
  • The second article on Developer Community - 1
  • Video on YouTube - 3
  • YouTube Short - 1
  • First Time Contribution - 3

See the details below.<--break->

1
0 255
Announcement Laurel James (GJS) · May 23, 2024

George James Software is excited to announce that a new version of Deltanji source control is now available. 

Key updates in version 8 include: 
- UI refresh with a modern look and feel
- UX updates that provide a smoother and cleaner user experience
- Task Server II which is simpler to configure and provides more security granularity and control. 
Check out the release notes here.

 

Deltanji 8 is available now, so if you're a user looking to upgrade, please email support@georgejames.com.

If you're not a user but want to learn more about Deltanji, we'd love to give you a demo. Just email us at info@g

3
1 310
Question Joseph Tsang · Mar 22, 2019

From time to time we develop an Ensemble Production with simple SQL Inbound data from external databases, we need to develop a few new classes. There are at least:

  • 1 Ens.Request class with the fields captured from the SQL ResultSet
  • 1 Business Service class using SQL Inbound Adaptor, and in the OnProcessInput(), copy the relevant field data from ResultSet to the new Ens.Request, and call either ..SendRequestSync() or ..SendRequestAsync().

Let's say, if these codes can be generated automatically in order to make the entire development more "low code".

3
0 491
Article José Pereira · May 14, 2024 11m read

TL;DR

This article introduces using the langchain framework supported by IRIS for implementing a Q&A chatbot, focusing on Retrieval Augmented Generation (RAG). It explores how IRIS Vector Search within langchain-iris facilitates storage, retrieval, and semantic search of data, enabling precise and up-to-date responses to user queries. Through seamless integration and processes like indexing and retrieval/generation, RAG applications powered by IRIS enable the capabilities of GenAI systems for InterSystems developers.

A notebook and a complete Q&A chatbot application using the topics discussed

3
3 562
Question Maarten Van den Vreken · Apr 17, 2024

Hi all,

I was wondering if there is a way to modify the results you get in the code assist in Visual Studio Code. Ideally even per class or package.

For example: the code below is for a custom component of a framework. From all the options listed I'm only interested in my own property "Title" and I don't want to see any %-methods or auto-generated methods like "TitleSet" and "TitleGet".

I have been looking at the %Api.Atelier classes, but it seems that it's only calling a list of deprecated methods when opening this list.

3
0 229
Article Heloisa Paiva · Mar 15, 2024 5m read

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.

With that being said, let's start the tutorial. Feel free to skip some steps if you're comfortable doing them alone.

Step 1 -

2
2 1040
Article Ben Spead · Dec 20, 2023 11m read

Your may not realize it, but your InterSystems Login Account can be used to access a very wide array of InterSystems services to help you learn and use InterSystems IRIS and other InterSystems technologies more effectively.  Continue reading to learn more about how to unlock new technical knowledge and tools using your InterSystems Login account.  Also - after reading, please participate in the Poll at the bottom, so we can see how this article was useful to you!

What is an InterSystems Login Account? 

An InterSystems Login account is used to access various online services which serve

4
2 717
Article Rob Ellis · Jan 31, 2024 2m read

Do you ever spend an age entering criteria in the message viewer page, trying to find a message just to realise you're in the wrong instance of IRIS? 

Or get lost in a sea of message tabs struggling to spot that Visual Trace page your were JUST looking at?

Well, have you tried the IRIS WHIZ browser extension and its suite of tools designed to help you avoid such unpleasantness?

1
2 312
Announcement David hay · Jan 14, 2024

clinFHIR is a web application that has been developed pretty much over the same time as FHIR has. 

Originally developed to help clinicians visualize FHIR (hence the ‘clin’ in the name) it has become more widely used by the FHIR community for learning FHIR and assisting with design. It is maintained by David Hay - one of the FHIR Management Group co-chairs with support from InterSystems, which is much appreciated!

There are 4 modules that may be of interest to participants in the upcoming Interoperability contest.

  • The Patient viewer for looking at an individual patients records
  • Server Query which makes RESTful API calls against a FHIR server displaying the result in different formats
  • Bundle Visualizer which will display the contents of a bundle
  • Graph Builder which allows you to build graphs of interconnected resources.

I’ve created a longer post on google docs that goes into a little more details of these modules, with links to other resources such as my blog and the R4 Specification and R5 FHIR specification. I’ll be enhancing that over time - feel free to comment.

A note with regard to FHIR versions. The latest version is R5 (release 5), though many in the community still use R4. In most cases, if you're not sure then use R4. If you're not sure which version a FHIR Server supports, examine its CapabilityStatement which you can get from the server endpoint [host]/metadata

I should also point out that clinFHIR doesn’t currently use SSL. It is on the roadmap, but there are a few issues to work through. The consequence of this is that if you enter ‘clinfhir.com' into the browser, it may not find it. You sometimes have to specify http://clinfhir.com/

If you need further assistance, I would alway recommend using the FHIR chat, and if your question / comment / suggestion is related to clinFHIR then there’s a specific stream there.

0
0 430
Question Sylvain Guilbaud · Aug 23, 2023

Is it planned that LOAD DATA takes into account several DATE/DATETIME formats with, for example, a parameter indicating the format used in the source data?

example :

LOAD DATA .../...
USING
{
  "from": {
    "file": {
       "dateformat": "DD/MM/YYYY"
    }
  }
}
3
0 263
Article Lorenzo Scalese · Nov 24, 2023 4m read

Hi community!

In this article, I'm excited to introduce my latest application, Journal File Indexer. The development of this application is rooted in the portal idea  DPI-I-270.  

In short, this application lets you load and index a log file in a database.  

Why?

If you've ever used the log file search function in the management portal, you may have encountered a timeout error or even a blank page. This problem usually occurs when searching a large journal file. Journal File Indexer solves this problem by considerably increasing the speed of searches once the file has been loaded into the database.  

Another problem arises during the restoration process. When searching for global entries in a log file to restore old or new values, the management portal doesn't have this specific functionality. A routine must therefore be coded to achieve this. Journal File Indexer comes to the rescue, incorporating a restore function!

3
1 429
Article Zacchaeus Chok · Nov 28, 2023 3m read

Overview

In our previous post, we discussed the motivation for developing a chatbot agent with access to FHIR resources. In this post, we will dive into the high-level design aspects of integrating a Streamlit-based chat interface with a Java SpringBoot backend, and enabling a LangChain agent with access to FHIR (Fast Healthcare Interoperability Resources) via APIs.


1
0 388
Article Andrii Mishchenko · Nov 23, 2023 2m read

GmOwl is a solution that offers an organized and engaging learning platform. It was developed to cater to the increasing need, for learning tools providing a versatile quiz environment that meets users requirements.

The main objective of GmOwl is to deliver an user experience for individuals participating in quizzes while giving administrators comprehensive control, over content and user engagement.

GmOwl uses Java EE with MVC template, and the InterSystems IRIS database is used to store data. The InterSystems JDBC Driver is used to connect to the database.

This article intends to examine the

7
2 397
Question Yone Moreno · Nov 24, 2023

Hello,

First of all thanks for your time, thoughts, teaching and help:

We wonder how could we get the metrics from http://[Ip]:[Port]/api/monitor/metrics and use them in Kibana to chart statistics.

We would like to ask you how do you use the api monitor metrics, and as a second question, how would you suggest to utilize them in a third party software as Kibana to chart them.
 

We have thought to do the following:

1. Retrieve Metrics from Intersystems HealthShare API: Use a tool or script to make requests to the Intersystems HealthShare REST API and obtain the list of metrics.

0
1 211
Question Robert Cemper · Nov 20, 2023

While creating my latest examples for the JavaContest I faced the need
to communicate with my code from a program in IRIS to my Java code.

Communication with |CPIPE| worked as READ or WRITE  but not both?
In the Documentation Named PIPEs are explained rather shortly.
"Once open, a pipe acts like an ordinary device."  Not so precise.
I failed to achieve my expected READ/WRITE  as TCP would offer. 

Has anyone a working example to demonstrate it? 
Any suggestion is welcome.

I found a workaround for my actual case.
Though I'm not so happy with it.

4
0 485
Article Robert Cemper · Nov 19, 2023 1m read

Based on the successful solution for my 2nd contribution to the Contest 
I used an adapted version for this package. And have some findings I'd like to share.

Multiple communication steps over CPIPE may take time.
You won't recognize it on a fast machine. But a slower box with
Windows + Docker Desktop + your browser (and more) is neither
"Speedy Gonzales" nor a "Road Runner". 🙂

First observation you launch your OS command and see NO result
On the console, you just sit there and expect a reply.
Establishing the Connection to IRIS is a typical case.
Jour redirected Output is just empty.  

This happens

1
0 259
Article Robert Cemper · Nov 19, 2023 2m read

There are situations when your only access to a server is using a web browser,
and there is just no chance of a Terminal or Console access.
The Online Demo Server is such a case.

So you have WebTerminal. That's fine for ObjectScript and Embedded Python.

But my demo is straight Java. And is interactive.
$ZF(-100...) is some aproach. But it's rater batch-oriented and not interactive.
@Enrico Parisi  presented a nice extension to WebTerminal recently.
It's close to my own packageWebCommand that I presented a year ago.

They all act in the same way. It is always a single-shot approach:
Launch a command to

0
0 234
Article Megumi Kakechi · Oct 19, 2023 2m read

InterSystems FAQ rubric

A tool (^GLOBUFF utility) is available to check the database cache usage for each global variable.

You can run the utility directly or programmatically in the %SYS namespace.

Here's how to run the utility directly:

USER>zn "%SYS"
 
%SYS>do ^GLOBUFF
 
Find which globals are using the most buffers.
 
Display the top <25>:     → Press Enter  // Default is to display top 25 globals
 
Total buffers: 102400     Buffers in use: 6926     PPG buffers: 77 (1.112%)   // Global name, database name, percentage occupied by the buffer
 
Item  Global                             Database
5
1 936
Article Robert Cemper · Nov 15, 2023 2m read

This is the related article to the package in Java Contest. 
I decided to present a CRUD++ Global Editor based on IRIS Native API for Java.
++ because it’s a little bit more than just Create, Read, Update, Delete
Visualization of a global is always important to review results immediately.

  • For this purpose, I have extended the API with a Tree Viewer that mimics  ZWrite and allows also the examination of subtrees.
  • A $Query Style Navigator Forward and Reverse operating for easy finding the Global node of interest.
  • Finally, an option to ZKill to delete the content of a Global Node without
2
0 450
Question Jude Mukkadayil · Oct 24, 2023

Hi,

      I am trying to use a Jreport catalog which had been saved by a different user.  But when I save the catalog I am getting an error "Access is denied".

So does that mean same catalog can't use by different users ?

Can anyone please provide a solution for the Jreport same catalog can use for different users. ? 

Thanks

Jude

6
0 515
Article Claudio Devecchi · Nov 26, 2020 16m read

Introduction

We are in the age of the multiplatform economy and APIs are the "glue" in this digital scenario. Since they are so important, they are seen by developers as a service or product to be consumed. Therefore, usage experience is a crucial factor for its success.

In order to improve this experience, specification standards such as the OpenAPI Specification (OAS) are increasingly being adopted in the development of RESTFul APIs.

What is IRIS ApiPub?

IRIS ApiPub is an Open Source project whose main goal is to automatically publishRESTful APIs created with Intersystems IRIS technology, in

4
4 1408
Article Oleksandr Zaitsev · Sep 17, 2023 2m read

Enhanced Password Management: Edit Passwords Seamlessly

In the ever-evolving landscape of digital security, robust password management tools have become indispensable. Our password management application, designed to simplify and secure your online life, now comes with an enhanced feature – the ability to edit passwords with ease.

Why is this feature a game-changer?

  1. Flexibility: Life is dynamic, and so are our online accounts.With the new edit password feature, you have the flexibility to modify your saved passwords whenever you need to.
0
0 321
Announcement John Murray · Jun 4, 2023

For several years now Visual Studio Code has supported the notebook coding paradigm with a maturing UX and an API that is enabling a notebook extensions ecosystem to grow. One of the best-known notebook platforms is Jupyter Notebooks. A Microsoft team publishes an extension that allows VS Code to handle .ipynb notebook files. These can either work against a local Python environment or connect to a Jupyter Server, which typically hosts remote Python environments with beefier resources.

What if your InterSystems IRIS environments, whether local on your workstation or remote in your organization / cloud, could operate as Jupyter Servers? And not only for Embedded Python but also for ObjectScript and SQL

"If we build it, will they come?"

5
2 915
Question Sam Duncan · Jul 12, 2023

It can sometimes be useful to list or export all of the subclasses that are derived, directly or indirectly, from a given class. In Studio, the Class -> Derived Classes menu option will show such a list, but I'm not aware of a built-in API for programmatically exporting their source code.

Yesterday I wrote some code for exporting derived classes, and I'm thinking about cleaning it up and putting it on Open Exchange.But if there's a simple way to do this that someone has already figured out, I'd be happy to know about that (and help others find that solution) rather than reinventing the wheel.

4
0 459
Article Gevorg Arutiunian · Mar 29, 2020 2m read

Now the Classes/Rutines/DeepSee files will be automatically exported to the working directory after saving or compiling and files will be automatically deleted .

<iframe src="https://www.youtube.com/embed/B1pmqAQqd4M" frameborder="0" allowfullscreen> </iframe>

Installation

To install isc-dev , you just need to download and import the file isc-dev.xml from last release. Some ways to import isc-dev .xml file:

  • Go to Management Portal -> System Explorer -> Classes -> Import and select the XML file.
  • Drag the file over Studio.
  • Terminal command:
NS>do $system.OBJ.Load("yourpath/isc-dev.xml","ck")
NS>zpm
zpm: NS>install isc-dev

How to enable this feature:

  • After importing the class in the target namespace, run the following method to set up the working directory:
NS>do ##class(dev.code).workdir("/path/to/your/working/directory/src/")
  • Go to Management Portal -> System Administration -> Configuration -> Additional Settings -> Source Control.
  • Select the target namespace and set the dev.FileManExtension class as the main one and save it.
  • Try to create a new class in the studio and save/compile it
  • Enjoy!
4
2 552