新着
記事 Toshihiko Minamoto · 4月 7 2m read

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

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

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

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

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

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

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

0
0 8
新着
記事 Toshihiko Minamoto · 3月 31 9m read

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

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

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

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

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

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

最新バージョン(2025.

0
0 15
新着
記事 Toshihiko Minamoto · 3月 26 1m read

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

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

例えば:

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

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

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

0
0 9
記事 Toshihiko Minamoto · 3月 24 2m read

監査はサーバーのセキュリティを確保する上で極めて重要な機能であり、かなり 以前から、サーバーで実行されるSQL文を監査する機能を提供しております。

v2024.3 が既にリリースされておりますが、監査すべきこれらイベントを定義するためのより詳細なオプションを提供しております。

従来は、アクセスメカニズムに準じてSQL文の監査を決定することができました。例えば、JDBC/ODBCからの文の実行と、埋め込みSQL (例えば: コード内で&&sqlを使用する場合など) と、ダイナミックSQL(例えば:コード内で%SQL.Statement%SQL.Statementを使用する場合や、Mgmt. ポータルのSQLクエリ実行、あるいはターミナルのSQLシェルからの実行など)、そして今回、これに 加えて、 特定の種類のステートメントのみを監査対象とすることも可能です(アクセス制御機構に基づき、従来と同様に)。対象となる種類は以下の通りです:

  • DDL (データ定義言語) - 

データベースの要素や設定、その他のデータ以外のものを変更する文です。例:CREATE / ALTER TABLE

  • DML (データ操作言語) - 

データを変更する文です。

0
0 12
記事 Toshihiko Minamoto · 3月 19 1m read

メッセージを 簡単に再送信する機能は、相互運用性における当社の強力な特徴の一つであります。

v2024.3 がまもなくリリースされます((開発者プレビュー版は既に利用可能です  既に 公開済みです。これにより、さらに簡単になりました!

Visual Trace 内から、メッセージヘッダーの横に「再送信」ボタンを見つけられます。こちらをクリックすると、通常の「メッセージ再送信エディター」が表示されます(メッセージビューアーを経由して特定のメッセージを 検索する必要はありません)。

以下に、その例を示します:

関連するリリースノートもご覧ください。

0
0 15
記事 Toshihiko Minamoto · 3月 17 1m read

InterSystems IRIS for Health v2024.3 は、すでにしばらく前より 開発者向けプレビュー版として 提供されており、今回導入された FHIR 検索に関連する新しいサポートについてご紹介いたします。

以下の2つの修飾子 のサポートが追加されました:-

これにより、 より柔軟で洗練された、より豊富な検索クエリが可能になります。

また、検索結果のパラメータ -

を使用すると、よりコンパクトな(そしておそらくより効率的な)結果を得ることができます。

 

関連するリリースノートもご覧ください。

0
0 18
記事 Toshihiko Minamoto · 3月 12 11m read

私が若かった頃(正確にどれほど若かったかという質問はこの記事の範囲外ですが)、「トークン」という言葉は私にとって楽しみそのものでした。 というのも、年に数回だけ、友だちと一緒にゲームセンターに行って、面白いビデオゲームで遊ぶことができたからです。

今では、トークンはセキュリティを象徴するものになりました。 JSON Web Token(JWT)認証は、REST APIをセキュリティで保護するための最も人気の標準の1つになりました。 幸いなことに、IRISでは、この方式でアプリケーションを保護するための設定をシンプルに行える仕組みがあります。 それでも、アイデアは昔のアーケードで遊んでいた頃とどこか似ています。 ゲームで遊ぶには、トークンを手に入れる必要がありますよね!

セットアップ

まず最初に、ユーザーがトークンを取得できるようにIRISを設定します。 まずは、JWT認証をシステム全体で有効にするところから始めます。 これを行うには、システム管理ポータルを開き、サインインします。 次に、「System Administration」 > 「Security」> 「System Security」 >「Authentication\Web Session Options」に移動します。 ここは、LDAPや二要素認証など、他の認証方法を承認する際に使用する同じエリアです。

0
0 27
記事 Toshihiko Minamoto · 3月 10 17m read

InterSystemsテクノロジーを本番環境にデプロイする際の推奨事項の1つは、高可用性を設定することです。 これらのInterSystemsテクノロジーにお勧めのAPI Managerは、InterSystems API Manager(IAM)です。 IAM(特にKong Gateway)には複数のデプロイトポロジーがあります。

高可用性を重視する場合は、以下を利用できます。

a) Kong Traditionalモード複数ノードクラスタ

b) Hybridモード

c) DB-lessモード

それぞれ詳しく説明する前に、最初にInterSystemsが提供するすぐに利用可能なデプロイを理解しましょう(IAMバージョン3.10のインストール)。

Kong Traditionalモード

Kong Traditionalモードは単一ノードクラスタです。 まだお読みでない場合は、@Guillaume Rongierによる素晴らしい記事、 IAM (InterSystems API Manager), Zero to Hero をお読みください。IAMの設定してInterSystems IRISで作業する方法についてついて非常に分かりやすく説明しています。 

現在、Kong Traditionalモードの単一ノードクラスタは、IKO経由でのIAMデプロイオプションでのみサポートされています。

0
0 19
記事 Toshihiko Minamoto · 3月 6 7m read

はじめに

あるお客さんから、ワークフローの待受画面での新着通知方法についてご相談がありました。

  • 単純なポーリングだと、通知の遅延や、サーバリソースを消費する
  • ロングポーリングは、待ち受け画面のためにIRISのライセンスを消費する
  • MQTTなどを使うと専用のサーバプロセスが必要

何か良い方法は無いでしょうか。 といった内容です。

この課題に対して調査したところ、以下の方式が見つかりました。

  • ブラウザからSSE(Server-Sent Event)方式を使い、nginx上にアクセス
  • IRIS側から通知が必要なクライアントのIDに対してnginxにメッセージをPOST
  • nginxがルーティングを行い、当該クライアントにメッセージを通知

今回は以下の点について手順や設定等解説していきたいと思います。

  • nginx のソースビルドと Web Gateway のインストール
  • nginx-push-stream-module を使った SSE (Server-Sent Events) 通知
  • ブラウザ受信 (/subscribe) とサーバ送信 (/publish) の最小実装

全体構成

まずは全体像です。データの流れをシンプルに分けることで、役割が明確になります。

0
0 31
記事 Toshihiko Minamoto · 2月 18 10m read

前回の記事、SQLでの変数やパターンを使ったLIKEの使用では、組み込みSQLから動的SQLまで、さまざまなシナリオでのLIKE述語の動作や、ワイルドカードや変数を使った場合のパフォーマンスへの影響について解説しました。 前回の記事では、動作するLIKEクエリを書くことに慣れることをテーマにしました。しかし、SQLを動かすことができるようになるのは、あくまで出発点に過ぎません。 信頼性が高く、スケーラブルで安全なアプリケーションを構築するには、LIKEを使ったクエリを含む、すべてのSQLに共通するベストプラクティスを理解する必要があります。

この記事では、次のステップに進みます。 SQLコードを強化し、ありがちな間違いを避け、SELECTステートメント文が正しく動作するだけでなく、効率的かつ安全に実行されるようにするためのいくつかの重要なポイントを見ていきます。 途中で、LIKE述語を使ったSELECTステートメントを例として取り上げ、これらの基本原則がどのようにクエリやその結果に直接影響するかを説明します。

*これは、Geminiがこの記事のために生成したものです。いい感じです。

0
0 35
記事 Toshihiko Minamoto · 2月 11 8m read

年月を重ねるにつれて、InterSystems開発者コミュニティで特定のSQLの質問が何度も繰り返されることに気づくようになりました。特にさまざまなコンテキストでのLIKE述語の使用についてです。 よくあるバリエーションには、以下のようなものがあります。

また、さらに多くの派生パターンがあります。 そこで、InterSystems IRIS SQLでのLIKEの仕組みに焦点を当てた記事を書くことにしました。特に、埋め込みSQL、動的SQL、クラスクエリで変数を使用する方法について取り上げ、パターンのエスケープ、特殊文字検索についても解説しています。

まず最初に、InterSystems IRIS SQLでは、SQL標準の新しいバージョンを実装しているその他のリレーショナルDBMSで利用できるほとんどの機能を提供していることを述べておきたいと思います。 同時に、IRISではリレーショナルアクセスだけでなく、オブジェクトモデルやドキュメントモデルを使って同じデータにアクセスできることも重要なポイントです。

それでは、LIKE述語と、SQLでのパターンマッチングの使い方を詳しく見ていきましょう。

0
1 43
記事 Toshihiko Minamoto · 2月 9 3m read

IRIS DocDB Explorerの紹介:InterSystems IRISでJSONドキュメントを管理できるスタイリッシュなUI

IRISは、DocDBを使用してJSONドキュメントを保存および取得できる専用機能を提供しており、事前定義されたスキーマを必要としません。

開発者は、複数のツールを切り替えたり、冗長なコードを書いたりせずに、ドキュメントを素早く簡単に閲覧、作成、編集できる方法を求めています。 そこで私は、DocDBと簡単にやり取りできるクリーンでレスポンシブなインターフェースを提供するCSPベースのオープンソースアプリケーション、iris-docdb-uiを開発しました。 ユーザーは、ネームスペースやドキュメントデータベースの作成、保存されたドキュメントの閲覧、新規ドキュメントの追加、既存ドキュメントの編集を、すべて1つの便利なプラットフォーム上で簡単に行えます。

このアプリケーションは、InterSystems Open Exchangeでも公開されているため、簡単にインストールして、すぐに使い始めることができます。

 

DocDBを使いやすくする方法

Iiris-docdb-ui -  RIS DocDB Explorerの本質はそのシンプルさにあります。

0
0 43
お知らせ Toshihiko Minamoto · 2月 2

InterSystems EHR コミュニティの皆様、こんにちは。

InterSystems Certification(インターシステムズ認定)部門は現在、CCR Tier 2 ユーザー向けの認定試験を開発中です。以下の受験者要件に該当する方は、ぜひベータテストにご参加ください!試験は 2026年1月27日 よりベータテストとして利用可能になります。

ベータテストは 2026年3月28日 に終了予定です。

ベータテスターとしての責任は何ですか?

ベータテスターの方には、2026年3月28日 までに試験を予約し、受験していただくようお願いいたします。試験はオンライン監視環境にて無料で実施されます(ベータテスター全員に対し、通常150ドルの受験料が免除されます)。

その後、InterSystems Certification チームがすべてのベータテストデータの慎重な統計分析を行い、試験の合格ラインを設定します。ベータテスト結果の分析には通常6~8週間かかります。合格ラインが確定次第、InterSystems Certification から結果を通知するメールが届きます。試験のスコアが合格ライン以上であれば、認定資格取得となります!

注: ベータテストのスコアは完全に機密扱いとなります。

参加にご興味がありますか?以下の試験詳細をご覧ください。

0
0 38
記事 Toshihiko Minamoto · 1月 28 4m read

InterSystems IRISのウィンドウ関数を使用すると、累積合計、ランキング、移動平均など、強力な分析を直接SQLで実行できます。
ウィンドウ関数は、「GROUP BY」のように結果をまとめることなく、関連行の「ウィンドウ」(グループ上)で動作します。
つまり、ループも結合も一時テーブルも使わずに、より簡潔で高速、しかも保守しやすいクエリを書くことができます。

この記事では、よくあるデータ分析タスクに取り組むことで、ウィンドウ関数の仕組みを理解していきましょう。


InterSystems IRISでのSQLウィンドウ関数入門

SQLウィンドウ関数は、データ分析のための強力なツールです。
各行をそのまま表示したまま、複数行の集計とランキングを計算することができます。
ダッシュボード、レポート、または複雑な分析を構築しているかどうかに関係なく、ウィンドウ関数はロジックを簡素化し、パフォーマンスを大幅に向上させます。

注意:私はウィンドウ関数の専門家ではありませんが、私がウィンドウ関数を理解するうえで役立ったインサイトやリソースを共有したいと思います。 ご提案や訂正があれば、ぜひお知らせください!


🚀 ウィンドウ関数が重要な理由

累積合計やランキング、行間の差分を計算するために、複数のSQLクエリや手続き型のループを書いたことはありませんか?

0
1 60
記事 Toshihiko Minamoto · 1月 26 5m read

InterSystems IRIS、特にInteroperabilityを使い始めたころ、最初によく思っていた疑問の一つは「処理を一定間隔やスケジュールで実行するにはどうすればいいのか」でした。 このトピックでは、この問題に対処する2つのシンプルなクラスをご紹介します。 似たようなクラスがEnsLibに見当たらないことに、驚いています。 十分に検索しなかったのかもしれません。 いずれにせよ、このトピックでは複雑な作業を扱うつもりはなく、初心者向けの簡単なスニペットを少し紹介します。

0
0 39
記事 Toshihiko Minamoto · 1月 21 4m read

メール送信は、統合シナリオでは一般的な要件です。クライアントへのリマインダー、自動レポート、トランザクション確認などに使用されます。 固定メッセージは、管理やパーソナライズが難しくなりがちです。 そこで登場するのが templated_email モジュールです。InterSystems IRIS InteroperabilityをJinja2テンプレートの機能を組み合わせます。

メール作成でJinja2を選ぶ理由

Jinja2はPythonエコシステムで人気のあるテンプレートエンジンで、完全に動的なコンテンツ生成を可能にします。 次をサポートします:

  • 変数 — 統合メッセージや外部ソースから動的にデータを取り込みます
  • 条件(if/else)— ランタイムデータに基づいてコンテンツを変更します
  • ループ(for)— テーブル、項目リスト、反復セクションを生成します
  • フィルターとマクロ — 日付や数字のフォーマット、テンプレートブロックを再利用します

簡単なメール本文テンプレートの例:

 


Hello {{ user.name }}!

{% if orders %} You have {{ orders|length }} new orders: {% for o in orders %}

  • Order #{{ o.id }}: {{ o.
0
0 41
記事 Toshihiko Minamoto · 1月 19 13m read

この記事では、2025.2リリースで導入された、IRIS SQL処理の重要な要素、InterSystems IRISのテーブル統計処理の大きな改善について紹介します。 まず最初に、テーブル統計とは何か、どのように利用されるのか、そしてなぜ今回の改善が必要だったのかを簡単におさらいします。 その後、テーブル統計を収集・保存するための新しいインフラの詳細を掘り下げてから、この変更が実際にアプリケーションにどのような影響を与えるのかを詳しく見ていきます。 最後に、新しいモデルで可能になったパターンに関する追加の注意点をいくつか紹介し、今回の初期リリースに続く次のフェーズに期待をつなげます。

0
0 37
記事 Toshihiko Minamoto · 1月 14 10m read

Googleフォームは、データ収集、アンケートやクイズへの回答を行うための市場で最も人気のソリューションです。そのため、システムを拡張または開発することなく、患者データや回答を実用的な方法で収集するのに理想的な手段と言えます。本記事では、Google Cloudにアカウントを作成し、Google Forms APIを利用するアプリケーションを登録します。また、APIを利用するためのサービスユーザーを生成して、最後にEmbedded PythonとIRISを用いて新しいフォームを作成し、入力されたデータを自動的に収集する方法ついて詳しく説明します。

Google Cloudアカウントの作成

Google Cloudアカウントをお持ちでない場合、これらの手順に従ってください。すでにお持ちの場合は、次のセクションに進みます。
Google Cloud Platform(GCP)アカウントを作成するには、最初にGoogleアカウントを作成する必要があります。 次に、Google Cloudコンソールにサインインし、無料枠を利用開始するか、課金アカウントを作成できます。 ステップバイステップガイドは次のとおりです。
1.    Google Cloudコンソールに移動する。cloud.google.comにアクセスします。
2.    Googleアカウントにサインインする。

0
0 45
記事 Toshihiko Minamoto · 1月 12 7m read

image

血液検査の結果を見て、何が書いてあるのか全然わからないあの感じ、分かるかと思います。 その問題を解決してくれるのがFHIRInsightです。 そもそも医療データは怖いものや分かりにくいものではなく、誰もが活用できるものであるべきだ、という考えから始まりました。 血液検査は健康チェックではとても一般的ですが、正直なところ、理解するのは多くの人にとって難しく、臨床検査を専門としない医療スタッフにとっても難しいことがあります。 FHIRInsightは、血液検査のプロセスをもっと分かりやすくし、情報をより活用しやすくすることを目指しています。

FHIRInsight logo

🤖 FHIRInsightを構築した理由

すべては、シンプルながら強力なこの質問から始まりました。

「なぜ血液検査の結果を読むのは、時には医師にとってもこんなに難しいのか?」

血液検査の結果を見たことがあるなら、大量の数字、意味の分かりにくい略語、そして自分の年齢や性別、状態に合っているかどうかもわからない「基準範囲」を見たことがあると思います。 確かに診断ツールではありますが、状況が分からなければ、結局推測することになります。 経験豊富な医療従事者でさえ、すべてを理解するためにはガイドラインや論文、専門家の意見を照らし合わせる必要があることがあります。

そこで登場するのがFHIRInsightです。

0
0 44
記事 Toshihiko Minamoto · 1月 7 25m read

 

FHIRサーバー

FHIRサーバーとは、FHIR(Fast Healthcare Interoperability Resources)標準を実装するソフトウェアアプリケーションであり、医療システムが標準化された方法で医療データを保存アクセス交換、および管理することができるようにします。

Intersystems IRISは、以下のFHIRリソースを保存および取得できます。

  • リソースリポジトリ – IRISネイティブのFHIRサーバーは、FHIRバンドルやリソースをFHIRリポジトリに容易に直接保存することができます。
  • FHIR Facade – FHIRファサードレイヤーは、既存のもの(多くの場合、FHIR以外)の上にFHIRに準拠したAPIを公開するために使用されるソフトウェアアーキテクチャパターンです。 さらに、すべてのデータをFHIRネイティブシステムへ移行せずに、電子健康記録(EHR)、レガシーなデータベース、HL7 v2メッセージストアなどの医療データシステムを合理化します。

FHIRとは?

Fast Healthcare Interoperability Resources(FHIR)は、HL7 Internationalによって作成された標準化されたフレームワークであり、柔軟かつ開発者に優しい最新の方法で医療データの交換を促進します。

0
0 81
記事 Toshihiko Minamoto · 12月 25, 2025 5m read

概要統合とE2Eテストのために一時的なInterSystems IRISコンテナの起動を簡単にするNode.jsライブラリ、testcontainers-iris-nodeのリリースをお知らせします。 このプロジェクトが、testcontainers-iris-pythontestcontainers-iris-javaなどを含む、IRIS用Testcontainersアダプターの既存ファミリーに加わるのは極めて自然なことです。

testcontainers-iris-nodeを使う理由とは?InterSystems IRISで作業するNode.js開発者として、本番環境を再現するテスト環境を設定する際によく問題にぶつかりました。 testcontainers-iris-nodeは、オンデマンドで隔離されたIRIS環境を作成するためにtestcontainers-nodeフレームワークを活用することで、この問題を解決しました。

これは次において特に有用です。

  • IRISデータベースとの統合テスト
  • データパイプラインやマイクロサービスのテスト
  • CIパイプラインでのテスト環境の自動化

機能

  • Testcontainersを使用してDockerコンテナでIRISを起動します
  • カスタムのDockerイメージと構成をサポートします
  • テスト開始前にIRISが準備完了していることを確認するための待機戦略
  • テスト実行間のクリーンなティアダウン
0
0 55
記事 Toshihiko Minamoto · 12月 22, 2025 7m read

概要

typeorm-irisプロジェクトは、TypeORMInterSystems IRISとの統合に対して実験的サポートを提供し、開発者がTypeORMのよく知られているデコレーターとリポジトリの抽象化を使用してIRISとやり取りできるようにします。 これにより、IRISをバックエンドデータベースとして使用するNode.jsアプリケーションを構築するJavaScriptやTypeScript開発者にとって、より馴染みのある開発体験が可能になります。

TypeORM MongoDB Review. I recently started using TypeORM in a… | by Eliezer  Steinbock | Medium

プロジェクトはTypeORMとの主要な統合ポイントを実装しており、基本的なエンティティ操作をサポートしていますが、まだ十分に実戦で検証されておらず、本番環境には適していません。

0
0 52
記事 Toshihiko Minamoto · 12月 17, 2025 5m read

前の記事では、smolagentsとInterSystems IRISを使用して、SQL、ベクトル検索を使用したRAGinteroperabilityを組み合わせたカスタマーサービスAIエージェントをビルドしました。

その際、LLMと埋め込み表現のためにクラウドモデル(OpenAI)を使用しました。

今回はさらに一歩進めます。Ollamaを利用して、同じエージェントをローカルモデルで実行します

0
0 53
記事 Toshihiko Minamoto · 12月 15, 2025 8m read

カスタマーサポートの質問は、構造化データ(オーダー、製品 🗃️)、非構造化知識(ドキュメント/よくある質問 📚)、およびライブストリーム(出荷更新 🚚)と多岐にわたります。 この投稿では、以下を使用して、3つすべてに対応するコンパクトなAIエージェントを作成します。

  • 🧠 Python + smolagentsは、エージェントの「頭脳」を構成します
  • 🧰 SQLベクトル検索(RAG)、およびInteroperabilityのためのInterSystems IRIS(モック配送状況API)
0
0 71
記事 Toshihiko Minamoto · 12月 11, 2025 3m read

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

先日の 第3回InterSystemsJapan開発者コミュニティミートアップでは、Google Colab を使ったワークショップを実施しました。
その際、解説を読みながら、その場でコードを実行できる Jupyter Notebook の良さを改めて実感しました。

  • 「このメソッド、どう使うんだっけ…?」
  • 「処理の途中で変数の中身を確認したい…」
  • 「現場で実行するルーチンと作業手順を一緒に残しておきたい…」

こうした課題は、Notebook 形式にするだけで驚くほど解決します。
サンプルコードのすぐ横に解説を置けるので、迷う時間が減り、そのまま作業ドキュメントにもできます。
ObjectScript でも同じことができれば、学習にも現場作業にもとても便利ですよね。


ObjectScript を Notebook から実行したい…でも...

実は以前、開発者コミュニティに Jupyter Notebooks に ObjectScript を追加する方法https://jp.community.intersystems.com/node/521496)といった記事が紹介されていました。「これは便利そう!」と思い GitHub リポジトリ(

1
0 58
記事 Toshihiko Minamoto · 11月 26, 2025 10m read

Vanna.AI - パーソナライズされた AI InterSystems OMOP エージェント

 

OHDSI のウェブブックからアキレスに続くこの OMOP の旅シリーズに沿って、適切に記述された R と SQL の組み合わせによって、組織間で共有可能な大規模な分析の結果が導き出されるのを見れば、OMOP 共通データモデルの威力を理解し始めることができます。 とは言え、私には第 3 正規形の知識がないので、約 1 か月前の旅において、Databricks Genie を使って、InterSystems OMOP と Python 相互運用性を活用して SQL を生成しました。 非常にうまくいきましたが、RAG「モデル」がどのように構築され、それを実現するための LLM の使用については、Databricks の内部に魔法が残されています。

OMOP の旅のこの時点で、同じ道で Vanna.ai と出会いました...

Vanna は、LLM を使用してデータベースの正確な SQL クエリを生成するのに役立つ、検索拡張を使った Python パッケージです。

0
0 56
記事 Toshihiko Minamoto · 11月 24, 2025 5m read

img

この記事では、Pythonでの仮想環境の概念を紹介します。仮想環境は、依存関係を管理してプロジェクトをOSから分離するために不可欠です。

仮想環境とは?

仮想環境とは、次が含まれているフォルダのことです。

  • 特定のバージョンのPython
  • 最初は空のsite-packagesディレクトリ

仮想環境により、OSのPythonインストールとその他のプロジェクトからプロジェクトを分離できるようになります。

使用方法

仮想環境を使用するには、これらの手順に従います。

  1. 仮想環境を作成する:Pythonに標準搭載されている venv モジュールを使用すると、仮想環境を作成できます。 ターミナルを開いて、以下を実行します。

    python -m venv .venv
    

    .venv を希望する環境名に置き換えます。

  2. 仮想環境を有効化する:仮想環境を作成した後に、有効化する必要があります。 コマンドは、オペレーティングシステムによって異なります。

    • Windowsの場合
    .venv\Scripts\Activate.ps1
    

    エラーが発生した場合は、ターミナルで以下のコマンドを実行する必要がある可能性があります。

    Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force; .venv\Scripts\Activate.
0
0 96