Search

Clear filter
Announcement
Evgeny Shvarov · Apr 3

Technological Bonuses Results for the InterSystems AI Programming Contest

Hi Developers! We are happy to present the bonuses page for the applications submitted to the InterSystems AI Programming Contest! See the results below. Project Agent AI Vector Search Embedded Python LLM AI or LangChain IntegratedML Docker IPM Online Demo Community Idea Implementation Find a bug First Article on DC Second Article on DC Video on YouTube First Time Contribution Suggest New Idea Total Bonus Nominal 5 4 3 3 3 2 2 2 4 2 2 1 3 3 1 40 ollama-ai-iris 4 3 3 2 3 15 mcp-server-iris 5 3 3 2 3 16 langchain-iris-tool 5 4 3 3 2 2 2 4 2 1 3 1 32 AiAssistant 4 3 3 2 2 3 17 pax-ai-iris 3 3 6 IRIS-Intelligent-Butler 4 3 3 3 13 iris-data-analysis 4 3 3 2 2 2 3 19 bg-iris-agent 5 3 2 2 2 2 3 3 22 Facilis 5 3 3 2 2 15 Vitals Lab 4 3 3 3 13 iris-AgenticAI 5 4 3 3 2 2 1 20 toot 4 3 2 2 3 14 iris-clinical-assistant 3 3 2 3 11 oncorag 5 4 3 2 3 17 iris-easybot 5 4 3 2 14 Please apply with your comments for new implementations and corrections to be made here in the comments or in Discord. Evgeny, hi! We have added a link to the demo in the description of the project (bg-iris-agent), this link is also available in our article. Could you please add bonuses for online demo on our project? Hi Elena! I've added bonus to your app. Thank you, Semion! Evgeny, hi! I have several apps that don't have bonuses, I want to confirm: Vector SearchDockerIPMFirst Time Contribution Hi! Your docker doesn't work after running. Ipm doesn’t work after installation. Fisrt Time I’ve fixed. First Article I’ve removed, because of it’s just copy of readme. Vector Search I’ve added. Thanks @Evgeny.Shvarov for sharing the Technological Bonuses Results.Note that the iris-AgenticAI application now supports Vector Search, and the second article is also published. Hi Muhammad! These bonuses have been added. Thank you!
Announcement
Thomas Dyar · Jan 24, 2022

InterSystems IRIS and IRIS for Health 2021.2 is published

The Data Platforms team is very pleased to announce the 2021.2 release of InterSystems IRIS Data Platform, InterSystems IRIS for Health and HealthShare Health Connect, which are now Generally Available (GA) to our customers and partners. Release Highlights InterSystems IRIS Data Platform 2021.2 makes it even easier to develop, deploy and manage augmented applications and business processes that bridge data and application silos. It has many new capabilities including: Enhancements for application and interface developers, including: Embedded Python Interoperability Productions in Python Updates to Visual Studio Code ObjectScript Extension Pack New Business Services and operations added allowing users to set and run SQL query with minimal custom coding Enhancements for Analytics and AI, including: New SQL LOAD command efficiently loads CSV and JDBC source data into tables Enhancements to Adaptive Analytics Enhancements for Cloud and Operations tasks, including: New Cloud Connectors make it simple to access and use cloud services within InterSystems IRIS applications IKO enhancements improve manageability of Kubernetes resources Enhancements for database and system administrators, including: Online Shard Rebalancing automates distribution of data across nodes without interrupting operations Adaptive SQL engine uses fast block sampling and automation to collect advanced table statistics and leverages runtime information for improved query planning Storage needs for InterSystems IRIS are reduced with new stream and journal file compression settings Support for TLS 1.3 and OpenSSL 1.1.1, using system-provided libraries New ^TRACE utility reports detailed process statistics such as cache hits and reads More details on all these features can be found in the product documentation: InterSystems IRIS 2021.2 documentation and release notes InterSystems IRIS for Health 2021.2 documentation and release notes HealthShare Health Connect 2021.2 documentation and release notes How to get the software InterSystems IRIS 2021.2 is a Continuous Delivery (CD) release, which now comes with classic installation packages for all supported platforms, as well as container images in OCI (Open Container Initiative) a.k.a. Docker container format. Container images are available for OCI compliant run-time engines for Linux x86-64 and Linux ARM64, as detailed in the Supported Platforms document. Full installation packages for each product are available from the WRC's product download site for CD releases. Using the "Custom" installation option enables users to pick the options they need, such as InterSystems Studio and IntegratedML, to right-size their installation footprint. Container images for the Enterprise Edition, Community Edition and all corresponding components are available from the InterSystems Container Registry using the following commands: docker pull containers.intersystems.com/intersystems/iris:2021.2.0.651.0 docker pull containers.intersystems.com/intersystems/iris-ml:2021.2.0.651.0 docker pull containers.intersystems.com/intersystems/irishealth:2021.2.0.651.0 docker pull containers.intersystems.com/intersystems/irishealth-ml:2021.2.0.651.0 For a full list of the available images, please refer to the ICR documentation. Alternatively, tarball versions of all container images are available via the WRC's product download site for CD containers. Our corresponding listings on the main cloud marketplaces will be updated in the next few days. Sharing your experiences We are excited to see this version now hitting the GA milestone and eager to hear your experiences with the new software. Please don't hesitate to get in touch through your account team or the Developer Community with any comments on the technology or the use cases you're addressing with it. For selected new capabilities and products, we've set up Early Access Programs to allow our users to evaluate software before it gets released. Through these focused initiatives, we can learn from our target audience and ensure the new product fulfills their needs when it gets released. Please reach out through your account team or watch the Developer Community if you're interested in participating in any of these. Please note that 2021.2 is also available via the InterSystems Evaluation Service: https://evaluation.InterSystems.com. If you are a supported customer you can request evaluation keys or get full/community edition kits/containers. Prospects can get Community Edition kits/containers (see https://community.intersystems.com/post/introducing-evaluation-service-community-edition-downloads). And images with ZPM package manager 0.3.2 are available accordingly: intersystemsdc/iris-community:2021.2.0.651.0-zpm intersystemsdc/iris-ml-community:2021.2.0.651.0-zpm intersystemsdc/irishealth-community:2021.2.0.651.0-zpm intersystemsdc/irishealth-ml-community:2021.2.0.651.0-zpm intersystemsdc/iris-community:2021.1.0.215.3-zpm intersystemsdc/irishealth-community:2021.1.0.215.3-zpm intersystemsdc/irishealth-ml-community:2021.1.0.215.3-zpm intersystemsdc/irishealth-community:2021.1.0.215.3-zpm And to launch IRIS do: docker run --rm --name my-iris -d --publish 9091:1972 --publish 9092:52773 intersystemsdc/iris-community:2021.2.0.651.0-zpm docker run --rm --name my-iris -d --publish 9091:1972 --publish 9092:52773 intersystemsdc/iris-ml-community:2021.2.0.651.0-zpm docker run --rm --name my-iris -d --publish 9091:1972 --publish 9092:52773 intersystemsdc/iris-community:2021.2.0.651.0-zpm docker run --rm --name my-iris -d --publish 9091:1972 --publish 9092:52773 intersystemsdc/irishealth-community:2021.2.0.651.0-zpm docker run --rm --name my-iris -d --publish 9091:1972 --publish 9092:52773 intersystemsdc/irishealth-ml-community:2021.2.0.651.0-zpm docker run --rm --name my-iris -d --publish 9091:1972 --publish 9092:52773 intersystemsdc/irishealth-community:2021.2.0.651.0-zpm And for terminal do: docker exec -it my-iris iris session IRIS and to start the control panel: http://localhost:9092/csp/sys/UtilHome.csp To stop and destroy container do: docker stop my-iris And the FROM clause in dockerfile can look like: FROM intersystemsdc/iris-community:2021.2.0.651.0-zpm Or to take the latest image: FROM intersystemsdc/iris-community Are there any news on docker hub publication? docker pull store/intersystems/iris-community:2021.2.0.649.0 Error response from daemon: manifest for store/intersystems/iris-community:2021.2.0.649.0 not found: manifest unknown: manifest unknown InterSystems IRIS 2021.2 is now available on docker hub, you can retry that command. However, due to Docker changing the terms of licensing, InterSystems is phasing out its Community version listings on docker hub after January 31, 2022. In the future, we may have a listing there, but that is not finalized. Currently, as well as in the future, these images can be obtained with docker CLI via: docker pull containers.intersystems.com/intersystems/iris-community:2021.2.0.651.0 Note that containers.intersystems.com does not require authentication when pulling Community Edition (CE) of InterSystems IRIS (see InterSystems Container Registry). Stay tuned for an announcement about our plans for docker hub, and please let us know if you have concerns or questions! docker pull containers.intersystems.com/intersystemscorp/iris-community:2021.2.0.649.0 is probably docker pull containers.intersystems.com/intersystems/iris-community:2021.2.0.649.0 Interesting news. Question: as access to containers.intersystems.com requires a WRC account, how do prospects/new users/people without WRC access can get community version of InterSystems IRIS? Thanks, Eduard! I updated the above comment to fix the typo! The Community Edition (CE) of InterSystems IRIS are available from containters.intersystems.com without credentials. This should work for anyone: docker pull containers.intersystems.com/intersystems/iris-ml-community:2021.2.0.651.0 That's good to hear. UPDATE! We discovered a defect in the Windows builds of InterSystems IRIS 2021.2, and have now updated those images on the WRC download site for Continuous Delivery releases. The new build number for the Windows kits is 651. Please change all the 649's in this to 651 - 2021.2 was republished Updated to 651, thanks, @Jeffrey.Fried! Also, we have the latest tag for ZPM images, so this will take the latest: FROM intersystemsdc/iris-community:latest Or just like this: FROM intersystemsdc/iris-community Hi Ben. For some reason, only IRIS 2021.1CE is available for Windows, although IRIS 2021.2CE is available for many other operating systems, such as MacOSX. Is it possible for Windows to update the version to 2021.2 too? @Vitaliy.Serdtsev - thank you very much for bringing this to our attention! There was a small issue resulting in the version listing being out of date. This has been corrected and you should be able to get access to 2021.2 for Windows now (please let me know if you still have issues). Thanks for reaching out! Now everything is OK, thanks. Now on evaluation.intersystems.com for Windows/MacOSX/Container allows to download the version of IRIS 2020.1CE, and for the rest - IRIS 2021.2CE. What happened and when will the problem with downloading the latest version disappear once and for all? This is a bug. We'll look into it. Thank you for bringing it to our attention. @Vitaliy.Serdtsev2149 thank you for pointing this out. We've fixed the issue; it was actually a separate root cause from before. Now everything is OK, thanks.
Announcement
Anastasia Dyubaylo · Mar 24, 2023

InterSystems IRIS Cloud SQL and IntegratedML Contest

Hey Developers, We'd like to invite you to join our next contest dedicated to creating AI/ML solutions that use Cloud SQL to work with data: 🏆 InterSystems IRIS Cloud SQL and IntegratedML Contest 🏆 Duration: April 3 - April 23, 2023 Prize pool: $13,500 The topic 💡 InterSystems IRIS Cloud SQL with IntegratedML Contest 💡 In this contest, we expect to see applications full-stack, frontend, or backend applications that make use of InterSystems IRIS Cloud SQL to work with data and optionally will utilize its IntegratedML option to create AI/ML solutions. Your application could be a library, package, tool, or any SQL or/and AI/ML solution which uses InterSystems IRIS Cloud SQL on a backend. Basically, we invite you to use InterSystems IRIS in this contest as a 100% SQL engine with an AutoML option via IntegratedML offering. Here you can deploy InterSystems IRIS Cloud SQL. Here you can get information on InterSystems IRIS Cloud SQL product along with the IntegratedML feature. General Requirements: Accepted applications: new to Open Exchange apps or existing ones, but with a significant improvement. Our experts will review all applications before approving them for the contest. The application should use InterSystems IRIS Cloud SQL instance as a backend. Deploy it here. Types of applications that match: - anything. Any business solution, technology example, backend, frontend or full-stack application. The application should be an Open Source and published on GitHub. The README file to the application should be in English, contain the installation steps, and contain either the video demo or/and a description of how the application works. One developer can enter the competition with a maximum of 3 applications. Prizes 1. Experts Nomination - a specially selected jury will determine the 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 - an application that will receive the most votes in total: 🥇 1st place - $1000 🥈 2nd place - $750 🥉 3rd place - $500 If several participants score the same amount of votes, they all are considered winners, and the money prize is shared among the winners. Important Deadlines: 🛠 Application development and registration phase: April 3, 2023 (00:00 EST): Contest begins. April 16, 2023 (23:59 EST): Deadline for submissions. ✅ Voting period: April 17, 2023 (00:00 EST): Voting begins. April 23, 2023 (23:59 EST): Voting ends. Note: Developers can improve their apps throughout the entire registration and voting period. Who can participate? Any Developer Community member, except for InterSystems employees. Create an account! 👥 Developers can team up to create a collaborative application. Allowed from 2 to 5 developers in one team. Do not forget to highlight your team members in the README of your application – DC user profiles. Helpful resources ✓ Documentation: InterSystems IRIS Cloud SQL InterSystems IRIS Cloud IntegratedML ✓ Tools: irissqlcli - python SQL terminal for InterSystems IRIS Connect to IRIS Cloud SQL: irissqlcli -h your-iris-cloud-sql-server -p 1972 -u SQLAdmin -n USER -W Connect to IRIS Cloud SQL via SSL: irissqlcli -h your-iris-cloud-sql-server -p 1972 -u SQLAdmin -c certificateSQLaaS.pem -n USER -W DBeaver - SQL-driven database tool. DBeaver and IRIS. Using docker container with iris-sql locally for development purposeses: Start IRIS in docker container locally: docker run --rm --name iris-sql -d -p 9091:1972 -p 9092:52773 -e IRIS_PASSWORD=demo -e IRIS_USERNAME=demo intersystemsdc/iris-community And connect via irissqlcli: irissqlcli iris://demo:demo@localhost:9091/USER You can connect also via other SQL tools. ✓ Example applications: iris-cloud-sql-demo ✓ Online Learning Material: Connect to InterSystems IRIS Cloud SQL via Python, C++, Java, .NET. ✓ 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 can't wait to see your projects! Good luck 👍 By participating in this contest, you agree to the competition terms laid out here. Please read them carefully before proceeding. NB Dear contestants, please take into consideration that support for the contest cloud sql environment is only available during business hours M-F 9-5 US Eastern Time. We seem to be experiencing a failure of the cloud environment such that deployments are stuck in Pending status for some users. Yay! This time you can develop the solution for the contest in ANY language that understands SQL! Python, java, .NET, js, C++, Rust, Go, ObjectScript - anything! Looking forward! Looking forward to this one! ;-) Have a look at some of my projects which can help with this contest irissqlcli - REPL for IRIS SQL sqlalchemy-iris dialect for SQLAlchemy, can be used with Pandas, Flask or FastAPI django-iris driver for Django dbt-iris adapter for dbt Give it a try and let me know if you have any issues with them, I can help to solve ![yes](https://media0.giphy.com/media/rmi45iyhIPuRG/giphy.gif?cid=ecf05e47vpeveqprmrqo4jjyt797hvl3t5jtgkqo9pvhbjop&rid=giphy.gif&ct=g) Hi, Developers! The cloud portal of InterSystems IRIS Cloud SQL is now available! Feel free to launch deployments and prepare to the contest! Example of using SQLAlchemy+Pandas, works with this Cloud SQL as well from sqlalchemy import create_engine import pandas as pd server = '<your-server-hostname>' port = 1972 namespace = 'USER' username = 'SQLAdmin' password = '<YOUR_PASSWORD>' url = f"iris://{username}:{password}@{server}:{port}/{namespace}" print(url) engine = create_engine(url) df = pd.DataFrame({ 'int': [1, 2, 3, 4, 5], 'float': [1.1, 2.2, 3.3, 4.4, 5.5], 'string': ['a', 'b', 'c', 'd', 'e'], 'datetime': pd.date_range('20130101', periods=5), 'bool': [True, False, True, False, True] }) # create a table in IRIS df.to_sql('iris_table', engine, if_exists='replace', schema='sqlalchemy') # read the table back from IRIS df2 = pd.read_sql_table('iris_table', engine, schema='sqlalchemy') # print the dataframe print(df2) Added a small cheat sheet for IRIS SQL Hey Devs! The recording of the "[Kick-off Webinar] InterSystems IRIS Cloud SQL and IntegratedML Contest" is on InterSystems Developers YouTube! I tried to create an account on https://portal.sql-contest.isccloud.io/account/login Just the welcome mail never arrived.the page proposed to contact admin in this case Note: If you do not receive an email, it might be that the username or email address entered is not registered for an account. If you are unable to remember the username or email address you used to sign up for an account, please contact your system administrator for assistance. No further notice. Who is that system admin? Which mail ?Not so impressive ACCOUNT SOLVED: with a new account name. may be a typo in the e-mailTHOUGH OPEN: where is the admin contact Thanks, Robert -- we will look into that and see what the problem is. Granted, it is Easter Sunday so my apologies that our team will likely get to it at some point tomorrow Note: Our InterSystems IRIS Cloud SQL service is not yet publicly available, and we hope this contest uncovers bugs -- so we encourage all the participants in the contest to let us know when they see anything that doesn't match their expectations, no matter how trivial! Good luck hacking! Often we need to clean-up IRIS and start from a clear page with empty database. Docker containers could be an ideal option for that. Start IRIS in docker container locally: docker run --rm --name iris-sql -d --publish 9091:1972 --publish 9092:52773 intersystemsdc/iris-community -a "iris session iris -U%SYS '##class(Security.Users).UnExpireUserPasswords(\"*\")'" And connect via irissqlcli: irissqlcli iris://_SYSTEM:SYS@localhost:9091/USER You can connect also via other SQL tools. Use the approach only for development purposes. other SQL tools. confirmed: I used ODBC + SQLGateway for access and operation from local IRISworks perfectly. There are already many useful suggestions and tools on display here... amazing community! Thank you! There was a new release of intersystemsdc vanilla images. Now you can use ENV variables to start IRIS with user, pass and namespace created. E.g. here is how to start: docker run --rm --name iris-sql -d -p 9091:1972 -p 9092:52773 -e IRIS_PASSWORD=demo -e IRIS_USERNAME=demo intersystemsdc/iris-community Here is how to connect via irissqlcli: irissqlcli iris://demo:demo@localhost:9091/USER Hey, Devs! There are three articles have been added to the contest! IntegratedML-IRIS-Cloud-Height-prediction by @珊珊.喻audit-consolidator by @Oliver.Wilms Tokenizator by @Yuri.Gomes Developers today is the last day for submissions!Don't miss your chance to join! I try to test contributions to the contestbut IRIS Cloud SQL just shows Deployment Pendingfor HOURS !!And no contact or mail to report this breakdownIt is really disappointing! I see that it's a known situation, they even added a NB in the post: NB Dear contestants, please take into consideration that support for the contest cloud sql environment is only available during business hours M-F 9-5 US Eastern Time. We seem to be experiencing a failure of the cloud environment such that deployments are stuck in Pending status for some users.
Announcement
Anastasia Dyubaylo · Mar 26

[Video] Quick wins with InterSystems IRIS Vector DB

Hey Community, Enjoy the new video on InterSystems Developers YouTube: ⏯ Quick wins with InterSystems IRIS Vector DB This demo shows how to enhance an existing tools using vector search. With it we can provide more relevant search results for user queries and help mitigate data redundancy in the application. 🗣 Presenter: @Vivian.Lee, Applications Developer, InterSystems Enjoy watching, and look for more videos! 👍
Announcement
Anastasia Dyubaylo · Apr 28

[Video] Modern Observability with InterSystems IRIS & Open Telemetry

Hey Developers, Watch this video to learn about InterSystems IRIS's new ability to integrate seamlessly with industry-standard observability tools to gather and visualize your InterSystems IRIS metrics, logs, and traces. ⏯ Modern Observability with InterSystems IRIS & Open Telemetry@ Global Summit 2024 Presenters:🗣 @Michelle.Stolwyk​​​​​, Director of Development, InterSystems🗣 @Robert.Kuszewski, Product Manager, Developer Experience, InterSystems Subscribe to our YouTube channel InterSystems Developers to stay up to date!
Announcement
Daniel Palevski · Mar 4

Deprecation of MultiValue in InterSystems IRIS 2025.1

As of InterSystems IRIS® data platform version 2025.1, InterSystems is officially deprecating MultiValue and including it in the Deprecated and Discontinued Features list. While InterSystems will continue to support existing customers using MultiValue, it is not recommended for new applications. What This Means for You: Continued Support: Support for MultiValue will still be available through the Worldwide Response Center (WRC) on a "best effort" basis, as is provided for releases older than our Minimum Supported Versions. Future Removal Possibility: While there are no immediate plans to remove MultiValue from our products, InterSystems reserves the right to do so in a future release. Customer Guidance: If you have questions about your current or planned use of MultiValue, we encourage you to reach out to your InterSystems account team for guidance. The deprecated designation signals that customers should plan to eliminate their use of MultiValue. We recognize that this may impact ongoing projects, and we appreciate your cooperation as we continue evolving our platform. For further information or concerns, please feel free to comment below or contact your InterSystems representative.
Announcement
Anastasia Dyubaylo · May 5

[Video] Prompt the frontend UI for InterSystems IRIS with Lovable

Hi Community! Check out the new video on how to build the frontend UI by prompting it in lovable or (potentially) any spec first REST API in InterSystems IRIS: 📺 Prompt the frontend UI for InterSystems IRIS with Lovable 🗣 Presenter: @Evgeny.Shvarov, Senior Manager of Developer and Startup Programs, InterSystems Share your thoughts or questions in the comments to this post. Enjoy!
Question
Yuhong Snyder · May 5

InterSystems HL7 Interface Specialist certificate test

Hi group, I am trying to take the InterSystems HL7 Interface Specialist certificate test. So is this an open book test? is there any Lab involved with vm? I did the search but I am not able to find such information. I am trying to find out more information before I actually take the test. Thank you Hi Yuhong, The InterSystems HL7 Interface Specialist certification exam is not an open book exam. It consists of a series of 68 multiple choice/multiple response questions. You can read more about the exam here. If you already have the InterSystems HL7 Interface Specialist certification, and that certification is within 6 months of its expiration date, then you have the option of extending your certification by 5 more years by taking the performance-based recertification project. In this project, you are given a vm with an IRIS instance and your task is to create an HL7 production according to the provided specification. You can read more about the recertification project here. Please feel free to ask any more questions here or you can email your questions to certification@intersystems.com I keep getting error with test setup, my camera is setup to let desktop to have access, not sure what's going on, can anyone take a look? # New client instance started at 2025-05-07 08:42:10.364 2025-05-07 08:42:10.369 [01] - INFO: Initiating startup procedure...2025-05-07 08:42:10.379 [01] - INFO: Loading text data...2025-05-07 08:42:10.380 [01] - DEBUG: [Text] System language is 'en', trying to load data...2025-05-07 08:42:10.385 [01] - DEBUG: [Text] Data successfully loaded.2025-05-07 08:42:10.385 [01] - INFO: Initializing runtime connection...2025-05-07 08:42:10.390 [01] - DEBUG: [RuntimeProxy] Trying to connect to endpoint 'net.pipe://localhost/safeexambrowser/runtime/116d120a-aa0c-47e3-af1e-91327b1307a5' with authentication token '0f24ed95-b1b2-4783-bfe8-68e7f7f5a826'...2025-05-07 08:42:10.417 [01] - DEBUG: [RuntimeProxy] Communication channel is opening...2025-05-07 08:42:10.450 [01] - DEBUG: [RuntimeProxy] Communication channel has been opened.2025-05-07 08:42:10.481 [01] - DEBUG: [RuntimeProxy] Connection was established.2025-05-07 08:42:10.481 [01] - INFO: Successfully connected to the runtime.2025-05-07 08:42:10.481 [01] - INFO: Initializing application configuration...2025-05-07 08:42:10.489 [01] - DEBUG: [RuntimeProxy] Sending message 'SimpleMessage -> ConfigurationNeeded'...2025-05-07 08:42:10.640 [01] - DEBUG: [RuntimeProxy] Received response 'ConfigurationResponse' for message 'SimpleMessage -> ConfigurationNeeded'.2025-05-07 08:42:10.640 [01] - DEBUG: [RuntimeProxy] Received configuration response.2025-05-07 08:42:10.640 [01] - INFO: Successfully retrieved the application configuration from the runtime.2025-05-07 08:42:10.640 [01] - INFO: -> Client-ID: 301ad91b-588b-495a-9c9f-6e4eb016c71e2025-05-07 08:42:10.640 [01] - INFO: -> Runtime-ID: 990aaa17-0686-41e3-bf70-7e07be84544a2025-05-07 08:42:10.640 [01] - INFO: -> Session-ID: f9bb5de0-1dda-4b23-ac96-6a5991ab29182025-05-07 08:42:10.640 [01] - INFO: Starting communication host...2025-05-07 08:42:10.652 [08] - DEBUG: [ClientHost] Communication host is opening...2025-05-07 08:42:10.662 [08] - DEBUG: [ClientHost] Communication host has been opened.2025-05-07 08:42:10.662 [08] - DEBUG: [ClientHost] Successfully started communication host for endpoint 'net.pipe://localhost/safeexambrowser/client/0d17f5af-bd90-4f77-9d48-f295f5d9066a'.2025-05-07 08:42:10.664 [01] - INFO: Starting keyboard interception...2025-05-07 08:42:10.664 [01] - INFO: Starting mouse interception...2025-05-07 08:42:10.671 [01] - INFO: Initializing applications...2025-05-07 08:42:11.357 [01] - DEBUG: [ApplicationMonitor] Initialized 325 currently running processes.2025-05-07 08:42:11.359 [01] - DEBUG: [ApplicationMonitor] Initialized blacklist with 46 applications: g2mcomm.exe, obs32.exe, obs64.exe, pcmontask.exe, PCMonitorSrv.exe, strwinclt.exe, SRServer.exe, MS-Teams.exe, remoting_host.exe, CiscoWebExStart.exe, CiscoCollabHost.exe, AA_v3.exe, ptoneclk.exe, webexmta.exe, Teams.exe, join.me.sentinel.exe, join.me.exe, g2mstart.exe, g2mlauncher.exe, Telegram.exe, Zoom.exe, Element.exe, slack.exe, CamtasiaUtl.exe, CamRecorder.exe, CamPlay.exe, Camtasia_Studio.exe, CamtasiaStudio.exe, Camtasia.exe, Discord.exe, RPCSuite.exe, RPCService.exe, RemotePCDesktop.exe, beamyourscreen-host.exe, AeroAdmin.exe, Mikogo-host.exe, chromoting.exe, vncserverui.exe, vncviewer.exe, vncserver.exe, TeamViewer.exe, GotoMeetingWinStore.exe, g2mcomm.exe, SkypeHost.exe, SkypeApp.exe, Skype.exe2025-05-07 08:42:11.361 [01] - DEBUG: [ApplicationMonitor] Initialized whitelist with 0 applications.2025-05-07 08:42:11.362 [01] - INFO: [ApplicationMonitor] Started monitoring applications.2025-05-07 08:42:11.364 [01] - INFO: [ApplicationMonitor] Registered system capture start event with ID = 394e59e9-0d3e-4882-b89c-8d0c91858e72.2025-05-07 08:42:11.364 [01] - INFO: [ApplicationMonitor] Registered system foreground event with ID = 949aaba8-0daa-46bf-8c3c-988e8c535810.2025-05-07 08:42:11.366 [01] - INFO: Initializing working area...2025-05-07 08:42:11.366 [01] - INFO: [DisplayMonitor] Disabled sleep mode and display timeout.2025-05-07 08:42:11.371 [01] - DEBUG: [Taskbar] Calculated physical taskbar height is 60px.2025-05-07 08:42:11.373 [01] - INFO: [DisplayMonitor] Saved original working area for DISPLAY5 (1920x1080): Left = 0, Top = 0, Right = 1920, Bottom = 1008.2025-05-07 08:42:11.374 [01] - INFO: [DisplayMonitor] Trying to set new working area for DISPLAY5 (1920x1080): Left = 0, Top = 0, Right = 1920, Bottom = 1020.2025-05-07 08:42:11.374 [01] - INFO: [DisplayMonitor] Working area of DISPLAY5 (1920x1080) is now set to: Left = 0, Top = 0, Right = 1920, Bottom = 1020.2025-05-07 08:42:11.375 [01] - INFO: [DisplayMonitor] Started monitoring display changes.2025-05-07 08:42:11.375 [01] - INFO: Initializing system events...2025-05-07 08:42:11.376 [01] - INFO: [SystemMonitor] Started monitoring the operating system.2025-05-07 08:42:11.378 [01] - INFO: Initializing shell...2025-05-07 08:42:11.458 [01] - INFO: [Audio] Found 'Speakers (Realtek(R) Audio)' to be the active audio device.2025-05-07 08:42:11.632 [01] - INFO: [Audio] Started monitoring the audio device.2025-05-07 08:42:11.632 [01] - INFO: [Keyboard] Saved current keyboard layout 'English (United States)' [ENG, US].2025-05-07 08:42:11.632 [01] - INFO: [Keyboard] Detected keyboard layout 'English (United States)' [ENG, US].2025-05-07 08:42:11.632 [01] - INFO: [Keyboard] Detected keyboard layout '中文(中国)' [ZHO, Chinese (Simplified) - US].2025-05-07 08:42:11.760 [01] - ERROR: Caught unexpected exception while performing operation 'LazyInitializationOperation'! Exception Message: Access is denied Exception Type: System.ComponentModel.Win32Exception at SimpleWifi.Win32.WlanClient..ctor() at SimpleWifi.Wifi..ctor() at SafeExamBrowser.SystemComponents.Network.NetworkAdapter.Initialize() in C:\Users\appveyor\projects\seb-win-refactoring-phv3mbelx16fm9ou\SafeExamBrowser.SystemComponents\Network\NetworkAdapter.cs:line 92 at SafeExamBrowser.Client.Operations.ShellOperation.InitializeSystemComponents() in C:\Users\appveyor\projects\seb-win-refactoring-phv3mbelx16fm9ou\SafeExamBrowser.Client\Operations\ShellOperation.cs:line 214 at SafeExamBrowser.Client.Operations.ShellOperation.Perform() in C:\Users\appveyor\projects\seb-win-refactoring-phv3mbelx16fm9ou\SafeExamBrowser.Client\Operations\ShellOperation.cs:line 81 at SafeExamBrowser.Core.OperationModel.OperationSequence.Perform() in C:\Users\appveyor\projects\seb-win-refactoring-phv3mbelx16fm9ou\SafeExamBrowser.Core\OperationModel\OperationSequence.cs:line 108 2025-05-07 08:42:11.760 [01] - INFO: Terminating shell...2025-05-07 08:42:11.762 [01] - INFO: [Audio] Stopped monitoring the audio device.2025-05-07 08:42:11.764 [01] - INFO: [Keyboard] Restored original keyboard layout 'English (United States)' [ENG, US].2025-05-07 08:42:11.764 [01] - INFO: Finalizing system events...2025-05-07 08:42:11.764 [01] - INFO: [SystemMonitor] Stopped monitoring the operating system.2025-05-07 08:42:11.766 [01] - INFO: Restoring working area...2025-05-07 08:42:11.766 [01] - INFO: [DisplayMonitor] Stopped monitoring display changes.2025-05-07 08:42:11.766 [01] - INFO: [DisplayMonitor] Restored original working area for DISPLAY5 (1920x1080): Left = 0, Top = 0, Right = 1920, Bottom = 1008.2025-05-07 08:42:11.766 [01] - INFO: Finalizing applications...2025-05-07 08:42:11.768 [01] - INFO: [ApplicationMonitor] Stopped monitoring applications.2025-05-07 08:42:11.768 [01] - INFO: [ApplicationMonitor] Unregistered system capture start event with ID = 394e59e9-0d3e-4882-b89c-8d0c91858e72.2025-05-07 08:42:11.768 [01] - INFO: [ApplicationMonitor] Unregistered system foreground event with ID = 949aaba8-0daa-46bf-8c3c-988e8c535810.2025-05-07 08:42:11.768 [01] - INFO: Stopping mouse interception...2025-05-07 08:42:11.772 [01] - INFO: Stopping keyboard interception...2025-05-07 08:42:11.774 [01] - INFO: The runtime has already disconnected from the client communication host.2025-05-07 08:42:11.774 [01] - INFO: Stopping communication host...2025-05-07 08:42:11.774 [01] - DEBUG: [ClientHost] Communication host is closing...2025-05-07 08:42:11.777 [01] - DEBUG: [ClientHost] Communication host has been closed.2025-05-07 08:42:11.777 [01] - DEBUG: [ClientHost] Terminated communication host for endpoint 'net.pipe://localhost/safeexambrowser/client/0d17f5af-bd90-4f77-9d48-f295f5d9066a'.2025-05-07 08:42:11.780 [01] - INFO: Closing runtime connection...2025-05-07 08:42:11.784 [01] - DEBUG: [RuntimeProxy] Communication channel is closing...2025-05-07 08:42:11.784 [01] - DEBUG: [RuntimeProxy] Communication channel has been closed.2025-05-07 08:42:11.784 [01] - DEBUG: [RuntimeProxy] Disconnected from 'net.pipe://localhost/safeexambrowser/runtime/116d120a-aa0c-47e3-af1e-91327b1307a5'.2025-05-07 08:42:11.784 [01] - INFO: Successfully disconnected from the runtime.2025-05-07 08:42:11.788 [01] - INFO: Application startup aborted! 2025-05-07 08:42:11.790 [01] - INFO: Initiating shutdown procedure...2025-05-07 08:42:11.795 [01] - INFO: Application successfully finalized. # Client instance terminated at 2025-05-07 08:42:11.795 It looks like the exam browser tried to access a Windows wifi api and was prevented from doing so. The reason could be that you didn't start the exam browser with admin privileges or you are using a work computer and your user account doesn't have sufficient privileges to access this wifi api. If using a work computer, then one solution is to contact your IT department and ask to elevate your account privileges so that exam browser can start correctly, or to use your own personal device to take the exam. Feel free to reach out to our exam vendor, for support with starting the Safe Exam Browser. I have got it resolved. Thank you I wish there is more clear statement about how to take the exam. It turned out I need to download the safe exam browser from official site, not through the direct link in the test webpage. I will see what other issue it could have once I get the test done hopefully tomorrow. Hi Yuhong. Good luck on the exam tomorrow! We strongly recommend going through the information on our Taking InterSystems Exams page before your appointment. Please let us know if you have other questions. That page really helps! thank you Shane!
Announcement
Anastasia Dyubaylo · May 7

Winners of the Code Your Way to InterSystems READY 2025

Hi Community, A huge thank you to everyone who participated in the Code Your Way to InterSystems READY 2025 challenge! We enjoyed watching your videos and checking out your projects. And now it's time to announce the winners! 🥇 1st place, a pass and a hotel accommodation go to @ShawntelleCoker for her wp-iris-project app 🥈 2nd place and a pass go to @Francisco.López1549 for his Iris-nator app 🥉 3rd place and a pass go to @Oliver.Wilms for his jupyter-for-money app Our sincerest congratulations to our winners and we look forward to seeing you at the InterSystems Ready 2025!
Announcement
Anastasia Dyubaylo · May 5

InterSystems FHIR and Digital Health Interoperability Contest 2025

Hi Developers, We are happy to announce the new InterSystems online programming contest dedicated to all things health-related: 🏆 InterSystems FHIR and Digital Health Interoperability Contest 🏆 Duration: May 12 - June 1, 2025 Prize pool: $12,000 The topic Develop any interoperability FHIR solution or Healthcare Interoperability solution or a solution that helps to develop or/and maintain interoperability solutions using InterSystems IRIS for Health, Health Connect, or FHIR server. 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++, there you really need to do a lot of work to create an interface for IRIS). It should not be a copy-paste of an existing application or library. Accepted applications: new to Open Exchange apps or existing ones, but with a significant improvement. Our team will review all applications before approving them for the contest. The application should work either on IRIS Community Edition or IRIS for Health Community Edition. Both could be downloaded as host (Mac, Windows) versions from Evaluation site, or can be used in a form of containers pulled from InterSystems Container Registry or Community Containers: intersystemsdc/iris-community:latest or intersystemsdc/irishealth-community:latest . The application should be Open Source and published on GitHub or GitLab. The README file to the application should be in English, contain the installation steps, and contain either the video demo or/and a description of how the application works. Only 3 submissions from one developer are allowed. NB. Our experts will have the final say in whether the application is approved for the contest or not based on the criteria of complexity and usefulness. Their decision is final and not subject to appeal. Prizes 1. Experts Nomination - a specially selected jury will determine winners: 🥇 1st place - $5,000 🥈 2nd place - $2,500 🥉 3rd place - $1,000 🏅 4th place - $500 🏅 5th place - $300 🌟 6-10th places - $100 2. Community winners - applications that will receive the most votes in total: 🥇 1st place - $1,000 🥈 2nd place - $600 🥉 3rd place - $300 🏅 4th place - $200 🏅 5th place - $100 ❗ If several participants score the same number of votes, they are all considered winners, and the prize money is shared among the winners.❗ Cash prizes are awarded only to those who can verify their identity. If there are any doubts, organizers will reach out and request additional information about the participant(s). 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: May 12, 2025 (00:00 EST): Contest begins. May 25, 2025 (23:59 EST): Deadline for submissions. ✅ Voting period: May 26, 2025 (00:00 EST): Voting begins. June 1, 2025 (23:59 EST): Voting ends. Note: Developers can improve their apps throughout the entire registration and voting period. Helpful Resources: ✓ Documentation: InterSystems IRIS for Health FHIR Components documentation InterSystems Cloud FHIR Server documentation InterSystems Interoperability documentation Healthcare Data Transformations documentation ✓ Tools: Clinfhir - FHIR visualization and developer tool. ✓ Example applications: FHIR Server Template iris-healthtoolkit-template interoperability-embedded-python FHIR HL7 SQL Demo FHIR DropBox HL7 and SMS Interoperability Demo IrisHealth Ensdemo UnitTest DTL HL7 Healthcare HL7 XML FHIR Interoperability Examples FHIR-Orga-dt FHIR Peudoanonimisation Proxy FHIR-client-java FHIR-client-.net FHIR-client-python FHIR related apps on Open Exchange HL7 applications on Open Exchange ✓ Online courses: Interactive Digital Health Interoperability Foundation - An intro course into Digital Health Interoperability productions built with InterSystems IRIS for Health FHIR Data Architecture FHIR Integrations HL7 Integrations Learn FHIR for Software Developers Exploring FHIR Resource APIs Using InterSystems IRIS for Health to Reduce Readmissions Connecting Devices to InterSystems IRIS for Health Monitoring Oxygen Saturation in Infants FHIR Integration QuickStart ✓ Videos: 6 Rapid FHIR Questions SMART on FHIR: The Basics Developing with FHIR - REST APIs FHIR in InterSystems IRIS for Health FHIR API Management Searching for FHIR Resources in IRIS for Health ✓ 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. Is having a team necessary for participation? No, having a team is not required — you can participate either individually or in a team of 2 to 5 people. Hope this helps! What eval product do I need to select to get FHIR server? Hi @Kevin.Mayfield2935 ! If you have docker on your laptop you can clone this Github project and start it in a docker - it starts InterSystems FHIR server (within IRIS for Health) automatically.
Article
Eduard Lebedyuk · Mar 5, 2022

Running InterSystems IRIS in a FaaS mode with Kubeless

Function as a service (FaaS) is a category of cloud computing services that provides a platform allowing customers to develop, run, and manage application functionalities without the complexity of building and maintaining the infrastructure typically associated with developing and launching an app. Building an application following this model is one way of achieving a "serverless" architecture, and is typically used when building microservices applications. Wikipedia FaaS is an extremely popular approach to running workloads in the cloud, allowing developers to focus on writing code. This article will show you how to deploy InterSystems IRIS methods in a FaaS way. Install Kubernetes First of all, install Kubernetes 1.16. There are a lot of guides available so that I won't be copying them here, but I'm using minicube. With minicube to run kubernetes, it's enough to execute this command: minikube start --kubernetes-version=v1.16.1 Install kubeless Next, we will install kubeless. kubeless is a Kubernetes-native serverless framework that lets you deploy small bits of code without worrying about the underlying infrastructure plumbing. It leverages Kubernetes resources to provide auto-scaling, API routing, monitoring, troubleshooting, and more. kubectl create ns kubeless kubectl create -f https://github.com/kubeless/kubeless/releases/download/v1.0.8/kubeless-v1.0.8.yaml kubectl get pods -n kubeless Output should be something like this: NAME READY STATUS RESTARTS AGEkubeless-controller-manager-666ffb749-26vhh 3/3 Running 0 83s You also need to install a kubeless client (on the same instance you have kubectl). You can get it here. Installation on Linux is as simple as: sudo install kubeless /usr/local/bin/kubeless Test kubeless First, let's deploy a simple Python function to check that kubeless works. Create test.py: def hello(event, context): return event['data'] To read more about function environment check this doc, generally function accepts two arguments - event and context with this data: event: data: # Event data foo: "bar" # The data is parsed as JSON when required event-id: "2ebb072eb24264f55b3fff" # Event ID event-type: "application/json" # Event content type event-time: "2009-11-10 23:00:00 +0000 UTC" # Timestamp of the event source event-namespace: "kafkatriggers.kubeless.io" # Event emitter extensions: # Optional parameters request: ... # Reference to the request received response: ... # Reference to the response to send # (specific properties will depend on the function language) context: function-name: "pubsub-nodejs" timeout: "180" runtime: "nodejs6" memory-limit: "128M" Now we can deploy our hello function by specifying our file with a function and a runtime: kubeless function deploy hello --runtime python3.7 --from-file test.py --handler test.hello kubeless function ls hello And let's test it: kubeless function call hello --data 'Hello world!' You should receive Hello World! as an answer. Add IRIS config Next we need to add an InterSystems IRIS function handler, to do that open kubeless config for edit: kubeless get-server-config kubectl get -n kubeless configmaps -o yaml > configmaps.yaml kubectl edit -n kubeless configmaps Add this entry to runtime-images array and save: {"ID": "iris","depName": "","fileNameSuffix": ".cls","versions": [{"images": [{"image": "eduard93/kubeless-iris-runtime:latest","phase": "runtime"}],"name": "iris2022.1","version": "2022.1"}]} Restart kubeless controller for the changes to take effect. kubectl delete pod -n kubeless -l kubeless=controller Build IRIS function CRD and publish it Now let's write our first function in InterSystems IRIS: Class User.Test { ClassMethod hi(event, context) As %Status { if $isObject(event) { write event.Text + event.Text } else { write "HELLO FROM IRIS" } quit $$$OK } } Next, we need to build a function CRD: Here's our template: function.yaml apiVersion: kubeless.io/v1beta1 kind: Function metadata: name: !name! namespace: default spec: runtime: iris2022.1 timeout: "180" handler: !handler! deps: "" function-content-type: text deployment: spec: template: spec: securityContext: runAsUser: 51773 runAsGroup: 51773 function: | And we need to fill: name: function name (for kubeless) handler: class.name_method (for InterSystems IRIS) function body: add at the end (don't forget tabs!) So our CRD looks like this: function_demo.yaml apiVersion: kubeless.io/v1beta1 kind: Function metadata: name: iris-demo namespace: default spec: runtime: iris2022.1 timeout: "180" handler: User_Test.hi deps: "" function-content-type: text deployment: spec: template: spec: securityContext: runAsUser: 51773 runAsGroup: 51773 function: | Class User.Test { ClassMethod hi(event, context) As %Status { if $isObject(event) { write event.Text + event.Text } else { write "HELLO FROM IRIS" } quit $$$OK } } This can be easily automated. On Linux execute: sed 's/!name!/iris-demo/; s/!handler!/User_Test.hi/' function.yaml > function_demo.yaml sed 's/^/ /' User.Test.cls >> function_demo.yaml And on Windows (PowerShell): Get-Content function.yaml | ForEach-Object { $_ -replace "!handler!", "User_Test.hi" -replace "!name!", "iris-demo" } | Set-Content function_demo.yaml " " + [string]((Get-Content User.Test.cls) -join "`r`n ") | Add-Content function_demo.yaml Now we need to publish our CRD in kubeless: kubectl apply -f function_demo.yaml Test IRIS function First, let's see that the function is deployed and ready (can take a few minutes the first time): kubeless function ls And now call it: kubeless function call iris-demo --data '{"Text":123}' If you're on Windows, call the function like this (same for all other calls with escaped double quotes): kubeless function call iris-demo --data '{\"Text\":123}' Anyway, the response should be 456 since 123 is a number. HTTP access kubeless also offers HTTP access. To test this, use the kubectl proxy command: kubectl proxy -p 8081 Next, send this request using your preferred REST API client: GET http://localhost:8081/api/v1/namespaces/default/services/iris-demo:http-function-port/proxy/ {"Text":111} Here's how it looks like in Postman: Next, let's publish it on the internet. There are two approaches. Preferably configure ingress as described here. Additionally you can patch function service: kubectl get svc kubectl patch svc iris-demo -p '{"spec": {"type": "LoadBalancer"}}' kubectl get svc Clean up To remove a deployed function call: kubectl delete -f function_demo.yaml Conclusion While this is undoubtedly a proof-of-concept and not a production-grade solution, this approach demonstrates that it's possible to run InterSystems IRIS workloads using the serverless, FaaS approach. Links Minicube Kubeless InterSystems IRIS runtime Great article ! Is it possible to use a custom image from a local docker registry with Kubeless ? Yes, it's possible. fantastic @Eduard.Lebedyuk ! Thanks, Ron!
Article
sween · Feb 18

OMOP Odyssey - InterSystems OMOP, The Cloud Service (Troy)

InterSystems OMOP, The Cloud Service (Troy) An Implementer's approach into the OHDSI ( pronounced "Odyssey" ) Community through an Expiring Trial of InterSystems OMOP Cloud Service.What is it? The InterSystems OMOP, available as a HealthShare service through the InterSystems Cloud Services Portal, transforms HL7® FHIR® data into the Observational Medical Outcomes Partnership (OMOP) Common Data Model (CDM). The InterSystems OMOP looks at FHIR data stored in an S3 bucket and automatically transforms and sends the data to the cloud-hosted repository in the OMOP CDMO format. You can then use external Observational Health Data Sciences and Informatics (OHDSI) tools, such as ATLAS or HADES, in conjunction with a database driverOpens in a new tab, such as JDBC, to perform analytical tasks on your data. Abridged: It transforms S3 Hosted FHIR Bulk Export Data to the OMOP CDM to a Cloud Hosted IRIS or a postgres flavored database of your choice. Going to take the above for a spin here from "soup to nuts" as they say and go end to end with an implementation surrounded by modern powerful tools and the incredible ecosystem of applications from the OHDSI Community. Will try not to re-hash the docs, neither here or there, and surface some foot guns 👣 🔫 along the way. Everything Good Starts with a Bucket When you first provision the service, you may feel immediately that you are in a chicken and egg situation when you get to the creation dialog and prompted for S3 information right out of the gate. You can fake this best you can and, and update it later or take an approach that is less hurried where you understand how you are provisioning an Amazon S3 Bucket for transformation use. Its a modern approach implemented in most Cloud based data solutions to share data, where you provision the source location yourself, then grant the service access to interact with it. Provision Bucket and Initial Policy Stack Create the Deployment for the Service Update the Bucket Policy constrained to the Deployment We can click the console to death , or do this with an example stack. s3-omop-fhir-stack.yaml --- AWSTemplateFormatVersion: '2010-09-09' Description: AWS Cloudformation Stack that will create the S3 Bucket and Policy for the OMOP Server Parameters: BucketName: Description: The name of the bucket to use to upload FHIR Bundles for Transformation. Type: String AllowedPattern: "^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$" PolicyfromOMOPConfiguration: Description: The name of the bucket to use to upload FHIR Bundles for Transformation. Default: "arn:aws:iam::1234567890:role/skipper-deployment-*-Role" Type: String Resources: OMOPFHIRTransactionBucket: Type: AWS::S3::Bucket Properties: BucketName: !Sub ${BucketName} PublicAccessBlockConfiguration: BlockPublicAcls: true BlockPublicPolicy: true IgnorePublicAcls: true RestrictPublicBuckets: true OMOPBucketPolicy: Type: AWS::S3::BucketPolicy Properties: Bucket: !Ref OMOPFHIRTransactionBucket PolicyDocument: Version: "2012-10-17" Statement: - Effect: Allow Principal: AWS: - !Sub ${PolicyfromOMOPConfiguration} Action: - "s3:GetObject" - "s3:GetBucketLocation" - "s3:ListBucket" Resource: - !Sub "arn:aws:s3:::${BucketName}" # Bucket itself - !Sub "arn:aws:s3:::${BucketName}/*" # FHIR Objects within the bucket Create the stack anyway you want to, one way is to use the aws cli. aws cloudformation create-stack --stack-name omopfhir --template-body s3-omop-fhir-bucket.yaml --parameters ParameterKey=BucketName,ParameterValue=omop-fhir Create some initial keys in the bucket to use for provisioning and the source folder for FHIR ingestion. aws s3api put-object --bucket omop-fhir --key Transactions/in --profile pidtoo aws s3api put-object --bucket omop-fhir --key termz --profile pidtoo You should now be setup to provision the service with the following, pay attention to the field asking for the arn, is actually asking for the arn of the bucket despite the description asking for the name... small 👣🔫 here.After the deployment is created, head over to the "Configurations" navigation item inside the "FHIR to OMOP Pipeline" deployment and grab the policy by Copying it to your clipboard. You can just follow the directions supplied there, and wedge this into your your current policy or just snag the value of the role and update your stack. aws cloudformation update-stack --stack-name omopfhir --template-body s3-omop-fhir-bucket.yaml --parameters ParameterKey=PolicyfromOMOPConfiguration,ParameterValue="arn:aws:iam::1234567890:role/skipper-deployment-4a358965ec38ba179ebeeeeeeeeeee-Role" Either way, you should end up with a policy that looks like this on your source bucket under permissions... (account number, role fuzzed) Recommended Policy { "Version": "2012-10-17", "Statement": [ { "Principal": { "AWS": "arn:aws:iam::123456789099:role/skipper-deployment-33e46da9bf8464bbe5d1411111-Role" }, "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::omop-fhir", "arn:aws:s3:::omop-fhir/*" ], "Sid": "IRIS Cloud Bucket Access" } ] } I used a more open policy that allowed for the opening the root account, but constraining on the buckets. This way I could support multiple deployments with a single bucket (or multiple buckets). Not advised I guess, but a second example for reference to support multiple environments in a single policy for IAC purposes. Root Account { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111:root", ### Entire accounts(3) "arn:aws:iam::222:root", "arn:aws:iam::333:root" ] }, "Action": [ "s3:GetObject", "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::omop-fhir", "arn:aws:s3:::omop-fhir/*", "arn:aws:s3:::omop-fhir2", "arn:aws:s3:::omop-fhir2/*" ], "Condition": { "StringLike": { "aws:PrincipalArn": [ "arn:aws:iam::111:role/skipper-deployment-*-Role", "arn:aws:iam::222:role/skipper-deployment-*-Role", "arn:aws:iam::333:role/skipper-deployment-*-Role" ] } } } ] } That's our source for the transformation, now lets move on to the target, the OMOP Database. Meet OMOP Lets take a quick look over to the other deployment "OMOP on IRIS" and meet the Common Data Model. The OMOP (Observational Medical Outcomes Partnership) database is a monument on how you boil ridiculous complexity to support multiple sources into a common data model, referred to as the CDM. Any further explanation outside of the community would be an exercise in cut and paste (or even worse generative content), and the documentation in this community is really, really well done. Navigating to the "SQL Query Tools" navigation and you can see the InterSystems implementation of the Common Data Model, shown here next to the infamous diagram of OMOP Schema from the OHDSI community. That's as far as we go with this work of art, let's investigate another option for using the service for transformation purposes only. BYODB (Bring Your Own Database) We got a database for free when we provisioned last time, but if we want to target another database, we can surely do that as the service at this time of writing supports transforming to flavors of Postgres as well. For this we will outline how to wrangle an external database, via Amazon RDS, and connect it to the service. Compute I'll throw a flag here and call another 👣🔫 I refer to as "Biggie Smalls" in regards to sizing your database for the service if you bring your own. InterSystems does a pretty good job of sizing the transform side to the database side, so you will have to follow suit and consider the fact that the speed of your transform performance is dependent on the sql instance you procure to write to, so do so accordingly. This may be obvious to some, but witnessed it and thought Id call it out, as I went cheap with RDS, Google Cloud SQL et al, and the persistence times of the FHIR Bundles to the OMOP database were impacted. Having said all that, I do exactly the opposite and give Jeff Bezos the least amount of money possible for the task regardless, with a db.t4g.micro postgres RDS Instance. We expose it publicly and head over to download the certificate bundle for the corresponding region your database is in... make sure its in .pem format.Next, however you interact with databases these days, connect to your db instance and create a DATABASE and SCHEMA: Load OMOP CDM 5.4 Now we get a little help from our friends in the OHDSI Community to provision the supported schema at version 5.4 in RStudio with OMOP Common Data Model schema using OHDSI Tools. install.packages("devtools") devtools::install_github("OHDSI/CommonDataModel") install.packages("DatabaseConnector") install.packages("SqlRender") Sys.setenv("DATABASECONNECTOR_JAR_FOLDER" = "/home/sween/Desktop/OMOP/iris-omop-extdb/jars") library(DatabaseConnector) downloadJdbcDrivers("postgresql") We now have what we need and can connect to our postgres instance and created the tables in the OMOPCDM54 we provisioned above.Connect cd <- DatabaseConnector::createConnectionDetails(dbms = "postgresql", server = "extrdp-ops.biggie-smalls.us-east-2.rds.amazonaws.com/OMOPCDM54", user = "postgres", password = "REDACTED", pathToDriver = "./jars" ) Create CommonDataModel::executeDdl(connectionDetails = cd, cdmVersion = "5.4", cdmDatabaseSchema = "omopcdm54" ) Barring a "sea of red", it should have executed successfully.Now lets check out work, we should have an external postgres OMOP database suitable for using with the service. Configure OMOP Cloud Service We have the sources, we have the targets, lets configure the service to glue them together to complete the transformation pipeline from FHIR to the external database.InterSystems OMOP Cloud Service Should be all set!The OMOP Journey continues...
Announcement
Anastasia Dyubaylo · May 15

InterSystems Ready 2025 sessions to sink your teeth into

Hey Community, We're happy to announce that there's a preliminary list of sessions available for you to peruse at your leisure while waiting for the Ready 2025! At InterSystems READY 2025 we are planning over 60 individual sessions. We have sessions for everyone on a wide variety of topics and technologies. All the sessions are divided into 8 categories based on the points of interest: Put AI into Action Transform Health Plans Boost Product Impact Get Health Data Connected Secure. Fast. Scalable. Robust. Develop Innovative Solutions Maximize Your Data Architecture Make the Most of the Cloud We're still finalizing the session descriptions and schedule. Stay tuned for updates and more information soon!
Announcement
Anastasia Dyubaylo · May 22

[Webinar] Unlocking the Power of InterSystems Data Fabric Studio

Hey Community, We're excited to invite you to the next InterSystems UKI Tech Talk webinar: 👉Unlocking the Power of InterSystems Data Fabric Studio ⏱ Date & Time: Thursday, May 29, 2025 10:30-11:30 UK 👨‍🏫 Speaker: @Saurav.Gupta, Data Platform Team Lead, InterSystems Business leaders across every industry – including healthcare, financial services, supply chain, manufacturing, and the public sector – struggle with accessing unified, timely data spread across applications, data feeds, data warehouses, data lakes, and data marts. Join us for our next exclusive Tech Talk Webinar hosted by InterSystems expert Saurav Gupta as he introduces InterSystems Data Fabric Studio™—the latest innovation designed to offer a new approach to accessing data, delivering the right data to the right person at the right time, in a secure and controlled environment. It's a fully managed, self-service, cloud solution with all the necessary components to create and maintain an enterprise data fabric. An enterprise data fabric is a new architectural approach that speeds and simplifies access to data assets across the entire business. It accesses, transforms, and harmonises data from multiple sources, on demand, to make it usable and actionable for a wide variety of business applications. >> REGISTER HERE <<
Announcement
Anthony Jackson · Jun 3

InterSystems HealthShare developer interoperability Developer/Lead

Summary: Duties and Responsibilities: Design and implement healthcare data integration solutions using the InterSystems platform /HealthShare platform, ensuring data interoperability across various healthcare systems. Develop and maintain data mappings and transformations to ensure accurate data exchange between systems, leveraging IRIS API’s, HL7, FHIR, and other healthcare data standards. Build and maintain interfaces to connect health information systems, including clinical applications, EHR, and other healthcare data sources. Work closely with cross-functional teams, including developers, business analysts, and healthcare professionals, to gather requirements, design solutions, and implement integrations. Create and maintain comprehensive documentation for integration solutions, including interface specifications, data mappings, and test plans. Identify opportunities to improve integration processes and solutions, contributing to the overall efficiency and effectiveness of healthcare data exchange. Education and Skills: Experience with interoperability tools (like InterSystems), such as NextGen Mirth or "Availity" or "Infor" or "IRIS" or Cloverleaf or Rhapsody or Ensemble etc. Experience and expertise with InterSystems IRIS, InterSystems HealthShare. Familiarity / Experience working with Medical Claims data Experience with Amazon Web Services (AWS). Experience developing Continuous Integration / Continuous Delivery (CI/CD). Knowledge and understanding of agile methodologies Please send your profile to : Antony.Jackson@infinite.com antonyjacks@gmail.com