記事 Toshihiko Minamoto · 2025年9月4日 6m read OMOP Odyssey - FHIR® から OMOP への ETL(カリプソの島編) プロフェッショナルな FHIR® から OMOP への変換 #InterSystems IRIS for Health 0 0 0 47
記事 Toshihiko Minamoto · 2025年8月21日 5m read OMOP Odyssey 対応記念(ハデスの館編) Hades DatabaseConnector 6.4.0 が IRIS に対応しました! #分析 #InterSystems IRIS 0 0 0 47
記事 Tomoko Furuzono · 2025年5月13日 1m read 各DDLデータ型とInterSystems IRISデータ型のマッピング定義 IRISから他DDLのデータを参照したり取り込んだりする場合、各DDLのデータ型はそれと同等の InterSystems IRIS データ型にマッピングされます。 マッピングの定義は、管理ポータル、および、下記ドキュメントページでご確認いただけます。 管理ポータル:[システム管理] > [構成] > [SQLとオブジェクトの設定] > [システムDDLマッピング] #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 47
記事 Toshihiko Minamoto · 2025年11月26日 10m read OMOP Odyssey - Vanna AI(冥界編) Vanna.AI - パーソナライズされた AI InterSystems OMOP エージェント #Artificial Intelligence (AI) #Generative AI (GenAI) #Python #Vector Search #InterSystems IRIS 0 0 0 46
記事 Hiroshi Sato · 2025年9月25日 2m read GROUP BY や DISTINCT クエリで大文字で検索されてしまう場合の対処方法 これは InterSystems FAQ サイトの記事です。 何の設定も行なっていない場合、GROUP BYやDISTINCTで指定したフィールドは大文字小文字を区別せずに全て大文字として処理されます。 これはGROUP BYやDISTINCTのグループ化がフィールドに対して定義された照合タイプに基づいて行われ、その文字列照合の既定値がSQLUPPERになっているためです。 以下のドキュメントに説明がある通り、DISTINCT は、フィールドに対して定義された照合タイプに基づいて、文字列値をグループ化します。 大文字/小文字の区別と DISTINCT の最適化 #SQL #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 46
記事 Hiroshi Sato · 2025年7月27日 2m read JSON形式のファイルを読み書きするサンプル これは InterSystems FAQ サイトの記事です。 ダイナミックオブジェクトの%FromJSONFileメソッドを利用すると簡単にJSON形式のファイルの内容をダイナミックオブジェクトにコピーすることができます。 以下の形式のJSONファイルをそのメソッドを使用して取り込む例は以下のようになります。 #JSON #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 46
記事 Hiroshi Sato · 2025年12月8日 2m read Native SDK for Pythonの使用方法 これは InterSystems FAQ サイトの記事です。 PythonからIRISにアクセスするためのNative SDK for Pythonと呼ばれるインタフェースが用意されています。 Javaや.Net用に用意されているNative SDKと同等な機能が提供されています。 (一部異なる機能があります)。 また、Python用にはEmbedded Pythonと呼ばれるIRISと密に連携した機能があります。 IRISから最大限の性能を得るためには、Embedded Pythonが適していますが、以下のような場合、Native SDKが適しているケースもあります。 #API #Embedded Python #Java #ObjectScript #Python #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 43
記事 Toshihiko Minamoto · 2025年10月9日 8m read InterSystems IRIS Workflow Engine によるタスクのフロー - 外部アプリケーションへの接続 少し遅れましたが、モバイルアプリケーションから接続する例を示して Workflow Engine に関する連載記事をようやく締めくくることにします。 前回の記事では、これから説明する例として、患者と担当医師の両方にとって高血圧症などの慢性病状の詳細な管理を可能にするアプリケーションを示しました。 この例では、患者は携帯電話からウェブアプリケーション(基本的に、デバイスに応答するように設計されたウェブページ)にアクセスし、ポータブル血圧計が IRIS インスタンスに送信する測定に基づく通知を受信します。 したがって、IRIS インスタンスへのアクセスは 2 つです。 モバイルアプリケーションからのユーザーアクセス。 血圧の測定値を送信するデバイスアクセス。 この記事では、患者が測定値を生成するタスクを管理できる、最初のアクセスを確認します。 #Angular #InterSystems IRIS #InterSystems IRIS for Health #Health Connect Open Exchange app 0 0 0 43
記事 Hiroshi Sato · 2025年9月3日 3m read JSON_OBJECT/JSON_ARRAYに関する既知の制限事項/不具合 これは InterSystems FAQ サイトの記事です。 JSON利用の普及に伴いインターシステムズは、JSONに関連する様々な機能強化をIRISに対して行なっています。 その一環として、SQLのJSON_OBJECTのサポートがあります。 この機能に関して現時点より(2025年6月)古いバージョンでは残念ながら制限や不具合が存在しています。 今後も機能強化やバグフィックスを継続していく予定となっているため、この機能の利用を検討および既に利用している方は最新バージョンでのご利用をお勧めします。 ここでは、現時点でわかっている制限事項/不具合についてお知らせします。 #JSON #SQL #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 43
記事 Mihoko Iijima · 2025年6月25日 3m read 管理ポータルの再下位メニューに対してアクセスを制限する方法 これは InterSystems FAQ サイトの記事です。 管理ポータルのシステム管理やシステムエクスプローラーなど最上位のメニューについては、事前定義ロールをユーザに付与することでアクセスを制限することができます。 最下位のメニュー、例えば [システム管理] > [構成] > [システム構成] > [ネームスペース] などは、事前定義ロールの %Manager を付与されたユーザであれば、全てのユーザが利用できてしまいます。 このページに対して、「%Manager ロールを持っているが、あるユーザは使用でき あるユーザは使用できない」のようにユーザ毎のアクセス制限を追加したい場合は、カスタムリソースを作成し再下位メニューに対して作成したカスタムリソースを付与することで制限を追加することができます。 手順は以下の通りです。 #システム管理 #セキュリティ #ヒントとコツ #管理ポータル #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 43
記事 Toshihiko Minamoto · 2025年11月14日 3m read PEP 8入門 この記事では、PythonスタイルガイドであるPEP 8について簡単に紹介します。 PEP 8とは? 簡単に言うと、PEP 8は、Pythonコードの書き方に関するガイドラインとベストプラクティスを提供します。 #ObjectScript #Python #InterSystems IRIS Open Exchange app 0 0 0 42
記事 Andre Larsen Barbosa · 2025年6月9日 3m read 体重のノックアウト 相手に隙を与えないノックアウトパンチのように、オープンソースプラットフォームであるKubernetesは、その可用性(つまり、サポート、サービス、ツールの容易な入手性)により、無限の可能性を秘めています。Kubernetesはコンテナ内のジョブとサービスを管理できるプラットフォームであり、これらのプロセスの構成と自動化を大幅に簡素化します。 しかし、タイトルイメージにふさわしい、このツールに「正しい」名前、InterSystems Kubernetes Operatorを与えましょう。 原理は至ってシンプルです。サービスを選択し、ゲームのルールを定義するだけで(ここでもKnockoutを参照)、すべてが可能な限り透明性と効率性を高めて提供されます。これは、インストール、修復、そして事前定義された要件を満たさない場合の最終的な復旧にも適用されます。 #Kubernetes #コンテスト #InterSystems IRIS 1 0 0 42
記事 Toshihiko Minamoto · 2025年12月11日 3m read Jupyter Notebook から InterSystems ObjectScript を動かしてみよう! 開発者の皆さん、こんにちは。 先日の 第3回InterSystemsJapan開発者コミュニティミートアップでは、Google Colab を使ったワークショップを実施しました。その際、解説を読みながら、その場でコードを実行できる Jupyter Notebook の良さを改めて実感しました。 #Docker #Python #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 41
記事 Toshihiko Minamoto · 2025年9月30日 6m read d[IA]gnosis: ベクトルデータベースにおける類似度検索と LLM の使用による診断の抽出 この連載記事を終えていなかったことに気付きました! 今日の記事では、フロントエンドから最適なオプションを選択できるように、テキストに最も類似する ICD-10 診断を抽出するプロダクションプロセスについて説明します。 診断の類似度検索: アプリケーション内で、HL7 で受け取った診断リクエストを示す画面から、医療従事者が入力したテキストに最も近い ICD-10 診断を検索できます。 #Artificial Intelligence (AI) #Embedded Python #Large Language Model (LLM) #Vector Search #InterSystems IRIS for Health Open Exchange app 1 0 0 41
記事 Mihoko Iijima · 2025年6月30日 2m read ObjectScript での日付の比較方法(ObjectScript での SQL 関数実行方法) これは InterSystems FAQ サイトの記事です。 ObjectScript で日付の比較を行う場合、一旦 $HOROLOG 形式(内部数値)に変換することで算出しやすくなりますが、SQL 関数を利用して算出することもできます。 ObjectScript から SQL 関数を実行するには、%SYSTEM.SQL.Functions クラスを使用します。 #ObjectScript #SQL #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 41
記事 Toshihiko Minamoto · 2025年12月17日 5m read Ollamaを使用して、InterSystems IRISとローカルモデルでAIエージェントを実行する 前の記事では、smolagentsとInterSystems IRISを使用して、SQL、ベクトル検索を使用したRAG、interoperabilityを組み合わせたカスタマーサービスAIエージェントをビルドしました。 その際、LLMと埋め込み表現のためにクラウドモデル(OpenAI)を使用しました。 今回はさらに一歩進めます。Ollamaを利用して、同じエージェントをローカルモデルで実行します。 #Artificial Intelligence (AI) #Generative AI (GenAI) #Large Language Model (LLM) #Python #SQL #Vector Search #InterSystems IRIS Open Exchange app 0 0 0 40
記事 Hiroshi Sato · 2025年12月7日 2m read マルチプラットフォーム環境でCSPファイルをVSCodeで編集する場合の注意点 CSPでWebアプリケーションを開発する方法は今では推奨されていませんが、既存資産が膨大にあって、他の手法への書き換えには相当の時間がかかりそうな方々はたくさんおられることでしょう。 そういう方々は、しばらくはそれらCSPファイルのメンテナンスの必要性があるかと思います。 IRISではVSCodeが主たるIDEとなっていますが、開発環境がWindowsのみであれば、CSPファイルをSJISでメンテナンスしておけば、問題は起こりません。 ところが、それらのファイルをUNIX環境(LinuxやMac)に持っていって、VSCodeで編集作業を開始すると、文字化けの嵐となってしまいます。 これは以前にポストしましたが、UNIX環境のIRISは何も設定しないとロケールがenuw(英語)となっているためです。 さらにこれを日本語専用ロケールに変えても、unix環境ではロケールがjpuwの場合、ファイルの読み書きのエンコーディングが、utf8となっているので、cspファイルのエンコーディングがSJISのままでは都合が悪いです。 従ってCSPファイルのエンコーディングをUTF8に変更する必要があります。 しかし、プラットフォームの切り替えのたびにエンコーディングを変更するのも面倒です。 #CSP #VSCode #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 38
記事 Megumi Kakechi · 2026年1月9日 5m read ミラーの現在の状態&情報をコマンドで確認する方法 これは InterSystems FAQ サイトの記事です。ミラーの現在の状態は、管理ポータルのミラーモニタで確認できます。 こちらのトピックでは、それらの情報をコマンドで確認する方法をご紹介します。 (1) フェイルオーバメンバ(プライマリ・バックアップ)の状態を確認する (2) 非同期メンバの状態を確認する (3) ISCAgentの状態を確認する (4) 定期的にミラーステータスを取得するサンプル(ツール)のご紹介 では、以下のようなミラーの状態を確認してみます(以下はフェイルオーバーメンバ・プライマリの状態)。 #Mirroring #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 37
記事 Mihoko Iijima · 2025年12月22日 8m read アプリケーションの認証を独自の方法で行いたい場合に利用できる代行(委譲)認証について これは InterSystems FAQ サイトの記事です。 InterSystems 製品で利用できる ID およびアクセスの管理には、Kerberos、OS ベース、InterSystems ログイン(=インスタンス認証/パスワード認証)、2 要素認証、JWT 認証、LDAP 認証(AD も含む)、OAuth2 などが用意されていますが、これらのどの方法にも当てはめることのできない独自の管理方法をお持ちの場合に利用できる方法があり「代行認証」(または委譲認証)と呼びます。 ドキュメント:代行認証 #システム管理 #セキュリティ #ヒントとコツ #認証 #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 37
記事 Hiroshi Sato · 2025年8月4日 2m read IRIS for MACにODBCでアクセスする方法その3 前回、macOS上でLibreOfficeからODBC経由でアクセスするためのセットアップについて記事を書きました。 今回 .Net経由でODBCにアクセスする方法を試したので報告します。 LibreOfficeの場合、iODBCでしたが、.Netの場合は、unixODBCを使用します。 従来のバージョンでは、IRISのunixODBCドライバーはUnicode対応(ワイド)でなかったため、.NetのODBCでは日本語を正しく処理できませんでしたが、2025.2よりワイドドライバーが追加されたため正しく処理できるようになりました。 今回.Net経由のアクセスを試した理由は、ODBC版Cache DirectエミュレータをMacで動かせないかと考えたからです。 ODBC版Cache Directエミュレータ こちらのリポジトリにも設定方法の詳細を記載していますが、Mac上でunixODBCドライバーを設定する方法を紹介します。 #ODBC #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 37
記事 Tomoko Furuzono · 2025年3月19日 1m read オンラインバックアップの保存先 これはInterSystems FAQサイトの記事です。 質問: オンラインバックアップの保存先にネットワークドライブ(NAS等)を指定することはできますか? 回答: バックアップの保存先に指定することはできますが、推奨はしておりません。 推奨しない理由は、オンラインバックアップの最終フェーズにDBアクセスを禁止して処理が実行されますが、 このとき、万一ネットワークエラー等でバックアップ処理がハングアップすることがあれば、システム全体に影響が及ぶリスクがあるからです。 #システム管理 #バックアップ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 37
記事 Megumi Kakechi · 2025年12月16日 2m read パイプを使って OS の外部コマンドの出力を取得する方法 これは InterSystems FAQ サイトの記事です。こちらの記事では、コマンド・パイプデバイスを使用して、外部コマンドの出力を取得する方法をご紹介します。 以下のように行います。★コマンド出力を取得する例: #ObjectScript #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 36
記事 Hiroshi Sato · 2025年10月21日 1m read <FRAMESTACK>エラーが発生する原因 これは InterSystems FAQ サイトの記事です。 ルーチンやメソッドを実行した際に以下のような<FRAMESTACK>エラーが発生する場合、DOコマンドの発行の入れ子数が多すぎて、それ以上スタック情報を保持できなくなったことを示しています。 #ObjectScript #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 36
記事 Toshihiko Minamoto · 2026年1月7日 25m read InterSystems FHIRサーバーのカスタマイズとファサード FHIRサーバー #API #FHIR #JSON #REST API #ビジネスサービス #フレームワーク #相互運用性 #HealthShare #InterSystems IRIS for Health #Health Connect 0 0 0 35
記事 Hiroshi Sato · 2025年3月17日 2m read 既存のネームスペースで、インターオペラビリティ機能を無効にする方法 これは InterSystems FAQ サイトの記事です。 ネームスペースを管理ポータルで作成する際に、デフォルトでは、『相互運用プロダクション用にネームスペースを有効化』にチェックがついているため、そのチェックを意図的に外さない限り、新規作成したネームスペースは、インターオペラビリティ機能が有効になっています。 この機能が有効であることによる実用上の弊害(パフォーマンス等に影響する)は、特にありませんが、管理ポータル上のクラス表示にこの機能に関連するクラスが先に表示されて、ユーザー作成クラスの表示に余計な操作が必要になる等の操作上の余分な手間が発生する場合があります。 管理ポータル上でこの設定を無効にするメニューは用意されていませんが、以下の手順で無効化することができます。 - 相互運用性ネームスペースの無効化 #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 35
記事 Hiroshi Sato · 2025年10月21日 1m read 文字列プロパティの数値 order by の並び順 これは InterSystems FAQ サイトの記事です。 %String型のプロパティをOrder Byの条件にしてクエリーを発行した際のデータは以下のような順番で並べられます。 #SQL #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 34
記事 Mihoko Iijima · 2025年12月25日 2m read サマータイムの対応について これは InterSystems FAQ サイトの記事です。 InterSystems 製品の内部日付時刻($HOROLOG)を利用して時刻を取得している場合、オペレーティング・システムが提供するアルゴリズムに基づいて季節的な時刻調整を行います。 そのため、オペレーティングシステムにてサマータイムの調整が行われる場合は、InterSystems 製品は、オペレーティングシステムで対応したサマータイム時刻で動作します。 #ObjectScript #ヒントとコツ #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 33
記事 Tomoko Furuzono · 2025年4月7日 1m read インストールマニフェストを利用したアプリケーションのデプロイ これは、InterSystems FAQ サイトの記事です。 InterSystems製品では、%Installerユーティリティによりインストール・マニフェストを定義することができます。これを利用することにより、複雑な構成設定を自動化することが可能になります。これは特に、複数の同様なアプリケーションデプロイを行うときに大変有効です。 インストール・マニフェストの詳細については、下記のドキュメントページをご参照ください。インストール・マニフェストの作成および使用 #デプロイ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 33
記事 Tomoko Furuzono · 2025年3月27日 1m read 機能トラッカのメッセージについて これは、InterSystems FAQ サイトの記事です。 システムログ(messages.log/cconsole.log)に出力される、 [Utility.Event] %SYS.Task.FeatureTracker failed to transfer data というログは、機能トラッカというタスクが出力しているメッセージです。このタスクは、弊社がユーザ使用状況の統計を取得する為のデータ送信タスクになります。エラーは弊社と通信が行われてない為に発生しています。 #システム管理 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 33
記事 Toshihiko Minamoto · 2025年12月25日 5m read testcontainers-iris-nodeの紹介。Node.jsでIRIS統合テストを簡素化する 概要統合とE2Eテストのために一時的なInterSystems IRISコンテナの起動を簡単にするNode.jsライブラリ、testcontainers-iris-nodeのリリースをお知らせします。 このプロジェクトが、testcontainers-iris-pythonやtestcontainers-iris-javaなどを含む、IRIS用Testcontainersアダプターの既存ファミリーに加わるのは極めて自然なことです。 testcontainers-iris-nodeを使う理由とは?InterSystems IRISで作業するNode.js開発者として、本番環境を再現するテスト環境を設定する際によく問題にぶつかりました。 testcontainers-iris-nodeは、オンデマンドで隔離されたIRIS環境を作成するためにtestcontainers-nodeフレームワークを活用することで、この問題を解決しました。 これは次において特に有用です。 IRISデータベースとの統合テスト データパイプラインやマイクロサービスのテスト CIパイプラインでのテスト環境の自動化 機能 Testcontainersを使用してDockerコンテナでIRISを起動します カスタムのDockerイメージと構成をサポートします テスト開始前にIRISが準備完了していることを確認するための待機戦略 テスト実行間のクリーンなティアダウン #Node.js #テスト #継続的デリバリー #InterSystems IRIS Open Exchange app 0 0 0 32