查找

公告
· 45 分钟 前

Encuentro en línea con los ganadores del concurso de herramientas para desarrolladores de InterSystems 2025

Hola comunidad,

En pocos días tendremos un encuentro en línea con los ganadores del Concurso de Herramientas para Desarrolladores de InterSystems. Es una excelente oportunidad para charlar con el equipo de expertos de InterSystems y con nuestros concursantes.

¡Incluye demostración de los ganadores!

Fecha y hora: Viernes, 8 de agosto, 11:30 a. m. EDT | 5:30 p. m. CEST

Únete a nosotros para conocer más sobre las aplicaciones de los ganadores y conversar con nuestros expertos.

➡️ REGÍSTRATE HOY

¡Nos vemos en nuestro encuentro virtual!

讨论 (0)1
登录或注册以继续
文章
· 1 hr 前 阅读大约需 4 分钟

Windows 版 IRIS/IRIS for Health 2025.1以降で Embedded Python を利用するための手順

開発者の皆さん、こんにちは!

Windows 版 IRIS/IRIS for Health 2025.1 以降で Embedded Python をご利用いただく場合、Windows に Python のインストールが必要になりました。

以前のバージョンから Embedded Python をご利用いただいている場合は、新しいバージョンにアップグレードした後、Python のインストールと IRIS 側に必要な設定がありますのでご注意ください。

※ 2024.1 以前のバージョンでは、IRIS インストールと同時にインストールされる Python ご利用いただく必要があったため、Windows への Python インストールは不要でした。

補足:フレキシブル Python ランタイム機能の導入により、OS にインストールされた Python のバージョンを IRIS 側で指定できるようになりました。

詳細はドキュメントもご参照ください:フレキシブル Python ランタイム機能の概要

 

Embedded Python 利用までの手順は以下の通りです。

1) サポートする Python のバージョンを確認

サポートしている Python のバージョンを確認します。(Windows は、Python 3.9以降)

https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=ISP_technologies#ISP_other

※ IRIS 2025.1では、Python 3.13 との間の既知の問題がありますので、Python 3.13 を避けていただくことをお勧めしております。(2025.2 以降では対応しています)

 

2) Python のインストール

Windows に Python がインストールされていない場合は、インストールします。「Add python.exe to PATH」にチェックを入れると便利です。

(2025/8/7時点で、IRIS コミュニティエディションは、バージョン 2025.2 のダウンロードが行えますので、Python 3.13 のインストールキットの例でご紹介しています)

 

3) Python のインストールディレクトリを確認

コマンドプロンプトを開き、where python を実行すると python.exe の場所が戻ります。

C:\Users\Administrator>where python
C:\Users\Administrator\AppData\Local\Programs\Python\Python313\python.exe

この後、IRIS 側の設定で python.dll のある場所をフルパスで指定する必要があります。ここで確認したディレクトリ配下に python.dll があります。

例)C:\Users\Administrator\AppData\Local\Programs\Python\Python313\python.dll

 

4) IRIS のインストール

IRIS をインストールします。インストール時に指定する初期セキュリティにより、インストール後の手続きが変わります。

IRISの場合、「Minimal」「Normal」「Locked Down」の選択ができます。

下図のように、「Minimal(最小)」を選択された場合は、特に設定は必要ありませんので 5) Python用設定の追加 に進んでください。

 

下図のように「Normal(通常)」を選択されている場合は、認証/ウェブセッションオプションから「OS認証を許可」にチェックし、%Service_CallIn サービスを有効にします。

 

認証/ウェブセッションオプションで「OS認証を許可」にチェックを入れる方法は以下の通りです。

管理ポータル > システム管理 > セキュリティ > システム・セキュリティ > ワイドセキュリティ > 認証/ウェブセッションオプション に移動し、「OS認証を許可」にチェックを入れ、保存ボタンをクリックします。

 

サービス:%Service_CallIn を有効化する方法は以下の通りです。

管理ポータル > システム管理 > セキュリティ > サービス > %Service_CallIn をクリックし「有効」にチェックを入れ「オペレーションシステム(オペレーティングシステム)」にチェックが入っていることを確認し「保存」ボタンをクリックします(未チェックの場合はチェックして保存してください)。

ここで、ターミナルを起動しユーザ名、パスワードの入力がない状態でもログインできることを確認できれば設定OKです。

 

5) Python用設定の追加

使用する Python ランタイムのバージョンと、ディレクトリを管理ポータルで設定します。

管理ポータル > システム管理 > 構成 > 追加の設定 > メモリ詳細 > 対処の設定項目の「編集」をクリック

設定項目:PythonRuntimeLibrary

設定項目:PyhtonRuntimeLibraryVersion

どちらも保存ボタンをクリックして設定を保存します。

ターミナルを新たに起動し、:p と入力して Python シェルに切り替われば設定成功です。

USER>:p
 
Python 3.13.6 (tags/v3.13.6:4e66535, Aug  6 2025, 14:36:00) [MSC v.1944 64 bit (AMD64)] on win32
Type quit() or Ctrl-D to exit this shell.
>>> quit()
 
USER>

 

6) Python パッケージのインストール

必要な Python パッケージを、python -m pip または pip(または pip3) を利用してインストールします(irispip は 2024.2以降インストールされません)。

讨论 (0)1
登录或注册以继续
摘要
· 3 hr 前

开发者社区重要公告:InterSystems IRIS 2025.2 引入 IRISSECURITY

InterSystems IRIS 2025.2 引入了 IRISSECURITY 数据库,用于存储安全数据。 与之前用于存储安全数据的数据库 IRISSYS 不同,IRISSECURITY 支持加密,可以保护静态敏感数据。 在今后的版本中,IRISSECURITY 将可实现镜像。

此版本还引入了可以执行常规安全管理任务的 %SecurityAdministrator 角色。

本文中介绍的更改将影响持续交付 (CD) 和扩展维护 (EM) 版本通道。 也就是说,从版本 2025.2(CD,于 2025 年 7 月 23 日发布)和 2026.1 (EM) 开始,InterSystems IRIS 将包含 IRISSECURITY 数据库,并且在升级时,所有安全数据会自动从 IRISSYS 迁移到 IRISSECURITY。

虽然 InterSystems IRIS 2025.2 预计于 2025 年 7 月 23 日发布,但我们暂缓了 InterSystems IRIS for Health 和 HealthShare Health Connect 2025.2 的公开发布,原因是我们正在着手完成针对已知镜像问题的修复计划,该问题会影响 OAuth 配置数据。

升级须知

IRISSECURITY 对用户与安全数据的交互方式做出了多处可能导致功能中断的更改:

  • 用户无法再直接访问安全global,而必须使用各种安全类提供的 API。
  • OAuth2  Global无法再映射到其他数据库。
  • 用户无法再随意查询安全表,即使在 SQL 安全已禁用的情况下也是如此。
  • 系统数据库现在使用的预定义资源无法更改。 在 Unix 上,如果为之前版本的系统数据库创建并指定了新资源,在升级时,该新资源将被预定义资源替代(但如果有任何角色引用了非默认资源,则必须手动将其更改为使用默认资源,以保持数据库访问权限)。 在 Windows 上,必须将资源更改回默认资源。 如果您尝试在 Windows 上升级,而数据库具有非默认资源,升级将停止(实例不会修改),并会显示错误消息“Database must have a resource label of…”

以下各部分将详细介绍这些更改,以及在您依赖原始行为的情况下应采取的替代措施,但总体而言,在您进行升级之前,应当验证并测试您的应用程序和宏:

  • 使用提供的安全 API 管理安全功能(而非直接访问global)。
  • 拥有使用这些 API 所必需的权限(%DB_IRISSYS:RAdmin_Secure:U)。

Global 访问

之前,当安全global存储在 IRISSYS 数据库中时,用户可以通过以下权限访问安全数据:

  • %DB_IRISSYS:R:直接读取和通过安全 API 读取安全global。
  • %DB_IRISSYS:RW:读取和写入安全global。
  • %DB_IRISSYS:RWAdmin_Secure:U:通过安全 API 管理安全功能。

在 InterSystems IRIS 2025.2 中:

  • 用户无法再直接访问安全global。
  • %DB_IRISSYS:R%Admin_Secure:U 这两个权限是访问安全数据(通过提供的安全 API)以及通过各种安全类管理安全功能所需的最低权限。
  • 对于常规安全管理,您可以使用新的 %SecurityAdministrator 角色。
  • 已移除对安全数据的只读访问权限(之前可以通过 %DB_IRISSYS:R 实现)。

Global 存储位置

在 InterSystems IRIS 2025.2 中,以下安全global已从 IRISSYS 迁移到 IRISSECURITY 中的 ^SECURITY

  • ^SYS("SECURITY")
  • ^OAuth2.*
  • ^PKI.*
  • ^SYS.TokenAuthD

下表列出了已迁移的最关键的global及其安全类、原存储位置和新存储位置:

安全类 原存储位置 (IRISSYS) 新存储位置 (IRISSECURITY)
不适用 ^SYS("Security","Version") ^SECURITY("Version")
Security.Applications ^SYS("Security","ApplicationsD") ^SECURITY("ApplicationsD")
Security.DocDBs ^SYS("Security","DocDBsD") ^SECURITY("DocDBsD")
Security.Events ^SYS("Security","EventsD") ^SECURITY("EventsD")
Security.LDAPConfigs ^SYS("Security","LDAPConfigsD") ^SECURITY("LDAPConfigsD")
Security.KMIPServers ^SYS("Security","KMIPServerD") ^SECURITY("KMIPServerD")
Security.Resources ^SYS("Security","ResourcesD") ^SECURITY("ResourcesD")
Security.Roles ^SYS("Security","RolesD") ^SECURITY("RolesD")
Security.Services ^SYS("Security","ServicesD") ^SECURITY("ServicesD")
Security.SSLConfigs ^SYS("Security","SSLConfigsD") ^SECURITY("SSLConfigsD")
Security.System ^SYS("Security","SystemD") ^SECURITY("SystemD")
Security.Users ^SYS("Security","UsersD") ^SECURITY("UsersD")
%SYS.PhoneProviders ^SYS("Security","PhoneProvidersD") ^SECURITY("PhoneProvidersD ")
%SYS.X509Credentials ^SYS("Security","X509CredentialsD") ^SECURITY("X509CredentialsD ")
%SYS.OpenAIM.IdentityServices ^SYS("Security","OpenAIMIdentityServersD") ^SECURITY("OpenAIMIdentityServersD")
OAuth2.AccessToken ^OAuth2. AccessTokenD ^SECURITY("OAuth2.AccessToken ")
OAuth2.Client ^OAuth2.ClientD ^SECURITY("OAuth2.Client")
OAuth2.ServerDefinition ^OAuth2.ServerDefinitionD ^SECURITY("OAuth2.ServerDefinitionD")
OAuth2.Client.MetaData ^OAuth2.Client.MetaDataD ^SECURITY("OAuth2.Client.MetaDataD")
OAuth2.Server.AccessToken ^OAuth2.Server.AccessTokenD ^SECURITY("OAuth2.Server.AccessTokenD")
OAuth2.Server.Client ^OAuth2.Server.ClientD ^SECURITY("OAuth2.Server.ClientD")
OAuth2.Server.Configuration ^OAuth2.Server.ConfigurationD ^SECURITY("OAuth2.Server.ConfigurationD")
OAuth2.Server.JWTid ^OAuth2.Server.JWTidD ^SECURITY("OAuth2.Server.JWTidD")
OAuth2.Server.Metadata ^OAuth2.Server.MetadataD ^SECURITY("OAuth2.Server.MetadataD")
PKI.CAClient ^PKI.CAClientD ^SECURITY("PKI.CAClient")
PKI.CAServer ^PKI.CAServerD ^SECURITY("PKI.CAServer")
PKI.Certificate ^PKI.CertificateD ^SECURITY("PKI.Certificate")
%SYS.TokenAuth ^SYS.TokenAuthD ^SECURITY("TokenAuthD")

OAuth2 Global 映射

之前,可以将 OAuth2 Global映射到其他数据库,从而可以镜像 OAuth2 配置。

在 InterSystems IRIS 2025.2 中,无法再映射 OAuth2 global,且不能镜像 IRISSECURITY。 如果您过去依赖此行为进行镜像,可以使用以下任何替代方法:

  • 手动对主节点和故障转移节点进行更改。
  • 从主节点导出设置,然后将其导入到故障转移节点(需要 % ALL 权限)。

导出 OAuth2 配置数据:

set items = $name(^|"^^:ds:IRISSECURITY"|SECURITY("OAuth2"))_".gbl"
set filename = "/home/oauth2data.gbl"
do $SYSTEM.OBJ.Export(items,filename)

导入 OAuth2 配置数据:

do $SYSTEM.OBJ.Import(filename)

SQL 安全

之前,SQL 安全由 CPF 参数 DBMSSecurity 控制。 当 DBMSSecurity 禁用时,拥有 SQL 权限的用户可以随意查询数据库中的所有表。

在 InterSystems IRIS 2025.2 中:

  • DBMSSecurity CPF 参数已被替换为系统范围的 SQL 安全属性。 可以通过多种方式对此进行设置:
    • 管理门户:System Administration > Security > System Security > System-wide Security Parameters > Enable SQL security(系统管理 > 安全 > 系统安全 > 系统范围的安全参数 > 启用 SQL 安全)
    • SetOption##class(%SYSTEM.SQL.Util).SetOption("SQLSecurity", "1")
    • Security.System.Modify: ##Class(Security.System).Modify(,.properties),其中,properties 为 properties("SQLSecurity")=1
  • 安全表(security table)现只能通过 Detail 和 List API 进行查询,即使在 SQL 安全处于禁用状态的情况下,也需要同时具有 %DB_IRISSYS:R%Admin_Secure:U 权限才能进行查询。

例如,要获取角色列表,无法再直接查询 Security.Roles 表, 而应使用 Security.Roles_List() 查询:

SELECT Name, Description FROM Security.Roles_List()

加密 IRISSECURITY

要加密 IRISSECURITY,请按以下步骤操作:

  1. 创建新的加密密钥。 转到 System Administration > Encryption > Create New Encryption Key File(系统管理 > 加密 > 创建新的加密密钥文件),并指定以下设置:
    • Key File(密钥文件)– 加密密钥的名称。
    • Administrator Name(管理员名称)– 管理员的名称。
    • Password(密码)– 密钥文件的密码。
  2. 激活加密密钥。 转到 System Administration > Encryption > Database Encryption(系统管理 > 加密 > 数据库加密),并选择 Activate Key(激活密钥),指定第 1 步中的 Key File(密钥文件)、Administrator Name(管理员名称)和 Password(密码)。
  3. 转到 System Administration > Encryption > Database Encryption(系统管理 > 加密 > 数据库加密),并选择 Configure Startup Settings(配置启动设置)。
  4. Key Activation at Startup(启动时的密钥激活)下拉菜单中选择一种密钥激活方法。 InterSystems 强烈建议选择 Interactive(交互式)密钥激活。
  5. Encrypt IRISSECURITY Database(加密 IRISSECURITY 数据库)下拉列表中,选择 Yes(是)。
  6. 重新启动系统,以加密 IRISSECURITY。

百分比类(那些类名以%开头的类,可以在任何命名空间访问)访问规则

之前版本的 InterSystems IRIS 中,管理 Web 应用程序对附加百分比类的访问权限的过程涉及到对安全global进行写入操作。 在 InterSystems IRIS 2025.2 中,可以通过管理门户或 ^SECURITY 例程完成此过程。

管理门户(Management Portal)

通过管理门户创建百分比类访问规则:

  1. 转到 System Administration > Security > Web Applications(系统管理 > 安全 > Web 应用程序)。
  2. 选择您的 Web 应用程序。
  3. Percent Class Access(百分比类访问)选项卡中设置以下选项:
    • Type(类型):控制该规则是仅适用于应用程序对指定百分比类的访问 (AllowClass),还是适用于包含指定前缀的所有类 (AllowPrefix)。
    • Class name(类名称):允许应用程序访问的百分比类或前缀。
    • Allow access(允许访问):是否允许应用程序访问指定的百分比类或软件包。
    • Add this same access to ALL applications(为所有应用程序添加相同的访问权限):是否为所有应用程序应用此规则。

^SECURITY

通过 ^SECURITY 例程创建类访问规则:

  1. 在 %SYS 命名空间中,运行 ^SECURITY 例程:
    DO ^SECURITY
  2. 选择选项 5, 1, 8, 和 1,以输入类访问规则提示。
  3. 按照提示指定以下内容:
    • Application?(应用程序?)– 应用程序名称。
    • Allow type?(允许类型?)– 该规则是适用于应用程序访问特定类 (AllowClass) 还是访问包含指定前缀的所有类 (AllowPrefix)。
    • Class or package name?(类或软件包名称?)– 允许应用程序访问的类或前缀。
    • Allow access?(允许访问?)– 是否允许应用程序访问指定类或软件包。
问题
· 13 hr 前

Trying to extract the narrative text from large CCDA files using EnsLib.EDI.XML.Document:GetValueAt method

Trying to extract the narrative text from large CCDA files using EnsLib.EDI.XML.Document:GetValueAt method

Getting a MAXSTRING error from the GetValueAt method.. Tried alternate by using GetSubDocumentAt and put it to string. Still it is giving a Invalid OREF method. Is there any limitation on these OOB methods. Also looking for ideas to extract it

1 条新评论
讨论 (1)2
登录或注册以继续
公告
· 15 hr 前

InterSystems at MIT Hacking Medicine 2025, Brazil

The InterSystems team is heading to MIT Hacking Medicine in Brazil for the first time, taking place September 5–7, 2025!

Hosted by Einstein Hospital’s innovation hub Eretz.bio, this marks the first-ever edition of the world-renowned MIT healthcare hackathon in Brazil — bringing together experts and students from health, tech, business, and design to develop real-world solutions with lasting impact.

Register to participate here: 🔗 www.eretz.bio/mit-einstei

   

📍 Location: Albert Einstein Teaching and Research Center – Morumbi, São Paulo, Brazil
📅 Dates: September 5, 6, and 7, 2025
🎯 Free participation – applications open until August 17

讨论 (0)1
登录或注册以继续
  •  
  • 当前 1,最大 1000
  • ››