新着
お知らせ Mihoko Iijima · 6月21日

開発者の皆さん、こんにちは! ウェビナー&ハンズオンシリーズ 久々お知らせです!📣今回のテーマは「AI エージェントの開発」です。🤖

AI エージェントって結局何なの?

AI エージェントの開発に興味はあるけれど、何から学べばよいのか分からない。

そんな方を対象に、「仕組みを理解する → コードを見る → 実際に作る」の 3 ステップで学ぶシリーズです。

  • 「AI チャット」と「AI エージェント」の違いって?
  • どんな機能を用意したら「AI エージェント」になるの?
  • なんとなく会社で使ってるけど、実際どんな仕組みになっているの?

そんな疑問を、デモやコード例、ハンズオンを通じて一緒に解明していきましょう!

0
0 23
InterSystems 開発者コミュニティは 27,469 名の優秀な開発者が参加しているコミュニティです
InterSystems IRIS のプログラマーが学習や知識の共有を行い、最新情報を入手し、共に楽しく成長できる場所です!
新着
記事 Toshihiko Minamoto · 6月25日 3m read

現代の医療現場において、臨床的に類似した患者を見つけることは、しばしば「干し草の山から針を探すようなもの」に感じられます。医療用語には微妙なニュアンスが多いことから、従来のキーワード検索では失敗することがよくあります。「心不全(Heart Failure)」と検索しても、「うっ血性心不全(Congestive Cardiac Failure)」という表現が含まれる記録を見逃してしまう可能性があるからです。

iris-medmatchをご紹介できることを大変嬉しく思います。これは、InterSystems IRIS for Healthを基盤として構築された、AIを活用した患者マッチングエンジンです。ベクトル探索を活用することで、このツールは単なる文字列の一致だけでなく、臨床的な意図を理解することができます。 ## 革新の核心:セマンティック臨床検索

`iris-medmatch`は、FHIRの生データとAIによる実用的なインサイトとの間のギャップを埋めます。`all-MiniLM-L6-v2`モデルを活用することで、このエンジンは病状を数値ベクトルに変換します。

一般的な検索では正確な単語が検索対象となりますが、当エンジンは**臨床状況**を理解します。例えば、数値ベクトル類似度を用いて、「高血圧」という検索語に対して「高血圧症」と診断された患者を照合することができます。

0
0 6
新着
記事 Megumi Kakechi · 6月24日 2m read

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


こちらのトピックでは、CSPのセッション情報をSQLクエリやObjectScriptコマンドで取得する方法をご紹介します。

管理ポータルの
 [システムオペレーション] > [CSPセッション] 
より取得できる情報を、SQLやコマンドで取得してみます。



★SQLクエリで取得する方法

セッション情報は、%CSP.SessionクラスのSessionInfo クエリで取得できます。

select * from %CSP.Session_SessionInfo()

上記クエリで、以下の8項目が取れるので、Distinct を利用し、ユーザ毎の件数や LicenseId毎の件数も取れます。

ID As %String, Username As %String, Preserve As %Integer, Application As %String, Timeout As %TimeStamp, LicenseId As %String, SesProcessId As %String, AllowEndSession As %Boolean

select count(*) from (select distinct Username from %CSP.Session_SessionInfo())
0
0 11
新着
記事 Mihoko Iijima · 6月23日 5m read

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

InterSystems 製品でミラーを構成されているシステムのミラー構成解除手順を説明します。

ミラー構成として、以下のパタンが考えられます。

- プライマリ|バックアップ|非同期メンバ

- プライマリ|バックアップ

- プライマリ|非同期メンバ

削除手順の基本は、

 非同期メンバを構成している場合は、非同期メンバを最初に削除します。

 バックアップメンバを構成している場合は、バックアップメンバを削除した後でプライマリメンバを削除します。

削除は管理ポータルから行えます。具体的な方法については、構成パタンに記載のある番号の手順をご覧下さい。

(1) 非同期メンバの削除

(2) バックアップメンバの削除

(3) プライマリメンバの削除 

- プライマリ|バックアップ|非同期メンバ

    この組み合わせを利用されている場合は、(1) → (2) → (3) の手順で削除を行います。

- プライマリ|バックアップ

    この組み合わせを利用されている場合は、(2) → (3) の手順で削除を行います。

- プライマリ|非同期メンバ

    この組み合わせを利用されている場合は、(1) → (3) の手順で削除を行います。

以下の説明では、MIRRORDATA データベースをミラー用データベースとして記載しています。

0
0 28
新着
記事 Toshihiko Minamoto · 6月23日 4m read

ここでは、HL7メッセージで受け取った情報を活用して、検索テーブルをいかに簡単に作成できるかを紹介したいと思います。IRISが提供するHL7メッセージ検索テーブルは、実施したい検索のほとんどに対応できていますが、HIS、LIS、RISなどには、どうしても検索対象にしたい特別なフィールドが常に存在します。 しかし、それはそのルックアップテーブルの範囲外のセグメントにあります。そのフィールドがあるため、拡張された検索条件を使って特定の検索を実行せざるを得ません。メッセージは多数あるでしょうし、タイムアウトにならないよう、日時でフィルタリングする必要もあります。
 

この問題をどう解決すればいいでしょうか?

独自の検索テーブルを作成することで解決します。

では、その検索テーブルはどのように作成すればいいのでしょうか?

私たちのような「天才ではない者」がいつもそうしてきたように、コピーしましょう!人生において、私たちは3~4人の天才に出会うでしょう。彼らは発明し、創造し、来世を視覚化するような人々です。もしあなたがその一人なら、すでに行うべきことは分かっているはずです。あなたは世界の巨匠トップ100に入り、IQは50万ポイントを超え、自宅にはInterSystems製品の豪華なコレクションが揃っていることでしょう。

0
0 6
新着
記事 Toshihiko Minamoto · 6月18日 11m read

開発者コミュニティの皆様、こんにちは!

今回の記事では、IRISインスタンス向けに製品に追加された最新のリモートモニタリング機能の一つをご紹介します。それは、OpenTelemetryのサポートです。

OpenTelemetryは何ですか?

OpenTelemetryは、システムやアプリケーションにオブザーバビリティを実装するために必要なSDKや標準など、必要なツールを提供するオープンソースのフレームワークです。

このオブザーバビリティは、以下の3種類のデータに及びます:

  1. トレース : ソリューション内を流れる情報の流れを管理し、情報がどこを通過し、どのような条件下で処理されているかを特定できるトレースを含みます。
  2. メトリクス : システムの状態、パフォーマンス、応答遅延、リソース使用状況など。
  3. ログ : 発生したイベントをより深く理解するためにシステムに組み込まれています。

OpenTelemetryは、オープンなOTLP標準を採用しており、これによって、これまでに定義されたすべてのテレメトリのシリアライズおよび転送方法が規定されています。このテレメトリは、HTTPまたはgRPC経由で送信できます。

0
0 7
新着
質問 Gabriela Paliuco · 6月17日

InterSystems IRIS上でsmtp.office365.comサーバーを使用してSMTP経由でメールを送信しようとしていますが、エラー#988 - SSL通信失敗というエラーが発生します。 IRIS上でOffice 365を使用している際に、このエラーに遭遇した方は他にいますか?Microsoftが基本認証を廃止したため、Office 365でモダン認証(OAuth2)を使用するには、IRISで追加の設定が必要なのでしょうか?あるいは、IRISのSSL/TLS設定に、Office 365(Gmailではなく)でこの特定のエラーが発生する原因となる設定があるのでしょうか?

1
0 16
新着
InterSystems公式 Megumi Kakechi · 6月16日 1m read

5月21日に Ubuntu 26.04 向けの x86_64 ビルドをリリースしました。その際、テスト中に断続的なネットワーク問題が見つかったため、ARM サポートのリリースは見送るとお伝えしていました。Ubuntu チームと協力してこれらの問題の解決に取り組み、その結果、ベンダー製ネットワークドライバの不具合が原因であることが判明し、問題は解消されました。そこで、以下の製品の一般提供開始(GA)を発表できることを嬉しく思います。

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

本リリースでは、ARM および x86_64 プロセッサの両方において、Ubuntu 26.04 オペレーティングシステムのサポートが追加されました。Ubuntu 26.04 には Linux カーネル 7.0 が含まれており、セキュリティの強化に加え、インストーラおよびユーザーインターフェイスの改善が行われています。

0
0 11
新着
お知らせ Mihoko Iijima · 6月16日

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

InterSystems プログラミングコンテスト:FHIR 対応 AI エージェント の勝者が発表されました!📣

18名のコミュニティメンバーによる🌟 20 の素晴らしい応募 🌟がありました!

本コンテストには、革新性と創造的な発想が随所に光る素晴らしい応募作品が多数寄せられました。これほど多くの優れた作品が揃っていたため、最優秀作品を選ぶのは非常に困難でした。

それでは、受賞者のお名前、そして、応募作品をご紹介します!

0
0 16
新着
記事 Toshihiko Minamoto · 6月16日 4m read

IRISは、CCDAおよびFHIRの変換機能を標準でサポートしていますが、これらの機能にアクセス・閲覧するには、かなりの設定時間と製品知識が必要となります。IRIS Interop DevToolsアプリケーションは、そのギャップを埋めるために設計されており、導入担当者がすぐに使い始め、製品の組み込み変換機能を閲覧できるようにします。 

IRIS XML、XPath、およびCCDA変換環境に加え、Interop DevToolsパッケージでは現在、以下の機能を提供しています:

  • FHIR-SDA 変換設定
  • SDA-FHIR 変換設定
  • FHIR 検証エラーの伝播
  • FHIR 変換に必要なコンテキストの読み込み

ダッシュボードの見た目と操作感が刷新され、より直感的で使いやすくなりました。 実行はIRIS内で行われますが、UIは可視性と再現性を確保しつつ、テストのために変更点やモジュールを個別に切り離すことも可能です。

以下の5つのユーティリティがあります:

1. XPathエバリュエーター:入力CCDに対してXPathを評価し、結果を返します

2. CCDAからSDAへの変換:入力CCDに対して選択された基本XSL変換を実行し、SDAの結果を表示します。 

3. XSLテンプレートテスター:入力CCDに対して単一のXSLテンプレートを適用し、結果のCCDを表示します。 

4.

0
0 8
記事 Toshihiko Minamoto · 6月11日 19m read

LangGraph を使用して、推論、ベクトル検索、ツール統合を組み合わせた、スケーラブルで自律的な AI エージェントの設計方法を学びましょう。 cover

長すぎるので読み飛ばしました

  • AIエージェントとは、メモリ・コンテキスト・主体性を組み合わせ、単なるチャットボットを超えたタスクを自動化する能動的なシステムです。
  • LangGraphは、組み込みの状態管理機能を備えたノード(タスク)とエッジ(接続)を活用し、複雑なAIワークフローを構築できるフレームワークです。
  • このガイドでは、優先度を分類し、関連するトピックを特定し、エスカレーションを行うか自動返信するかを判断する、AI搭載のカスタマーサポートエージェントの構築手順をご説明します。

では、一体、AIエージェントとは何でしょうか?

率直に言って、「AIエージェント」と聞くと、まるで役員室を乗っ取ろうとするロボットのように聞こえるかもしれません。しかし実際には、複雑なワークフローを効率化し、反復的な作業を排除してくれる、先を見越した頼もしい相棒なのです。チャットボットをさらに進化させた存在だと考えられるでしょう。AIエージェントは単に指示を待つだけでなく、自らアクションを開始し、複数のステップを調整し、状況に応じて適応していくのです。

0
0 13
記事 Toshihiko Minamoto · 6月11日 8m read

Intersystems IRIS プロダクションは、さまざまなプロトコルやメッセージ形式を持つ異種システム間を、信頼性が高く、可観測性があり、スケーラブルな方法で接続するための強力なフレームワークです。intersystems_pyprodは、 InterSystems Python Productionsの略称は、開発者がこれらの相互運用性コンポーネントをPythonで完全構築できるようにするPythonライブラリです。柔軟性を重視して設計されており、ハイブリッドなアプローチをサポートしています。つまり、既存のObjectScriptベースのコンポーネントと新しいPythonベースのコンポーネントをシームレスに組み合わせ、確立されたIRISインフラストラクチャを活用することができます。一度定義されると、これらのPythonコンポーネントは他のコンポーネントと同様に管理されます。つまり、[IRIS プロダクション構成]ページを使用して、追加、構成、接続を行うことができます。


InterSystems IRIS プロダクション:簡単な入門書

プロダクションの主要な要素

画像提供:ラーニング・サービス研修資料

通常、IRISプロダクションは外部インターフェースからデータを受け取り、調整したステップを通じて処理を行い、宛先へと転送します。

0
0 10
記事 Hiroshi Sato · 6月4日 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 16
記事 Toshihiko Minamoto · 6月3日 21m read

INTRO

Barricadeは、InterSystems OMOP向けのFHIRからOMOPへの変換を効率化し、そのサポートをスケールアップするために、ICCA Opsが開発したツールです。当社のクライアントは、InterSystems OMOPを使用してFHIRデータをこのOMOP形式に変換することになります。マネージドサービスとして、当社の役割は変換プロセスに伴うあらゆる問題のトラブルシューティングを行うことです。Barricadeは、さまざまな理由から、このプロセスを支援する理想的なツールです。第一に、効果的なサポートには、FHIR標準、OHDSI OMOPモデル、そしてInterSystems特有の運用ワークフローにわたる専門知識が必要ですが、これらはすべて高度に専門化された分野です。Barricadeは、大規模言語モデルを活用してFHIRやOHDSIに関する専門知識を提供することで、知識のギャップを埋めるお手伝いをします。さらに、特定の変換問題を解決するために詳細な説明が行われたとしても、その知識はメールやチャットの中に埋もれてしまい、将来的に活用できなくなることがよくあります。Barricadeなら、その知識を収集・再利用し、類似のケースにスケールさせることも可能です。最後に、多くの場合、ソースデータにアクセスできません。

0
0 15
記事 Toshihiko Minamoto · 6月2日 13m read

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

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

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

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

0
0 18
お知らせ Mihoko Iijima · 6月1日

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

グローバルマスターズポイント獲得プログラム『アイデアからアプリへ』の第1ラウンドが正式に開始されました!

Idea ポータルから 3 つのアイデアが実装準備完了です。

アイデアを選び、開発し Open Exchange に公開して、グローバルマスターズポイントを獲得しましょう。 

🏅応募資格を満たした応募者全員に、Credlyバッジ、グローバルマスターズバッジ、そして1万ポイント以上が付与されます。今回のラウンドで全てのアイデアを実現し、ティア 2 の報酬を獲得しましょう。


💡第1ラウンド(2026年5月~6月)のアイデア

アイデア 説明 バウンティボーナスポイント
IRIS REST APIのredocのサポート

InterSystems IRIS ObjectScript で REST API を構築する場合、他の開発者が読みやすくナビゲートしやすいドキュメントを作成するのは容易ではありません。

Redocは、OpenAPI 仕様をクリーンでインタラクティブな API ドキュメントに変換する人気のオープンソースツールです。IRIS REST API 向けの Redoc サポートを構築し、ZPM サポートにより簡単にインストールできるようにします。

0
0 16
お知らせ Mihoko Iijima · 5月31日

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

コミュニティでは、Idea ポータルにあるアイデアを実際のアプリケーションとして開発し Open Exchange 上で公開した場合、実装された方がグローバルマスターズを通じて報酬を得られる新しい取り組みを開始しました!

💡グローバルマスターズポイント獲得プログラム「アイデアからアプリへ」⚙️

💡仕組みは?

2ヶ月ごとに、Idea ポータルから様々なアイデアを選定し、懸賞チャレンジとして提供します。各サイクルは新たなラウンドとなり、アイデアから実際に動作するアプリケーションを構築したものを Open Exchange に公開いただきます。

この過程でグローバルマスターズポイントを獲得する機会が得られます。

👥誰が参加できますか?

InterSystemsの従業員を含め、どなたでもご参加いただけます。参加は個人に限ります。チームでの応募は​​受け付けておりません。

🌟参加する理由とは?

コミュニティが実際に必要とするものを開発いただくことは、それ自体がコミュニティへの大きな貢献となりますが、コミュニティでは、あなたの貢献が正当に評価される仕組みにしていきたいと考えています。

応募資格を満たしたすべての応募作品は、InterSystems 開発者エコシステム全体で評価され、プロモーションされます。

🏅報酬と表彰

参加レベルに応じて、2段階の報酬をご用意しました。

0
0 21
記事 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 13
記事 Hiroshi Sato · 5月29日 2m read

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

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

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

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

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

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

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

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

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

0
0 18
記事 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 17
記事 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 15