#InterSystems IRIS for Health

0 フォロワー · 967 投稿

InterSystems IRIS for Health™は、世界で最も重要なデータを管理する医療アプリケーションの迅速な開発を目的に特別に設計された世界初、かつ唯一のデータプラットフォームです。 トランザクションの処理と分析、拡張可能な医療データモデル、FHIRベースのソリューション開発、医療情報の相互運用性に関わる標準規格への対応など、すぐに使える強力な機能を搭載しています。 これらすべての機能により、開発者は価値を実現し、画期的なアプリケーションをすばやく構築することができます。 詳細はこちらをご覧ください

新着
記事 Hiroshi Sato · 8時間 前 3m read

今回は、自動エージェントコーディングというよりは、システム構成の設定方法の支援でClaude Codeが役立ったという話です。

React Routerを使っている場合のApacheでのルーティング問題という割と有名な問題があり、ウェブで検索すると色々説明が出てきて、私が抱えていた問題は、まさにこれだったのですが、それらの説明サンプルでは、非常に単純なケースの例しか見つからず、私のケースでは結局どう設定する必要があるのかわからず、半年以上解決できずにいました。

昨今実感しているClaude Codeの優秀さを考えれば、この問題を解決してくれるだろうと思い、問い合わせを行った所、予想通り、一発で解決してくれました。


最初の質問です
 

デバッグモードの場合、トピックIDの直接指定で正しく動作しますが、
デプロイモードでWebサーバーをApacheにすると404エラーになります。
直接指定方法は、
http://localhost:portno/faqdirect/Content/100
のような形式です。
.htaccessにどのように指定すればいいですか?


Claude Codeの回答です。
 

Apacheでのルーティング問題ですね。React Routerを使っている場合、全てのリクエストをindex.htmlにフォールバックさせる必要があります。


既存の.htaccessの内容を確認しました。サブパス(/faqdirect/)に配置する場合は RewriteBase の指定が必要です。

現在の.htaccessにRewriteBaseが欠けているのが原因です。以下のように修正してください:

正しい.htaccessの内容:

RewriteEngine On
RewriteBase /faqdirect/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^ index.html [QSA,L]
合わせて package.json の homepage も設定が必要です:

これを設定した上で npm run build を実行することで、ビルド済みの JS/CSS のパスが /faqdirect/static/... になります。
0
0 4
新着
記事 Toshihiko Minamoto · 6月2日 13m read

午前10時47分 — ホセ・ガルシアさんのクレアチニン検査結果が、病院のFHIRサーバーに届きました。 2.1 mg/dL — 先月と比べて35%の上昇です。

次に何が起こるのでしょうか?

  • ほとんどのシステムでは: ❌ 結果は、臨床医が手動で確認するまでキューに留まります。確認されるまでには数時間から数日かかることもあります。
  • This system: 👍 AIエージェントが傾向を評価し、臨床ガイドラインを参照して、エビデンスに基づいた推奨事項を生成します — 数秒で、自動的に

チャットボットも、手動でのプロンプトも、ブラックボックス的な推論もありません。

0
0 6
新着
記事 Hiroshi Sato · 5月21日 2m read

これは InterSystems FAQ サイトの記事です。

一番簡単な方法は、以下のコミュニティ記事にある ObjectScript Lite Terminalを使用する方法です。

VSCodeだけでIRISターミナル完結

IRISのコマンドをターミナルから実行する場合は、即時実行と複数行のコードを一度にまとめて実行する2つの実行方法があります。
即時実行の場合は、1個または複数のコマンドを1行で入力して、リターンキーを入力することで実行します。
即時実行の場合、複数行にまたがって一度に実行することはできません。

複数行をまとめて実行する場合には、予め複数行のコードをルーチンバッファーと呼ばれるメモリー上に一時的に保存して、一度に実行することができます。

ルーチンバッファーにコードを入力するためには、

ラベルの後ろにスペースまたはタブを入力した後に実行したいコードを入力します。
2行目以降は、スペースまたはタブを入力した後に実行したコードを入力します。

コードを入力し終わったら、以下のように実行することで、複数行まとめて実行できます。

>Do [先頭に指定したラベル名]

ルーチンバッファーの内容を確認するには、zprintコマンドを使用します。
以下はルーチンバッファーに複数行のコードを保存して、実行する例です。

1
0 17
新着
記事 Tomoko Furuzono · 5月29日 1m read

これは、InterSystems FAQサイトの記事です。


「500 - Internal server error」の原因は様々考えられますが、まずは、

①監査ログで原因となるログが記録されないか確認します。
監査ログの使い方は下記をご参照ください。
https://jp.community.intersystems.com/node/504791

監査ログに原因と思われるようなログが確認できない場合は、

②Webゲートウェイや、IRISのISCLOGで調査します。
調査方法は、下記をご参照ください。
https://jp.community.intersystems.com/node/548871
原因としてよくあるのは、
・アプリケーションコードに問題がある
・構成ファイル(CSP.iniやhttpd.conf)に問題がある
 ※構成ファイルを変更した場合は、反映するために再起動が必要となる場合があります。

などです。

0
0 6
新着
記事 Hiroshi Sato · 5月29日 2m read

昨今エージェントAIコーディングの競争が激化しているようで、CODEXも劇的に進化しているという噂です。

Googleも負けじとAntigravityで巻き返し、さらにはXも参戦と市場は盛り上がってきています。

おそらく私の使用程度ではどのエージェントAIを選んでも、それほど大差ない状況になってきていると思いますが、しばらくはClaude Codeで頑張ってみたいと思います。

少し前にもTypseScriptの自動コーディングの話を書きましたが、それは単にCSSライブラリの変更というかなり機械的にできる内容でしたが、今回は、ページのルック&フィールを変更するという内容です。

Reactプログラミングでの一番の悩みは、ユーザーインタフェースの見た目をどうするかという点でした。

美的センスゼロの私が自己流で作ったスクリーンは、やはり何かしっくりとしない感じがしていました。

そこで世の中のウェブのUIを調査したところ、ある程度のパターンが見えてきました。

しかし、それに合うように自分でスタイルシートを駆使して、そのパターンを真似るのは大変だなという印象で躊躇してきたわけですが、Claude Codeならやってくれるだろうという予想の元、トライしてみました。

結果は、見事1時間程度である程度満足のいく結果を得ることができました。

0
0 9
新着
記事 Hiroshi Sato · 5月28日 1m read

これは InterSystems FAQ サイトの記事です。

UNIX系(Linux、macOSなど)とWindowsでは対応が異なります。

UNIX系は、バージョン2021.1以降OpenSSLのライブラリは同梱されなくなり、OSにインストールされたOpenSSLを使用します。

OpenSSLのバージョンは以下のコマンドで確認できます。

>write $SYSTEM.Encryption.OpenSSLVersion()
OpenSSL 3.6.1 27 Jan 2026

UNIX系では、OpenSSLだけをバージョンアップすることも可能です。

Windowsの場合、現時点(2026.1)のバージョンでも、OpenSSLライブラリは、IRISに同梱されており、OpenSSLのバージョンは、IRISのバージョン毎に固定されています。
従って、OpenSSLのみのバージョンアップはできません。

新しいOpenSSLを利用するためには、そのOpenSSLに対応したIRISバージョンにする必要があります。

0
0 6
新着
記事 Hiroshi Sato · 5月28日 7m read

これは InterSystems FAQ サイトの記事です。

これらのファイルを個別にエクスポートする最も簡便で確実な方法は、VSCodeを利用してIRISのソースファイルを管理することです。

VSCodeの利用方法は、以下をご参照ください

VSCodeを使ってみよう

VSCode以外のツールとしての提供はありませんので、是非VSCodeのご利用をご検討ください。


VSCodeをご利用できない場合は、IRISが提供するAPIを使用して、個別にプログラミングする必要があります。

1) クラス定義

%SYSTEM.OBJクラスのExportAllClassesIndividualメソッドを使用してクラス毎にファイル出力できますが、その出力形式がXML形式です。

XML形式での出力は、可読性も低く、クラス数が多量にある場合には、インポートの時間も余計にかかるため、複数クラスを1ファイルにまとめる目的以外では、推奨しておりません。

可読性の高いUDL形式で出力するためには、

該当ネームスペースに存在するクラス名をクエリーで抽出し、クラス定義をUDL形式でエクスポートするメソッドで出力することができます。

以下はClaude Codeで生成したサンプルコードです。

Class Samples.ExportUDLAll
{

/// 指定されたネームスペース内のすべてのクラス定義を
/// 個別のUDL形式ファイルとして指定ディレクトリに出力する
///
/// @param pDirectory 出力先ディレクトリ名
/// @return %Status ステータスコード
ClassMethod Export(pDirectory As %String) As %Status
{
Set tSC = $$$OK
Try {
// %SYSTEM.OBJ の GetClassList メソッドでクラス名一覧を取得
// items はローカル多次元配列として ByRef で返る
// 第一サブスクリプトにクラス名が格納される
Set tSC = $SYSTEM.OBJ.GetClassList(.items, "/application=1")
If $$$ISERR(tSC) Quit

// items 配列をサブスクリプト順に走査してクラス数分繰り返す
Set tClassName = ""
For {
Set tClassName = $Order(items(tClassName))
Quit:tClassName=""

Write "class name = ", tClassName, !
Set tFileName = pDirectory _ "/" _ tClassName _ ".cls"
Write "file name = ", tFileName, !

// ExportUDL の第一パラメータ(itemname)はクラス名に ".cls" を付加
Set tSC = $SYSTEM.OBJ.ExportUDL(tClassName _ ".cls", tFileName)
If $$$ISERR(tSC) Quit

Write "Exported: ", tClassName, " -> ", tFileName, !
}
} Catch ex {
Set tSC = ex.AsStatus()
}
Quit tSC
}

}
0
0 6
新着
記事 Toshihiko Minamoto · 5月28日 10m read

過去数ヶ月間、私はCSIROのオープンソースアプリケーションであるSMART-EHR-LauncherとSMART Forms Appの2つを用いて、IRIS for Healthの機能性を検証するため、SMART on FHIR EHR Launchに取り組んでまいりました。この取り組みは非常に興味深く、この課題に携わり、IRIS for Healthの可能性をさらに探求する機会を賜りましたことに、心より感謝申し上げます。

HL7 AU FHIR Connectathonにおいて、多数の外部SMARTアプリのシームレスな起動を成功裏に実証いたしましたことを受け、学んだ知見をコミュニティの皆様と共有できることを大変嬉しく存じます。私の知見が、同様のプロジェクトを迅速に開始されるお役に立てれば幸いです。

本タスクでは、SMART-EHR-Launcher を電子カルテ(EHR)として使用しSMART Formsアプリを起動しました。同時に、IRIS for Health をEHRのFHIRリポジトリとして活用し、そのOAuth2 サーバーを認証サーバーとして使用いたしました。

すべての興奮に飛び込む前に、 SMART on FHIR と SMART on FHIR EHR Launchについて詳しく見ていきましょう。私たちの親友であるChatGPTにお尋ねしましょう。

0
0 9
新着
記事 Toshihiko Minamoto · 5月26日 5m read

InterSystems IRISは、データ論理構成(ネームスペース)とその物理的保存場所(データベース)を分離するアーキテクチャに構築されています。この分離と、ネームスペースとデータベースの区別を理解することは、効果的なデータ管理、セキュリティ、特には高パフォーマンスなデータ共有において極めて重要です。

本記事では、これらの基盤となる構成要素について解説し、グローバルマッピングを活用して異なるロジカル環境間でネイティブデータ構造(グローバル変数)を共有するための実践的なガイドを提供いたします。

データベース:物理的な現実

データベースは、データがディスク上に保存されている物理的な現実を表現しています。何よりもまず、IRIS.dat というファイルシステム内のファイルです(例: \mgr\user\IRIS.DAT)。 このファイルの最大サイズは32TBです。実際のデータおよびコードのすべてを格納するコンテナとなります。データベースはIRISカーネルによって管理され、物理ファイルレベルでのキャッシュ、ジャーナリング、トランザクションログの処理を担当します。

0
0 9
新着
記事 Hiroshi Sato · 5月25日 3m read

自分で作成したサンプルを公開する際にコンテナで提供することが一般的になっています。


私も基本はその方針でサンプル類を公開しています。


そして簡単なデモアプリケーションを公開する場合、IRISがリリースされる以前はCSPベースでしたが、ご承知のようにCSPはIRISで利用することは推奨されていません。


ということで、私は代わりにReactを使うことが多いです。


このReactベースのサンプルをコンテナで公開する際にちょっとした不便があるので、情報共有したいと思います。


こういったサンプルを提供する際に様々な人に試してもらいたいという思いからIRISのコミュニティ版でDockerを構築します。


コミュニティ版のIRISには引き続き管理ポータルを動作させるための簡易Apacheサーバが同梱されており、これを使えば、CSPアプリケーションは、サンプル程度のものであれば、何の問題もなく動作します。


しかし、Reactのサンプルを動かす場合には、支障が出るケースがあります。


Reactに限らず、最近のJavaScriptフレームワークは、SPA(Single Page Architecture)というページを遷移せずに、ブラウザ上のDOMを直接書き換えることでページ内容を書き換えるという手法が一般的です。

0
0 6
新着
記事 Hiroshi Sato · 5月25日 1m read

これは InterSystems FAQ サイトの記事です。

CPU使用率が高いプロセスの優先度を下げて、他のプロセスへの影響を軽減する方法が用意されています。

該当プロセスの優先度を下げるには、%SYSTEM.Util.SetPrio()メソッドを使用します。

詳細は、ドキュメントをご参照ください。

SetPrio()メソッド
 

使用例: PID=24096 のプロセスの優先度を通常(8)から低(4) に変える

※OSにより優先度の番号は異なります。

USER>write $system.Util.GetPrio(24096)

8

USER>write $SYSTEM.Util.SetPrio(-4,24096)  // 8から4下げる(-4)

4

USER>write $system.Util.GetPrio(24096)

4

負荷が高すぎて、サーバーに接続できないような状況の場合には、この方法で優先度を下げることができない可能性があります。
また、このAPIによって、該当プロセスの優先度を逆に上げたい場合には、予期せぬ結果を招くリスクがあるため、慎重に行ってください。

0
0 8
新着
記事 Hiroshi Sato · 5月25日 2m read

これは InterSystems FAQ サイトの記事です。

IRISの%Net.HttpRequestクラスを利用して、外部のREST APIを呼び出し、情報の取得やデータの登録などの処理を実行することができます。

処理を実装する前準備としてSSL構成情報の設定が必要です。

この設定は、管理ポータル>システム管理>セキュリティ>SSL/TLS構成>新規構成の作成で行ってください。

構成名は任意の名前を指定します。

ここではSSLという名前で作成します。

その他の項目は、デフォルト値のままでOKです。

以下のサンプルは、郵便番号関連情報を取得するAPIサービスを利用しています。(https://zipcloud.ibsnet.co.jp/doc/api

set req = ##class(%Net.HttpRequest).%New()

set req.ContentType="application/json;charset=UTF-8"

do req.SetParam("zipcode","0790177")

set req.SSLConfiguration="SSL"

do req.Post("https://zipcloud.ibsnet.co.jp/api/search")

set res = req.HttpResponse.Data.Read(10000)

set obj={}.%FromJSON(res)

do showItem(obj)

quit



showItem(obj) {

set itr=obj.%GetIterator()

while itr.%GetNext(.key, .value, .type ) {

if type="array" {

write "==================================",!

write "[",key,"]",!

do showItem(value)

write "==================================",!

}

elseif type="object" {

write "---------------------------",!

do showItem(value)

}

else {

write key_" : "_value,!

}

}

quit

}
0
0 8
新着
記事 Hiroshi Sato · 5月24日 1m read

これは InterSystems FAQ サイトの記事です。

HANGコマンドや$ZF実行中の時には、^JOBEXAMや管理ポータルのプロセス詳細画面(システム>プロセス>プロセス詳細)でそのプロセス変数情報を取得することができません。

これらは内部的に以下のシステムクラスメソッドを呼び出しています。

ExamStackByPidメソッド

代わりにVariableByPidクラスクエリを利用することで、そのような状況でもプロセス変数情報を取得できます。

VariableByPidクエリ
以下のように取得することができます。

実行例:  // %SYSネームスペースで実行
set stmt=##class(%SQL.Statement).%New()
write stmt.%PrepareClassQuery("%SYS.ProcessQuery","VariableByPid")
set rs=stmt.%Execute(35552,"")  // 第1引数にPIDを指定、第2引数 “” で全ての変数
                           // PID=35552がハング状態でも実行可能
do rs.%Display()
// Name  Value
// a    123
// b    456
// c    789
// :
0
0 7
新着
InterSystems公式 Ayumu Tanaka · 5月21日 1m read

InterSystems は以下のバージョンをリリースしました: 

  • InterSystems IRIS Data Platform 2026.1.0.237.3
  • InterSystems IRIS for Health 2026.1.0.237.3
  • HealthShare Health Connect 2026.1.0.237.3

このリリースでは新たに Ubuntu 26.04 オペレーティングシステムをサポートします。Ubuntu 26.04 は Linux カーネル 7.0、セキュリティの改善、インストーラとユーザインターフェイスの改善が行われています。  

今回は Intel/AMD (x86_64) プロセッサ対応のキットのみをリリースしています。ARMサーバにおいてネットワーク障害が発生するケースが複数報告されています。これはネットワークドライバの問題だと考えていますが、念のためARMプロセッサ対応キットのリリースを保留しています。この問題が解決され次第、ARMプロセッサ対応キットをリリースいたします。

ソフトウェアの入手方法

インストールキットは WRC の Software Distribution にある InterSystems IRIS (Extended Maintenance kits) ページから入手可能です。

0
0 11
記事 Toshihiko Minamoto · 5月21日 20m read

FHIRプロファイルとは何ですか?

FHIR プロファイル とは、基盤となるFast Healthcare Interoperability Resources(FHIR)リソースをカスタマイズし、洗練させるために用いられる一連の規則と制約の集合体です。プロファイリングは、特定のユースケース、地理的地域、医療機関、または臨床ワークフローの固有の要件を満たすために、基盤となるFHIRリソース標準を適応させる重要なプロセスです。

基本となるFHIRスペシフィケーションでは、リソース(患者、観察、薬剤など)に対して一般的な、柔軟な定義を規定しております。一方、プロファイルはこれらの一般的なリソースをより精密なものへと変換します。これにより、特定のコミュニティや実装に合わせて調整された、一貫性と相互運用性を備えたデータ交換が保証されます。

FHIRは、世界中の様々な医療シナリオをカバーするよう設計されています。プロファイルにより、実装者は標準化の利点を損なうことなく、この総合プラットフォームを適応させることが可能となります。

FHIRプロファイルはどのような場合に使用するのでしょうか?

FHIRプロファイルは、システムがデータを検証するために使用する計算可能なルールとして機能します。

0
0 11
お知らせ Mihoko Iijima · 5月18日

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

InterSystems オンラインプログラミングコンテストの次の内容が決定しました!

🏆 InterSystems プログラミングコンテスト:FHIR 対応 AI エージェント🏆

期間: 2026年5月25日~6月14日

賞金総額: $12,000

0
0 17
記事 Toshihiko Minamoto · 5月14日 4m read

以前のバージョンにおいても、FHIRサーバーをOAuth 2.0経由でのリクエスト受付に対応させる設定が可能でした(例:SMART on FHIRクライアント向け)。しかし、現在では v2024.3, (以前リリースされたバージョン) , では、これをより容易に行える新機能が追加されました。具体的には、OAuth FHIR Client QuickStartが追加されました。

 

この「QuickStart」は、ウィザード形式の「ヘルパー」ツールであり、わずか5つの簡単なステップ(実際には3ステップのみです...)で、FHIRサーバーをOAuthサーバーに接続し、FHIRリクエストに対するOAuth認証および認可を有効にすることができます。

  • ステップ1 - FHIRサーバーの作成または選択

すでに定義済みのFHIRサーバー(エンドポイント)をお持ちの場合もあれば、まだ定義しておらず、このクイックスタートとして今定義したい場合もあるかもしれません。

  • ステップ2: FHIRサーバーを選択
1
0 20
記事 Toshihiko Minamoto · 5月13日 5m read

重要である理由

IAMの管理を手動で行うには手間ががかります。OpenAPI(Swagger)仕様を使用して、APIがすでにしっかりとドキュメント化されている場合はなおさらです。 Open API仕様から直接、Kongサービスやルートを自動生成できたらいいのにと思いませんか?

このObjectScriptメソッドはまさにその処理を行います。仕様クラスの XData ブロック内に保管されているOpenAPI 2.0仕様を読み取り、IAM構成を同期するために使用できるdecKと互換性があるYAMLファイルを生成します。

このアプローチは:

  • 手動による構成エラーを削減します
  • ゲートウェイをAPI仕様に常に同期します
  • デプロイメントとオンボーディングを高速化します

前提条件:

  • InterSystems IRIS、またはIRISベースのプラットフォーム
  • InterSystems API Manager
  • Deck CLIツール

メソッドの内容

メソッド ConvertOpenAPIXDataToDeckYAML の機能は次のとおりです。

  1. OpenAPI仕様を読み取る: 指定したクラス内の OpenAPI という名前の XData ブロックから読み取ります。

  2. JSONを解析する:動的オブジェクトに変換します。

  3. エンドポイントを抽出する :HTTPメソッドも抽出します。

0
0 14
InterSystems公式 Masahito Miura · 5月1日

以下は、2026 年の IRIS リリースカレンダーの更新情報と、2027 年に予定されている変更点の概要です。2026 年における主なポイントは、メンテナンスリリースのバージョン番号付けが、これまでの年とは若干異なる点です。

2026 年:IRIS 2026.1 メンテナンスリリースのバージョン番号

  • 2026 年   7 月:IRIS 2026.1の最初のメンテナンスリリース(予定バージョン:2026.1.4)
  • 2026 年 10 月:次回のメンテナンスリリース(予定バージョン:2026.1.5)
  • 2027 年   2 月:次のメンテナンスリリース(予定バージョン:2026.1.6)

このバージョン番号付けの変更は、2027年に予定されているメンテナンス頻度の拡大に備えたものです。

2027 年:メンテナンスリリースの頻度拡大

2027 年よりお客様が IRIS の新バージョンをより迅速に導入できるよう、メンテナンスリリースの頻度を高める予定です。

2027 年のメンテナンスリリースに関する詳細は、来年発表される予定です。

EM および CD のリリースに関する詳細については リリースストリームのドキュメント をご覧ください。

0
0 26
InterSystems公式 Masahito Miura · 4月16日

InterSystems IRIS® データプラットフォーム、 InterSystems IRIS® for Health および HealthShare® Health Connect™ のメンテナンスバージョン 2025.1.4 および 2024.1.6 がリリースされました。今回のリリースでは、最近お知らせした以下の警告や勧告の修正が含まれています。 

より良い製品を皆様と共に作り上げていくため、 アイデアポータル 内の リリース後のフィードバック カテゴリからご意見をお寄せください。

ドキュメント

詳細な変更リストとアップグレードチェックリストはこちらのドキュメントをご参照ください(すべて英語 2025.

0
0 33
InterSystems公式 Seisuke Nakahashi · 4月16日

概要

警告 ID 影響を受ける製品とバージョン リスクカテゴリー & スコア 発生条件
IF-9262

InterSystems IRIS® for Health

InterSystems Health Connect
2024.1.4, 2024.1.5

システム安定性に関する懸念
5 (高リスク)
FHIRおよび医療情報相互運用性の問題により、アップグレードが失敗したり、予期せぬ および 望ましくない製品の挙動が見られる
 

発生する問題

  • InterSystems IRIS for Health および Health Connect の対象バージョンにおいて、FHIRおよび医療情報相互運用性機能に関連するいくつかの問題が確認されました。そのため、該当バージョンは WRC 配布サイトから削除しました。同バージョンの InterSystems IRIS には影響しません。該当する InterSystems IRIS for Health および Health Connect をお使いの場合は、製品の使用状況に関わらず、以下の手順をご参照ください。
  • 安定性の懸念により、アップグレードの重大な失敗や、予期せぬ および 望ましくない製品の動作を引き起こす可能性があります。安定性に関する懸念事項の詳細については、カスタマサポートセンターまでお問い合わせください。
0
0 29
InterSystems公式 Ayumu Tanaka · 4月15日 2m read

概要

勧告 ID

影響を受ける製品とバージョン

リスクカテゴリーとスコア

発生条件

IF-9396

InterSystems IRIS® for Health

InterSystems Health Connect™

バージョン
2026.1.0

システム安定線に関する懸念: 3

デフォルト以外のパス・プレフィックスを使用して製品をインストールする

発生する問題

影響

影響を受けた構成では製品UIからFHIRサーバーの機能を実行することができません。その他の既存のAPI、ターミナルやObjectScriptのメソッドは影響を受けません。

0
0 19
InterSystems公式 Masahito Miura · 4月12日

概要

警告 ID 影響を受ける製品とバージョン リスクカテゴリー & スコア 発生条件
HSIEC-12800 InterSystems IRIS® for Health InterSystems Health Connect™ version 2026.1.0.233.0 システム安定性に関する懸念 高リスク 1. HL7 から SDA3 への変換が使用されている         2. 薬剤関連のメッセージには TQ1 セグメントが         含まれている                                                               3. TQ1-3 リピートパターンには複数の繰り返し           が含まれている

発生する問題

HL7 から SDA3 への変換ロジックにおいて、特定の薬剤関連 HL7 メッセージを 処理する際に無限ループを引き起こす可能性のある問題が確認されました。 この問題は、メッセージに含まれる TQ1 セグメントの「TQ1-3 Repeat Pattern」 フィールドに複数の繰り返し設定が含まれている場合に発生します。

影響

この条件が満たされる場合、該当する HL7 メッセージは SDA への変換に失敗す る可能性があります。

0
0 21
記事 Hiroshi Sato · 4月7日 3m read

Claude CodeはIRISのことかなり理解してくれていますが、それでもやはり想定外が発生します。

まず1つ目は既に何回か発生した問題で、正しく指示しないと今後もよく発生する可能性の高い問題です。

IRISの文字型のデータ(%String)のコレーション(照合)は、デフォルトではSQLUPPERとなっていて、その結果としてデータをSQLで取得すると大文字に変換されて返ってくる場合があります。(GROUP BYなどのソートして集計する場合)

それを意識せずに(通常誰も意識していないと思いますが)、Claude Codeにそのデータの値に依存するような指示を与えると、期待した結果が得られないことが起こります。

例えば、何々のカラムの値がGroup BYで指定したカラムで集計した場合、返ってくるそのカラムの値が大文字となるため実際のデータはSupportだけれども実際に返ってくる値がSUPPORTとなっているためにマッチしないという感じです。

Claude Codeのスキルにこれをちゃんと記載するか、クラス定義のCOLLATEをSQLSTRINGに変更することでこの状況を回避できると思います。

もう一つ最近遭遇した問題は、これはさすがに難しいだろうという感じのものです。

IRISにはご存知の方も多いと思いますが、計算フィールドという非常に便利な機能があります。

0
0 31
記事 Toshihiko Minamoto · 4月7日 2m read

データベースを確認したところ、巨大な^rINDEXSQLグローバルが存在しているようですが、これはなぜでしょうか? 😬

管理ポータルのSQLページにおいて、「SQLステートメント」の下に「古いデータをクリーンアップ」ボタンがおりますが、これはどのような機能でしょうか? 🤔

ステートメントのリストにおいて、一部のステートメントには「Location」値が設定されていますが、他のステートメントには設定されていないようです。これはどうしてでしょう? 🤨

そうですね、確かにこれらはすべて関連しています。

一般的に、実行されたSQLクエリに関する基本的な統計情報 は保持しております。 キャッシュされたSQLクエリを削除する際、ステートメントリスト内のステートメントエントリ自体は削除せず、統計情報は保持いたします(将来の比較に役立つ可能性があるためです)。ただし、ロケーション列は「クリア」します(既存のキャッシュ済みクエリを指さなくなるためです)。 これらの「古い」ステートメント(もはやどこも指していないもの)をクリーンアップしたい場合は、「古いステートメントをクリーンアップ」ボタンを押することができます。

以下のような表示になります(システムエクスプローラー -> SQL -> SQLステートメント):

[注記:旧バージョン(例:v2020.

0
0 22
記事 Hiroshi Sato · 4月6日 4m read

Claude Codeを使うようになってから、創作意欲が爆上がりです。

今までは、何かを作りたいと思っても実際にコーディングをするのが面倒なので、よっぽどのニーズがないとプログラミングまでは至らなかったのですが、仕様をちょこちょこっと書くと後はClaude Codeが勝手にやってくれるので、生産性が雲泥の差です。

私はObjectScriptネイティブ世代なので、これからはPythonと言われても少し躊躇する部分がありましたが、逆にClaude CodeはPythonが大得意なので、新規に開発する際に、ObjectScriptを選ぶ理由がほとんどなくなりました。

とはいえ、Claude CodeがEmbedded Pythonのくせをどの程度理解しているか少し懸念があったのですが、それはかなり取り越し苦労だとわかってきました。

IRISのドキュメントに書かれていることは大体ちゃんと理解してくれています。

そして、自分でPythonコードを書いたら決して書けないような簡潔で洗練されたコードを書いてくれます。

今まであったらいいなと思いつつ、面倒なので、ほとんどやっていない処理としてテーブルのインポート・エクスポートがあります。

0
0 34
記事 Toshihiko Minamoto · 3月31日 9m read

FHIR検索を、あらかじめ定義されたリソースの「リスト」ごとに制限することは、場合によってはより便利で、より効率的であり、より安全です。

バージョン2025.1より、当社のFHIRサーバーでは複数のリスト関連機能をサポートしております。

こちらでそれらを重点的にご説明し、いくつかの サンプルをご提供いたします。

一般的には、公式のFHIRドキュメントよりリストリソースの詳細について利用できます。

しかしながら、上記に基づいた簡単な 説明を以下に示します:

FHIRのリスト リストリソースは、フラット(オプションとしてオーダー付き)レコードの集合体を表し、臨床リスト(例:アレルギー、薬剤、アラート、病歴)やワークフロー管理(例:患者追跡、教育ケース)に使用されます。 リストは均質(単一のリソースタイプ)または 不均質(混合タイプ、例:状態、アレルギー・不耐性、処置にまたがる問題リスト)である場合があります。 リストは、単純なクエリでは取得できないキュレート・抽出されたデータセットが必要な場合に使用します(例:現在のアレルギーと全記録アレルギーの比較)。 リストをクエリすると、ポイント イン タイム スナップショットが得られます。 一方、リソースエンドポイントをクエリすると、通常はより広範でキュレートされていない「現時点での」データセットが返されます。

最新バージョン(2025.

0
0 30
InterSystems公式 Megumi Kakechi · 3月29日 2m read

インターシステムズは、InterSystems IRIS® data platformInterSystems IRIS® for HealthTMHealthShare® Health Connect のメンテナンスバージョン 2023.1.7 をリリースしました。

 より良い製品を共に作り上げるため、アイデアポータル  の「Post-Release Feedback」カテゴリでご意見をお寄せください。


ドキュメント

変更点の詳細と、アップグレードチェックリストは以下のリンクからご覧いただけます。(すべて英語)


早期アクセスプログラム(EAPs)について

現在、多くの早期アクセスプログラムをご提供しております。 こちらの ページ からご興味のあるプログラムにお申込みいただけます。


キットの入手方法

InterSystems IRIS と InterSystems IRIS for Health の通常インストーラパッケージ形式のキットは WRC Direct の IRIS ダウンロードページから、HealthShare Health Connect のキットは HealthShare ダウンロードページ からそれぞれ入手してください。

0
0 24
InterSystems公式 Seisuke Nakahashi · 3月26日

インターシステムズは、InterSystems IRIS data platform、InterSystems IRIS for Health および HealthShare Health Connect のバージョン 2026.1 をリリースをしました。2026.1 は、拡張メンテナンス(EM)リリースです。

リリースハイライト

  1. データベース・スケーラビリティの強化

    データベースの容量制限が撤廃されました。これにより、従来の容量制限をこえてもデータ移行が必要なく、円滑にシステム拡張できるようになりました。また低レベルパフォーマンスも改善され、大規模運用がさらに最適化されています。

  2. テーブル・パーティショニング

    ユーザー定義の論理キーに基づきテーブルと関連インデックスデータを分割し、データベース間で簡単にマッピングできるようになりました。これによりストレージの階層化が可能となり、大容量テーブルにおけるクエリパフォーマンスと運用効率が向上しました。この機能は早期アクセス・プログラムで提供されている実験的な機能です。早期アクセス・プログラムに参加いただくと、機能のアップデートを受け取ったり、フィードバックを送信することが可能となります。

0
0 32
記事 Toshihiko Minamoto · 3月26日 1m read

相互運用プロダクションでは、HTTPクライアントとして動作するビジネスオペレーションを常に設定することが可能です。このオペレーションはOAuth 2.0による認証を利用しますが、この認証方式に対応するためにはオペレーションのカスタマイズが必要でした。 最近リリースされた v2024.3以降では、 この処理をより容易に行うための新機能が追加され、新たな設定オプションが提供されています。

HTTPアウトバウンドアダプターをご利用のビジネスオペレーションにおいて、OAuthグループの下に新しい設定項目が追加されております。

例えば:

  • アクセストークンの配置 (ヘッダー | 本文 | クエリ)
  • グラントタイプ (パスワード | JWT認証 | クライアント認証情報)

新しいOAuth関連の 設定に関するドキュメントはこちらでご覧いただけます。 

関連するオペレーションのスクリーンショットの例を以下に示します:

0
0 23