これは InterSystems FAQ サイトの記事です。
イベントログの削除には、Ens.Util.LogクラスのPurge()メソッドを使用します。実行時以下の引数を指定します。
第1引数:削除数(参照渡し)
第2引数:保持日数(デフォルト7)
メッセージの削除には、2種類の方法があります。
1) 2022.1.2以降の導入されたマルチプロセスで削除する方法
Ens.Ens.Util.MessagePurgeクラスのPurge()メソッドを使用します。実行時以下の引数を指定します。
第1引数:削除数(参照渡し)
第2引数:保持日数(デフォルト7)
第3引数:1を指定(Completeではないメッセージの削除を防止するための指定)
第4引数:メッセージボディも一緒に削除する場合は1を指定
第5引数:デフォルトは500(秒)が設定されていますが、大量のメッセージをパージするとクリアされたビットマップの最適化に時間を要して最適化が完了しない場合があるため、大量削除の場合は 10000000000など大きな値を指定します。
2) Ens.MessageHeaderクラスのPurge()メソッドを使用する方法。
実行時以下の引数を指定します。
UDL形式でのインポート・エクスポートが出来ない古いCahceバージョンのソースを保守していたり、古くからのバージョン管理下においてXMLでのバージョン管理を行っている環境であったりと、未だにXMLでのエクスポート・インポートが必要になる場面はまれにあるかと思います。 今回、そういった環境下でもわざわざ管理ポータルを開かずとも、VSCodeでXML形式でエクスポートする拡張機能をリリースしましたので、共有させて頂きます。
機能について
編集画面、あるいは、VSCodeのエクスプローラータブ内からクラスを選択し、コンテキストメニューの「XML形式でエクスポート」を実行します。


XMLファイルは所定の場所に保存されます。保存先は設定で指定が出来ます。
複数のクラスを選択した場合、初期値では1対1でXMLファイルが保存されます。
設定を変更する事で、1つのXMLファイルとして保存する事も可能です。
利用方法
- 拡張機能の検索窓から"ObjectScript To XML"を検索し、インストールします。

-
READMEに記載されているソースをダウンロードし、IRISへインポートします。
-
ウェブ・アプリケーションを作成します。
-
必要な場合、拡張機能の設定値を変更します。
開発者の皆さん、こんにちは。
試していたWebAPIでは、POST要求時クエリパラメータとボディの両方を送る必要がありましたので、HTTPアウトバウンドアダプタが提供するメソッド:Post()/PostFormDataArray()/PostURL() 辺りをドキュメントで確認していたのですが、残念ながら両方を渡せるように作成された丁度良いメソッドがありませんでした。
ドキュメント:HTTPアウトバウンドアダプタが提供するメソッド
では、どのように送ったかというと、SendFormDataArray()の第3引数を利用して両方の情報を送付してみました。
具体的には、SendFormDataArray()の第2引数にはHTTPメソッド(GET、POST、PUT、DELETEなど)第3引数に%Net.HttpRequestのインスタンスが渡せる仕様になっていましたので、クエリパラメータとボディを%Net.HttpRequestのインスタンスに設定し、第3引数に指定して実行する方法をとりました。
set status=..Adapterこれは InterSystems FAQ サイトの記事です。
永続クラス定義では、データを格納するグローバル変数名を初回クラスコンパイル時に決定しています。
グローバル変数名は、コンパイル後に表示されるストレージ定義(Storage)で確認できます。
例)
{
Property Name As %String; Property Email As %String; Storage Default
{
<Data name="PersonDefaultData">
<Value name="1">
<Value>%%CLASSNAME</Value>
</Value>
<Value name="2">
<Value>Name</Value>
</Value>
<Value name="3">
<Value>Email</Value>
</Value>
</Data>
<DataLocation>^Training.PersonD</DataLocation>
<DefaultData>PersonDefaultData</DefaultData>
<ExtentSize>0</ExtentSize>
<IdLocation>^Training.PersonD</IdLocation>
<IndexLocation>^Training.
Caché技術ガイドのいくつかをIRIS版に書き換えた文書を作成しましたので公開します。
IRISファーストステップガイド
IRISBasicTechnologyGuide
- ObjectScript操作ガイド
- オブジェクト操作ガイド
- 多次元データエンジンの概念およびアーキテクチャー
IRIS SQLガイド
こちらの記事では、既存のユーザ設定をプログラムで変更する方法をご紹介します。
ユーザロールを追加/削除したい、有効期限設定を変更したい、等の場合にお役立てください。
なお、ユーザ設定をプログラムで新規作成する方法は こちら の記事で紹介しております。
// ユーザを指定してロールを確認する(以下の例は、test ユーザ)
USER>zn "%SYS"
%SYS>do ##class(Security.Users).Get("test",.InterSystems IRIS® data platform、InterSystems IRIS® for Health、HealthShare® Health Connect 2025.1 の最初の開発者プレビューが WRC 開発者プレビューページ に公開されました。コンテナ版は InterSystems コンテナレジストリ から latest-preview のタグで取得いただけます。
この開発者プレビューには、IBM の Open XL C/C++ for AIX 17.x コンパイラへの移行機能が含まれています。これにより、古いコンパイラがサポート終了に近づいている中、将来の AIX ビルドとの互換性が確保されます。この移行では、AIX 7.2 と 7.3 で SSL3 をサポートする aixopenssl30 に焦点をあてています。
ドキュメントは以下のリンクからご覧いただけます。
キットについて
本リリースでは、すべてのサポート対象プラットフォーム向けに、従来のインストーラ形式をご提供します。サポート対象プラットフォーム一覧は こちらのドキュメント をご覧ください。
Intersystems IRISおよびIRIS for Health 2025.1より、Zen レポートのメンテナンスが終了することをお知らせします。 これは、2018年のInterSystems IRIS発表時に非推奨となり、その後、2020年のInterSystems Reportsの搭載により、代替のレポート機能を提供したためです。 時系列の概要は以下の通りです。
2018年3月 InterSystems IRIS 2018.1導入 Zen Reportsの非推奨を発表、既存アプリケーションの継続性を確保するため出荷を継続
2020年4月 InterSystems IRIS 2020.1発表 InterSystems IRISおよびIRIS for Healthのユーザライセンス、Advanced ServerライセンスにIntersystems Reportsを組み入れる。
2023年5月 Zen レポートのメンテナンス終了のお知らせ
2024年の2H Zen レポートがipmモジュールとして利用可能
2025 年 1 月 (InterSystems IRIS 2025.
コミュニティメンバーから、Python 2024 コンテストでの出品に対する非常に素晴らしいフィードバックが届きました。 ここで紹介させていただきます。
純粋な IRIS の 5 倍以上のサイズでコンテナーをビルドしているため、時間がかかっています
コンテナーの始動も時間はかかりますが、完了します
バックエンドは説明通りにアクセス可能です
プロダクションは稼動しています
フロントエンドは反応します
何を説明したいのかがよくわかりません
私以外のエキスパート向けに書かれた説明のようです
出品はこちら: https://openexchange.intersystems.com/package/IRIS-RAG-App
このようなフィードバックをいただけて、本当に感謝しています。プロジェクトに関する記事を書く素晴らしいきっかけとなりました。 このプロジェクトにはかなり包括的なドキュメントが含まれてはいますが、ベクトル埋め込み、RAG パイプライン、LLM テキスト生成のほか、Python や LLamaIndex などの人気の Python ライブラリに精通していることが前提です。
この記事は、IRIS での RAG ワークフローを実証するに当たって、上記の前提事項や、それらが IRIS で RAG ワークフローをこのプロジェクトにどのように適合するかについてを説明する試みです。
REST/JSONを使ってデータを交換することが増えてきていると思いますが、POSTでIRISにデータを渡す場合に日本語が含まれる場合に皆さんどう処理していますか?
わざわざ自分でコード変換する処理を追加していませんか?
実は、あまり知られていないのですが、自動で変換する方法がありますので、紹介します。
CSPのメカニズムを使ってクライアントからデータをPOSTすると、それはCSPのRequestオブジェクトのContentプロパティに渡されます。
ContentプロパティのTypeは%CSP.Streamになっていて、このTypeのクラスリファレンスを読むと、Content-TypeがText/のときには、CharSetに基づいてコード変換が行われると示唆されています。
つまりContent-TypeがJSONの場合には、自動的な変換がされないということになります。
本当は、Content-TypeがJSONの時も変換してくれるのが一番良い(わかりやすい)のですが、残念ながらそうなっていません。
その代わりにパラメータが用意されています。
RESTのディスパッチクラスの定義に以下のパラメータを追加することで、自動コード変換を行なってくれます。
Parameter CONVERTINPUTSTREAM = 1;
IRISを起動しようとするとエラーとなり起動できません。
どなたか解決策をご存知でしょうか?よろしくお願い致します。
環境:Windows11
事前作業:
下記URLと同症状が発生し、アップグレードインストールを行っています。
https://jp.community.intersystems.com/post/iris%E3%82%B3%E3%83%9F%E3%83…
操作:
1.タスクトレイアイコンから「InterSystems IRIS 開始(S)[IRIS]」を選択。
2.エラーメッセージが表示される。
.png)
イベントビューアのエラー:
- <Event xmlns="http://schemas.microsoft.
こんにちは、皆さま。
業務でIRISを用いて開発を行っている者です。
IRISに直接Insert文を発行する時と、JDBCを経由してInsert文を発行する時とで、
挙動差異があるように見受けれれまいたので、何かご存知な方がいらっしゃれば教えてください。
次の様なテーブルがあります。.png)
それに対してDBeaverとIRIS管理ポータルからInsertを実行します。
★DBeaver
.png)
★IRIS管理ポータル.png)
この後実際に作成されたグローバルの情報を確認すると、
『VARCHAR型』で作成したカラムに数値をInsertした際に、
実データの型が異なっていることがわかります。
DBeaver(JDBC) ➡ 文字列で登録
IRIS直 ➡ 数値で登録
.png)
個人的には『VARCHAR型』に数値が入ること自体がおかしいので、
DBeaverの方がまし(ホントは型違反とかになってほしい)と思うのですが、
この差異が何で発生するのか、また回避する方法をご存じな方がいらっしゃれば情報共有頂きたいです。
また、そもそもIRISはRDBを使っても型チェックが曖昧になるものなのかも気になっています。
さすがに数値のカラムに文字列を入れようとすると怒られるのですが、
上記の様な場合にチェックの仕組みが働かないのには違和感がありました。
こんにちは、皆さま。
業務でIRISを用いて開発を行っている者です。
私自身SQLがあまり得意ではなく、
業務で書いてみたもののパフォーマンスがよくなく、
不要なループが含まれていた、無駄な検索条件が含まれている…なんてことが多々あります。
IRISの管理コンソールなどにはいろんな機能があると思うのですが、
パフォーマンス改善をするために利用できるツールなどはあったりしますでしょうか?
何かご存知の方がいらっしゃいましたら、情報共有頂けますと幸いです。
前回の記事では、ICD-10 による診断のコーディングをサポートできるように開発された d[IA]gnosis アプリケーションを紹介しました。 この記事では、InterSystems IRIS for Health が、事前トレーニングされた言語モデル、そのストレージ、およびその後の生成されたすべてのベクトルの類似性の検索を通じて ICD-10 コードのリストからベクトルを生成するために必要なツールをどのように提供するかを見ていきます。

はじめに
AI モデルの開発に伴って登場した主な機能の 1 つは、RAG(検索拡張生成)という、コンテキストをモデルに組み込むことで LLM モデルの結果を向上させることができる機能です。 この例では、コンテキストは ICD-10 診断のセットによって提供されており、これらを使用するには、まずこれらをベクトル化する必要があります。
診断リストをベクトル化するにはどうすればよいでしょうか?
SentenceTransformers と Embedded Python
ベクトルを生成するために、トレーニング済みのモデルからの自由テキストのベクトル化を大幅に容易にする SentenceTransformers という Python ライブラリを使用しました。 そのウェブサイトでは以下のように説明されています。
Embedded Pythonの導入に伴い、1つ嬉しいことは、直接エクセルファイルの読み書きができるようになったことです。
それでこの機能を使って、ミニ業務改革をちょこちょこ行なっているのですが、そこでちょっとハマったことを共有します。
実際この内容は実はIRISとは全く関係ないのですが、このDCコミュニティの皆さんが同じことでハマった場合に少しでも早く問題解決できるように情報共有します。
エクセルの計算式の入ったセルの値を読み取るときには、そのファイルのオープンの際にdata_only=Trueというフラグをつけないといけないのですが、そのファイルがopenpyxlで読み書きしたファイルの場合に、その計算式のセルの値(Noneとなる)がうまく読めないことがあります。
その場合には、そのファイルをエクセルで開いて再保存することで、正しく読むことができます。
以下にそのあたりの内容を説明したページがあります。
Pythonでは、拡張モジュールのバージョン違いが混同されないように、venv を使って仮想環境に拡張モジュールをインストールする事を推奨されてたりしますが、IRISから使用する場合に、このvenvで作られた仮想環境を利用する事は可能でしょうか?
PythonPathに仮想環境のパスを指定してはみましたが、プロジェクトから、あるいはimportで、その場所を指定する等出来るでしょうか?
何方か御存知の方がおられましたら、その方法などを教えて下さい。
2024年第4四半期のプラットフォーム最新情報をお届けします。みなさまの2024年が素晴らしい年であること、そして2025年がもっと素晴らしい年になることをお祈りしています。
初めてご覧になる方、はじめまして!この記事では、最近おこなわれた変更点や今後予定されている変更点に関する情報を、みなさまに共有させていただきます。ただ、将来の予測は難しい側面があり、ロードマップは約束されたものではないということを十分ご理解くださいませ。
InterSystems IRIS 本番環境用オペレーティングシステムと CPU アーキテクチャ
Red Hat Enterprise Linux
- 過去にお知らせ済みの変更点
- IRIS 2024.1 での RHEL 9.4 および 8.10 に関するマイナー OS 認証が問題なく完了しました。
- 今後予定されている変更点
- RHEL の次期メジャーバージョン RHEL 10 のリリースは 2025年Q2 に予定されています。
- 短期間サポートである RHEL 9.5 および 8.11 が今月はじめにリリースされました。IRIS 2024.1 でのマイナー OS 認証を実施中です。
- Red Hat のリリースライフサイクルについては こちら をご覧ください。
Ubuntu
- 過去にお知らせ済みの変更点
- IRIS 2024.
ここ最近になって、VSCodeで以下のようなエラーが出るようになり、波線だらけになってしまいます。
IRISサーバーとは連携出来ていて、コンパイルも通るので大きな問題ではないのですが、ソースが真っ赤っ赤になってとっても見辛いです。
これらを消す方法があれば教えて下さい。
VSCode、拡張モジュール共に最新です。
Avoid using legacy if/else flow control statements (cachequality:OS0089)
鍋蓋カッコを使わない1行のIF文のところで真っ赤な波線が出まくります。
例:if (a = "") set b = "c"
Consider using an If statement instead of a postconditional (cachequality:OS0039)
コマンドの後付条件を記載しているところで、青い波線が出まくります。
例:quit:var=""
This QUIT invocation exits the current method; consider using RETURN instead (cachequality:OS0031)
処理の途中で、Quitと書いていることろが黄色い波線が出まくります。
ちなみに、以下のようなメッセージも出ます。
インターシステムズは InterSystems IRIS data platform、InterSystems IRIS for Health、HealthShare Health Connect のバージョン 2024.3 をリリースしました。2024.3 は Continuous Delivery(CD)リリースです。
ベクトルデータ型と Vector Search 機能が IRIS に導入されたことにより、アプリケーションの開発に多数の可能性が開かれました。こういったアプリケーションの例として、バレンシア保健省が AI モデルを使用した ICD-10 コーディング支援ツールを要求した公募で出品されたアプリケーションが最近私の目に留まりました。
要求されたツールのようなアプリケーションをどのように実装できるでしょうか? 必要なものを確認しましょう。
- ICD-10 コードのリスト。自由テキスト内で診断を検索するための RAG アプリケーションのコンテキストとして使用します。
- ICD-10 コード内で相当するものを検索するためにテキストをベクトル化するトレーニング済みモデル。
- ICD-10 コードとテキストの取り込みとベクトル化を行うために必要な Python ライブラリ。
- 可能性のある診断を見つけるためのテキストを受け入れる使いやすいフロントエンド。
- フロントエンドから受信するリクエストのオーケストレーション。
これらのニーズに対応するために、IRIS は何を提供できるでしょうか?
- CSV インポート。RecordMapper 機能を使うか、Embedded Python を直接使用します。
2024年12月4日に InterSystems System Alerting and Monitoring (SAM) を InterSystemsダウンロードサイト、コンテナレジストリ、ドキュメントサイトから削除します。
InterSystemsは SAM の開発中止と、非推奨になることを昨年ご案内しました。現在この技術をお使いのお客様については、ミニマムサポートバージョンを過ぎた製品バージョンのサポートと同様にサポートを継続します。
これは、SAM が提供するオブザーバビリティに関心をもつようなお客様はほとんど、既存の運用プラットフォームのビューをより優れたものにするために、すでにInterSystems IRIS の Metric API と構造化ログ(英語ドキュメント)を、組織のオブザーバビリティ・プラットフォームに接続済みだと判明したことによります。
現在ご利用中または利用を予定されていた SAM に関するご質問は、弊社担当アカウントチームにお問合せいただくか、 dbpprodmgrs@intersystems.com までご連絡ください。
開発者の皆さん、こんにちは!
🎄 クリスマスの雰囲気が漂いはじめた今日のこの頃、今年最後のプログラミングコンテストで何か新しいことに挑戦するのはどうでしょうか?
🏆 アイデア実現コンテスト 🏆
Community Opportunity のステータスを持ち、実際のプログラミングを必要とするInterSystems Ideas Portal のアイデアを実装した作品をご応募ください。
期間:2024年12月2日~22日
賞金総額: $14,000
コミュニティの皆さん、こんにちは。
この記事では、iris-RAG-Gen という私のアプリケーションをご紹介します。
iris-RAG-Gen は、IRIS Vector Search の機能を使用して、Streamlit ウェブフレームワーク、LangChain、および OpenAI で ChatGPT をパーソナライズするジェネレーティブ AI 検索拡張生成(RAG: Retrieval-Augmented Generation)アプリケーションです。 このアプリケーションは IRIS をベクトルストアとして使用します。
アプリケーションの機能
- ドキュメント(PDF または TXT)を IRIS に取り込む
- 選択されたドキュメントの取り込みを使ってチャットする
- ドキュメントの取り込みを削除する
- OpenAI ChatGPT
ほとんどの方が @Daniel Tamajon の CachéQuality プロジェクトをご存知かと思います。 まだご存知でない方のために説明すると、InterSystems 製品用に記述されたコードの静的構文アナライザーです。 コード内の様々な種類の問題や潜在的なバグがお客様のプロダクション環境で見つかる前に、それらを検出して解決するのに役立てられます。 つまり、CachéQuality を使用することで、より優れた製品を提供できるようになります。 ObjectScript コードのチェックに使用されるルールの完全なリストは、こちらをご覧ください。
これは、InterSystems FAQサイトの記事です。
これは、MS-ACCESSの制限事項です。
MS-ACCESSは、インデックスが32個より多いテーブルにはリンクできません。
この問題を回避する方法として、直接テーブル(クラス)をリンクするのではなく、VIEWを使用する方法があります。
最近はパブリッククラウド環境でIRISを使ってアプリケーションを構築されるお客様が多数で、IRISのセキュリティ機能についてご質問を受ける機会が増えました。実際の運用で始めてセキュアなIRISを操作するよりも経験した方が良いかもと考え、その第一歩としてインストール時の初期セキュリティ設定には普段からロックダウンを指定するのはいかがでしょうか。通常セキュリティ設定の違いおよび注意点をマニュアルを参照しながらリストアップしました。
.png)
.png)
パスワードの最小文字数が8文字になります。またSQLのルートユーザとして作成される_SYSTEMユーザは運用開始前の無効化を推奨しているように、高いセキュリティレベルが必要な環境では不要あるいは一時的に同等の権限を付与したユーザを作成して対応可能ではないでしょうか。
2. サービスプロパティ
.png)
Use許可のPublicが不可、とはIRISにアクセスする手段を明示的に許可しないと使えないことを意図しています。予期せぬユーザーがODBCでアクセスしたり、管理コンソールを使用したりと言った事故を防ぐ有効な手段です。
.png)
また初期状態で有効化されているサービス、WebGatewayに加えてWindowsの場合Console、非WindowsではTerminalと必要最小限になっています。
以前、Azure用にOAouth2クライアントをセットアップする記事を書いた時に思ったのですが、各IdPはサンプルコードとしてPythonコードや専用のモジュールを提供しているので、それがそのまま使用できれば効率が良いのにな、と思いました。
IRISが埋め込みPython機能としてWSGIをサポートしたことにより、これが簡単に実現しそうなので、その方法をご紹介したいと思います。
導入方法
今回は、IdPとしてOKTAを使用してAuthorization Codeフローを行います。
OKTAでの設定内容
参考までに、今回使用した環境を後半に記載しています。
アプリケーションの起動
コンテナ化してありますので、コンテナのビルド環境をお持ちの方は、下記を実行してください。
git clone https://github.com/IRISMeister/iris-okta-oidc-wsgi
cd iris-okta-oidc-wsgi
python/.env.templateをpython/.envという名前でコピーを作成して、OKTAで得られる設定値を指定してください。
AUTH0_CLIENT_ID="0oaxxxxxxx"
AUTH0_CLIENT_SECRET="qUudxxxxxxxxxxx"
AUTH0_DOMAIN="dev-xxxxx.okta.開発者の皆さん、こんにちは!
2回目の開催となったミートアップですが、11月8日(金)に無事、開催を終えることができました。ご参加いただきましたメンバーの皆様、ありがとうございました!
今年のミートアップでは、ワークショップを開催してみました。13時半~17時半の約4時間(!)もの間、ご持参いただいたパソコンでもくもくと進めていただいていたように思えます。
.png)
ミートアップのワークショップで使用した内容は、全て以下リポジトリに公開しております。
👉https://github.com/Intersystems-jp/meetup2024WorkShop
以下、写真を添えながら当日の様子を少しご紹介します。
第1部は、ワークショップを合計5種類用意いたしました。
「Python入門」、「Embedded PythonでIRISデータにアクセスしよう」までは、全員一緒のタイミングで説明を聞いていただきながら、内容を確認するワークショップを行いました。
10分間の休憩を挟んだ後は、ご用意しました3種のワークショップ:「WSGI-Flask」「NiceGUI+SQL Alchemyを使ってアプリケーションをつくってみよう」「機械学習で手書き数字の識別に挑戦」のなかから好きな内容にチャレンジいただきました。
ご好評いただいておりますインターシステムズ開発者向けウェビナー、今年最後の回は以下の通り開催いたします。
お忙しい時期ではありますが、皆様のご参加をお待ち申し上げております。
テーマ:「IRISで実現する極小オーバヘッドの IoTエッジサーバー」
日時:2024年12月10日(火)13時30分~14時
【概要】
IoTデバイスで発生するデータをサーバに送信して、アラートを管理する、後の利活用のためにデータベースに保存する、といったシナリオは多くの分野で見受けられます。その際、伝送するデータのフォーマットは、様々な処理系で利用可能で、データサイズが小さく、スキーマ定義が容易であることが望ましいです。
データフォーマットは、全体のパフォーマンスに影響を与える多数ある要素のひとつにすぎませんが、最もソフトウェアが貢献できる要素でもあります。本セミナでは、通信プロトコルとしてMQTT, メッセージフォーマットとしてApache Avro、DBとしてIRIS、コードとして(埋め込み)Pythonを使用した実行環境を「シンプルな構成」で実現する例をご紹介します。
(1).jpg)



