In the previous article. Practices of class members and their execution within embedded Python. We will now turn our attention to the process of switching namespaces, accessing global variables , traversing and routine executions within embedded Python.
I'm often being asked, especially related to technical bonuses we encourage for every Open Exchange contest why do we constantly give bonuses for Docker, IPM and ObjectScript Quality pass.
InterSystems has been at the forefront of database technology since its inception, pioneering innovations that consistently outperform competitors like Oracle, IBM, and Microsoft.
Among the numerous authors present on the InterSystems Developer Community, there are unsung heroes who leave a lasting impact through their dedication and contributions. One such member is @Ben Spead, whose experiences and milestones have greatly shaped our Developer Community. He has consistently championed the communities, starting with Zen Community in 2008 to being an early participant in the Developer Community's beta phase in 2015.
🤩 Let's take a closer look at Ben's journey with InterSystems technology and our Developer Community...
Using embedded Python while building your InterSystems-based solution can add very powerful and deep capabilities to your toolbox.
I'd like to share one sample use-case I encountered - enabling a CDC (Change Data Capture) for a mongoDB Collection - capturing those changes, digesting them through an Interoperability flow, and eventually updating an EMR via a REST API.
Temporary globals stored in the IRISTEMP/CACHETEMP databases are used when a process does not need to store data indefinitely, but requires the powerful performance of globals. The IRISTEMP/CACHETEMP databases are not journaled, so using temporary globals does not create journal files.
The system uses the IRISTEMP/CACHETEMP databases for temporary storage and are available to users for the same.
In this article, I will outline and illustrate the process of implementing ObjectScript within embedded Python. This discussion will also reference other articles related to embedded Python, as well as address questions that have been beneficial to my learning journey.
As you may know, the integration of Python features within IRIS has been possible for quite some time. This article will focus on how to seamlessly incorporate ObjectScript with embedded Python.
In the world of APIs, REST is very extended. But what happens when you need more flexibility in your data-fetching strategies? For instance letting the client to choose what fields is going to receive. Enter GraphQL, a query language for your APIs that provides a flexible alternative to REST.
In this post, we will:
Compare REST and GraphQL.
Dive into the basics of GraphQL: Queries, Mutations, and HTTP.
Build a simple GraphQL server implementation using Graphene, SQLAlchemy, and Flask over data in InterSystems IRIS.
Explore how to deploy your GraphQL server as a WSGI application in IRIS.
I am accessing IRIS databases with JDBC (or ODBC) using Python. I want to fetch the data into a pandas dataframe to manipulate the data and create charts from it. I ran into a problem with string handling while using JDBC. This post is to help if anyone else has the same issues. Or, if there is an easier way to solve this, let me know in the comments!
I am using OSX, so I am unsure how unique my problem is. I am using Jupyter Notebooks, although the code would generally be the same if you used any other Python program or framework.
As we keep updating our software, we often realize that we require more and more modern solutions. So far, only one major piece of our software relies on reading barcodes in documents and images. Since Cache did not have a means of reading barcodes in the past, we have always achieved our goals by using a Visual Basic 6 application. However, it is no longer an ideal solution because it is currently complicated to maintain it. IRIS also lacks this capability, but it has recently got an option that makes up for it: embedded Python!
The world of Generative AI has been pretty inescapable for a while, commercial models running on paid Cloud instances are everywhere. With your data stored securely on-prem in IRIS, it might seem daunting to start getting the benefit of experimentation with Large Language Models without having to navigate a minefield of Governance and rapidly evolving API documentation. If only there was a way to bring an LLM to IRIS, preferably in a very small code footprint....
With the introduction of vector data types and the Vector Search functionality in IRIS, a whole world of possibilities opens up for the development of applications and an example of these applications is the one that I recently saw published in a public contest by the Ministry of Health from Valencia in which they requested a tool to assist in ICD-10 coding using AI models.
How could we implement an application similar to the one requested? Let's see what we would need:
Looking for a way to onboard your team with InterSystems IRIS® for Health? Unlock the full potential of this platform by using these InterSystems learning resources. With a mix of online and in-person training, you can support various roles in your organization and equip your team for success.
We hope you know that when you have an interesting idea about InterSystems products or services, you should publish it on the Ideas Portal. And those Developer Community members who implement the proposed ideas are added to the "Hall of Fame". Want to get accepted to the InterSystems Ideas Hall of Fame? Read on to learn how you can get on the list.
When building a bundle from legacy data, I (and others) wanted to be able to control whether or not the resources were generated with a FHIR Request Method of PUT instead of the hard coded POST. I have extended the two classes responsible for transforming SDA to FHIR in an Interoperability Production to accomodate a setting that lets the user control the Request Method.
This story has followed me for more than 20 years.
In the early days of ObjectScript, the volume of $Functions was limited. You had to write it as part of your program. But the functionality was often implemented. It just had no name. To use it, you had "system" calls using $ZU() functions. See Reference
Two big changes for the TestCoverage open source tool: Embedded Python support, and a new UI
Embedded Python
Previously, TestCoverage could only track unit test coverage for code written in ObjectScript. It would ignore code written in other languages like Python in the coverage statistics.
Many programming languages use the try-and-catch construct to handle runtime errors gracefully. If the code within the try block encounters an error, it will throw an exception to the catch block, where the error handling occurs.
For a long time I have wanted to learn the Django framework, but another more pressing project has always taken priority. Like many developers, I use python when it comes to machine learning, but when I first learned web programming PHP was still enjoying primacy, and so when it was time for me to pick up a new complicated framework for creating web applications to publish my machine learning work, I still turned to PHP.
The best way to list, edit, save and delete globals is using an IDE. Now, it is possible if you use VSCode. It is also possible to save globals using yaml files. Perform the following steps:
1. Get an InterSystems IRIS instance and install the application iris-global-yaml:
zpm:USER>install iris-global-yaml
2. If you just to want an InterSystems IRIS trial for tests git clone and run on docker:
But if you've not tried "Vector Search on IRIS" yet, please give me one minute 😄 I create one IRIS class - and with only one IRIS class you can see how you put vector data in your IRIS database and how you compare these in your application.
Based on a great sample and workshop built by @Luis Angel Pérez Ramos (see related articles and related Open Exchange app), which included a local InterSystems IRIS for Health container (and desired setup), this sample presented here, adapted the workshop for using the InterSystems Cloud FHIR Server, and it's related setup.
I was working on a DTL but kept getting ERROR #5002... MAXSTRING errors. The problem was that most of the DTL GUI action steps only support the string data type when working with the segments. A %String has a limit of 3,641,144 characters and my OBX5.1 was 5,242,952 characters long as the example provided. Of course PACS admin stated ultra high quality up to and including 4K resolution files were needed, so we could not get the vendor to compress or reformat these files to compressed jpg or something similar.
In the previous article we presented the d[IA]gnosis application developed to support the coding of diagnoses in ICD-10. In this article we will see how InterSystems IRIS for Health provides us with the necessary tools for the generation of vectors from the ICD-10 code list using a pre-trained language model, its storage and the subsequent search for similarities on all these generated vectors.