Search

Clear filter
Announcement
Anastasia Dyubaylo · Jan 13

[Video] InterSystems Package Manager

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

InterSystems Ideas News #18

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! 🙏 ![aplause](https://media3.giphy.com/media/v1.Y2lkPTc5MGI3NjExbGt0ZnE0eWlxaGp1dTRiaHA1Y205enl3dzhtaXEwb2E4ZXMzaDFlaCZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/3ornjHL4fLS94x39Wo/giphy.gif)
Article
Ashok Kumar T · Sep 12, 2024

Embedded python in InterSystems IRIS

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

InterSystems Ideas News #16

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

InterSystems business partner in Canada

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

InterSystems HealthShare Developer

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

InterSystems Ideas News #13

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

Get Started with InterSystems IRIS

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

Join the InterSystems Walking Challenge!

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

InterSystems Ideas News #17

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

Get certified in InterSystems technology

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

InterSystems Response Content-Length

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

InterSystems Ideas News #15

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

InterSystems Ideas News #11

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

InterSystems Python Contest 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 ![python](https://i.giphy.com/media/v1.Y2lkPTc5MGI3NjExbHJ0cGh5NmU1Y2dtcm04Z2Zqb3NiMjNxdDZuaXdpNHNybWdxMHI0eCZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/S5qhrBEfPQHFS/giphy.gif) 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!