Clear filter
Announcement
Anastasia Dyubaylo · Jan 13
Hi Community,
Enjoy the new video on InterSystems Developers YouTube:
⏯ InterSystems Package Manager @ Global Summit 2024
InterSystems Package Manager (IPM) is a tool to deploy the packages and solutions into InterSystems IRIS with dependencies. Learn about why you should use it, how to use it, and recent updates for software supply chain security.
Presenters: 🗣 @Timothy.Leavitt, Development Manager, Application Services, InterSystems🗣 @Robert.Kuszewski, Product Manager, Developer Experience, InterSystems
Dive in and enjoy the video—we hope you find it insightful! 👍
Announcement
Vadim Aniskin · Jan 15
Hi Developers!
Welcome to Issue #18 of the InterSystems Ideas newsletter! This edition highlights the latest implemented ideas:
✓ Ideas brought to life during the "Bringing Ideas to Reality" programming contest✓ Ideas implemented by InterSystems in Q4 2024✓ New article featuring an idea realized by the talented Musketeers team
During the programming contest "Bringing Ideas to Reality" Developer Community members implemented 14 ideas
Number
Idea title
Author
Solution name
Developer
1
secrets management
@sween
vault-link
@Henrique, @henry, @José.Pereira
2
Globals Editor
@Evgeny.Shvarov
IRIS Global VSCode Editor
@Yuri.Gomes
3
Time zone conversion
@Veerarajan.Karunanithi9493
tz - ObjectScript Time Zone Conversion Library
@Eric.Fortenberry
4
Class reference generator
@Dmitry.Maslennikov
Doxygenerate
@John.Murray
docs-intersystems
@Dmitry.Maslennikov
5
testing dashboard for InterSystems IRIS
din ba
iris-unit-test-dashboard
@Chi.Nguyen-Rettig
6
HL7 test message generator
@Vadim.Aniskin
iris-HL7v2Gen
@Muhammad.Waseem
ks-fhir-gen
@Robert.Barbiaux
7
Add Inbound Interoperability adapter for HTTP Calls
@Evgeny.Shvarov
iris-http-calls
@Oliver.Wilms
8
SharePoint File Service and Operation
@Ties.Voskamp
SharePoint Online SPO REST API
@Mark.OReilly
9
Automatic setting alerting rapid db size in messages log
@Mark.OReilly
Database-Size-Monitoring
@sara.aplin
10
Advanced Interface Monitoring and Alerting
@Daniel.Metcalfe
ServiceInspection
@Wolis.Oliavr
11
Category dropdown to appear in alphabetical order (ignoring case)production config page
@Mark.OReilly
IRIS WHIZ - HL7v2 Browser Extension
@Rob.Ellis7733
12
Add Search and Sort Functions to the Queue Panel of the Production Settings side bar
@Pietro.DiLeo
13
Export Search Results from Message Search
@Scott.Roth
14
Refresh Button on the small messge browse in the Production panel
@Stefan.Cronje1399
👏 Many thanks to the implementors and authors of these ideas👏
In Q4 of 2024 InterSystems implemented 8 ideas
Number
Idea
Implementation of the idea (project)
1
Date format in LOAD DATA to indicate a date/datetime format other than 'yyyy-mm-dd hh:mm:ss' by @Sylvain.Guilbaud
starting from InterSystems IRIS 2024.2
2
Make Interface Maps more OnDemand by @Scott.Roth
3
Feed the InterSystems Developer Community AI with the documentation by @Heloisa.Paiva
Developer Community AI
4
Promote video contest by @Yuri.Gomes
InterSystems Tech Video Challenge
5
Prioritize search matches by title in documentation by @LuisAngel.PérezRamos
part of a major Algolia project
6
Change the style of the tables in the official documentation by @Heloisa.Paiva
new style sheets were implemented in May 2024
7
Add an AI chatbot to the developers community by @Stella.Tickler
Developer Community AI
8
allow editing of OEX reviews for OWNERs by @Robert.Cemper1003
👏 Thanks to all the InterSystems developers who contributed to making these ideas a reality. 👏
To wrap up this bulletin, check out an article, Implemented ideas: Add a project that helps to generate unittests for an ObjectScript class, showcasing the solution developed by the talented Musketeers team (@Henrique, @henry, @José.Pereira). Thank you to the team for turning this idea into reality and sharing their insights in the article!
✨ Share your ideas, support your favorites with comments and votes, and bring to life the ones you believe matter most to the Developer Community! 🙏

Article
Ashok Kumar T · Sep 12, 2024
Hello Community,
In this article, I will outline and illustrate the process of implementing ObjectScript within embedded Python. This discussion will also reference other articles related to embedded Python, as well as address questions that have been beneficial to my learning journey.
As you may know, the integration of Python features within IRIS has been possible for quite some time. This article will focus on how to seamlessly incorporate ObjectScript with embedded Python.
Essentially, embedded Python serves as an extension that allows for independent writing and execution. It enables the seamless integration of Python code with ObjectScript and vice versa, allowing both to run within the same context. This functionality significantly enhances the capabilities of your implementation.
To begin, you must specify the language for your Python code within the class definition by using the "language" keyword [language = "python"]. Once this is done, you are prepared to write your Python code.
import iris - The iris package is a vital Python library that facilitates communication with InterSystems' native API classes, routines, globals, and SQL. This package is readily available by default. Anyway It is necessary to import this package at the beginning of your python code if you're going to interact with IRIS.
Few important notes before writing
You can use python special variable __name__ to refer the classname inside the class definition.
Use _ for %Methods ex: %New == _New , %OpenId == _OpenId
Let's begin
Class members implementation in Embedded python
1. Objects and Properties
This section is essential as it will cover the process of initializing a new object, altering the values of existing objects, and configuring properties in both static and dynamic contexts. Create your own class definition and use the simple literal properties
1.1 initialize new Object / Modify existing object
Use _New for initiate new object and _OpenId(id) for edit the existing object
ClassMethod SaveIRISClsObject() [ Language = python ]
{
#this method calls the %OnNew callback method and get the object
import iris
try:
iris_obj = iris.cls(__name__)._New()
if not iris.cls(__name__).IsObj(iris_obj):
#IsObj is the objectscript wrapper method : which contains $Isobject()
raise ReferenceError('Object Initlize Error')
except ReferenceError as e:
print(e)
return
#set the object properties and save the values
iris_obj.Name = 'Ashok'
iris_obj.Phone = 9639639635
status = iris_obj._Save()
print(status)
return status
}
1.2 Accessing properties
Prior to commencing the property section, it is important to note that the IRIS data type differs from Python data types, and therefore, IRIS collection data types cannot be utilized directly within Python. To address this, InterSystems has offered a comprehensive solution for converting IRIS data types into Python-compatible formats such as lists, sets, and tuples. This can be achieved by importing the "builtins" module within the IRIS code base, utilizing the class methods ##class(%SYS.Python).Builtins() or by setting builtins = ##class(%SYS.Python).Import("builtins"). I'll cover this in upcoming sections.
So, I use this method to convert the $LB properties into python list for accessing the properties at runtime in python
LEARNING>Set pyList = ##class(%SYS.Python).ToList($LB("Name","Phone","City")) LEARNING>zw pyListpyList=5@%SYS.Python ; ['Name', 'Phone', 'City'] ; <OREF>
ClassMethod GetProperties() [Language = objectscript]
{
set pyList = ##class(%SYS.Python).ToList($LB("Name","Phone","City"))
do ..pyGetPropertiesAtRunTime(pyList)
}
ClassMethod pyGetPropertiesAtRunTime(properties) [ Language = python ]
{
import iris
iris_obj = iris.cls(__name__)._OpenId(1)
for prop in properties:
print(getattr(iris_obj,prop))
}
1.3 Set properties at runtime.
I utilize this python dictionary to designate my property as a key and, with the corresponding property values serving as the values within that dictionary. You may refer to the code provided below and the community post regarding this property set.
ClassMethod SetProperties()
{
Set pyDict = ##class(%SYS.Python).Builtins().dict()
do pyDict.setdefault("Name1", "Ashok kumar")
do pyDict.setdefault("Phone", "9639639635")
do pyDict.setdefault("City", "Zanesville")
Set st = ..pySetPropertiesAtRunTime(pyDict)
}
ClassMethod pySetPropertiesAtRunTime(properties As %SYS.Python) [ Language = python ]
{
import iris
iris_obj = iris.cls(__name__)._New()
for prop in properties:
setattr(iris_obj, prop,properties[prop])
status = iris_obj._Save()
return status
}
1.4 Object share context
As previously stated, both Python and ObjectScript operate within the same memory context and share objects. This implies that you can create or open an object in the InCache class and subsequently set or retrieve it in the Python class.
ClassMethod ClassObjectAccess() [Language = objectscript]
{
Set obj = ..%OpenId(1)
Write obj.PropAccess(),! ; prints "Ashok kumar"
Do obj.DefineProperty("test")
Write obj.PropAccess() ; prints "test"
}
Method PropAccess() [ Language = python ]
{
return self.Name
}
Method DefineProperty(name) [ Language = python ]
{
self.Name = name
}
2. Parameters
Get the parameter arbitrary key value pair by using the _GetParameter. Refer the useful community post
ClassMethod GetParam(parameter = "MYPARAM") [ Language = python ]
{
import iris
value = iris.cls(__name__)._GetParameter(parameter)
print(value)
}
3. Class Method and Methods
3.1 Class Method
The invocation of class methods and functions is highly beneficial for executing the object script code.
Invoke the class method as a static call ex: Do ..Test()
ClassMethod InvokeStaticClassMethods(clsName = "MyLearn.EmbeddedPython") [ Language = python ]
{
import iris
print(iris.cls(clsName).Test())
# print(iris.cls(__name__).Test())
}
Invoke the Class method at runtime Set method="Test" Do $ClassMethod(class, method, args...)
ClassMethod InvokeClassMethodsRunTime(classMethod As %String = "Test") [ Language = python ]
{
import iris
clsMethodRef = getattr(iris.cls(__name__), classMethod) # will return the reference of the method
print(clsMethodRef())
}
3.2 Methods
Invoke the instance methods are same as "object script" format. In the below code I've initiate the object first and call the instance method with parameters.
ClassMethod InvokeInstanceMethodWithActualParameters() [ Language = python ]
{
import iris
obj = iris.cls(__name__)._New()
print(obj.TestMethod(1,2,4))
}
3.3 Pass arguments by value and reference b/w python and objectscript
Basically passing the arguments are inevitable between the functions and the same will remain between ObjectScript and python
3.4 Pass by value - It's as usual pass by value
ClassMethod passbyvalfromCOStoPY()
{
Set name = "test", dob= "12/2/2002", city="chennai"
Do ..pypassbyvalfromCOStoPY(name, dob, city)
}
ClassMethod pypassbyvalfromCOStoPY(name As %String, dob As %String, city As %String) [ Language = python ]
{
print(name,' ',dob,' ',city)
}
/// pass by value from python to object script
ClassMethod pypassbyvalfromPY2COS() [ Language = python ]
{
import iris
name = 'test'
dob='12/2/2002'
city='chennai'
iris.cls(__name__).passbyvalfromPY2COS(name, dob, city)
}
ClassMethod passbyvalfromPY2COS(name As %String, dob As %String, city As %String)
{
zwrite name,dob,city
}
3.5 Pass by reference- Unlike the pass by value. Since Python does not support call by reference natively, so, you need to use the iris.ref() in python code to make it the variable as a reference. refer the reference. To the best of my knowledge, there are no effects on the object script side regarding pass-by-reference variables, even when these variables are modified in Python. Consequently, Python variables will be affected by this pass-by-reference mechanism when the methods of the object script are invoked
ClassMethod pypassbyReffromPY2COS() [ Language = python ]
{
import iris
name='python'
dob=iris.ref('01/01/1991')
city = iris.ref('chennai')
print('before COS ',name,' ',dob.value,' ',city.value)
#pass by reference of dob, city
iris.cls('MyLearn.EmbeddedPythonUtils').passbyReffromPY2COS(name, dob, city)
print('after COS ',name,' ',dob.value,' ',city.value)
}
ClassMethod passbyReffromPY2COS(name, ByRef dob, ByRef city)
{
Set name="object script", dob="12/12/2012", city="miami"
}
// output
LEARNING>do ##class(MyLearn.EmbeddedPythonUtils).pypassbyReffromPY2COS()
before COS python 01/01/1991 chennai
after COS python 12/12/2012 miami
3.5 **kwargs- There is an additional support for passing the python keyword arguments (**kwargs) from object script. Since InterSystems IRIS does not have the concept of keyword arguments, you have to create a %DynamicObject to hold the keyword/value pairs and pass the values as syntax Args...
I have created the dynamicObject { "name": "ashok", "city": "chennai"}and set the required key-value pairs in it and eventually pass to the python code.
ClassMethod KWArgs()
{
set kwargs={ "name": "ashok", "city": "chennai"}
do ..pyKWArgs(kwargs...)
}
ClassMethod pyKWArgs(name, city, dob = "") [ Language = python ]
{
print(name, city, dob)
}
// output
LEARNING>do ##class(MyLearn.EmbeddedPythonUtils).KWArgs()
ashok chennai
I will cover the global, routines and SQL in next article
Thanks! A great summary!
Announcement
Vadim Aniskin · Oct 23, 2024
Hi Developers!
Welcome to the 16th edition of the InterSystems Ideas news! Here's what you can expect from it:
✓ Ideas implemented in Q3 2024
✓ Select an idea to implement from "Community Opportunity" ideas
✓ Vote and comment on new ideas submitted in Q3 2024
We are starting this newsletter with the list of ideas implemented in Q3 2024.
Idea
Implementation of the idea (project)
Developer
Developer Community AI Chatbot by @Anastasia.Dyubaylo
Developer Community AI is here!
InterSystems
Record startup and shutdown user id by @Colin.Richardson
starting from InterSystems IRIS 2024.2
InterSystems
InterSystems IRIS for Carbon tracking by @Heloisa.Paiva
Carbon Footprint Counter
@Yuri.Gomes
Sentient - Use the correct email address by @Alex.Woodhead
iris-email-analyzer-app
@Eric.Mariasis
Dynamic creation of REST Response by @Scott.Roth
IOP REST Client Framework
@Antoine.Dh
IPM (ZPM) extension for VS Code by @John.Murray
IPM in VS Code
@John.Murray
👏 Thanks to all the InterSystems developers and Developer Community members who contributed to making these ideas a reality. 👏
Most popular "Community Opportunity" ideas are waiting to be implemented.
Idea
Author
Votes
Comments
Code snippets library
@Danny.Wijnschenk
35
14
Edit books : InterSystems IRIS for Dummies
@Sylvain.Guilbaud
13
1
IRIS and ZPM(Open Exchange) integration
@Elena.E6756
13
4
Add support for Markdown in class documentation
@Stefan.Cronje1399
12
2
SharePoint File Service and Operation
@Ties.Voskamp
12
0
Create front-end package based on CSS and JS to be used in NodeJS and Angular projects
@LuisAngel.PérezRamos
9
4
Globals Editor
@Evgeny.Shvarov
8
0
Select an idea you like from "Community Opportunity" ideas and implement it to get into the Ideas Portal Hall of Fame!
To round up this newsletter, please find new ideas with "Needs review" status. InterSystems experts regularly triage and analyze new ideas. Vote for ideas you like and comment on them to show your interest.
Idea
Author
OAuth settings option for HS.FHIRServer.Interop.HTTPOperation
@Scott.Roth
Update $ZV to include Health Connect info
@Scott.Roth
Create DTL on the fly from within a Business Process
@Scott.Roth
Exporting OAuth Server/Client Configs using ^SECURITY or another method
@Scott.Roth
Improve Typeahed on Macros in include files
@Stefan.Cronje1399
CSV Wizard - Record Mapper
@Scott.Roth
Audience missing from OAUth 2.0 config
@Mark.OReilly
Category dropdown to appear in alphabetical order (ignoring case)production config page
@Mark.OReilly
Add Search and Sort Functions to the Queue Panel of the Production Settings side bar
@Pietro.DiLeo
Improve selectivity of Articles and Questions in DC
@Robert.Cemper1003
Large XML Timing out on portal message viewer- show more button or more truncated for display- EnsLib.SQL.Snapshot
@Mark.OReilly
Add Search to Banner
@Lewis.Houlden
👏 Thank you for posting these ideas. Special thanks to @Scott.Roth for posting a lot of ideas last quarter! 👏
Stay tuned to read our next announcements!
In the meantime, post your brilliant ideas, vote for existing ideas, and comment on them on our InterSystems Ideas Portal!
Discussion
Fabio Silva · Nov 6, 2024
Does anyone know any InterSystems partners in Canada? A colleague with experience in IRIS asked me about this. we hv a partner who runs biz in both CN and CA. Pls send me email on details. Thx!
Announcement
Preston Brown · Apr 11, 2024
As a InterSystems HealthShare Developer, you will be a part of an Agile team to build healthcare applications and implement new features while adhering to the best coding development standards.
Your key responsibilities include:
Design and implement data integrations using InterSystems HealthShare/IRIS between HIE partners and internal On-prem/Cloud systems
Debug and fix defects in InterSystems HealthShare/IRIS related to HIE connected Healthcare participants
Develop XSLTs and DTLs to transform CCDA/FHIR/HL7 messages to and from Summary Document Architecture (SDA) format
Ensure systems development and support, and create design and technical specifications from business requirement specifications
Oversee best practices design and development, participate in code reviews, and collaborate with fellow developers and Technical Leads
Required Skills
Must have strong software development experience
Should have experience in InterSystems HealthShare UCR, IRIS database, ObjectScript, and XSLT Development
Must have experience in Integration protocols such as TCPIP/MLLP, SFTP, REST, SOAP
Must be able to create DTL mappings from SDA and workflows to process documents
Should have proficiency in CCDA, HL7, JSON and XML messaging
If Interested reach out to Preston Brown @ pbrown@cybercodemasters.com.
Please provide your updated resume/Full Name/Contact phone number and your expected salary.
1099 rate is $60 - $70/hour.
This position will be for 2+ years.
Announcement
Vadim Aniskin · May 29, 2024
Hi Developers!
Welcome to Issue #13 of the InterSystems Ideas news! We dedicate this news bulletin to recently posted ideas:
✓ Most popular new ideas
✓ Recently posted ideas marked for implementation by Community members
✓ New ideas related to topics like Vector Search, GenAI and ML
More than 50 new ideas have been posted since the last news bulletin. We have selected and focused on the 3 most interesting groups to avoid overloading you with information. You can find all new ideas on the Ideas Portal if you're curious.
The first group consists of the most popular new ideas based on the number of votes.
Idea
Author
Votes
Edit books : InterSystems IRIS for Dummies
@Sylvain.Guilbaud
12
Add support for Markdown in class documentation
@Stefan.Cronje1399
10
Implement or incorporate a mocking framework to complement %UnitTest class
@Chi.Nguyen-Rettig
8
See globals size in Management Portal.
@Sylvain.Guilbaud
8
Add browser based terminal to Management Portal
@Bobby.Hanna
7
translated subtitles for learning videos
@Pierre.LaFay2520
6
The second group of ideas includes recently posted ideas that have "Community Opportunity" status, which means that they can be implemented by Developer Community members. You can implement them to join the Ideas portal Hall of Fame.
Idea
Author
Integration with LLMs like GPT,llama
din ba
Implement a summary of a patient's medical history using AI
@Francisco.López1549
A tool to init projects
@Dorian.Tetu
introduce microsoft one-drive inbound and outdbound adapters for Interoperability
@Evgeny.Shvarov
Add support for Markdown in class documentation
@Stefan.Cronje1399
Load Datasets from Hugging Face into IRIS
@Evgeny.Shvarov
IRIS Based Analytics AKS Container to analyse Azure Infrastructure Cost
@Bachhar.Tirthankar
Edit books : InterSystems IRIS for Dummies
@Sylvain.Guilbaud
Finally, here are the ideas that were submitted as a part of the Vector Search, GenAI and ML programming contest.
Idea
Author
Expand Vector Arithmetics
@Robert.Cemper1003
Vector search support for llama-index with metadata
@Somesh.Mehra
GUI for Vector DB Management
@Ikram.Shah3431
specify libraries for vectorization or data preprocessing for IntegratedML
@davimassaru.teixeiramuta
Multidimensional vector search
@xuanyou.du
Exploring Image Vectorization: Potential Revolution in Unstructured Data Processing.
@Lucas.Fernandes7309
👏 Many thanks to the authors of all ideas👏
✨Create your ideas, support ideas you like by comments and votes! Don't forget to advertise your ideas to Developer Community members. 🙏
Announcement
Kristina Lauer · May 21, 2024
Are you new to coding in InterSystems IRIS® data platform?
👩💻 Learn how to start developing an app in InterSystems ObjectScript alongside your language of choice (program, 20h).
🥇 Earn a digital badge by demonstrating your skills in the final assessment!
Need to learn how to implement InterSystems IRIS?
👨💻 Get familiar with InterSystems IRIS integration and programming (program, 26h). Digital badges are available for some learning paths within this program.
Announcement
Anastasia Dyubaylo · Sep 30, 2024
Hi Developer Community,
We all love coding, but every now and then, it’s time to step away from the code and exercise! The InterSystems Walking Challenge will help you recharge your mind and boost your fitness. Embark on a virtual journey from Lübeck to Lüneburg along the historic Salt Road, the legendary trade route that connected Europe centuries ago.
Win exciting prizes like treadmills, smartwatches, and medals.
👟🚶🧑🦼Lace Up, Step Out, and Code Better! 🔋💻💪
📅 Registration is open until November 8.The challenge ends on November 22, 2024, at 6 PM CET
Want to join? Details below.
How it works
Download the app or use the web version, enter the mission code SupplyChain, and start your journey for free, wherever you want and at your own pace. You can join as a walker, a runner or a wheeler. Simply choose in the app.
>> If you join a bit late, you can retrospectively upload your data from your device. To do this, go to mission settings and change your start date:
Be active on our leaderboard and share your ups and downs to keep everyone motivated and in challenge mode!
Awards & prizes
The journey is the reward, but still there are some special prizes for participants. Everyone who completes the Salt Road is rewarded with a medal.
Besides, you will participate in a competition. The goal for the leaderboard is to finish the Salt Road as fast as possible by walking, running or in a wheelchair. Everyone’s individual time will be measured and rewarded.
The top ten participants with the best finishing time can win even more:
1st place: APPLE Watch Series 10 GPS + Cellular 46 mm Smartwatch Aluminium Fluoroelastomer
2nd - 10th place: Sportstech Laufband sWalk Plus 2-in-1
11th - 30th place: elegant water bottle
InterSystems Employees and contractors are welcome to participate but will be ineligible to win the main prizes.
Instructions
Join our challenge simply by clicking on the JOIN button when using the web version. To use the app, download the My Virtual Mission app on either the Apple App Store or the Google Play Store. After signing up with your details, click the JOIN link again to get to our mission.
To make every step count, you need to synchronize My Virtual Mission with your health-related apps. You are able to connect a range of third-party fitness trackers, including Apple Health, Google Fit, Under Armour, Garmin, FitBit, Strava, and Adidas Running. You can manage your connections via the My Virtual Mission app:
Open the My Virtual Mission app
From the home screen, click the menu at the bottom right of the screen
Click 'CONNECTIONS'
Select your desired fitness trackers. Once you have connected your fitness tracker, go to your mission page by selecting 'VIEW MISSION'. Select 'SETTINGS' from the drop down menu on the right hand side. You will then be able to update your posting preferences for our Walking Mission.
Alternatively, you can manually post the distances you covered: Click the '+' icon at the bottom left of the mission page. Click 'MANUALLY POST A DISTANCE' and enter all the information and a photo as proof (e.g., Treadmill distance). However, this will take some time to appear in the Leaderboard.
Keep fit and good luck! Oh, sounds exciting! I'm so going to try to participate! See you in Travemünde!! :) I am so very excited! This should be a lot of fun, even if it's just to see how long it takes me to walk that distance. I see someone is on the 3rd place... Yes indeed! It was a great new challenge for me to reach new personal records on my walkstation :)
Announcement
Vadim Aniskin · Dec 4, 2024
Hi Developers!
Welcome to the 17th edition of the InterSystems Ideas bulletin! This time, you can read about the following:
✓ Bringing Ideas to Reality Contest
✓ Recently posted "Community Opportunity" ideas
✓ Vote for implemented ideas you are curious about
Bring a Community Opportunity or Future Consideration idea to life and join the Bringing Ideas to Reality Contest! Earn exciting prizes and secure your place in the prestigious Hall of Fame on the Ideas Portal.
Here are several recently posted "Community Opportunity" ideas to help you select the one you'd like to implement for the Development Contest:
Idea
Author
Develop productions using YAML
@Yuri.Gomes
Implement Datadog client that could be easily deployed close to IRIS instance and could be able to send IRIS metrics and logs to Datadog platform (https://www.datadoghq.com).
@Mikhail.Khomenko
Include an option in HealthShare (UCR) to support natively a vectorized database of patients' clinical data, enabling retrieval-augmented generation (RAG) for communication with market-available large language models (LLMs).
@Claudio.Devecchi
Know what IRIS version a class, method or property first appeared in
@John.Murray
Salesforce Interoperability Adapter
@Yuri.Gomes
IRIS for Health Blockchain connector
@Johni.Fisher
Last year, we launched a series of articles showcasing ideas brought to life by community members. We’re excited to continue this series and would love your input on which implemented ideas to feature next. Share your opinion by voting in the poll in this announcement: "Which implemented ideas would you like to know more about?"
👏Thank you all for submitting, voting, commenting and implementing existing ideas.👏
Article
Kristina Lauer · Dec 20, 2024
With InterSystems industry-standard certification exams, you and your team can get certified to validate your skills and demonstrate your expertise in InterSystems technology. Find the right exam for your role!
Developers: InterSystems IRIS Development Professional and InterSystems IRIS SQL Specialist
System Administrators: InterSystems IRIS System Administration Specialist
System Integrators: InterSystems HL7 Interface Specialist
CCR Technical Implementers: InterSystems CCR Technical Implementation Specialist
Unified Care Record Implementers: HealthShare Unified Care Record Technical Specialist
Patient Index implementers: HealthShare Patient Index Technical Specialist
Reach out to certification@intersystems.com or visit the InterSystems Certification website for more information.
Question
omer · Jan 12
Hello, In short, I am trying to get the Content-Length of my response,
We have a CSP application, when we get a new request we begin to process it, throughout the app we WRITE to the response in different places, now when the response is about to be sent back to the client - we would like to know its Content-Length (in the RESPONSE HEADERS). So it comes down to two questions:1. How can we access the Content-Length of our response?
2. In case we CAN'T - Where in the broker.cls/page/base classes can I observe the moment we actually write the response itself and attach its headers?Thank you! It's not possible because that header it's not handled by IRIS
Announcement
Vadim Aniskin · Jul 24, 2024
Hi Developers!
Welcome to the 15th edition of the InterSystems Ideas news! We dedicate this news bulletin to:
✓ Idea Leaders of 2024
✓ Voting for ideas on Open Exchange
✓ Recently posted ideas waiting to be implemented by the Developer Community
In a bit more than half a year, quite a few of Community members have submitted their ideas to the Ideas Portal. We extend our heartfelt thanks to all contributors and want to give a special shout-out to the authors who have shared numerous ideas on the portal this year.
Author
Number of submitted ideas
@Scott.Roth
9
@Veerarajan.Karunanithi9493
8
@LuisAngel.PérezRamos
@Victoria.Castillo2990
4
@Stefan.Cronje1399
@Sylvain.Guilbaud
@Evgeny.Shvarov
Your creativity and dedication are truly inspiring! 👏
You can now vote for ideas that can be implemented by Developer Community members not only on the Ideas Portal but also on the Open Exchange. In the special window (look below for an example screenshot), you can click on the "Vote" button to support the idea. You will see a random Community Opportunity idea whenever you visit Open Exchange.
To round up this newsletter, please find the recently posted Community Opportunity ideas
Idea
Author
GUI for Vector DB Management
@Ikram.Shah3431
ODBC connection to IRIS Cloud SQL to work from PowerBI and Apache Superset
@Vadim.Aniskin
Pull in all classes and tables called in a resource at export.
@Victoria.Castillo2990
Built in Test data Generator
@Veerarajan.Karunanithi9493
Drag and drop web &mobile UI
@Veerarajan.Karunanithi9493
Querying from multiple IRIS instances
@Veerarajan.Karunanithi9493
Automated Schema Comparison and Synchronization
@Veerarajan.Karunanithi9493
Data cleansing tool kit
@Veerarajan.Karunanithi9493
Time zone conversion
@Veerarajan.Karunanithi9493
IPM (ZPM) extension for VS Code
@John.Murray
👏 Many thanks to the authors of these ideas👏
💡 Thank you for reading InterSystems Ideas news. Post your innovative ideas, vote for ideas to support them and implement Community Opportunity ideas to join our Hall of Fame 💡
Announcement
Vadim Aniskin · Feb 21, 2024
Hi Developers!
Welcome to the 11th edition of the InterSystems Ideas bulletin! This time, you can read about the following:
✓ Call for ideas concerning Generative AI
✓ New filter on Open Exchange
✓ Recently posted ideas
AI is a very important topic nowadays. That's why we have created a separate category on the Ideas Portal for ideas related to this topic. No matter what product or service your idea is about, if it concerns generative AI, put it in the "Generative AI" category.
Important: only ideas written by people are accepted, while ideas from AI are not.
Open Exchange users can now filter the apps they want to download using the new "Applications from Ideas Portal" filter. You can mention the implemented idea when you upload your new app to OEX. The screenshot below shows what this new filter looks like.
To round up this newsletter, here are 25 new ideas that have been posted during the last 2 months.
Idea
Author
Create a WhatsApp Community
@Daniel.Aguilar
Refresh Button on the small message browse in the Production panel
@Stefan.Cronje1399
Ideas contributor of the year
@Yuri.Gomes
Implement StoreFieldStreamRaw for XML Virtual Documents
@LuisAngel.PérezRamos
Optimization of the HL7 Schema documentation.
@Armin.Gayl
Share your recap 2023 on linkedin
@Yuri.Gomes
Refactoring in VsCode
@Pierre.LaFay2520
Train a Large Language Model for a Development AI like GitHub Copilot on ISC
@Stefan.Cronje1399
Best practices in a documentation chapter
@Pierre.LaFay2520
Add access to Ideas Portal from Global Masters
@LuisAngel.PérezRamos
Add info about the versions in which the functionality works in the documentation
@LuisAngel.PérezRamos
Ranking - top 10 - Open Exchange
@Yuri.Gomes
Date format in LOAD DATA to indicate a date/datetime format other than 'yyyy-mm-dd hh:mm:ss'
@Sylvain.Guilbaud
cheat sheets
@Pierre.LaFay2520
Add JS (JSON) date format to formats used in $ZDATE & $ZDATEH
@Pierre.LaFay2520
IRIS Cloud SQL Integration with AWS Secrets Manager
@Stefan.Cronje1399
Web Interface to convert HL7 V2 to FHIR | InterSystems Ideas
@Muhammad.Waseem
Implement support for FHIRPath Patch resources on InterSystems FHIR Server
@Maksym.Shcherban
AI extensibility Prompt keyword for Class and Method implementation. Also Prompt macro generator.
@Alex.Woodhead
BPL, DTL and Rulesets in JSON and/or YAML
@Stefan.Cronje1399
Create List and Array Data Types that uses a PPG and not memory
@Stefan.Cronje1399
To integrate InterSystems IRIS for Health with Open Source Drools
@William.Liu
Mirroring : add automatic synchronization between two sync-members of non-mirrored settings
@Sylvain.Guilbaud
Implement shopping cart to get multiple prizes from Global Masters at one time
@LuisAngel.PérezRamos
add AI to Instance Monitor to prevent major incident
@Pietro.Montorfano
👏 Authors, thank you for posting these ideas 👏
🙏 Don't forget to advertise your idea and other ideas you like to your peers and all Developer Community members. The more votes your idea has, the larger the chance of its promotion to the next status. 🚀
Announcement
Anastasia Dyubaylo · Jul 5, 2024
Hi Community,
We are pleased to invite you to the next InterSystems online programming contest, which is focused on Python!
🏆 InterSystems Python Contest 🏆
Duration: July 15 - August 4, 2024
Prize pool: $14,000
The topic
Develop any solution using InterSystems IRIS, InterSystems IRIS for Health, or IRIS Cloud SQL that uses Python (or Embedded Python) as a programming language.
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, IRIS for Health or IRIS Cloud SQL. The first two could be downloaded as host (Mac, Windows) versions from Evaluation site, or can be used in the 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 either the video demo or/and a description of how the application works.
No more than 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:
July 15, 2024 (00:00 EST): Contest begins.
July 28, 2024 (23:59 EST): Deadline for submissions.
✅ Voting period:
July 29, 2024 (00:00 EST): Voting begins.
August 4, 2024 (23:59 EST): Voting ends.
Note: Developers can improve their apps throughout the entire registration and voting period.
Helpful Resources:
✓ Documentation:
Embedded Python Documentation
Native SDK for Python Documentation
PEX Documentation
✓ Example applications and libraries:
iris-fastapi-template
iris-django-template
iris-flask-template
interoperability-python
pex-demo
python-examples
Python Faker
✓ Online courses:
Learning Path Writing Python Application with InterSystems
✓ Videos:
Introduction to Embedded Python
Embedded Python: Bring the Python Ecosystem to Your ObjectScript App
Embedded Python for ObjectScript Developers: Working with Python and ObjectScript Side-By-Side
Embedded Python with Interoperability
InterSystems IRIS Native Python API in AWS Lambda
✓ 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. + the IRIS 2024.1 release notes :
Python BPL Editor
WSGI Web Apps
That sounds great!!! Excited about it

A "Must read" article for using Python with IRIS. Hi Developers!
The "Kick-off Webinar for InterSystems Python Contest" recording is on the InterSystems Developers YouTube channel! 🔥Enjoy!
⏯️Kick-off Webinar for InterSystems Python Contest
Hey Devs!
There are only 4 days left before the end of the registration phase! Upload your applications and join the contest!
One app has been added to the contest, check it out!
iris-email-analyzer-app by @Eric.Mariasis
Developers!
Three more articles have been added to the contest!
sheltershare by @Zeljko.Sucic ServiceInspection by @Wolis.OliavrIRIS RAG App by @Alex.Alcivar
There are only two days left to join the contest! We are waiting for you!