Clear filter
Announcement
Shane Nowack · May 6, 2024
Hi Community,
InterSystems Certification Program officially changed exam delivery platforms from Questionmark to Certiverse on May 6, 2024. We have made this decision in hopes of providing a better experience for our certification candidates. To take an exam on this new platform, you will be required to sign in with an InterSystems account, the same one that is used for the Developer Community, Online Learning, etc. If you do not have one, please register for an account.
Find more information about Taking InterSystems Exams on Certiverse here, and reach out to certification@intersystems.com if you have any questions.
Note: Our InterSystems HL7 Interface Recertification Project will continue to be hosted on Questionmark until further notice.
Sincerely,
The InterSystems Certification Team
Announcement
Ronnie Hershkovitz · May 12, 2024
Hi Community,
We're pleased to invite you to the upcoming webinar in Hebrew:
👉 Maximize Your Success with InterSystems Support 👈
📅 Date & time: May 21st, 3:30 PM IDT
Unlock the full potential of your InterSystems solutions in this engaging webinar! Join us to explore the capabilities of the Worldwide Response Center (WRC). Learn about our streamlined support procedures and policies designed to deliver the help you need, when you need it. Dive into the WRC application with a live demo, discover insider tips for effective communication, and much more.
Presenter:🗣@Asaf Sinay, Senior Support Manager, Product Support, InterSystems
➡️ Register today and enjoy! 🙌🙌
Announcement
Carmen Logue · Jul 9, 2024
InterSystems Reports version 24.1 is now available from the InterSystems Software Distribution site in the Components section. The software is labeled InterSystems Reports Designer and InterSystems Reports Server and is available for Mac OSX, Windows and Linux operating systems.
This new release brings along some great enhancements from our partner, insightsoftware. InterSystems Reports 24.1 is powered by Logi Report Version 24.1SP2 and includes:
Add external files as attachments to the labels and fields (including DBFields, formula fields, parameter fields, summary fields, and special fields) to your report. For more information, go to this link.
Support for common HTML tags when rendering reports in Design mode.
Additional capabilities in Page Report Studio to allow for more flexibility when editing reports on the Reports Server
For more information about these features and others, see the release notes available from insightsoftware.
Note that the InterSystems Reports 24.1 installation requires JDK version 11 or 17 for the installation to execute. Please upgrade if you are using JDK 8 prior to the InterSystems Reports installation.
For more information about InterSystems Reports, see the InterSystems documentation and learning services content.
Article
Muhammad Waseem · Mar 10, 2024
Introduction
Visual Studio Code (VS Code) is a free source code editor made by Microsoft for Windows, Linux, and macOS. It provides built-in support for JavaScript, TypeScript, and Node.js. You can add extensions to provide support for numerous other languages including ObjectScript.
The InterSystems extensions enable you to use VS Code to connect to an InterSystems IRIS server and develop code in ObjectScript. The Visual Studio Code Documentation is an excellent resource on VS Code, so it is a good idea to be familiar with it.
Development in ObjectScript involves both your local client machine and an InterSystems IRIS server. Because both resources are required, workflow is different from that typical for many languages. Source code files are edited on the client, and saved to the local disk where they can be managed with a Version Control System. In addition, source files are exported to an InterSystems IRIS server, where they can be compiled, run, and debugged.
Below is the list of VSCode extensions:
1 - InterSystems Server Manager Extension
InterSystems Server Manager is a Visual Studio Code extension for defining connections to InterSystems servers. These definitions can used by other VS Code extensions when they make connections.
Installation
Open VSCode and click on Extensions Icon
Type intersystems in the search field to find these extensions in the Marketplace, as illustrated in the following screenshot:Click on Install, Once installed InterSystems Icon will appear in the sidebar. Click on it
1.1 Define Connections to IS Server
Click on Add Server (+ icon)
Enter the name of the server e.g "Local Instance", description (Optional), Hostname or IP address, Port of Web server, and Username.
The first time you expand a server in the tree VS Code displays a modal dialog asking for your permission:
1.2 View Server Tree
Server Manager displays connection definitions as a tree on an InterSystems Tools view:
In this tree, you can:
Launch the InterSystems Management Portal, either in a VS Code tab or in your default browser.
List namespaces.
Add namespaces to your VS Code workspace for viewing or editing source code on the server, including web application (formerly CSP) files, with the ObjectScript extension.
Tag favorite servers.
Set icon colors.
Focus on recently used connections.
Add new servers, and edit existing ones.
1.3 Launching Management Portal
When you hover over a server entry in the tree two command buttons let you launch InterSystems Management Portal.
The first button uses VS Code's Simple Browser feature, which creates a tab alongside any documents you may have open. The second button opens Portal in your workstation's default web browser.
1.4 Amending and Removing Servers
From a server's context menu, or from Server Manager's top-right '...' menu, choose Edit Settings. This opens VS Code's Settings Editor and filters its contents.
Click on Edit in settings.json link
The Server can be added, modified, or deleted by modifying the settings
2 - InterSystems ObjectScript Extension
This extension provides language support for Visual Studio Code. Before installing this extension you must install InterSystems Server Manager Extension as it has a dependency on it.Just click on the Install button to install the Extension.
2.1 View/Edit code
Once installed, Follow below steps to view/edit code in Namespace
Now we can Add/Modify code from the VSCode editor. Click on the Add New file icon to add a new class
2.2 Save and Compile Code
While saving, the system will compile and save the code to the server
2.3 Code completion
Upon writing code, this extension will provide a code completion option
2.4 Intellisense Support
This extension provides Intellisense support for commands, system functions, and class members
2.5 Code highlighting
Select any text from the code and the system will highlight all the related appearances
2.6 Debug code
Click beside the code line number to add a breakpoint, and click Debug on the top of the method signature
2.7 Direct Access
This extension provides Direct access to edit or view server code in the VS Code Explorer via isfs and isfs-readonly FileSystemProviders. Server-side source control is respected.
2.8 Go to definition support
Go to definition for ObjectScript classes, class members, macros, routines, routine labels, and embedded SQL tables, fields and class methods and queries invoked as SQL procedures.
3 - InterSystems Language Server Extension
Language Server is meant to provide the language-specific smarts and communicate with development tools over a protocol that enables inter-process communication.Before installing this extension you must install InterSystems Server Manager and InterSystems Objectscript Extension as this Extension has a dependencies on it.
3.1 Semantic token-based coloring
Semantic token-based coloring for InterSystems ObjectScript classes, routines and CSP files, with support for embedded languages like SQL, Python, HTML, XML, Java, JavaScript and CSS.
3.2 Embedded Language Support
Provide support for embedded languages like SQL, Python, HTML, XML, Java, JavaScript and CSS.
3.3 Hover information for ObjectScript commands
Hover information for ObjectScript commands, system functions, system variables, classes, class members, macros, preprocessor directives, UDL keywords, Parameter types, Storage definition keywords, and embedded SQL tables, fields and class methods and queries invoked as SQL procedures.
3.4 Override Class Members
To override inherited class members, Right click and select the Override Class members option.
Select the class member type for override from the list. e.g select class member type "Method"Search/select %OnNew methodEnter desired code
3.5 Code Completion (ObjectScript/XML)
Code completion for ObjectScript classes, class members, system functions, system variables, macros, include files, package imports, preprocessor directives, UDL keywords, UDL keyword values, UDL Parameter types and UDL Storage definition keywords. Code completion for properties referenced using instance variable syntax (i%PropertyName) must be triggered manually using Ctrl-Space with the cursor immediately after the i%
3.6 Method Signature Help
Signature help for ObjectScript methods and macros that accept arguments.
3.7 Code Linting
Code linting for ObjectScript and UDL that checks for the following:
Syntax errors, including for embedded languages.
References to local variables that are undefined.
Classes and routines that don't exist in the database.
Invalid UDL Parameter types.
Mismatches between declared UDL Parameter types and the assigned value.
Classes, Methods, Parameters and Properties that are Deprecated.
$ZUTIL functions that are deprecated or have been superseded.
3.8 Folding Ranges
The extension supports Folder Ranges for the following:
ObjectScript code blocks (If/ElseIf/Else, Try/Catch, For, While, etc.)
UDL class members
ObjectScript routine labels
UDL descriptions
ObjectScript documentation comments (/// in first column)
XML tags in XData blocks
Storage XML tags
JSON in XData blocks
%DynamicObject and %DynamicArray
ObjectScript preprocessor code blocks
Multi-line macro definitions
Dotted Do blocks
Embedded code blocks (SQL, HTML, JavaScript)
3.9 Code refactoring
Wrapping a block of ObjectScript code in a Try/Catch block. In the same way, we can Extract a block of ObjectScript code from an existing method to a new method
3.10 Type Hierarchy Provider
for ObjectScript classes to show subclasses and superclasses in a hierarchical tree view: NOTE : The best way to install and use these extensions is by installing the "InterSystems ObjectScript Extension Pack" which installs a set of the above extensions.Click on install from the extensions to install a set of 3 extension packs.
Thanks
Hi Muhammad, great article!
Do you know by chance how to switch from an instance to another through the ObjectScript extension?
I have a local folder where I'm setting up a Docker instance, but the folder is linked to my IRIS local instance and it is not possible to unlink them even by doing Toggle connection or Refresh connection. Of course, I would like to connect to my containerized instance instead.
Thanks :) Hi @Pietro.DiLeo,I appreciate your feedback. did you try by modifying the server settings? Hi @Muhammad.Waseem, in the end I found a solution modifying the settings.json file, which contained all the info about my connection If you use server side editing, you can have as many servers/namespaces as you need in Explorer.
In many environments server side editing in much more convenient. Thanks @Enrico.Parisi, this is interesting. I'm going to check it out
Announcement
Anastasia Dyubaylo · Apr 8, 2024
Hey Community,
We have more exciting news! The new InterSystems online programming contest dedicated to Generative AI, Vector Search and Machine Learning is starting very soon!
🏆 InterSystems Vector Search, GenAI and ML Contest 🏆
Duration: April 22 - May 19, 2024
Prize pool: $14,000
The topic
Develop any solution using InterSystems IRIS or InterSystems IRIS for Health or IRIS Cloud SQL that uses generative AI and/or machine learning.
To make it even more interesting, the authors of the most innovative projects harnessing the power of vector search will be invited to the Global Summit 2024* (up to 3 people)!
* The invited developers will receive a free ticket to the Global Summit and a free hotel stay from June 8 to 13, 2024.
General Requirements:
An application or library must be fully functional. It should not be an import or a direct interface for an already existing library in another language (except for C++, where you really need to do a lot of work to create an interface for IRIS). It should not be a copy-paste of an existing application or library.
Accepted applications: new to Open Exchange apps or existing ones, but with a significant improvement. Our team will review all applications before approving them for the contest.
The application should work either on IRIS Community Edition or IRIS for Health Community Edition. Both could be downloaded as host (Mac, Windows) versions from Evaluation site, or can be used in a form of containers pulled from InterSystems Container Registry or Community Containers: intersystemsdc/iris-community:latest or intersystemsdc/irishealth-community:latest .
The application should be Open Source and published on GitHub.
The README file to the application should be in English, contain the installation steps, and contain either the video demo or/and a description of how the application works.
Only 3 submissions from one developer are allowed.
NB. Our experts will have the final say in whether the application is approved for the contest or not based on the criteria of complexity and usefulness. Their decision is final and not subject to appeal.
Prizes
1. Experts Nomination - a specially selected jury will determine winners:
🥇 1st place - $5,000
🥈 2nd place - $3,000
🥉 3rd place - $1,500
🏅 4th place - $750
🏅 5th place - $500
🌟 6-10th places - $100
2. Community winners - applications that will receive the most votes in total:
🥇 1st place - $1,000
🥈 2nd place - $750
🥉 3rd place - $500
🏅 4th place - $300
🏅 5th place - $200
If several participants score the same amount of votes, they all are considered winners, and the money prize is shared among the winners.
Who can participate?
Any Developer Community member, except for InterSystems employees (ISC contractors allowed). Create an account!
Developers can team up to create a collaborative application. 2 to 5 developers are allowed in one team.
Do not forget to highlight your team members in the README of your application – DC user profiles.
Important Deadlines:
🛠 Application development and registration phase:
April 22, 2024 (00:00 EST): Contest begins.
May 12, 2024 (23:59 EST): Deadline for submissions.
✅ Voting period:
May 13, 2024 (00:00 EST): Voting begins.
May 19, 2024 (23:59 EST): Voting ends.
Note: Developers can improve their apps throughout the entire registration and voting period.
Helpful Resources:
✓ Documentation:
InterSystems IRIS Vector Search documentation
InterSystems IntegratedML documentation
Boosting Facial Recognition Vector Search
✓ Example applications and libraries:
IRIS Vector Search
llamaindex-iris
langchain-iris
workshop-vector-face
IRIS FHIR SQL Builder DBT IntegratedML
integratedml-demo-template
integratedml-demo - Embedded Python demo suite
iris-local-ml - Hugging Face and python usage with IRIS
iris-fine-tune-ml - training and tuning ml models with python and InterSystems IRIS
QuinielaML - soccer match predictions with IntegratedML
workshop-integratedml-csv
iris-rag-demo - RAG demo implementation
✓ Online courses:
Using Vector Search for Generative AI
IntegratedML Interactive Intro Course
Hands-on with IntegratedML
✓ Videos:
Using Vector Search for Generative AI
Adding AI into Interoperability Production
Building Models with integratedML in the cloud
Generative AI Use Cases in Healthcare
✓ For beginners with IRIS:
Build a Server-Side Application with InterSystems IRIS
Learning Path for beginners
✓ For beginners with ObjectScript Package Manager (IPM):
How to Build, Test and Publish IPM Package with REST Application for InterSystems IRIS
Package First Development Approach with InterSystems IRIS and IPM
✓ How to submit your app to the contest:
How to publish an application on Open Exchange
How to submit an application for the contest
Need Help?
Join the contest channel on InterSystems' Discord server or talk with us in the comment to this post.
We're waiting for YOUR project – join our coding marathon to win!
By participating in this contest, you agree to the competition terms laid out here. Please read them carefully before proceeding. great newss!!!
Let's go team! @Henrique.GonçalvesDias @José.Pereira
 @henry
GIFs rock 😁 Hey Devs!
The recording of the "Kick-off Webinar for Vector Search, GenAI and ML Contest" is on InterSystems Developers YouTube! 🔥
⏯Kick-off Webinar for Vector Search, GenAI and ML Contest
Developers!
The first application has already been uploaded to the contest!
geo-vector-search by @Robert.Cemper1003
Check it out! There are two more weeks left to join! We are waiting for your apps! Hey Devs!
One more article has been added to the contest! Check it out!
Hackupc24_inter by @Jonathan.RodríguezBarja
This is the last week for uploading the apps and join the contest! Community!
Two more articles have been added to the contest!
AriticleSimilarity by @xuanyou.du iris-image-vector-search by @shan.yue
There are only two days left to the end of registration!Upload your application and join the contest!🔥 Developers!
Two more articles have been added to the contest!
ImageSearchVideo by @Rebecca.Deng HackUPC24_Klìnic by @Tanguy.Vansnick
The technology bonuses have been announced, use them to get you extra points in the voting! Community!
This is the last day to join the contest! Hurry up, upload your apps, and get ready for the voting!By the way, 6 more competitors have joined the contest!
iris-ai-studio by @Ikram.Shah3431companies-search by @Lucas.Fernandes7309iris-medicopilot by @henry AutoML Churn Predict Showroom by @Yuri.GomesBG-AppealAI by @KATSIARYNA.Shaustruk DNA-similarity-and-classify by @davimassaru.teixeiramutaWALL-M by @Somesh.Mehra
Announcement
Olga Zavrazhnova · Apr 9, 2024
Hi Developers,
Join us at the upcoming Developer Roundtable on April 25th at 9 am ET | 3 pm CET. 📍We will have 2 topics covered by the invited experts and open discussion as always.
Tech Talks:➡ Practical Usage of Embedded Python - by Stefan Wittmann Product Manager, InterSystems
▶ Recording:
Do you have questions which you'd like to discuss on this roundtable? Please share them in the comments to this post.
Not a Global Masters member yet? Sign in with your InterSystems SSO credentials. Hello everyone, recording of this roundtable is now available to watch here https://youtu.be/a6VH4Hg5TmI?si=03MKw1mHbQPBYPqm
Announcement
Anastasia Dyubaylo · Apr 9, 2024
Hello and welcome to the Developer Ecosystem Winter News!
This winter was full of online and offline activities in the InterSystems Developer Ecosystem. In case you missed something, we've prepared for you a selection of the hottest news and topics to catch up on!
News
🎇 Your year 2023 in numbers!
🎆 Happy New Year 2024! Season's greeting to all and sundry!
💡 InterSystems Ideas News #10 and #11
📝 Open Exchange Gets New Look and New Features
📝 What's new in VS Code, 2024
📝 Global Masters: new badges for Suggested Tech Quizzes
📝 Check out our new Instruqt course: InterSystems IRIS for Health
Contests & Events
InterSystems FHIR and Digital Health Interoperability Contest
Contest Announcement
Kick-off Webinar
Technology Bonuses
Time to Vote
Technical Bonuses Results
Winners Announcement
Meetup with Winners
Technical Article Contest: InterSystems IRIS Tutorials
Contest Announcement
Extra Bonuses
Winners Announcement
Advent of Code 2023
Contest Announcement
Winners Announcement
GenAI Crowdsourcing Mini-Contest
Contest announcement. Round 1
Round 2
Winner announcement
⏯️ [Webinar in Hebrew] VS Code - Beyond the Basics
⏯️ [Webinar in Spanish] OAuth 2.0, OpenID Connect & LDAP: Monitoring access to FHIR resources
🧑🤝🧑 InterSystems Benelux & France Summit 2024!
👨💻 [Hackathon] Get Inspired: Winners of InterSystems FHIR challenge at European Healthcare Hackathon 2023
👨💻 [Hackathon] InterSystems at TreeHacks 2024 - Stanford's premier hackathon
🚰 [Water Cooler Talk] Tech discovery of the year
Latest Releases
⬇️ Developer Community Release, January 2024
⬇️ InterSystems IRIS, IRIS for Health, & HealthShare Health Connect 2024.1 developer previews
Preview 1
Preview 2
Preview 3
Preview 4
⬇️ Maintenance Release 2023.1.3 of InterSystems IRIS, IRIS for Health, & HealthShare Health Connect is now available
⬇️ InterSystems IRIS Cloud SQL and InterSystems IRIS Cloud IntegratedML are now Generally Available
⬇️ IAM 3.4 Release Announcement
⬇️ IKO (InterSystems Kubernetes Operator) 3.7 Release Announcement
⬇️ Caché, Ensemble, and HSAP 2018.1.9 released
⬇️ Adaptive Analytics 2023.3 now available
Best Practices & Key Questions
🔥 Best Practices of Winter 2023/2024
Using SQLAlchemy to transfer tables to and from IRIS
Http request response time monitoring
GitOps with the InterSystems Kubernetes Operator
Python and IRIS in practice - with examples!
Using FHIR Adapter to deliver FHIR services over legacy systems - Introduction
Working with %JSON.Adaptor
Inter process communication with $SYSTEM.Event
Using FHIR Adapter to offer FHIR services over legacy systems - Architecture
Using FHIR Adapter to offer FHIR services over legacy systems - Reading a Resouce
Using FHIR Adapter to offer FHIR services on legacy systems - Posting a Resource
❓ Key Questions of Winter 2023/2024: December, January, February
People and Companies to Know About
🌟 Global Masters of Winter 2023/2024: December, January, February
👨💻 Meet Enrico Parisi - New Developer Community Moderator!
Job Opportunities
💼 InterSystems FHIR Consultant Short Term
So...
Here is our take on the most interesting and important things!
What were your highlights from this past season? Share them in the comments section and let's remember the fun we've had! Nice to get all the news in one post! great summary - thank you for compiling :)
Announcement
Anastasia Dyubaylo · Apr 1, 2024
Hi Community!
It's time to celebrate our 19 fellow members who took part in the latest Technical Article Contest: InterSystems IRIS Tutorials and wrote
🌟 21 AMAZING ARTICLES 🌟
Our judges mentioned that it was a very tough challenge to choose only three articles each because more deserved points. Despite it all, they persevered and now it's time to announce the winners!
Let's meet the winners and look at their articles:
⭐️ Expert Awards – winners selected by InterSystems experts:
🥇 1st place: Orchestrating Secure Management Access in InterSystems IRIS with AWS EKS and ALB by @Roy.Leonov
🥈 2nd place: Tutorial: Adding OpenAI to Interoperability Production by @Maria.Nesterenko
🥉 3rd place: InterSystems IRIS® CloudSQL Metrics to Google Cloud Monitoring by @sween and
Generating meaningful test data using Gemini by @Iryna.Mykhailova
⭐️ Community Award – winner selected by Community members. This time, we have 2 articles with the most likes:
🏆 Generating meaningful test data using Gemini by @Iryna.Mykhailova and
🏆 How to send messages to Microsoft Teams by @Francisco.López1549
And...
⭐️ We'd like to highlight the author who submitted 3 articles for the contest: @Iryna.Mykhailova
Let's congratulate all our heroes who took part in the Tech Article contest #5:
@Robert.Cemper1003
@Veerarajan.Karunanithi9493
@Francisco.López1549
@sween
@Andre
@Yuri.Marx
@Muhammad.Waseem
@Iryna.Mykhailova
@Laurel.James
@Roy.Leonov
@Maria.Nesterenko
@Heloisa.Paiva
@Chi.Nguyen-Rettig
@Ewan.Whyte
@Victoria.Castillo2990
@Daniel.Aguilar
@Phillip.Wu2039
@FlávioLúcio.NavesJúnior
@Alex.Woodhead
THANK YOU ALL! You have made an incredible contribution to our Dev Community!
The prizes are in production now. We will contact all the participants when they are ready to ship. Congratulations to the winners. Thanks for all, we must to repeat 😉 Nice work and thank you to all contributors - you make our Community a better place with more options for learning :)
Congrats to the winners! Congratulations to all the winners. Great stuff to learn 👍 Congratulations to all the winners!It was a great event and highly useful to follow. Congrats to all! I learned a lot (and am still learning) from these great topics Congratulations to the winners! Congratulations to all participants and a special congratulations to all the winners!! Well deserved! Congratulations to all the participants 🎆 Well done! Amazing articles! Congratulations to winners and all participants!
Question
Iryna Mykhailova · Mar 16, 2024
Hi guys,
Apparently, I'm doing something wrong. Opened the InterSystems IRIS Cloud SQL, clicked on View Purchase Options and got an error:
Something tells me that contacting AWS customer support won't help. What should be my steps to get access to it to try it out? For me it took a few days to solve a bit different issue, but only with InterSystems, that had to fix something on their site. I’d recommend contacting them through iservice, probably they can help @Benjamin.DeBoe please take a look Please open an iService ticket to request assistance, referencing your AWS account details. Can't even log in there - I get asked for a login and password in a loop 😭🤣 It doesn't seem to work for the Developer Community moderators' accounts.
Announcement
Olga Zavrazhnova · Mar 15, 2024
Hi Developers,
Join us at the upcoming Developer Roundtable on March 26th at 11 am ET | 4 pm CET. 📍We will have 2 topics covered by the invited experts and open discussion as always!
Talks:
➡ Demo on Documenting and Testing REST Call's by generating documentation and making scenario's for integration tests - presented by @Danny.Wijnschenk , Application Developer, Winfo.Danny is an independent developer based in Belgium, specialized in InterSystems Caché and IRIS. He has customers in both the healthcare and non-healthcare sectors.
➡ Cypress for web application testing - presented by @Pravin.Barton , Senior Applications Developer, InterSystems
▶ Update: watch the recording of the roundtable below.
📅 Date: March 26
🕑 Time: 11:00 am ET | 4:00 pm CET
Do you have questions which you'd like to discuss on this roundtable? Please share them in the comments to this post.
Not a Global Masters member yet? Sign in with your InterSystems SSO credentials. Hiya,I accidently marked myself not attending but I can't seem to find how to update my response so that I can attend. When I try the link to register it just says I'm not attending and I can't find a way to edit it.If there is any direction for how to fix this I'd appreciate it!Thanks Hi @Andre no worries, I have registered you. Please expect a calendar invite from me 😊 Thank you @Olga.Zavrazhnova2637 :D Hi All, the recording of the roundtable is published: https://youtu.be/2NeWf-Y8Cuk
Article
Luis Angel Pérez Ramos · Apr 29, 2024
For some time I have been planning to do some type of proof of concept with the Workflow functionality, which, like so many other functionalities present in IRIS, tends to go quite unnoticed by our clients (and for which I say mea culpa). That's why I decided a few days ago to develop an example of how to configure and exploit this functionality by connecting it with a user interface developed in Angular.
To avoid a very long article and make it more accessible, I am going to divide it into 3. In this first article I will present the functionality of Workflow as well as the example that we are going to solve. The second article will go into detail about the configuration and implementation of the production that will be responsible for managing the Workflow. Finally we will show how to access the information available in our Worflow through a web application.
InterSystems IRIS Workflow Engine
What better way to explain what this Workflow functionality is than to copy the description given in the IRIS documentation.
A workflow management system automates the distribution of tasks among users. Automating the distribution of tasks according to a predefined strategy makes task assignment more efficient and task execution more responsible. A typical example is a help desk application that accepts problem reports from customers, sends the reports to members of the appropriate organizations for action, and, once the problem is resolved, reports the results to the customer.
InterSystems IRIS Workflow Engine provides a much higher level of functionality than traditional, stand-alone workflow management systems.
Where do we find the Workflow functionalities in our IRIS? Very simple, from the Management Portal:
Let's briefly explain each of the available options before getting into the example project.
Workflow Roles
This option refers to roles in which we will classify the users who will use the functionality. The definition of role is somewhat confusing, I particularly prefer to see it more as types of tasks that we can create from our production. The name assigned to these roles must match the names of the Business Operations that we will later declare in our production to create tasks associated with said roles.
Workflow Users
IRIS users who can be assigned to different tasks will be associated with one or more roles. Users must be registered with IRIS.
Workflow Tasks
List of tasks created in the system with their associated information. From this window, tasks can be assigned to the different users corresponding to the task role.
What are these tasks? Very simple, the tasks are instances of the EnsLib.Workflow.TaskRequest class, the object of this type will be sent from the Business Process in which it has been generated to a Business Operation of the class EnsLib.Workflow.Operation and with the name of the role that we have previously created. This action will in turn create an instance of the EnsLib.Workflow.TaskResponse class. The Business Operation will not return a response until the CompleteTask method of the TaskResponse class instance is executed.
Workflow Worklist
Similar to the previous functionality, it also shows us a list of tasks with the information associated with them.
Workflow example
The project that you can find associated with this article presents a simplified example of a solution to a typical problem of health organizations such as the treatment of chronic patients. These types of patients require continuous control and strict monitoring for which in many cases the professionals involved in care do not have the most appropriate means.
In the example we are going to see how we can monitor patients with hypertension. We will assume that patients take their blood pressure daily with a blood pressure monitor that will send the reading to the server on which our InterSystems IRIS is installed. In the event that the blood pressure reading exceeds 140 systolic and 90 diastolic values, the patient will be informed that the blood pressure must be taken a second time after a certain time and, if the reading exceeds the limits again, both the patient and the doctor will be informed of the situation so that they can decide what action to take.
To do this, we will divide this task flow into two stages:
Stage 1: Receiving daily blood pressure reading.
Reception in the production of HL7 message with blood pressure measurements.
Checking the existence of the user in the system (and creating it if it does not exist), subsequently registering the user in the roles involved in the workflow.
Extraction of blood pressure data and comparison with the alert criterion.
If the data exceeds the alert criteria:
Creation of a task for the patient informing them of the situation and requesting a new blood pressure measurement.
Creation of automatic task to manage the second blood pressure reading.
If the data does not exceed the alert criteria, the process is closed until the next reading is received the next day.
Stage 2: Reception of second reading after the first reading exceeds the alert values.
Reception of the HL7 message with the second data reading.
Pending automatic task recovery.
If blood pressure levels exceed the alert criteria:
The automatic task is closed indicating the warning status.
A manual task is created for the doctor reporting the patient's situation.
A manual task is created for the patient alerting them to the situation and that their doctor has been informed.
If levels do not exceed alert criteria:
The automatic task is closed indicating that there is no danger.
In the next article we will go into more detail on the design of our flow chart in charge of reflecting what was stated above.
User interface
As you have seen in the attached screenshots, the user interface that InterSystems IRIS provides for task management is, to say the least, quite spartan, but one of the advantages we have with IRIS is that we can create our own API REST to manage our task flow in a very simple way, we will discuss this point in our last article.
To offer a friendly interface to users, we have developed a small web application in Angular using Angular Material that will allow us to create an interface simulating a mobile application.
This mobile application will connect to InterSystems IRIS using JSON Web Tokens and will make HTTP requests to a specific web application published in IRIS, in such a way that the actions taken by the different actors on the tasks are reflected in the defined task flow.
In the next chapter...
After this introduction to the Workflow functionality, in our next article we will show how to implement the task flow necessary to solve the example that we have presented using a BPL, we will configure the entire production and we will see what the main classes involved in the Workflow are like (EnsLib.Workflow.TaskRequest and EnsLib.Workflow.TaskResponse).
Thank you all very much for your attention! Thank you @Robert.Cemper1003 for your kind review! Great app, @LuisAngel.PérezRamos ! There is a set of other apps on OEX that are intended to improve the UI experience. Here is the API by @Eduard.Lebedyuk , Frontend 1 and Frontend 2 by @Sergei.Sarkisian , I'm not sure though which is preferrable?
Announcement
Olga Zavrazhnova · Jun 27, 2024
Hi Community,
Watch this video to learn about the Monitoring and Alerting Capabilities of InterSystems IRIS.
🗣 Presenter: @Mark.Bolinsky, Principal Technology Architect, InterSystems
This demo was prepared for one of our past online developer roundtables. We encourage you to ask your specific questions about this topic in the comments section, and we will invite our experts to answer them!
Useful Links:
InterSystems Documentation:
https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=PAGE_monitoring
https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=GCM_rest#GCM_rest_metrics
https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=GCM_rest#GCM_rest_metrics_application
https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=GCM_rest#GCM_rest_metrics_interoperability
Prometheus Documentation:
https://prometheus.io/docs/introduction/first_steps/
https://prometheus.io/docs/alerting/latest/alertmanager/
Cloud Watch Example:
https://openexchange.intersystems.com/package/CloudWatch-IRIS
Strong Community support:
https://community.intersystems.com/post/grafana-support-intersystems-iris
Announcement
Toby Keod · Jun 18, 2024
We're looking for an experienced developer to join our team and help with the project on a part-time basis (20-30 hours a week). Required experience includes InterSystems Cache, PHP, and API. We're ready to start immediately if you're available. Fluency in English and the ability to work in the US time zone is preferred.
About Us:Redline Coders, an IT consulting firm in California.
Position Details:- Remote- 20-30 hours a week- Duration: 1-2 months Dear Sir/Madam,
I am eager to express my interest in software development and have attached my resume for your review. With
two years of experience in InterSystems Cache/Mumps, I am confident inmy ability to contribute effectively. I look forward to theopportunity to discuss further. Thank you for your time.
Please see my Cache script I did
https://www.youtube.com/watch?v=3tRgR7ma6Mk I am interested in joining your team. I have spent my entire professional career developing using Intersystems Cache developing very large scale web applications. I've enclosed my resume for your review. FYI...I will be on vacation from July 1st to July 12th.resume_april_2024.doc Hello, I am a software developer and started my MUMPS program experience 1990. After Micronetics quit's we switched to Caché. Because of a web-shop project I am familiar with PHP. Dear Recruiter,
I hope this email finds you well. I wanted to take a moment to introduce myself and share a bit about my professional background in InterSystems technologies and healthcare IT.
With over 12 years of experience, I have had the opportunity to work extensively in EMR, EHR, healthcare interoperability, HL7, FHIR, and CCDA, helping organizations enhance their healthcare data exchange and integration capabilities. My expertise includes:
Healthcare Interoperability – Implementing HL7 v2/v3, FHIR, and IHE profiles to facilitate seamless communication between healthcare systems.
EMR/EHR Implementation – Designing clinical data integration solutions that improve patient record management and ensure compliance with industry standards.
Database & Application Development – Expertise in InterSystems IRIS, Cache, ObjectScript, SQL, and ODBC for building efficient and scalable healthcare applications.
Additionally, my experience in investment & wealth management technology provides me with a unique perspective on designing secure, scalable, and compliance-driven solutions in healthcare IT.
I am always eager to connect with like-minded professionals and explore potential collaborations where my expertise could contribute positively. Please feel free to reach out if there is an opportunity to connect or discuss any shared interests.
Looking forward to staying in touch.
Best regards,Arun Kumar Durairaj.+91-84088 03322.
Announcement
Anastasia Dyubaylo · Sep 10, 2024
Hi Community,
Play the new video on InterSystems Developers YouTube:
⏯ InterSystems IRIS Vector Search and the Python Ecosystem @ Global Summit 2024
InterSystems IRIS Vector Search is a new set of features that power your Generative AI applications. Learn how to get started with Vector Search and discover some examples of using it from popular Python frameworks such as LangChain and LlamaIndex. These open-source packages are popular among application developers, and there are hundreds of example projects available that can give you a head-start for your own AI application.
Presenters:🗣 @tomd, Product Manager, Machine Learning, InterSystems🗣 @Dmitry.Maslennikov, Chief Technology Officer, CaretDev
Enjoy watching, and expect more videos! 👍
Article
Laurel James (GJS) · Mar 12, 2024
SQLTools is a Visual Studio Code (VS Code) Extension with over 3.5 million downloads that provides connections to many of the most used databases, including InterSystems IRIS, using drivers. For developers new to VS Code, or those already familiar with it but are looking to streamline their connections to InterSystems IRIS, this tutorial will take you through installing the SQLTools extensions and the InterSystems IRIS drive. It then guides you on how to establish a connection to your instance of InterSystems IRIS and run a query. You will need: VS Code installed on your system and access to an instance of InterSystems IRIS. Installing the SQLTools extension and the InterSystems IRIS driver
Launch VS Code.
Navigate to the Extensions view on the Activity Bar or by pressing Ctrl+Shift+X.
In the search bar, type "SQLTools" and press Enter.
Locate the SQLTools extension from the search results and click on the "Install" button.
Wait for the installation to complete, then close the tab. Take note of the new SQLTools icon in your Activity Bar.
In the Extension search bar, type “SQLTools IRIS” and press Enter.
Find the SQLTools InterSystems IRIS extension from the search results and click on the “Install” button.
Once successfully installed, close the tab.
Connecting to InterSystems IRIS
Go to the SQLTools icon on the Activity Bar.
Click “Add New Connection” and select the “InterSystems IRIS” driver.
Enter a name for your connection.
Fill in the connection details and optionally configure additional settings based on your environment.
Test your connection using the “Test Connection” button.
Once your connection has been successfully tested, click “Save Connection” to create the connection.
Running a Query
Navigate to the SQLTools icon on the activity bar, where you will see your connections.
Right-click on the connection you want to make and select “Connect” from the context menu.
Once connected, write a simple query.
Click “Run on active connection”.
SQLTools will then generate results, displayed in the right panel.
To explore the tables in your database drill down on your connection in the Primary Sidebar.
Select “Show Table Record” (Ctrl+E Ctrl+S) or click the magnifying glass icon.
Click “Open” and “Open results as JSON”.
I hope you found this tutorial useful and that using SQLTools helps to streamline your development environment in VS Code. If you give it a go, I’d love to hear how you get on! There's a VS Code livestream that features SQL Tools. You can view it here: https://www.youtube.com/watch?v=_8nSXEIMMpA&t=120s It's so good that they re-broadcast it just a couple of weeks ago. Highly recommended viewing if you want to get a feel for the capabilities of SQL Tools.