Studio では、クラスを直接その名前で開くことができます。何度もクリックしながら目的のクラスに到達するまでパッケージツリー内を移動する必要はありません。
Ctrl + O(またはファイル -> 開く)を押せば、以下のようにクラス名を入力するだけです。
.png)
Enter を押すと、クラスが開きます。
VSCode ではこれをどのようにして行えるでしょうか?
Studio では、クラスを直接その名前で開くことができます。何度もクリックしながら目的のクラスに到達するまでパッケージツリー内を移動する必要はありません。
Ctrl + O(またはファイル -> 開く)を押せば、以下のようにクラス名を入力するだけです。
.png)
Enter を押すと、クラスが開きます。
VSCode ではこれをどのようにして行えるでしょうか?
これは、2022.2の開発者プレビュープログラムのリリース第4弾です。 プレビューリリースは、隔週で更新される予定で、準備が整い次第、機能を追加していく予定です。 2022.2では、SQL管理、クラウド統合、KafkaおよびJMSアダプタ、SQL Loaderなどにおいて、多くのアップデート、修正、機能強化が行われています。 製品改善のため、開発者コミュニティを通じてフィードバックをお寄せください
列指向ストレージに関して、Early Access Program (EAP) を受け付けています。ご興味のある方はぜひ Early Access Program にご参加ください。
開発者プレビュー4ではRed Hat RHEL 9のサポートが追加されました。
CDリリースには、サポートされているすべてのプラットフォーム向けの標準インストールパッケージと、OCI(Open Container Initiative、別名Dockerコンテナ)形式のコンテナイメージが付属しています。 詳細については、サポートされるプラットフォームのドキュメントをご参照ください。
インストールパッケージとプレビューキーは、WRCのプレビューダウンロードサイトまたは評価サービスのウェブサイト(2022.2へのアクセスには「Show Preview Software」をチェックしてください)から入手できます。
開発者の皆さん、こんにちは!
コミュニティウェビナーの再開をお知らせします!
今回は、@Ron.Sweeney1582による「Scaling InterSystems FHIR Server on Amazon Web Services with ECP」というウェビナーに皆さんをご招待します。
このウェビナーでは、Amazon Web Services 上の InterSystems FHIR Server を Enterprise Cache Protocol (ECP) を使ってスケールアウトする技術的な詳細、デモ、ベンチマークを紹介します。
⏱ 日時: 8月18日(木)午前8時(東部標準時)、午後9時(日本標準時)
👨🏫 スピーカー: @sween, Integration Required社 フルスタックアーキテクト
サポートではこのような質問をたまに受けることがあります。何かが、または誰かが、想定以上のライセンスを使用しており、それを調べなければなりません。
調べるタイミングは2回あります。 1 つは、アプリケーションが動作しないか、ターミナル経由で接続しようとすると次のような「愛くるしい」メッセージが表示され、ライセンスが使い果たされていることに気づいたときです。
<LICENSE LIMIT EXCEEDED> メッセージ:
2 つ目のタイミングは、アプリケーションを使用できなかったことがあったという苦情をエンドユーザーから受けたときですが、問題が発生しているのを確認するには遅すぎます。 こういった場合には通例、messages.log に「License Limit exceeded xxxx times」というメッセージが確認されます。
最初のタイミングの場合は、問題が発生している状態を確認できるため、それをキャッチする方法がいくつか考えられます。
Jupyter Notebook は、多数の異なるマークアップ言語とプログラミング言語でコードを実行できるセルで構成された対話型環境です。
Jupyter はこれを実現するために適切なカーネルに接続しなければなりませんが、 ObjectScript カーネルがなかったため、それを作成することにしました。
こちらから試すことができます。
結果を少し覗いてみましょう。

Jupyter カーネルはいくつかの方法で作成できます。 ここでは、Python ラッパーカーネルを作成することにしましょう。
ipykernel.kernelbase.Kernel のサブクラスを作成して、特定の言語で実行されるコードを受け取る do_execute メソッドを実装する必要があります。
つまり、ある ObjectScript コードを取得して、何らかの方法で実行し、ノートブックにその結果を返すという概念です。
でも、実際にはどうすればよいのでしょうか。 では、その方法をさらに噛み砕いて説明しましょう。
まず初めに、コードを IRIS に送る必要があります。 ここで使用するのが、Python 用の IRIS Native API です。
ここでは、irisnative パッケージをインポートして、接続を確立するだけです。
これは、2022.2の開発者プレビュープログラムのリリース第3弾です。 プレビューリリースは、隔週で更新される予定で、準備が整い次第、機能を追加していく予定です。 2022.2では、SQL管理、クラウド統合、KafkaおよびJMSアダプタ、SQL Loaderなどにおいて、多くのアップデート、修正、機能強化が行われています。 製品改善のため、開発者コミュニティを通じてフィードバックをお寄せください
列指向ストレージに関して、Early Access Program (EAP) を受け付けています。ご興味のある方はぜひ Early Access Program にご参加ください。
CDリリースには、サポートされているすべてのプラットフォーム向けの標準インストールパッケージと、OCI(Open Container Initiative、別名Dockerコンテナ)形式のコンテナイメージが付属しています。 詳細については、サポートされるプラットフォームのドキュメントをご参照ください。
インストールパッケージとプレビューキーは、WRCのプレビューダウンロードサイトまたは評価サービスのウェブサイト(2022.2へのアクセスには「Show Preview Software」をチェックしてください)から入手できます。
インターシステムズのサポートではレポートのトラブルシューティングを手助けしており、彼らはローカルシステムにて問題を再現したいのですが、JDBC データソース接続が失敗するため、レポートを実行できず、残念な結果となります。 何かよい方法はあるでしょうか?
開発者の皆さん、こんにちは! DICOM 統合を実装したことはありますか? おそらく例やシミュレーターを探したことはあるかもしれません。 この記事では、有用な例を紹介したいと思います。
DICOM はヘルスケアの分野で画像診断に広く使用されているメッセージ規格です。DICOM 規格は、IRIS For Health と Health Connect の両方を使用して、相互運用性の本番環境で使用することができます。これについては、ドキュメントをご覧ください。
多くの場合、DICOM 統合を開発する際に外部システム(PACS など)をシミュレーターで実行すると非常に便利です。実際のシステムに接続する前に、実装したいフローを完全にテストすることができます。
IRIS For Health と dcm4che というシミュレーターを使った DICOM 統合の例があります。
この例では、2 つのシナリオが実装されています。

クエリフロー:

取得フロー:

さまざまな貢献をぜひお待ちしています :)
この記事では、gRPC とは何か、そして IRIS 組み込み Python を使って公式の Hello World を実行する例を紹介します。
ここで紹介するすべてのコードは、こちらのプロジェクトリポジトリにあります。
gRPC(gRPC リモートプロシージャーコール)は、RPC プロトコルに基づく API アーキテクチャー式です。 このプロジェクトは、2015 年に Google によって作成され、Apache 2.0 の下にライセンス供与されています。 現在、プロジェクトは、Cloud Native Computing Foundation(CNCF)によってサポートされています。
マイクロサービス式のアーキテクチャのサービスなど、バックエンド間でサービスを接続することで使用することができます。
ほとんどの RPC ベースのプロトコルは、IDL(インターフェース記述言語)を使用して、サーバーとクライアント間の通信コントラクトを定義します。
gRPC は、プロトコルバッファという、シリアライザーメカニズムフォーマットを使用します。
このフォーマットの目的は、メソッドとデータ構造を定義できるという点で、WSDL に似ています。
前編から少し間が空きましたが、シアトルで開催されたグローバルサミット2022の数日間を簡単に振り返ってみましょう。
After a short (or too long) pause from the previous part here is a short recap of the next few days of the Global Summit 2022 in Seattle!
前回同様、キーノートで始まりました(明日から視聴できます
)。 しかし、6月21日の基調講演とは異なり、その翌日はData Platform IRISに特化した内容となっています。前回同様、トピックとプレゼンターはこちらで確認できます。注目のスピーチは、ベストセラー作家、コンサルタント、破壊的技術のスペシャリストであるGeoffrey Moore氏
開発者コミュニティのメンバー、インターシステムズパートナー、そしてインターシステムズ製品に興味を持つ多くの人々が、待ち望んでいた時がやってきました。ついに、長い間お待たせしていたGlobal Summitが今年開催することができました。今回は、シアトルでの開催です。 急な坂道、エリオット湾の絶景、そして地元の人に言わせれば、常に天候の悪い美しい都市 ![]()

皆さん、こんにちは。
IRIS 履歴モニタープロジェクトが更新されました。ZPM とビルトインの REST API /api/monitor/metrics を使用します。
開発者の皆さん
こんにちは。
シアトルで開催されたグローバル・サミット2022は、ちょうど1週間前に終了しましたが、会場にいながら聞き逃した方や、何らかの理由でこの対面式イベントに全く参加できなかった方のために(あるいは、記憶をリフレッシュしてもう一度聞きたい方のために)、キーノートがすでに公開されています。
前置きはこれくらいにして、グローバルサミット最初はコミュニティの皆さんからのご挨拶です。
それでは、このYouTubeプレイリストでグローバルサミット2022全3日間のキーノートをお楽しみください。
皆さん、こんにちは!
職場で持ち上がった単純なリクエストで始めた個人プロジェクトを紹介したいと思います。
使用している Caché ライセンス数を調べることはできますか?
コミュニティに掲載されている他の記事を読んでみたところ、David Loveluck が投稿したぴったりの記事が見つかりました。
APM - Using the Caché History Monitor(APM - Caché 履歴モニターを使用する)
そこで、David の記事を参考に、Caché 履歴モニターを使って、リクエストされた情報を表示して見ました。
「どのテクノロジーを使用するのか」という疑問に対し
私は CSP に決定しました。単純で強力なテクノロジーであるため、私が担当するお客様は Caché が単なる MUMPS/ターミナルではないことに気づくでしょう。
ライセンス、データベース増加状況、CSP セッションの履歴を表示するページを作成した後、「システムダッシュボードとプロセス」ページのデザインを新装することにしました。
私の Caché インスタンスではすべてうまく機能します。
でも、IRIS はどうでしょうか?
この概念実証では、embedded Python で IRIS 相互運用フレームワークをどのように使用できるかについて示すことを目的としています。
import grongier.pex
import iris
import MyResponse
class MyBusinessOperation(grongier.pex.BusinessOperation):
def OnInit(self):
print("[Python] ...MyBusinessOperation:OnInit() is called")
self.LOGINFO("Operation OnInit")
return
def OnTeardown(self):
print("[Python] ...MyBusinessOperation:OnTeardown() is called")
return
def OnMessage(self, messageInput):
if hasattr(messageInput,"_IsA"):
if messageInput._IsA("Ens.StringRequest"):
self.LOGINFO(f"[Python] ...This iris class is a Ens.StringRequest with this message {messageInput.StringValue}")
self.LOGINFO("Operation OnMessage")
response = MyResponse.MyResponse("...MyBusinessOperation:OnMessage() echos")
return response
ObjectScript は不要です。
@Yuri Marx のお陰で、非常に優れた Postgres から IRIS へのデータベース移行の例を確認できました。
私の個人的な問題は、DBeaver を移行ツールとして使用することです。
特に、以前の IRIS(それから Caché)の強みの 1 つは、JBDC または ODBC でアクセスできる限り任意の外部 Db にアクセスできる SQLgateways を利用できることであったためです。 そこで、これを実演するために、パッケージを拡張しました。
開発者コミュニティの皆さん
こんにちは。
ご存知のように、今年のグローバル・サミットは対面式です。ぜひ、皆さんとお会いしたいですね!
コミュニティのメンバー全員が参加できるわけではありませんので(私もです!)、メンバーからのメッセージビデオを制作することにしました 。🎥
この素晴らしいイベントに世界中から参加しましょう!🌏
このチャレンジでは、コミュニティメンバーに「あなたの国からこんにちは🙌」と言う短い(2〜3秒)ビデオをアップロード⬆️してください。その動画を他の動画と組み合わせて、グローバルサミット2022で紹介します。共有ファイルのリンクをDMで送るだけでもOKです。
では、またお会いしましょう!
これは、一般的なデータベース(PostgreSQL や MySQL など)から IRIS への移行に関する前回の記事に続く記事です。
PostgreSQL から移行する際に使用する場合と同じ手続きを使用します。 ただし、MySQL で使用されているデータ型は IRIS のデータ型に非常に似ているため、前回よりもさらに簡単に移行できます。 このため、列に変換ルールを作成する必要はありません。
GitHub では、2 つのデータベースをビルドして実行する docker compose プロジェクトをダウンロードできます。
サンプルを取得して実行するには、以下の手順に従います。
Postgres から IRIS にデータとデータスキーマを転送または移行する必要がある場合があります。 これを現時点で実行するにはいくつかのオプションがありますが、最も一般的なオプションは、DBeaver(https://openexchange.intersystems.com/package/DBeaver)または SQLGateway を使用する 2 つの方法です。 最初のオプションはこの記事で紹介しますが、2 つ目のオプションは Robert Cemper が書いた「SQLgateway を使ったデータベース移行」(https://community.intersystems.com/post/db-migration-using-sqlgateway)という優れた記事で紹介されています。この記事では、DBeaver を使った移行の実行方法を説明します。
GitHub では、2 つのデータベースをビルドして実行する docker compose プロジェクトをダウンロードできます。
インターシステムズは InterSystems IRIS Data Platform、InterSystems IRIS for Health、 HealthShare Health Connect がリリースされたことをお知らせします。
2022.1は、EMリリースですので、メンテナンス・ビルドが2年間利用でき、その後、さらに2年間、セキュリティに特化したビルドが利用できるようになります。
InterSystems IRIS Data Platform 2022.1 は以下の最新OSをサポートします。
また、開発環境用として、M1 ならびに IntelチップセットのMacOS 12 (Monterey) をサポートします。
コミュニティの皆さん、こんにちは。
今までにミラーリング環境をセットアップされたことはありますか? プライベートネットワーク、仮想 IP アドレス、および SSL 構成を設定したことはありますか? この作業を何度か繰り返すと、証明書の生成や各 IRIS インスタンスの構成にはたくさんの手動による作業が必要で、時間がかかる作業であることに気づきました。 頻繁にこの作業を行わなければならない方にとっては、面倒な作業です。
たとえば、品質管理チームでは、新しいバージョンのアプリケーションをテストするたびに、新しい環境を作成しなければならないでしょう。 サポートチームであれば、複雑な問題を再現する環境を作成しなくてはならないかもしれません。
となれば、こういった環境を素早く作成できるツールが絶対に必要です。
この記事では、以下を使用するミラー環境のセットアップ例を紹介します。

一見すると、ちょっと複雑であり、たくさんのコードが必要なように見えますが、ご心配いりません。 OpenExchange には、ほとんどの操作を簡単に実行できるライブラリがあります。
こんにちは! Open Dataset コンテストにおいて、1 つのコンテナに InterSystems IRIS と Openflights データセットを、もう 1 つのコンテナに InterSystems IRIS と Apache Zeppelin を使用する Docker コンテナアプリスタックを構築しました。 詳細はこちらでご覧ください:
これを使用すると、構成をまったく行わずに、Apache Zeppelin から Openflights データセットをクエリできます。 コンテナは hub.docker にあるため、とても簡単に使用できます。
Docker ダッシュボードを確認すると、openflights_demo というグループがあるのがわかります。
Apache Zeppelin には以下からアクセスします。
http://localhost:8080
スクリーンショットで確認できるように、データベースのポートも公開されているため、好きなように IRIS に直接接続することができます。
信じられないほど精巧で洗練された YouTube ビデオにも注目してください! (^-)
音声には、Dolby Atmos デバイスがお勧めです (^-)
それでは!
Andreas
LOAD DATA SQL コマンドを実行する場合、2021.2 のドライバーを選択する必要があります。 誤ったドライバーを選択して LOAD DATA SQL コマンドを使用してしまうと、以下のようなエラーが発生します。
Error: [SQLCODE: <-1>:<Invalid SQL statement>]
[Location: <Prepare>]
[%msg: < LITERAL ('%qpar') expected, : found^LOAD DATA FROM FILE :%qpar>]JDBC ドライバーのリポジトリ(https://github.com/intersystems-community/iris-driver-distribution)のフォークを作成し、InterSystems IRIS バージョン 2021.2.0.617 のドライバーを追加しました。
intersystems-jdbc-3.3.0.jar をダウンロードできます: https://github.com/andreas5588/iris-driver-distribution/tree/main/JDK18
%Java Server の JVM 引数は、ポータルまたはコンソールから設定できます。
set srv = $system.
前の記事では、ObjectScript Package Manager を使用してユニットテストを実行するためのパターンについて説明しました。 この記事では、さらに一歩踏み込み、GitHub Actions を使用してテストの実行とレポート作成を行います。 私の Open Exchange プロジェクトの 1 つである AppS.REST に CI を実行するのが、やる気の出るユースケースでしょう(この導入編の記事は、こちらにあります)。 この記事のスニペットが使用されている完全な実装は、GitHub でご覧ください。ObjectScript Package Manager を使って他のプロジェクトで CI を実行するためのテンプレートとして簡単に利用できます。
紹介する実装の機能は以下のとおりです。
GitHub Actions に関する完全なドキュメントはこちらにあります。この記事の目的に準じ、この例で紹介される側面だけを詳しく確認します。
最近、LOAD DATA という素晴らしい新機能を使用することがありました。この記事では、初めて使用した際の体験についてお話しします。 以下の箇条書きには優先順がなく、他の評価も含まれません。 これらは、LOAD DATA コマンドを使用したときに私が気付いたことを記したものです。 また、プレビューリリースである IRIS バージョン 2021.2.0.617 を使用していることも記しておきたいと思います。 そのため、ここに記録されたことは、それ以降の IRIS バージョンに適用しない可能性があります。 それでも誰かのお役に立てるかもしれません。
JDBC 経由で最初のテストを行いました。 最初に躓いたのは、ファイルとファイルパスが、当然 (^-)_ サーバー側でなければならないということです! JDBC ドライバーはクライアント側でこれを処理しません。 おそらく明確なことかもしれませんが、最初にこのことを考慮していませんでした。
ドキュメントには、以下のように書かれています。
「ファイル名には .txt または .csv(カンマ区切り値)の接尾辞が含まれていること。」
私の観察では、この動作は書かれていることと異なりました。 接尾辞は無関係です。
この度、インターシステムズはSystem Alerting & Monitoring (SAM) バージョン 1.1 をリリースしました。
SAMはIRIS標準の 監視 API や ログ・モニタ をGrafana や Prometheus といった使い慣れた業界標準のツールと融合し、IRISの基本的な監視とアラートのソリューションです。
SAMの詳細については System Alerting and Monitoring ガイド をご参照ください。
大きなデータセットを扱う際、Grafana ダッシュボードのグラフのパフォーマンスが向上しています。 SAM 1.0 からアップグレードする場合、データにインデックスが追加されるため、十分なディスクスペースを確保することをお勧めします。
アップグレード時の詳細については、 リリースノート を参照してください。

SAM トップページ

SAM インスタンスの詳細ページ
@Ming Zhou から素晴らしい質問をいただきました。その回答は、まさに私がObjectScriptを愛用している理由を表しています。
初めて誰かに ObjectScript や IRIS を説明する際、必ず、クラスを記述してコンパイルし、テーブルを取得して、オブジェクトまたはリレーショナルのいずれか最も自然な観点からデータを操作できると説明しています。 いずれにせよ、これは単に、グローバルと呼ばれる非常に高速な内部データ構造を囲む薄めのラッパーであり、速度をさらにバーストさせる必要がある場合にも使用できます。
オタクレベルの人と話すときには、ObjectScipt はあらゆる類の凝ったメタプログラミングが可能だと説明します。たった今書いたクラスが、オブジェクトやリレーショナルというアクセス方法から、さらなる高速なアクセスが必要な時に内部データ構造を使う方法まで操作ができるためです。
「継承されたプロパティも含め、クラス内のすべてのプロパティを取得するにはどうすればよいですか?」という質問に対する回答がわかるでしょう。
同じ回答を得られる 3 つの異なる方法を以下に示します。
Class DC.Demo.この記事では、ObjectScript Package Manager(
ObjectScript でユニットテストを記述する方法については、素晴らしいドキュメントがすでに存在するため、ここでは繰り返しません。 ユニットテストのチュートリアルは、こちらをご覧ください:
ユニットテストは、「/tests」など、ソースツリーの別の場所に含めるのがベストプラクティスです。 InterSystems 内では、デファクトスタンダードとして、/internal/testing/unit_tests/ を使用しています。テストは社内用/非配布用であり、ユニットテスト以外の種類のテストもあるため、これが意に適うためではありますが、単純なオープンソースプロジェクトでは、多少複雑になるかもしれません。 InterSystems の一部の GitHub リポジトリでは、この構造が使用されています。
ワークフローの観点では、VSCode では非常に簡単に行えます。ディレクトリを作成して、そこにクラスを配置するだけです。
一年ほど前、
Raspberry Pi での HAPI FHIRserver のインストールに関する記事を書きました。 当時、FHIR 標準の基本しか知らず、FHIR サーバーの背後にあるテクノロジーや Raspberry についてほとんど知りませんした。 試して、失敗して、諦めて、もう一度試すことで、たくさんのことを学びました。
IRIS ベースのアプリケーションを GCP Kubernetes で実行する方法については、すでに「InterSystems IRIS ソリューションを CircleCI を使用して GCP Kubernetes Cluster GKE へデプロイする」で検討しました。 また、IRIS ベースのアプリケーションを AWS Kubernetes で実行する方法については、「Amazon EKS を使用したシンプルな IRIS ベースの Web アプリケーションのデプロイ」で確認しました。 そこで今回は、アプリケーションを Azure Kubernetes Service(AKS)にデプロイする方法を説明することにします。