検索

InterSystems公式
· 2025年12月1日

Release Notes: InterSystems Cloud Services – Version 25.23.2 Release Notes (November 2025)

Overview

Version 25.23.2 delivers targeted improvements to the Advanced Security UI and further streamlines the upgrade and update workflows across InterSystems Cloud offerings. These changes focus on clarity, efficiency, and operational excellence.


New Features and Enhancements

Category Feature / Improvement Details
Advanced Security UI Enhancements for Application Visibility Updated interface provides clearer, more intuitive application mappings, improving understanding of security boundaries, associated policies, and protected resources.
Upgrade & Update Optimized Upgrade/Update Process Enhanced upgrade/update pipelines reduce execution time, minimizing maintenance windows and improving overall system availability during scheduled operations.

Recommended Actions

  • Review the updated Advanced Security UI to familiarize your team with the improved application representations.

Support

For more information or assistance with this release, please contact InterSystems Cloud Services Support via iService or through the Cloud Service Portal.

ディスカッション (0)1
続けるにはログインするか新規登録を行ってください
InterSystems公式
· 2025年12月1日

Release Notes: InterSystems Cloud Services – Version 25.24.1 (November 2025)

Overview

Version 25.24.1 delivers major enhancements to DNS capabilities, platform reliability, upgrade workflows, and developer experience. This release also includes key fixes and increases in platform limits to better support modern workloads.


New Features and Enhancements

Category

Feature / Improvement

Details

Networking – DNS DNS Mapping (Static DNS Support) DNS support expanded from forwarding-only to full DNS Mapping, allowing creation and management of static DNS entries for improved service discovery and configuration flexibility.
Reliability & Resiliency Enhanced Self-Healing Checks Improved internal self-healing verification routines, enabling faster recovery and more precise detection of operational anomalies.
Advanced Security Improved Subnet Calculations Enhanced subnet validation and calculation logic, reducing configuration errors and ensuring consistent network segmentation across deployments.
Upgrade & Update Process HCC and IRIS Managed Services Improvements Streamlined and hardened upgrade/update workflows for Health Connect Cloud and IRIS Managed Services, improving reliability and automation accuracy.
DNS Fixes DNS Alias Bug Fix Fixed an issue where DNS aliasing failed to apply or propagate correctly in specific configurations.
Web Server Max Payload Increased to 200 MB Maximum allowed payload size increased from 10 MB to 200 MB, supporting larger uploads and more complex API interactions.
Developer Tools InterSystems Data Studio default version 1.1.1 New deployments now use InterSystems Data Studio with Supply Chain module 1.1.1 by default.
API Documentation Swagger Documentation for Metrics API Full Swagger/OpenAPI documentation now available for the Metrics API, improving clarity and developer experience for integrating monitoring data.

Recommended Actions

  • Review and, if desired, adopt DNS Mapping to simplify environment-specific hostname management.
  • Update automation scripts or clients to account for the increased Web Server payload size.
  • Consult the Metrics API Swagger documentation to enhance your monitoring integrations.

Support

For more information or assistance with this release, please contact InterSystems Cloud Services Support via iService or through the Cloud Service Portal.

ディスカッション (0)1
続けるにはログインするか新規登録を行ってください
InterSystems公式
· 2025年12月1日

Release Notes: InterSystems Cloud Services – Version 25.20.1 (September 2025)

Overview

Version 25.20.1 delivers important security updates, improved documentation resources, expanded customization options for IRIS, and enhancements across Data Studio, Advanced Security, and Health Connect Cloud.


New Features and Enhancements

 

Category

Feature / Improvement

Details

Security

Security Patches

Latest security patches applied across all services, strengthening platform resilience and ensuring compliance with current security standards.

Data & Analytics

Data Studio with Supply Chain Module 1.1.0

Default InterSystems Data Studio Supply Chain module updated to 1.1.0, improving performance and analytical capability.

Documentation & UX

New Instructional Videos on the Portal

Embedded instructional videos added to the Cloud Services Portal to improve onboarding, configuration guidance, and overall UX.

IRIS Customization

Custom Packages Support

Customers can now install third-party packages through the Custom Packages feature, enabling deeper IRIS customization.

Advanced Security

Support for URL-Based Rules

Advanced Security now supports defining access rules using URL patterns for more granular, application-aware control.

Health Connect Cloud

Upgraded Base Version to 2025.1.1.308.0

HCC deployments now run on version 2025.1.1.308.0, bringing stability improvements, security updates, and enhanced interoperability.


Recommended Actions

  • Explore the new instructional videos to speed onboarding and clarify operational workflows.
  • Review URL-based Advanced Security rule options to enhance application-layer protections.

Support

For more information or assistance with this release, please contact InterSystems Cloud Services Support via iService or through the Cloud Service Portal.

ディスカッション (0)1
続けるにはログインするか新規登録を行ってください
InterSystems公式
· 2025年12月1日

Release Notes: InterSystems Cloud Services – Version 25.19.2 (August 2025)

Overview

This release focuses on performance optimization, improved security synchronization, and enhanced network management. The FHIR Server has been upgraded to a new version and migrated to ARM64, delivering significantly better efficiency and throughput. Additionally, several improvements enhance resiliency, subscription management, and network visibility.


New Features and Enhancements

Category

Feature / Improvement

Details

FHIR Server

ARM64 Migration with 40% Performance Gain

FHIR Server now runs on the ARM64 architecture, delivering up to 40% better performance and improved energy efficiency.

 

New FHIR Server Release

Includes the latest FHIR Server version, improving interoperability, scalability, and compatibility with modern FHIR workloads.

Database Resiliency

Mirror Configuration Enhancements

Refined mirror configuration ensures more reliable synchronization and faster recovery in failover scenarios.

Networking

Advanced Security TGW Route Alignment

Automatically adds the correct routes from the Advanced Security Transit Gateway endpoints to VPC endpoints, improving traffic flow and reducing configuration errors.

 

CIDR Conflict Detection in Network Connect

Network Connect now provides clear visual indicators when conflicting CIDR ranges are detected, simplifying troubleshooting and network design.

Security

Synchronization Between Advanced Security and Security Groups

Enhanced synchronization logic ensures Security Group configurations stay aligned with Advanced Security policies in real time.

Subscription Management

Improved Subscription Controls

Greater accuracy and consistency in tracking and enforcing subscription parameters for customer environments.

 


Recommended Actions

  • Review network CIDRs for any conflicts highlighted in Network Connect.
  • Evaluate FHIR Server performance improvements and ensure client integrations are aligned with the new release.

Support

For more information or assistance with this release, please contact InterSystems Cloud Services Support via iService or through the Cloud Service Portal.

ディスカッション (0)1
続けるにはログインするか新規登録を行ってください
記事
· 2025年12月1日 6m read

Vector Search with Embedded Python in InterSystems IRIS

One objective of vectorization is to render unstructured text more machine-usable. Vector embeddings accomplish this by encoding the semantics of text as high-dimensional numeric vectors, which can be employed by advanced search algorithms (normally an approximate nearest neighbor algorithm like Hierarchical Navigable Small World). This not only improves our ability to interact with unstructured text programmatically but makes it searchable by context and by meaning beyond what is captured literally by keyword.

In this article I will walk through a simple vector search implementation that Kwabena Ayim-Aboagye and I fleshed out using embedded python in InterSystems IRIS for Health. I'll also dive a bit into how to use embedded python and dynamic SQL generally, and how to take advantage of vector search features offered natively through IRIS.

Environment Details:

  • OS: Windows Server 2025
  • InterSystems IRIS for Health 2025.1
  • VS Code / InterSystems Server Manager
  • Python 3.13.7
  • Python Libraries: pandas, ollama, iris**
  • Ollama 0.12.3 and model all-minilm
  • Dynamic SQL
  • Sample database of unstructured text (classic poems)

Process:

      0. Setup the environment; complete installs

  1. Define an auxiliary table

  2. Define a RegisteredObject class for our vectorization methods, which will be written in embedded python. First let's focus on a VectorizeTable() method, which will contain a driver function (of the same name) and a few supporting process functions all written in Python.

    • The driver function walks through the process as follows:
      1. Load from IRIS into a Pandas Dataframe (via supporting function load_table())
      2. Generate an embedding column (via supporting class method GetEmbeddingString, which will later be used to generate embeddings for queries as well)
        • Convert the embedding column to a string that's compatible with IRIS vector type
      3. Write the dataframe into the auxiliary able
      4. Create an HNSW index on the auxiliary table
    • The VectorizeTable() class method then simply calls the driver function:
    • Let's examine it step-by-step:
    1. Load the table from IRIS into a Pandas Dataframe

      • def load_table(sample_size='*') -> pd.DataFrame:
            sql = f"SELECT * FROM SQLUser.SamplePoetry{f' LIMIT {sample_size}' if sample_size != '*' else ''}"
            result_set = iris.sql.exec(sql)
            df = result_set.dataframe()
        
            # Entries without text will not be vectorized nor searchable
            for index, row in df.iterrows():
                if row['poem'] == ' ' or row['poem'] is None:
                    df = df.drop(index)
        
            return df
      • This function leverages the dataframe() method of the embedded python SQLResultSet objects
      • load_table() accepts an optional sample_size argument for testing purposes. There's also a filter for entries without unstructured text. Though our sample database is curated and complete, some use cases may seek to vectorize datasets for which one cannot assume each row will have data for all columns (for example survey responses with skipped questions). As opposed to implementing a "null" or empty vector, we chose to exclude such rows from vector search by removing them at this step in the process.
      • *Note that iris is the InterSystems IRIS Python Module. It functions as an API to access IRIS classes, methods, and to interact with the database, etc.
      • *Note that SQLUser is the system-wide default schema which corresponds to the default package User.
    2. Generate an embedding column (support method)

      • ClassMethod GetEmbeddingString(aurg As %String) As %String [ Language = python ]
        {
          import iris
          import ollama
        
          response = ollama.embed(model='all-minilm',input=[ aurg ])
          embedding_str = str(response.embeddings[0])
        
          return embedding_str
        }
      • We installed Ollama on our VM, loaded the all-minilm embedding model, and generated embeddings using Ollama’s Python library. This allowed us to run the model locally and generate embeddings without an API key.
      • GetEmbeddingString returns the embedding as a string because TO_VECTOR by default expects the data argument to be a string, more on that to follow.
      • *Note that Embedded Python provides syntax for calling other ObjectScript methods defined within the current class (similar to self in Python). The earlier example uses iris.cls(__name__) syntax to get a reference to the current ObjectScript class and invoke GetEmbeddingString (ObjectScript method) from VectorizeTable (Embedded Python method inside ObjectScript method).
    3. Write the embeddings from the dataframe into the table in IRIS

      • # Write dataframe into new table
        print("Loading data into table...")
        for index, row in df.iterrows():
            sql = iris.sql.prepare("INSERT INTO SQLUser.SamplePoetryVectors (ID, EMBEDDING) VALUES (?, TO_VECTOR(?, decimal))")
            rs = sql.execute(row['id'], row['embedding'])
        
        print("Data loaded into table.")
      • Here, we use Dynamic SQL to populate SamplePoetryVectors row-by-row. Because earlier we declared the EMBEDDING property to be of type %Library.Vector we must use TO_VECTOR to convert the embeddings to IRIS' native VECTOR datatype upon insertion. We ensured compatibility with TO_VECTOR by converting the embeddings to strings earlier.
        • The iris python module again allows us to take advantage of Dynamic SQL from within our Embedded Python function.
    4. Create a HNSW Index

      • # Create Index
        iris.sql.exec("CREATE INDEX HNSWIndex ON TABLE SQLUser.SamplePoetryVectors (EMBEDDING) AS HNSW(Distance='Cosine')")
        print("Index created.")
      • IRIS will natively implement a HNSW graph for use in vector search methods when an HNSW index is created on a compatible column. The vector search methods available through IRIS are VECTOR_DOT_PRODUCT and VECTOR_COSINE. Once the index is created, IRIS will automatically use it to optimize the corresponding vector search method when called in subsequent queries. The parameter defaults for an HNSW index are Distance = CosineM = 16, and efConstruction = 200.
      • Note that VECTOR_COSINE implicitly normalizes its input vectors, so we did not need to perform normalization before inserting them into the table in order for our vector search queries to be scored correctly!
  3. Implement a VectorSearch() class method

    •    

    1. Generate an embedding for the query string

      • # Generate embedding of search parameter
        search_vector = iris.cls(__name__).GetEmbeddingString(aurg)
      • Reusing the class method GetEmbeddingString
    2. Prepare and execute a query that utilizes VECTOR_COSINE

      • # Prepare and execute SQL statement
        stmt = iris.sql.prepare(
                """SELECT top 5 p.poem, p.title, p.author 
                FROM SQLUser.SamplePoetry AS p 
                JOIN SQLUser.SamplePoetryVectors AS v 
                ON p.ID = v.ID 
                ORDER BY VECTOR_COSINE(v.embedding, TO_VECTOR(?)) DESC"""
        )
        results = stmt.execute(search_vector)
      • We use a JOIN here to combine the poetry text with its corresponding vector embedding so we can rank results by semantic similarity.
    3. Output the results

      • results_df = pd.DataFrame(results)
        
        pd.set_option('display.max_colwidth', 25)
        results_df.rename(columns={0: 'Poem', 1: 'Title', 2: 'Author'}, inplace=True)
        
        print(results_df)
      • Utilizes formatting options from pandas to tweak how it appears in the IRIS Terminal:
        •  
ディスカッション (0)1
続けるにはログインするか新規登録を行ってください