Search

Clear filter
Announcement
Anastasia Dyubaylo · May 7

Kick-off Webinar for InterSystems FHIR and Digital Health Interoperability Contest 2025

Hey Community, We're pleased to invite all the developers to the upcoming kick-off webinar for the InterSystems FHIR and Digital Health Interoperability Contest! Date & Time: Monday, May 12 – 9 am EDT | 3 pm CEST Discover the exciting challenges and opportunities that await health enthusiasts in this contest. We will also discuss the topics we expect from participants and show you how to develop, build, and deploy applications using the InterSystems IRIS data platform. Speakers: 🗣 @Daniel.Franco, Senior Manager - Interoperability Product Management🗣 @Elijah.Cotterrell, Product Manager - Health Informatics Platform🗣 @Qi.Li, Physician Executive, InterSystems🗣 ​​​@Dean.Andrews2971, Head of Developer Relations🗣 @Evgeny.Shvarov, Senior Startups and Community Programs Manager🗣 ​​​@DKG, Developer Relations Evangelist ✅ Register for the kick-off today! Please join the webinar right now!
Announcement
Anastasia Dyubaylo · Jan 24

[Video] Creating an InterSystems IRIS Cross Functional App in 150 Lines of Code

Hey Community, Enjoy the new video on InterSystems Developers YouTube: ⏯ Creating an InterSystems IRIS Cross Functional App in 150 Lines of Code @ Global Summit 2024 Based on the speaker's popular Developer Community article with the same title, this talk will walk you through a number of InterSystems IRIS features that can be leveraged to build applications with relatively little code. 🗣 Presenter: @Chris.Stewart, Principal Technical Specialist, InterSystems Your next favorite video is just one click away. Watch now and subscribe!👍 The original article is here: https://community.intersystems.com/post/creating-iris-cross-functional-app The recorded demo is slightly different for a few reasons, and <spoilers> the final demo does not work, but only because of time constraints and a slight typo in code. See if you can spot it! Thank you @Chris.Stewart for the detailed explanation! The video was very informative and clear. I appreciate how well it covered the key points.
Announcement
Andreas Schneider · May 25

SQL DATA LENS Now FREE for Use with InterSystems IRIS Community Edition!

I'm excited to announce a major update to SQL Data Lens – a powerful database client and metadata explorer – that opens up new, free possibilities for the InterSystems community. SQL Data Lens is now completely FREE to use with InterSystems IRIS Community Edition! No more “localhost only” restrictionsNo more limits on the number of connectionsNo license? No problem.You can now connect to InterSystems IRIS Community Edition—completely license-free—using the fully functional Free Edition of SQL DATA LENS. Explore all the features, no strings attached. Discover hidden insights with SQL DATA LENS:Instantly uncover detailed information about your IRIS tables—no deep dives or guesswork required:SQL DATA LENS helps with: Detecting and Resolving Metadata Inconsistencies in InterSystems IRISFocus on your database objects and hide all the system objectsEasily Copy Tables Between Databases and Servers Curious what's under the hood?Instantly explore native global values directly within SQL DATA LENS—see what your data is really doing behind the scenes. Ready to explore your data like never before? 🚀 Download SQL Data Lens and get started today. Also available via Microsoft Store 💬 Got feedback, ideas, or ran into something odd? I’d love to hear from you—let’s make it even better together! Happy querying!
Announcement
Anastasia Dyubaylo · May 27

Meet the Winners of the AI Programming Contest at InterSystems READY 2025 @ Tech Exchange!

Hi Community! We’re excited to announce that several winners of the InterSystems AI Programming Contest have been invited to showcase their projects at the Tech Exchange during InterSystems Ready 2025! Join us on Wednesday, June 25, to explore innovative, real-world solutions built with InterSystems IRIS, AI, LLMs, and intelligent agent technologies — directly from the developers who created them: Presenter Demo @Muhammad.Waseem, Technical Consultant, Traverse Health Next generation of autonomous AI Agentic Applications iris-AgenticAI @Yuri.Gomes, Director, YM Services Natural Language Control of IRIS langchain-iris-tool @Eric.Fortenberry, Integration Analyst Senior, AdventHealth A Minimalist View of AI: Exploring Embeddings and Vector Search with EasyBot iris-easybot @Alena.Krasinskiene, Quality and Customer Experience Manager, Banksia Global AI Agents as First-Class Citizens in InterSystems IRIS bg-iris-agent @henry, Tech Leader at BPlus tecnology@Henrique, Senior Platform Architect, AI at Zendesk@José.Pereira, Data Engineer at Shift Command the Crew - create an AI crew to automate your work Facilis These developers have built cutting-edge solutions using InterSystems IRIS technologies, integrating AI, LLMs, and intelligent agents to solve real-world challenges. Don't miss the chance to see these demos live and connect with the minds behind them at Ready 2025! ![musketeers](https://media4.giphy.com/media/v1.Y2lkPTc5MGI3NjExcGlqaWtkbWQ3amUycHIxeWVpOTVnZXdtNG84dzh6b3QwbWplNGdzNyZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/74Fmz0WmYtocw/giphy.gif) @Anastasia.Dyubaylo, can you fix the @Yuri.Gomes app from iris-salesforce to https://openexchange.intersystems.com/package/langchain-iris-tool? Fixed. Thanks! Musketeers 😎🤩
Announcement
Evgeny Shvarov · May 29

Technology Bonuses Results for the InterSystems FHIR and Digital Health Interoperability Contest 2025

Hi Developers! We are happy to present the bonuses page for the applications submitted to the FHIR and Digital Health Interoperability Contest 2025! See the results below. Project FHIR Digital Health Interoperability Vector Search LLM AI or LangChain Embedded Python Docker IPM Online Demo Community Idea Implementation Find FHIR bug Find Interoperability bug First Article on DC Second Article on DC Video on YouTube First Time Contribution Total Bonus Nominal 3 4 3 3 2 2 2 2 4 2 2 2 1 3 3 38 Smart Clinical Copilot - Configuration Management System 0 hc-export-editor 2 2 2 2 2 3 13 FHIR Bundle to CCDA 4 2 3 3 12 fhir-craft 3 4 2 2 1 3 15 Langchain4jFhir 3 3 2 3 3 14 FHIRInsight 3 4 3 3 2 2 2 2 1 3 25 CCD Data Profiler 4 2 4 2 1 3 3 19 FhirReportGeneration 3 3 2 2 10 iris-medbot-guide 3 3 2 2 2 12 ollama-ai-iris 3 2 2 2 3 12 health-gforms 3 4 2 2 2 2 4 2 1 3 25 iris-fhir-bridge 3 4 2 2 2 3 16 IRIS Interop DevTools 3 4 - 2 2 3 14 Please apply with your comments for new implementations and corrections to be made here in the comments or in Discord. I believe ollama-ai-iris qualifies for Digital Health Interoperability - 4 points Collect 4 bonus points if your application is a healthcare interoperability solution that uses InterSystems Interoperability to transfer or/and transform healthcare data via messages or it uses healthcare format data transformation. Also, I have online demo linked in ReadMe Hi! Could you provide the link to the repo code where you use Interoperability for "transfer or/and transform healthcare data via messages or it uses healthcare format data transformation"? or maybe you work with any healthcare data types? I claim the bonus community idea implementation and online demo. The links are into the application health-gforms Hi! Idea not in Community Opportunity statusOnline demo is just a link to the postman collection file in the repo Sorry but both of them don't fit to bonuses requirements About Online Demo, I can't load the page with demo, I see only endless loading. bilder/CaptureSendChatResp.JPG at main · oliverwilms/bildershows where I transfer healthcare data inside the Interoperability production Sorry Olyver, looks like misunderstanding. I need link to the code in your project repo where I can see how you use HealthShare components, transferring or transforming HL7, CCD, etc. Please try online demo again. if you open the collection, the adresses point to remote address. I did this to allows users test using postman, but I will change to swagger ui address. The idea is stop with status clarification, but I did the clarification and anyone reviewed yet Collect 4 bonus points if your application is a healthcare interoperability solution that uses InterSystems Interoperability to transfer or/and transform healthcare data via messages or it uses healthcare format data transformation. I transfer healthcare data. It did not say I have to use HealthShare formats. Ok it works ok write me when you add swagger ui link to the package demo url. I wrote to the Idea Hub admin. I think they will clarify status of your idea by tomorrow All bonuses were checked and added Hi friends!First article for FHIRInsight 😎😉 Hi Henry! Bonus was added Thank you Hi! I discussed this with the judges. We decided that to qualify for this bonus, the project must be related to health data formats/use health data transformations or write data to FHIR entities. Please add something from that list to your project to achieve this bonus. @Evgeny.Shvarov Please correct me if I'm wrong somewhere. I don't know if this apply, but I have written an article about the application. And I have translated it. Also, I have seen that I have 2 points for finding FHIR bug, but I think I don't have found any 😅 Hi! Thanks for the feedback. I wrote the bonus in the wrong column, it were points for the article. Bonuses were added I included digital health interoperability on health-gforms. Evidences: https://github.com/yurimarx/health-gforms/blob/master/src/User/GFormsProduction.cls, https://github.com/yurimarx/health-gforms/blob/master/src/User/GFormsInboundAdapter.cls), so I claim this bonus. I would like to claim the following bonuses: - Embedded Python - Online Demo - First Article on DC Thanks! Hi! Could you please provide the permalink to the code where you use Embedded Python, looks like your app works only with exported xml without iris connection. Bonuses for article and demo were added. Here you go... https://github.com/jamerfort/hc-export-editor/blob/42516f7524c4556c1cc8afa25d2f71c22b6e0891/webapps/hc_export_editor/export_manager.py#L141 Ok I didn't notice that. Bonus was added Thanks! Bonus was added Hi @Semion.Makarov, I have an honest question for you: Does a translation count as a second article? If it does, here's a second article for FHIRInsight. Yep it counts) Thank you very much @Semion.Makarov I would suggest, for next contests, technical points for @Robert Cemper reviews on OpenExchange.When he gives an app more than 3 stars there is because the app it's really good. He does excellent work with his reviews and is thoroughly honest. Hi there! I have an article and a translated article for the CCD Data Profiler. In addition to that, I also have a YouTube video. Please let me know if any additional information is required. Thank you! Great idea, you should publish it om ideas portal to get my vote also Thanks! Bonuses were added The IRIS Interop DevTools should have Docker and IPM. There is also a video posted on YouTube. You already got these bonuses in one of the previous contests. Except of IPM bonus. I've added it About video I see that you've updated your video and uploaded fresh version to your package. I think the can accept this bonus Hey team, I've just submitted the new app release with a YouTube demo video + article link I hope you all enjoy the demo video. I'd like to claim the video bonus for hc-export-editor as well: https://www.youtube.com/watch?v=gSFDw4eaErg Thanks Article bonus already have been added. I've applied video bonus Hi! I've added bonus to your app I have added a new article for the IRIS Interop DevTools: https://community.intersystems.com/post/iris-interop-devtools-jumpstart-iris-transformations-ccda-and-fhir Hi there, I would also like to claim the Community Idea Implementation bonus. Here is the link to the idea: https://ideas.intersystems.com/ideas/DPI-I-247. Thank you! Hi! Bonus was added Hi! Bonus was added Hi @Semion.Makarov I noticed that no points were added for Digital Health Interoperability. I believe our application (FHIRInsight) fits this category.
Announcement
Anastasia Dyubaylo · Jun 3

Online Meetup with the Winners of the InterSystems FHIR and Digital Health Interoperability Contest 2025

Hi Community, Let's meet at the online meetup with the winners of the InterSystems FHIR and Digital Health Interoperability Contest! It's a great opportunity to chat with the InterSystems Experts team and our contestants. Winners' demo included! Date & Time: Thursday, June 5, 11:30 am EDT | 5:30 pm CEST Join us to learn more about winners' applications and to have a talk with our experts. ➡️ REGISTER TODAY See you all at our virtual meetup! Hi All! Please join the meetup in 10 minutes! https://riverside.fm/webinar/directlink/eyJzbHVnIjoiZGV2ZWxvcGVyLXJlbGF0aW9ucy1zdHVkaW8iLCJldmVudElkIjoiNjgyZjA3NmYyYWY2OGUyMmEwNDU0ZWMwIiwicHJvamVjdElkIjoiNjgyZjA3NmYyYWY2OGU5MDdiNDU0ZWJkIn0=
Article
Marco Bahamondes · Jun 24

Exposing a Basic REST API with InterSystems IRIS: Step-by-Step Docker Example

Introduction InterSystems IRIS allows you to build REST APIs using ObjectScript classes and the %CSP.REST framework. This enables the development of modern services to expose data for web apps, mobile apps, or system integrations. In this article, you'll learn how to create a basic REST API in InterSystems IRIS, including: A persistent data class A REST class with GET and POST methods A web application to expose the API A full demonstration using Docker Step 1: Create the data class Demo.Producto Class Demo.Producto Extends (%Persistent, %JSON.Adaptor) { Property Nombre As %String; Property Precio As %Numeric(10,2); } %Persistent allows storing the object in the database. %JSON.Adaptor enables automatic JSON conversion. Step 2: Create the REST class Demo.ProductoAPI Class Demo.ProductoAPI Extends %CSP.REST { XData UrlMap [ XMLNamespace = "http://www.intersystems.com/urlmap" ] { <Routes> <Route Url="/producto" Method="GET" Call="Listar"/> <Route Url="/producto" Method="POST" Call="Crear"/> </Routes> } ClassMethod Listar() As %Status { Try { Set productos = [] &sql(DECLARE C1 CURSOR FOR SELECT ID, Nombre, Precio FROM Demo.Producto) &sql(OPEN C1) While (SQLCODE=0) { &sql(FETCH C1 INTO :id, :nombre, :precio) Quit:SQLCODE'=0 Do productos.%Push({"ID": (id), "Nombre": (nombre), "Precio": (precio)}) } Do ##class(%REST.Impl).%SetContentType("application/json") Do ##class(%REST.Impl).%SetStatusCode("200") Write productos.%ToJSON() } Catch (ex) { Do ##class(%REST.Impl).%SetStatusCode("400") Write ex.DisplayString() } Quit $$$OK } ClassMethod Crear() As %Status { Try { set dynamicBody = {}.%FromJSON(%request.Content) Set prod = ##class(Demo.Producto).%New() Set prod.Nombre = dynamicBody.%Get("Nombre") Set prod.Precio = dynamicBody.%Get("Precio") Do prod.%Save() Do ##class(%REST.Impl).%SetContentType("application/json") Do ##class(%REST.Impl).%SetStatusCode("200") Write prod.%JSONExport() } Catch (ex) { Do ##class(%REST.Impl).%SetStatusCode("400") Write ex.DisplayString() } Quit $$$OK } } Step 3: Create a Web Application From the Management Portal: Go to System Administration > Security > Applications > Web Applications Create a new application: URL: /api/productos Namespace: USER Class: Demo.ProductoAPI Enable REST and anonymous access for testing http://localhost:52773/csp/sys/%25CSP.Portal.Home.zen User=SuperUser Pass=SYS Add Developer Application Functions Step 4: Docker demonstration Project structure apirest-demo/ ├── Dockerfile ├── iris.script └── cls/ ├── Demo.Producto.cls └── Demo.ProductoAPI.cls Dockerfile FROM intersystemsdc/iris-community:latest COPY cls /irisdev/app/cls COPY iris.script /irisdev/app/iris.script RUN iris start IRIS \ && iris session IRIS < /irisdev/app/iris.script \ && iris stop IRIS quietly Build and run the container cd apirest-demo docker build -t iris-apirest-demo . docker run -d --name iris-api -p 52773:52773 -p 1972:1972 iris-apirest-demo Testing with Postman or curl GET products curl http://localhost:52773/api/productos/producto POST product curl -X POST http://localhost:52773/api/productos/producto \ -H "Content-Type: application/json" \ -d '{"Nombre":"Cafe","Precio":2500}' to download the example code https://github.com/MarcoBahamondes/apirest-demo git clone https://github.com/MarcoBahamondes/apirest-demo
Discussion
Admin GlobalMasters · Jul 1

Did You Do It All at InterSystems READY 2025? Check Your Bingo!

How was your READY experience?We’ve prepared a bingo card — take a look and see how many boxes you can check off!Cross off the ones that match your experience or list them in the comments.And if something memorable happened that’s not on the card — we’d love to hear about it! ✨ Bingo items: Joined Golf Tournament or Soccer Match Discovered a feature you didn’t know existed Participated in a hands-on workshop on Sunday Learned something new Had a 1:1 meeting with an InterSystems expert Attended at least one Tech Exchange Demo Answered 5 out of 5 quiz questions correctly (at Developer Community booth) Took a free certification exam Spun the Wheel of Fortune at Developer Community booth Attended Keynotes and afternoon sessions Met someone new / made a new connection Met a fellow Developer Community Member How many out of 12 did you check off? Copy the ones you completed in your reply please - we’re curious to see which activities were most popular! 🤩 Six. Would be seven but I only got 3 out of 5 correct at Developer Community booth. Six 😟 Not as many as I hoped... Six 9/12 !!!! 9/12 but we have to review the quiz questions btw 😂 Six is good! Which six happened? That’s great — no need to check them all! ☺ We’re interested to see which activities were most popular among DC members. Just curious, which 6 did you complete? six is good, and looks like that's the most popular result! Next time we will publish Bingo before the event 😎😁Which 6 for you? Wow — the top score just jumped from 6 to 9! Would you be open to sharing which 9 you completed? P.S. Feel free to just copy the text from under the banner — we’re curious to see which activities were most popular! 🤩 Yay - another 9!!! Guilherme - could you share which 9 did you complete? 🤩 2 4 5 10 11 12 9 out of 12, not bad 3. Participated in a hands-on workshop on Sunday4. Learned something new5. Had a 1:1 meeting with an InterSystems expert6. Attended at least one Tech Exchange Demo8. Took a free certification exam9. Spun the Wheel of Fortune at Developer Community booth10. Attended Keynotes and afternoon sessions11. Met someone new / made a new connection12. Met a fellow Developer Community Member Wow what an impressive list! 🤩🔥 Thanks for sharing! 6 out of 12! Can we get a bonus square for “had too much fun at the Developer Community booth”? 😁
Announcement
Andreas Dieckow · Jan 15, 2020

Supported Platforms Compatibility: InterSystems IRIS: AIX 7.1 TL4

Beginning with InterSystems IRIS 2020.1, the minimum required version for AIX is AIX 7.1 TL4. The InterSystems IRIS installer will detect if the required IBM XL C filesets are installed before continuingwith the installation. Does it need to be the 16.1 (or greater) XL C fileset (we have a lesser installed)? And just the runtime or the compilation as well? Verifying for our systems' guys. 16.1 or greater and just the runtime
Article
Brad Nissenbaum · Jul 13

Care Compass - InterSystems IRIS powered RAG AI assistant for Care Managers

**☤ Care 🩺 Compass 🧭 - Proof-of-Concept - Demo Games Contest Entry** # Introducing Care Compass: AI-Powered Case Prioritization for Human Services In today’s healthcare and social services landscape, caseworkers face overwhelming challenges. High caseloads, fragmented systems, and disconnected data often lead to missed opportunities to intervene early and effectively. This results in worker burnout and preventable emergency room visits, which are both costly and avoidable. Care Compass was created to change that. *Disclaimer: Care Compass project is a technical demonstration developed by sales engineers and solution engineers. It is intended for educational and prototyping purposes only. We are not medical professionals, and no part of this project should be interpreted as clinical advice or used for real-world patient care without appropriate validation and consultation with qualified healthcare experts.* ## The Problem Twelve percent of Medicaid beneficiaries account for 38 percent of all Medicaid emergency department (ED) visits. These visits are often driven by unmet needs related to housing instability, mental illness, and substance use. Traditional case management tools rarely account for these upstream risk factors, making it difficult for caseworkers to identify who needs help most urgently. This data comes from a 2013 study published in *The American Journal of Emergency Medicine*, which highlights how a small portion of the Medicaid population disproportionately contributes to system-wide costs ([Capp et al., 2013](https://doi.org/10.1016/j.ajem.2013.05.050), [PMID: 23850143](https://pubmed.ncbi.nlm.nih.gov/23850143)). Too often, decisions are reactive and based on incomplete information. ## Our Solution Care Compass is an AI-powered assistant that helps caseworkers make better decisions based on a complete picture of a client’s medical and social needs. It combines Retrieval-Augmented Generation (RAG) and large language models to interpret data and generate actionable insights. The assistant assesses real-time information, summarizes key risk factors, calculates dynamic risk scores, and recommends possible next steps and resources. Instead of combing through disconnected records, caseworkers get a unified view of their caseload, prioritized by urgency and context. ## How It Works The platform integrates a large language model, real-time data retrieval, and custom reasoning logic. Information from structured and unstructured sources is synthesized into readable summaries that explain not only the level of risk, but why a client is considered high-risk. An intuitive user interface makes it easy for caseworkers to interact with the assistant, review insights, and take appropriate action. The emphasis is on transparency and trust. The system doesn’t just score risk; it explains its reasoning in plain language. ## Lessons Learned Building Care Compass has taught us that raw model accuracy is only part of the equation. We’ve learned that: - Small datasets limit the effectiveness of retrieval-based methods - Structured data is often inconsistent or incomplete - Fine-tuning models does not always improve performance - Interpretability is essential—especially for systems that guide care decisions - HIPAA compliance and data privacy must be built into the system from the beginning ## Looking Ahead Our next steps include expanding our dataset with more diverse and representative cases, experimenting with different embedding models, and incorporating evaluation metrics that reflect how useful and understandable the assistant’s outputs are in practice. We’re also exploring how to better communicate uncertainty and strengthen the ethical foundations of the system, especially when working with vulnerable populations. Care Compass is our response to a widespread need in health and human services: to prioritize what matters, before it becomes a crisis. It empowers caseworkers with the clarity and tools they need to act earlier, intervene more effectively, and deliver more equitable outcomes. **To see more about how we implemented the solution, please watch our youtube video:** https://youtu.be/hjCKJxhckbs This is an impressive proof-of-concept! Great work by the team! 👏 Happy to have worked with Brad Nissenbaum, Fan Ji, Lynn Wu. Andrew Wardly Please let us know if you have any questions or feedbacks!
Article
Dmitry Maslennikov · Jul 28

Introducing typeorm-iris: TypeORM for InterSystems IRIS from Node.js

Overview The typeorm-iris project provides experimental support for integrating TypeORM with InterSystems IRIS, enabling developers to interact with IRIS using TypeORM’s well-known decorators and repository abstractions. This allows a more familiar development experience for JavaScript and TypeScript developers building Node.js applications with IRIS as the backend database. While the project implements key integration points with TypeORM and supports basic entity operations, it’s not yet battle-tested or suitable for production environments. Why typeorm-iris? The official InterSystems IRIS Node.js driver does not provide native SQL query execution in the way that other database drivers (e.g., for PostgreSQL or MySQL) do. Instead, you must use an ObjectScript-based API (e.g., %SQL.Statement) to prepare and execute SQL commands. This becomes problematic when building modern applications that rely on Object-Relational Mapping (ORM) tools like TypeORM. TypeORM expects a lower-level driver capable of preparing and executing raw SQL in a single connection session, which is not currently available with IRIS’s JavaScript tooling. To overcome these limitations, typeorm-iris implements the necessary pieces to bridge IRIS and TypeORM, using the available ObjectScript SQL execution interfaces under the hood. Early Stage & Known Issues This project is in its initial phase and has only been tested with a limited number of cases. Expect instability, missing features, and breaking changes in future iterations. Notable limitations observed during development include: 1. Excessive Network Roundtrips Executing SQL through the %SQL.Statement class from JavaScript involves multiple network messages between the Node.js process and the IRIS server. For example, a single logical SQL operation may require multiple steps like: Preparing the statement Executing the query Fetching metadata Fetching rows individually Each of these can result in separate messages over the network, resulting in significantly more overhead compared to using a native SQL driver. 2. No True Async/Parallel Support The official IRIS Node.js driver does not support asynchronous usage in a multithreaded or worker-based context: Reconnecting in the same process often fails or causes unpredictable behavior. Spawning worker threads and using the driver inside them leads to issues. Only one connection per process works reliably. These constraints make it unsuitable for modern concurrent Node.js applications. In practice, this limits how well the driver can scale with concurrent workloads, and it significantly restricts architectural choices. Usage Guide Due to usage of latest IRIS SQL Fatures requires IRIS 2025.1+ to work. You can install typeorm-iris via npm: npm install typeorm-iris Because this driver is not officially supported by TypeORM, using it requires a workaround for setting up the DataSource. You cannot directly use new DataSource() or createConnection() as you would with official drivers. Custom DataSource Setup import { IRISDataSource, IRISConnectionOptions } from "typeorm-iris" const dataSourceOptions: IRISConnectionOptions = { name: "iris", type: "iris", host: "localhost", port: 1972, username: "_SYSTEM", password: "SYS", namespace: "USER", logging: true, dropSchema: true, } export function createDataSource(options: any): IRISDataSource { // @ts-ignore const dataSource = new IRISDataSource({ ...dataSourceOptions, ...options }) return dataSource } Once initialized, you can use TypeORM decorators as usual: import { Entity, PrimaryGeneratedColumn, Column } from "typeorm" @Entity() export class User { @PrimaryGeneratedColumn() id: number @Column() name: string @Column() email: string } Using repositories works similarly: const userRepository = dataSource.getRepository(User) const newUser = userRepository.create({ name: "Alice", email: "alice@example.com" }) await userRepository.save(newUser) Sample Projects The GitHub repository includes a sample/ folder with several fully working examples: sample1-simple-entity sample2-one-to-one sample3-many-to-one sample4-many-to-many sample16-indexes These cover basic persistence, relationships, and schema features, offering practical usage demonstrations. Unit Tests Initial testing includes the following use cases: Entity Model should save successfully and use static methods successfully should reload given entity successfully should reload exactly the same entity should upsert successfully Entity Schema > Indices basic Persistence basic functionality entity updation insert > update-relation-columns-after-insertion many-to-many one-to-one These tests are limited in scope and more coverage will be added as the project matures. Supported Features Entity decorators: @Entity(), @Column(), @PrimaryGeneratedColumn() Repositories: create, save, find, delete, etc. Schema drop and sync (experimental) Partial support for relations and custom queries Again, these features are early-stage and may not cover the full range of TypeORM’s capabilities. Real-World Constraints InterSystems IRIS Node.js Driver Limitations Only one usable connection per process No proper support for parallel operations or threading Lack of native SQL API support (via SQL protocol) Heavy reliance on message-based communication using proprietary protocol Until InterSystems updates the official driver with support for proper SQL execution and concurrent operations, this project will be fundamentally limited in terms of performance and scalability. Feedback & Contribution As this is an experimental driver, your feedback is crucial. Whether you're trying it out for a small side project or evaluating it for broader use, please share issues and suggestions on GitHub: ➡️ github.com/caretdev/typeorm-iris/issues Pull requests, test cases, and documentation improvements are welcome. What's Next Planned future improvements include: Expanding test coverage for real-world queries and schema designs Handling more TypeORM query builder features Investigating batching optimizations Improving schema introspection for migrations Conclusion typeorm-iris brings much-needed TypeORM support to InterSystems IRIS for Node.js developers. While it’s not production-ready today and inherits severe limitations from the current driver infrastructure, it provides a foundation for further experimentation and potentially wider adoption in the IRIS developer community. If you're an IRIS developer looking to integrate with a modern Node.js backend using TypeORM, this is the starting point. And if you found this useful, please vote for it in the InterSystems Developer Tools Contest!
Article
Yuri Marx · Jun 10, 2020

Mapping Intersystems IRIS documentation to a Corporate Data Architecture

If you need write your organization Data Architecture and map to the InterSystems IRIS, consider following Data Architecture Diagram and references to the intersystems iris documentation, see: Architecture mapping: SQL Database: https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=GSQL Managed Files: https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=AFL_mft and https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=SETEDIGuides IoT Broker, Events and Sensors: https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=EMQTT Messages: https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=EMQS NoSQL: https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=GDOCDB API and Web Services: https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=GREST, https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=GSOAP, https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=AFL_iam and https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=PAGE_interoperability ETL: https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=SETAdapters, https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=EDTL, https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=EBPL and EAI Connectors: https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=SETAdapters XEP Events: https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=BJAVXEP, https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=BNETXEP, Big Data Ingestion: https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=BSPK AI: https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=PAGE_text_analytics, https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=APMML, https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=PAGE_python_native, https://www.intersystems.com/br/resources/detail/machine-learning-made-easy-intersystems-integratedml/ Processes: https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=EBPL Corporate Service: https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=EESB and https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=AFL_iam In memory: https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=GSCALE_ecp Content: https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=GDOCDB Textual: https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=AFL_textanalytics Protection: https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=SETSecurity, https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=TSQS_Applications, https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=GCDI and https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=GCAS Inventory: https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=GSA_using_portal and https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=GOBJ_xdata Privacy: https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=GCAS_encrypt IT Lifecycle, Backup and Restore: https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=GSA_using_portal, https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=GCDI_backup Access Management: https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=TSQS_Authentication, https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=TSQS_Authorization, https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=TSQS_Applications Replication and HA: https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=PAGE_high_availability Monitoring: https://docs.intersystems.com/sam/csp/docbook/DocBook.UI.Page.cls?KEY=ASAM and https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=PAGE_monitoring IT Operation: https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=PAGE_platform_mgmt Visualization: https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=PAGE_bi Great reference! Fantastic Article, thanks @Yuri.Gomes! This is really excellent! Where did you get the graphics? Can we use them? Send me e-mail to yurimarx@gmail.com and I will reply you with ppt slide. Could you explain to me how to understand the graphic ?
Question
Amit Kumar Thakur · May 26, 2020

Requesting assistance on Intersystems Cache Managed Key Encryption

Requesting assistance on Intersystems Cache Managed Key Encryption. We have configured the KMIP Server. The KMIP server is an external HSM box. I was not able to find any info on Key Rotation and what type of encryption does it follow i.e. 1-tier approach or 2-tier approach. Can someone please assist on the same? Are you asking about the KMIP server and how it works? If so, I don't think this is the right place to ask, and would recommend you talk to people who know more about your KMIP system. Or are you asking about how Cache handles key rotation for encrypted databases and/or managed key encryption? If so, this is mostly up to the user. There isn't automatic re-keying of databases on a schedule. In most of the DBs, we do Master Key rotation on time to time basis for security reasons. In my case, I have created a KMIP server, encrypted the database. Now I have to rotate the master key. I don't find any documentation around rotating the master key. Only Activation, listing, and deleting the master key. For master key, do you mean the database encryption key, ie, the one Cache is using to encrypt the database? If so, you need to re-key the database manually if this is something you want to do. This should be an option available in the ^EncryptionKey utility in the %SYS namespace. (The older cvencrypt utility will also re-key, but is slower and does not have KMIP functionality.) The InterSystems IRIS docs cover using ^EncryptionKey for re-keying here: https://irisdocs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=GCAS_cvencrypt If you mean a different key than the database encryption one, can you explain which one? For example, you authenticate to the KMIP server using a public/private key pair. Is this the one you mean? Something else?
Announcement
Anastasia Dyubaylo · Aug 5, 2020

Webinar: InterSystems Global Masters Advocate Hub Overview

Hey Community, We're pleased to invite you to the first webinar dedicated to our Global Masters Advocate Hub! Please join: ➡️ InterSystems Global Masters Advocate Hub Overview webinar ⬅️ Date & Time: Friday, August 14 – 10:00 EDT Let's see the Global Masters Advocate Hub from the inside and talk about how you can benefit from participation in this program. We'll go through: Demo of the Hub Recognition for your contribution to Developer Community and Open Exchange Levels and priveledges Rewards! Current and... tsss... upcoming! Your questions and ideas Also, a secret code will be announced for all webinar attendees for getting 250 GM points! Speaker:🗣 @Olga.Zavrazhnova2637, InterSystems Customer Advocacy Manager So! We will be happy to talk to you at our webinar! ✅ REGISTER TODAY We will start soon! ➡️ JOIN THE WEBINAR HERE Hey Developers! Now this webinar recording is available on InterSystems Developers YouTube Channel: Enjoy watching this video! 👍🏼
Question
Alex Van Schoyck · Jan 31, 2019

Unexpected SQL error returns in Intersystems Cache

ProblemI got a quick answer from this forum yesterday so I'm going to try my luck again today! I've hit an error in another table when trying to extract through the Cache ODBC driver, but this one gives me less details and I'm struggling to pinpoint what might be causing the error.The table I am trying to extract is called REF_TABLE_ONE.Here's the Error: [Cache Error: <<NOLINE>%0AmBx1^%sqlcq.PRD.2249>] [Location: <ServerLoop - Query Fetch>] Research/Trial & Error Based on my research, it looks like the error results from something missing in a routine. I have limited access to this system. I am able to open up the corresponding Class in Cache Management Studio and edit/compile the code there. However, I do not have access to the "Routes" section of the Management Web Portal. When I run the SQL Query in the Management Web Portal, I get the same error listed above, and only the column headers show up, no rows are populated. Based on my limited analysis of the Class file, I think the issue is somewhere inside the SQLMap. It looks like there is use of Subscripts that are pretty complex. I'm wondering if there's something wrong in there? I have the whole SQLMap code copied out, but I didn't want to post it unless someone needs it, as it is a bit long and would take up a lot of room in the post. Here's a screenshot of the visual representation of the SQLMap in case that helps: Question Is there anything I can do with the class code in Studio to debug or get more info about this error? Any and all help is greatly appreciated! Additional Info Cache Version: Cache for OpenVMS/IA64 V8.4 (Itanium) 2012.1.5 (Build 956 + Adhoc 12486) 17-APR-2013 19:49:58.07 Hey John, Thank you for the reply, I appreciate the help! I found the query in the cache and purged it. Unfortunately, when I ran it again, I encountered the same error and it recreated the query in the cache, but with today's date as the creation date obviously.Any other ideas? Thanks again, I appreciate the help :-) Please share the code from %0AmBx1^%sqlcq.PRD.2249 To do that open %sqlcq.PRD.2249 routine (int routine, afaik mac routine wouldn't have this ) If you can't find routines check that system saves sources for cached queries. If it doesn't set the setting to save routines, purge this query and run it again. After that you should be able to see the source. Also can you determine which part of SQL causes this error? Perhaps there's a faulty cached query.The 2012.1 docs here describe how to use Portal to see what's in the cache, and how to purge items from it.