開発者の皆さん、こんにちは!
InterSystems Developer Tool コンテスト の勝者が発表されましたのでお知らせします!
今回のコンテストには、17 の素晴らしいアプリケーション 🔥🔥が投稿されました。
ご応募いただきました参加者の皆さん、素敵な作品をありがとうございました!
%20(2)(1).jpg)
それでは受賞者を発表します!
開発者の皆さん、こんにちは!
InterSystems Developer Tool コンテスト の勝者が発表されましたのでお知らせします!
今回のコンテストには、17 の素晴らしいアプリケーション 🔥🔥が投稿されました。
ご応募いただきました参加者の皆さん、素敵な作品をありがとうございました!
%20(2)(1).jpg)
それでは受賞者を発表します!
前回、macOS上でLibreOfficeからODBC経由でアクセスするためのセットアップについて記事を書きました。
今回 .Net経由でODBCにアクセスする方法を試したので報告します。
LibreOfficeの場合、iODBCでしたが、.Netの場合は、unixODBCを使用します。
従来のバージョンでは、IRISのunixODBCドライバーはUnicode対応(ワイド)でなかったため、.NetのODBCでは日本語を正しく処理できませんでしたが、2025.2よりワイドドライバーが追加されたため正しく処理できるようになりました。
今回.Net経由のアクセスを試した理由は、ODBC版Cache DirectエミュレータをMacで動かせないかと考えたからです。
こちらのリポジトリにも設定方法の詳細を記載していますが、Mac上でunixODBCドライバーを設定する方法を紹介します。
unixODBCのUnicode(ワイド)版のドライバーが必要なため、IRIS 2025.2以降のバージョンが必要です。
Homebrewを使用してインストールします。
これは InterSystems FAQ サイトの記事です。
Webゲートウェイ管理ページで、サーバ毎の最大接続数を設定したり、最大接続に達した場合に待ち時間(キュー)や静的なビジーページを設定することが可能です。
実際にサーバに接続する最大接続数を設定すると、それに達した場合に待ち時間(キュー)で設定した秒数待って、それを過ぎても接続数に空きが出なかった場合に、静的なビジーページに移行するような設定が可能となります。
設定箇所は以下になります。
※Webゲートウェイ管理ページ:
例(URLは環境・バージョンによって変わります):
http://<webserver>/<instancename>/csp/bin/Systems/Module.cxw
サーバ単位の個別の設定がない場合は、こちらの設定が適用されます。
構成 > デフォルトパラメータ:
最大接続:各サーバの合計接続数の最大数(既定:1024)。
これは InterSystems FAQ サイトの記事です。
アプリケーション保全のために、データベースのジャーナルは必ず有効にしておく必要がありますが、何らかの理由でジャーナルを無効にしなければならない場合があるかと思います。
ディスク容量の縮小や、データ更新時のシステム負荷の削減など理由は様々です。
ここで注意していただきたいのは、データベースのジャーナルを無効にした場合にどのような影響がでてくるのか、ということです。
こちらのトピックでは、「データベースのジャーナルを無効にした場合の影響について」ご説明します。
ジャーナルを無効にする方法は、以下の2種類があります。
1. システム全体で無効にする方法(こちらを行う場合は【慎重】に!)
Set $namespace="%SYS"
Do ^JOURNAL > 2) Stop Journaling (^JRNSTOP)2. プロセス単位で無効にする方法 ※ご参考
do DISABLE^%SYS.NOJRN // ジャーナリングを停止
do ENABLE^%SYS.NOJRN // ジャーナリングを開始※ミラーリング対象のデータベースは、ジャーナルを無効にすることはできません。
ジャーナルを無効にした場合、以下のことができなくなります。
インターシステムズは InterSystems IRIS® data platform のバージョン 2025.2 をリリースしました。2025.2 は Continuous Delivery(CD)リリースです。InterSystems IRIS for Health™ および HealthShare®、Health Connect™ のバージョン 2025.2 はセキュリティ・アップデートによるミラーリングの制限のため、現在提供されていません (詳細は後述)。
このリリースでは、セキュリティ、開発者エクスペリエンス、運用および相互運用性にわたってインパクトのある機能強化が導入されています。注目すべき新機能は以下のとおりです:
1. 新しい IRISSECURITY データベースによるセキュリティ強化
o セキュリティー・データは新しい IRISSECURITY データベースに移されました。このデータベースは暗号化することができます。
o 新しいロール %SecurityAdministrator は、一元管理をサポートします。
o セキュリティ関連のグローバルとテーブルへの直接アクセスは非推奨です。代わりに提供されている API を適切なパーミッションで使用してください。
いつもお世話になっております。
連続3回シリーズでお届けしている開発者向けウェビナー、最終回のテーマは「RAG+生成AIであそぼう!」です。
以下の日時で開催いたしますので、是非ご参加ください。
日時:9月9日(火)13時半~14時10分(40分間)
参加費無料・事前登録制
【概要】
生成AIにサンプルコードを依頼した時「よく見るとおかしいかも?」という経験をされた方も多いのではないでしょうか。また生成AIとのやりとりで、最初の質問には納得のいく答えが得られず「もっと良い回答をもらうにはどうすればいいか」と考えて質問を言い換えたり、前提情報を追加したりした経験もあるはずです。これは、AIに渡す情報の「質」と「量」が、出力結果の精度に直結することを示しています。 このような課題に対して有効なのが、RAG(検索拡張生成:Retrieval-Augmented Generation)というアプローチで、信頼できる情報源を AI に組み合わせることで、より正確で実用的な回答を得ることができるようになります。 本ウェビナーでは、RAGとは何か、その仕組みと利点、どのような場面で効果を発揮するのかを、開発者目線でわかりやすく解説します。
これは InterSystems FAQ サイトの記事です。
JDBCクライアントからのアクセスでエラーが発生した場合、返ってきたエラーメッセージやコンソールログ上の情報だけでは原因がよくわからない場合があります。
そのような場合にJDBCドライバのクライアントログを取得することで、エラーについての詳細情報を取得することができます。
JDBCログの取得方法については以下をご参照ください。
ログを指定する際に、ディレクトリ名を含まずに直接ファイル名を指定した場合、そのアプリケーションのディレクトリにその指定したファイル名でログが出力されます。
ODBCログの様にPID毎に取得する方法は用意されていません。
JDBCログが正常に取得できている場合、以下の様な内容が書き込まれます。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Started At: 2025/03/27 11:52:16
Driver Name: com.intersystems.jdbc.IRISDriver
Jar File Name: intersystems-jdbc-3.9.0.jar
Client Version: 3.9.0.これは InterSystems FAQ サイトの記事です。
ODBCクライアントからのアクセスでエラーが発生した場合、返ってきたエラーメッセージやコンソールログ上の情報だけでは原因がよくわからない場合があります。
そのような場合にODBCドライバのクライアントログを有効にすることで、エラーについての詳細情報を取得することができます。
ODBCログの有効化については以下をご参照ください。
UNIX系のシステムの場合、上記に記載されている通り、2種類のログが取得できます。
export IRISODBCTRACE=1
export IRISODBCTRACEFILE=/Users/user1/work/odbcclient.log
[ODBC Data Sources]
IRIS ODBC User = IRIS iODBC Driver
[IRIS ODBC User]
Driver = /opt/iris/bin/libirisodbc35.これは InterSystems FAQ サイトの記事です。
ダイナミックオブジェクトの%FromJSONFileメソッドを利用すると簡単にJSON形式のファイルの内容をダイナミックオブジェクトにコピーすることができます。
以下の形式のJSONファイルをそのメソッドを使用して取り込む例は以下のようになります。
{
"ShipTo": {
"City": "Tokyo",
"Street": "Ginza",
"PostalCode": "160-0001"
},
"CustomerId": 1,
"Items": [
{
"ProductId": "MNT001",
"Amount": 2
},
{
"ProductId": "PC001",
"Amount": 2
}
]
} set tempobj = {}.%FromJSONFile("c:¥temp¥sample.json")
set customerid = tempobj.これは InterSystems FAQ サイトの記事です。
ODBCクライアントからのアクセスでエラーが発生した場合、返ってきたエラーメッセージやコンソールログ上の情報だけでは原因がよくわからない場合があります。
そのような場合にODBCドライバのクライアントログを有効にすることで、エラーについての詳細情報を取得することができます
ODBCログの有効化については以下をご参照ください。
Windowsの場合は、上記に記載されている通り、2種類のログが取得できます。
変更の反映にはODBCクライアントアプリケーションを再起動する必要があります。
既定のODBCクライアントログファイル名は IRISODBC.log で、既定の場所は C:¥Users¥Public¥Logs です。
既定のトレースログ名は、SQL.logで、既定の場所は、c:¥Users¥<ユーザー名>AppData¥Local¥Temp¥です。
これは InterSystems FAQ サイトの記事です。
「Maximum/Minimum_Server_Connections」の設定で、ApacheのMPM(Multi Processing Module)設定が、prefork になっている場合、Apache ワーカープロセスあたり2つ以上の IRIS/Caché コネクションを設定しても意味がないために、設定自体出来なくなっております。
※ preforkでは1つのプロセスが1つのスレッドを持ちます。
preforkの詳細は以下をご参照ください
インターシステムズは、InterSystems IRIS®データプラットフォーム、InterSystems IRIS® for HealthTM、HealthShare® Health Connect のメンテナンスバージョン 2025.1.1 をリリースしました。製品の品質改善のために、開発者コミュニティを通じてぜひご意見をお聞かせください。
詳細な変更リストとアップグレードチェックリストはこちらのドキュメントをご参照ください(すべて英語です):
多くの 早期アクセスプログラムをご用意しております。こちらの ページ からご興味のあるプログラムにお申込みいただけます。
InterSystems IRIS と InterSystems IRIS for Health の通常インストーラパッケージ形式のキットは WRC Direct の IRIS ダウンロードページ から、HealthShare Health Connect のキットは HealthShare ダウンロードページ からそれぞれ入手してください。
インターシステムズは、VS Code - ObjectScript 拡張機能のバージョン 3.0.5 をリリースしました。 本リリースには、多くのバグ修正 および 利用状況データ収集の変更が含まれています。より多くの製品使用データを収集することで、ユーザのみなさまにとって最も良い影響につながる修正と機能強化を特定し、優先順位をつけて実装することが可能となります。 個人を特定できる情報 (PII) が収集されることはありません。また、VS Code の telemetry.telemetryLevel 設定で利用状況データ収集を無効にすることも可能です。 収集されるデータの一覧は こちら をご覧ください。 ObjectScript 拡張機能をご利用いただきありがとうございます。フィードバックがございましたら、お気軽に 問題をご報告 ください。
これは InterSystems FAQ サイトの記事です。
「定期的にプロセスを監視し、あるイベントが発生したときにのみ処理を実行したい」ような場合に使用できる、便利な機能をご紹介します。
もちろん、Forループを行う常駐プロセスを作成してその中で Hang XX しながらIf文にてイベントを検知したり、タスクスケジュールでルーチンを定期実行してその中でIf文にてイベントを検知して処理することも可能です。
今回ご紹介する、%SYSTEM.Event クラスを使用することで、よりシンプルに処理を作成することが可能となります。
【こんな時に便利】
・テーブルやグローバルに、あるデータが全て格納されたら処理を行いたい
・あるエラーを検知したときにのみ、^SystemCheck情報を取得したい
・処理が必要なものがデータベースに入ったら順番に処理を行いたい(pythonだとQueueモジュールのような感じ)
【使用方法】
準備(任意のプロセス)
do $SYSTEM.Event.Create("test")
これで、testというイベントがシステムワイドで作成されます。
パターンA=単純な常駐プロセス
(1) 待機プロセス側
do $SYSTEM.Event.Wait("test")
このコマンドの瞬間、このプロセスは待ち状態になります。
(2) 起こす側
do $SYSTEM.Event.
.png)
InterSystems IRIS 2025.2 から、セキュリティデータが格納される IRISSECURITY データベースが導入されます。これまでセキュリティデータが格納されていた IRISSYS とは異なり、IRISSECURITY データベースは暗号化することが可能です。これにより機密データをより安全に保管することができるようになります。将来のバージョンでは、IRISSECURITYはミラーリングもサポートされる予定です。
このバージョンではあわせて、セキュリティ管理タスク用の %SecurityAdministrator ロールも導入されます。

こんにちは。
7月16日~18日に東京ビックサイトで開催された「国際モダンホスピタルショウ」のインターシステムズのブースにて様々なミニセッションを行いました。
その中で弊社製品の最新情報についてご紹介したミニセッションを”モダンホスピタルショウ「おさらいウェビナー」として、2回にわたり、お届けしています。
展示では伝えきれなかった技術や背景、導入効果などをご紹介します。第2回の本ウェビナーでは以下のトピックを取り上げます
日時:9月3日(水)午後1時30分~2時
テーマ:「~FHIR×OMOP CDMで広がる医療データの価値~InterSystems OMOPのご紹介」
参加費無料・事前登録制
ご登録はこちらから
第2回「~FHIR×OMOP CDMで広がる医療データの価値~InterSystems OMOPのご紹介」
【概要】
OMOP CDM(Observational Medical Outcomes Partnership Common Data Model)は、医療データの二次利用、特に臨床研究やリアルワールドエビデンスの創出において強力な基盤となる、国際的な標準データモデルです。OMOP CDMの概要をご紹介するとともに、FHIRからOMOP CDMへの変換を実現する「InterSystems OMOP」ソリューションについて、デモを交えてご紹介いたします。
こんにちは。
7月16日~18日に東京ビックサイトで開催された「国際モダンホスピタルショウ」のインターシステムズのブースにて様々な展示やミニセッションを行いました。その中で弊社製品の最新情報について”モダンホスピタルショウ「おさらいウェビナー」”と題して、2回にわたりお届けします。
第1回は8月6日(水) 「ホスピタルショウ注目技術をざっくり解説!インターシステムズの最新情報」と題し、展示では伝えきれなかった技術や背景、導入効果などをご紹介します。第一回の本ウェビナーでは以下のトピックを取り上げます。
【こんな方にお勧め】
医療機関でICTやデータ利活用を推進されているご担当者
地域連携・医療デバイスの統合に関心のある方
<お申し込みはこちら>
第1回 8月6日 「ホスピタルショウ注目技術をざっくり解説!インターシステムズの最新情報」
ホスピタルショウに来場された方、されなかった方、どちらも歓迎です!是非ご視聴くださいますよう、ご案内いたします。
これは InterSystems FAQ サイトの記事です。
IRISのプロセスを終了したい場合、管理ポータルから行う方法と、ターミナルからユーティリティやコマンドを使用して行う方法があります。
こちらのトピックでは、以下の3つの方法で停止する方法をご紹介します。
【プロセスの停止方法】 1.管理ポータルから停止する方法 2.ユーティリティーで停止する方法(RESJOB、JOBEXAM) 3.プログラムで停止する方法
【注意】
IRIS外から(Windowsならタスクマネージャーなど)、プロセスの終了は絶対に行わないでください。
IRIS外からプロセス終了してしまうと、IRIS内部ではプロセスの削除を検知できなかったりすることで、IRISの動作が不安定になったり、システム全体がハングする危険性がありますので、ご注意ください。
外部から停止の例外が一つだけあります。
$ZF コマンドによって起動された子プロセスが、何らかの問題で応答を返さなかった場合、$ZF コマンドを実行した親プロセスはそのまま残り続けます。
そのような親プロセスを終了したい場合、通常の上記1~3の方法では停止できません。
その際は、先に外部から子プロセスを停止する必要があります。子プロセスを特定するためには、以下の方法があります。
例:Windowsの場合 1. process explorer(マイクロソフト製) 2.
これは InterSystems FAQ サイトの記事です。
InterSystems 製品の Windows 版インストールキットでは、IIS に対して Web ゲートウェイをインストールするインストールキットの提供はありますが、Windows にインストールした Apache に対するインストールキットが提供されていないため、以下の手順で Web ゲートウェイを構成します。
3、Windows 版 Web ゲートウェイのインストール(※)
5、Apache を Windows サービスにインストールし開始する
(※)Windows 版 Web ゲートウェイのインストールキットは WRC よりダウンロードいただけます。
以下、手順詳細です。
インストール時、インスタンス名を IRISTEST、インストールディレクトリを c:\InterSystems\IRISTEST に設定した流れでの図解で解説しています。
例では、http://Webサーバ/インスタンス名/csp/sys/UtilHome.csp で管理ポータルへアクセスできるようにするための設定例で記載しています。
これは InterSystems FAQ サイトの記事です。
これらすべての操作は $ZCONVERT()関数を利用して操作できます。
詳しくは、ObjectScript CookBook に記載の説明をご参照ください。
開発者の皆さん、こんにちは!
開発者の方々の業務を効率化する有用なツールの開発を目的とした、InterSystems のオンラインプログラミングコンテストの開催が決定しました!📣
🏆 InterSystems Developer Tools コンテスト 🏆
期間:2025年7月14日~8月3日
賞金総額: $12,000
(1).jpg)
これは InterSystems FAQ サイトの記事です。
一般的に、500番台はサーバー側で発生したエラーを表していて、503番エラーはサーバーが何らかの理由で機能を停止していてクライアントの要求に回答できない場合に出現するエラーです。
外部サイトの説明:503エラー 【HTTP 503 Service Unavailable】
以下、InterSystems 製品の使用で発生する503エラーの考えられる原因について一覧します。
原因:ライセンスが割り当てられない場合に発生します(ライセンスが「同時接続ユーザ」での購入である場合、ユーザ数が制限を迎えたためライセンスが割り当てられずこのエラーが発生します)。
アプリケーションが「認証なし」アクセスを使用している場合、以下の原因により503エラーが発生します。
これは InterSystems FAQ サイトの記事です。
各InterSystems製品のサポートOS情報は、製品ドキュメントの「サポートプラットフォーム」情報で確認できます。
製品ドキュメントは、弊社ホームページ > サポート > ドキュメント よりご確認いただけます。
確認したい製品バージョンのドキュメント(例えば、InterSystems IRIS Version 2025.1)を開いていただき、「サポート対象プラットフォーム」リンクからご確認いただけます。
↓↓↓
※Cache & Ensemble の場合は(例えば、Cache & Ensemble Version 2018.1)、ドキュメント上部の Supported Platforms リンク
※過去のバージョンは、
IRIS:
InterSystems IRIS 過去一覧 > バージョン > Supported Platforms > サポート対象プラットフォーム
Cache:
Caché & Ensemble 過去一覧 > バージョン > Supported Platforms > サポート対象プラットフォーム 各OSをサポートするInterSystems製品の一覧は用意しておりませんので、製品バージョンごとのサポートOSをご確認いただく必要があります。 例:
IRIS 2025.
これは InterSystems FAQ サイトの記事です。
InterSystems 製品では、ファイルオープン時に文字コードを指定すれば指定の文字コードで正しくファイルの中身を処理できます。
文字コードを指定しない場合、InterSystems 製品をインストールした OS に合わせて設定されたファイル I/O 用文字コードを利用してファイルをオープンします(Linux 系は UTF8、Windows は SJIS)。
また、文字列については文字コードが判明していれば $ZCONVERT() 関数を使用して指定文字コードで文字列を処理することができます。
例)$ZCONVERT(文字列,"I","IRIS内文字コード")
文字コードが不明な場合、残念ながら InterSystems 製品だけでそのコードを判別することができないため、例えば Embedded Python で Python の chardet パッケージを使用して文字コード判別し、IRIS 内文字コードを取得しファイルオープン、文字列の文字コード変換をすることができます。
chardetパッケージについては、外部サイトですが参考となります。ぜひご参照ください。
参考ページ:[解決!Python]テキストファイルのエンコーディングを調べて、その内容を読み込むには(chardetパッケージ)
以下、具体的な処理内容です。
インターシステムズは、以下の製品が Red Hat Enterprise Linux 10 に対応したことをお知らせします。
今回のリリースでは、Red Hat Enterprise Linux 10 オペレーティング・システムのサポートが追加されました。 RHEL 10 には、Linux カーネル 6.12.0、セキュリティの改善、パフォーマンスの最適化、および開発者ツールの改善が含まれています。
ソフトウェアの入手方法
インストール・パッケージは、 WRC Direct の 製品ダウンロードページ ページから入手できます。 また、評価用キットは、 評価サービス ウェブサイトからも入手できます。
これは InterSystems FAQ サイトの記事です。
ObjectScript で日付の比較を行う場合、一旦 $HOROLOG 形式(内部数値)に変換することで算出しやすくなりますが、SQL 関数を利用して算出することもできます。
ObjectScript から SQL 関数を実行するには、%SYSTEM.SQL.Functions クラスを使用します。
※ 2021.1以前のバージョンでは、%SYSTEM.SQL クラスを使用します。
%SYSTEM パッケージは、システム・オブジェクトと呼ばれ ObjectScript では $SYSTEM 特殊変数を利用して以下の構文で実行します。
$SYSTEM.サブパッケージ名.クラス名.メソッド名() または $SYSTEM.クラス名.メソッド名()
以下、SQL 関数 DATEDIFF を使用して日付の比較を行う例です。
USER>write $system.SQL.Functions.DATEDIFF("dd","2025-01-20","2025-03-20")
59分での比較
USER>write $system.SQL.Functions.DATEDIFF("mi","2025-01-20","2025-03-20")
84960秒での比較
USER>write $systemSQL.Functions.これは InterSystems FAQ サイトの記事です。
管理ポータルのシステム管理やシステムエクスプローラーなど最上位のメニューについては、事前定義ロールをユーザに付与することでアクセスを制限することができます。
最下位のメニュー、例えば [システム管理] > [構成] > [システム構成] > [ネームスペース] などは、事前定義ロールの %Manager を付与されたユーザであれば、全てのユーザが利用できてしまいます。
このページに対して、「%Manager ロールを持っているが、あるユーザは使用でき あるユーザは使用できない」のようにユーザ毎のアクセス制限を追加したい場合は、カスタムリソースを作成し再下位メニューに対して作成したカスタムリソースを付与することで制限を追加することができます。
手順は以下の通りです。
具体的な設定の流れは以下の通りです。
これは InterSystems FAQ サイトの記事です。
InterSystems 製品インストール時に用意されている事前定義ロールを利用して、ログインユーザ毎に管理ポータルメニュー(システム管理/システムエクスプローラー/システムオペレーション など)のアクセスを制限することができます。
管理ポータルメニューに対するアクセス制限を行うためには、管理ポータルへの「認証なし(UnknownUser)」アクセス(※1)を使用しない環境が必要です。
管理ポータル上部の「ログアウト」をクリックしてログイン画面が表示されない場合は、関連記事「管理ポータル/スタジオ/ターミナルにパスワード認証を設定するにはどうしたらいいですか?」をご覧いただき必要な設定を行ってください。
以下、インストールデフォルトで管理ポータルへのフルアクセスが許可されている事前定義ユーザ(※2): SuperUser や _SYSTEM アカウントを使用して管理ポータルにログインした状態の設定例でご説明します。
これらユーザのパスワードはインストール時に設定しています(インストール時の「初期セキュリティ」を「最小」でインストールした環境では、パスワードは大文字の SYS が設定されています)。
InterSystems 製品はロールベースのセキュリティを使用しています。
これは InterSystems FAQ サイトの記事です。
こちらの記事では、非ミラー環境にミラー環境でオンラインバックアップしたバックアップファイルをリストアする方法をご紹介します。
手順は大きく分けて2つになります。
以下は、^DBREST ユーティリティによる対話形式のリストア方法になります。
%SYS>do ^DBREST
Cache DBREST Utility
Restore database directories from a backup archive
Restore: 1. All directories
2. Selected and/or renamed directories
3. Display backup volume information
4.