質問 Yuji Ohata · 10月 24, 2022

こんにちは、皆さま。
業務でIRISを用いて開発を行っている者です。

SQLの実行結果について、意図せぬ結果になるものが二点ありますので、
利用方法等に誤りがないかを確認させてください。


CREATE TABLE Tmp.AAA AS SELECT * FROM Mst.AAA WHERE column = ?
⇒管理ポータルで実行しても、?パラメータを置換するダイアログが表示されず、
 オンコードで%Execute()しても実行エラーになる。

★この構文では?パラメータは利用できないのでしょうか?


SELECT * FROM Mst.AAA WHERE column IS NULL
⇒IS NULLではヒットせず、= NULLだとヒットする。
 
 

 ★IRISとして、IS NULLと= NULLに動作差異があるのは何故でしょうか?

すいませんが、情報をお持ちの方がいらっしゃればご教示いただけますと幸いです。

8
1 378
記事 Toshihiko Minamoto · 10月 25, 2022 8m read

私が一番興味を持っているのは、組み込み Python におけるグローバルの使用についてです。
そこで、提供されている公式ドキュメントを確認しました。

#1 グローバルの導入
グローバルとは何かについての一般的な説明。 次の章につながっています。

#2 ObjectScript の詳細について
組み込み Python の記述はありません。
さらに先に進むと...

#3 組み込み Python

3.1 組み込み Python の概要
3.1.1 グローバルの使用

グローバルを使ったことなければ、素晴らしい内容です。
が、驚くほど原始的な例が使われています。
3.2 組み込み Python の使用
最後の望み: >>> でも、目に見えるものが何もありません
残念どころではありません! Python 用の IRIS Native API でさえ、もっと説明されています。
何を期待していたかと言うと...

グローバルノードの SET、GET、KILL

Native API: 基本的なノード操作  そして

$DATA()、$ORDER()、$QUERY() によるナビゲーション

Native API: nextSubscript() と isDefined() によるイテレーション

0
1 323
記事 Mihoko Iijima · 10月 23, 2022 24m read

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

IRIS の FHIR リポジトリは、HL7 FHIR 標準プロファイルに対する検証をサポートしていますが、カスタムプロファイルに対する検証は、まだサポートできていません(将来のリリースバージョンで対応予定です)。

カスタムプロファイルの Search Parameter の追加はサポートしています!詳しくは、「動画:FHIR プロファイル」をご参照ください。

この記事では、IRIS の FHIR リポジトリに対して、カスタムプロファイルの検証を行う方法についてご紹介します。

方法としては、HL7 FHIR が提供している FHIR Validator で提供しているJARファイル(validator_cli.jar)を利用します。

利用のためには、FHIR リソースの検証のタイミングで、JARファイルの検証を実行するようにFHIRサーバサイドの動作をカスタマイズする必要があります。

ということで、大まかな準備は以下の通りです。

1) Java用外部サーバ(External Language Servers)の開始

IRISから FHIR Validator で提供しているJARファイル(validator_cli.jar)を利用するため、Java用外部サーバを開始します。

0
1 1599
記事 Mihoko Iijima · 10月 19, 2022 1m read

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

ターミナルでクラスメソッドを実行するとき、パッケージ名やクラス名などの入力候補が出てこないので、 ##class(パッケージ名.クラス名).メソッド名() の記述をミスったりちょっと面倒だな・・と感じること、ありませんか??
第1回 InterSystems Idea-A-Thon(アイデアソン) でも、もっとシンプルに呼び出せるようにしよう!のアイデアが投稿されていたようです。)

(私も含めて)そんな方に、朗報です!📣

なんと、VSCode ObjectScriptエクステンションに新機能「Copy Invocation」が追加されました!

クラスメソッドを記述すると、定義の上に Copy Invocation のリンクが表示され、クリックするとクラスメソッドの実行文がバッファにコピーされるんです!laugh

Copy Invocation をクリックした後で、ターミナルで 右クリック→貼り付け をやってみてください。

ちゃんと実行文がコピーされていることを確認できます(下図の黄色い線の文章がコピーされます)。

あとは、Do や Write や Set 文を記述するだけでいいんです!laugh

ぜひ、お試しください!​​​​​​

VSCode contributorの皆さん、素敵な機能追加をありがとうございました!

0
0 550
お知らせ Mihoko Iijima · 10月 18, 2022

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

第1回 InterSystems Idea-A-Thon(アイデアソン) の応募期間中に 75件の素晴らしいアイデア が投稿されました!!🤩 

アイデアの投稿を行っていただき、また、投票やコメントを記入いただきありがとうございました!

この記事では、受賞者を発表します!

0
0 161
お知らせ Maki Hashizawa · 10月 18, 2022

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

2022年7月に開催された国際モダンホスピタルショウ、インタ―システムズブースに設けたミニシアターで行ったインタ―システムズFHIRサポートの新しい機能を紹介したプレゼンテーション動画ごご紹介致します。

よろしければ、ご覧ください。

「FHIRリソースデータを分析に。~FHIR SQL Builderのご紹介~

0
0 160
記事 Hiroshi Sato · 10月 14, 2022 2m read

IRISでは.Net Binding機能が非推奨になったため、VisM.OCXの置き換えのために用意していたCaché版Cache Directエミュレータ(.Net Binding機能を使用していたため)の使用も非推奨となりました。
そこでIRISのNative API機能を使用して書き換えたものを作成し、OpenExchange(以下のFAQトピックを参照してください)に登録しています。

FAQのトピック


Caché版Cache Directエミュレータを使っているアプリケーションをIRISに移行するためには、IRIS用のCache Directエミュレータに置き換えて、アプリケーションのコードをいくつか書き換える必要があります。

内容は、それぞれのプロジェクトに含まれるコンソールアプリケーションサンプル(consoleApp.cs)を比較することで大体理解できると思いますが、以下にその手順について説明します。

1. IRISの.Net Native API用のdllの参照設定を追加します。

Visual Studioのプロジェクト設定から参照の追加を選び、以下のファイルを追加してください。

c:\InterSystems\IRIS\dev\dotnet\bin\v4.6.2
InterSystems.Data.IRISClient.dll

2.

0
0 363
記事 Megumi Kakechi · 10月 13, 2022 4m read

以下、デプロイモード(配置モード)でプログラムを配布する方法を2つご紹介します。


① DB内のソースコードをデプロイモードでエクスポートする方法

② ソースコード用DBを用意してIRIS.datごとデプロイモードにする方法


①は、プログラムのみデプロイモードでエクスポート/インポートできるので、初回システム構築時はもちろん、プログラムの修正が発生した時などソースの一部のみエクスポートすることも可能となります。
②は、IRIS.dat ごとデプロイするので初回システム構築時に IRIS.dat のみ配置すればよく手順が単純です。

クラスがデプロイモードになると、そのクラスのメソッドとトリガのソースコードは削除されます。
クラスがデータ型クラスである場合、クエリキャッシュによって実行時にメソッド定義が必要になる可能性があるために、メソッド定義が保持されるのでご注意ください。

 

それぞれの方法について、詳しく説明します。
 

① DB内のソースコードをデプロイモードでエクスポートする方法

(1) 開発環境:Hidden属性をオンにして保存し、Deployモードでエクスポートします。
   ※こちらの操作は、移行先環境で行うことも可能です。必要に応じて設定するようにしてください。

 set cls = ##class(%Dictionary.ClassDefinition).%OpenId("User.
0
1 316
記事 Toshihiko Minamoto · 10月 11, 2022 2m read

皆さん、こんにちは。 このプロジェクトをコンテストに応募します。 エクスポートモジュールは、多くのプロジェクトに不可欠であり、通常、本番サーバーにて使用されています。

属性初期化モジュールの呼び出しにて、さまざまなシナリオを実装しました。GCR で実証する多くの追加プロジェクトによる最大化と、本番インスタンスにネイティブにインストールするための最小化の両方です。

zpm "install appmsw-sql2xlsx -Dzpm.demo=none"

可能性をお見せするために、fileservercsvgen プロジェクトを使用しました。

可能性を実演するに当たって、次の手順を実行することを提案します。まず、デモを読み込み、superuser \ SYS を使ってユーザー名とパスワードを入力してください。表示されるウィンドウで、Search ボタン、そして Export をクリックします。

画像

次に、csvgen メニュー項目を選択します。

画像

表示されるタブで Load ボタンをクリックしたら、Search ボタン、そして Export をクリックします。

画像

次に、Fileserver メニュー項目を選択します。 画像

Download 可能な Excel ファイルのリストが表示されます。

画像

テンプレートから Excel ファイルが生成されます。

ぜひ、投票してください。

0
0 235
お知らせ Mihoko Iijima · 10月 11, 2022

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

次のコンテストの詳細が決定しましたのでお知らせします📣

今回は、FHIRの知識を共有するためのコンテストを企画しています。

🏆 InterSystems IRIS for Health コンテスト: FHIR for Women's Health 🏆

InterSystems FHIR または、InterSystems Healthcare Interoperability を使用したアプリケーションを作成してご応募ください。

期間: 2022年11月14日~12月4日

賞金: $13,500!

>> 応募はこちらから! <<

0
0 210
記事 Megumi Kakechi · 10月 6, 2022 4m read

Caché/Ensemble 時代からご使用のお客様にはなじみの機能だと思いますが、IRISには「システムがインスタンスのメッセージログ/messages.log(Cachéの場合は コンソールログ/cconsole.log) を監視し、ログ・レベル2(重大なエラー) 以上 のアラートを受け取るとメールを送信する」ログ・モニター機能があります。
この機能を使用すると、アラートログ (alerts.log)へのログ書き込み管理のほかに、メールを送信することもできます。

メール送信の設定は、^MONMGR ユーティリティを使用して簡単に行えます。

以下に、サンプルをご案内します。

USER>zn "%SYS"
 
%SYS>do ^MONMGR
 
 
1) Start/Stop/Update Log Monitor
2) Manage Log Monitor Options
3) Exit
 
Option? 2   <-- ログモニター管理の設定を行います
 
1) Set Monitor Interval
2) Set Alert Level
3) Manage Email Options
4) Exit
 
Option?
0
0 326
記事 Toshihiko Minamoto · 10月 5, 2022 4m read

IRIS における Python サポートの最近の改善と、InterSystems による Python DB-API サポートへの継続的な作業により、 Django プロジェクトに IRIS サポートを実装しました。Python DB-API の使用により、他のデータベースと連携することが可能です。

Django で、IRIS にデータを保存する単純なアプリケーションを試してみましょう。

ToDo アプリ

0
0 420
記事 Toshihiko Minamoto · 10月 5, 2022 5m read

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

誰かのヘルプが必要だったり、興味のある機能を議論したり、みんなにアナウンスしたり、知識を共有したりしませんか?
この記事ではそのすべての方法について説明します。

より簡単に投稿方法にたどり着くために以下の項目を用意しました。

一般的なガイドライン

最初に、開発者コミュニティサイトのトップメニューにある「新しい投稿」ボタンをクリックします。

その後、質問やアナウンス、記事、議論の作成が選択できるエディタが表示されます。投稿の種類に応じて必須項目と任意項目が表示されます。

0
0 156
お知らせ Toshihiko Minamoto · 10月 4, 2022

デベロッパーエコシステムサマーニュースへようこそ!

この夏、インターシステムズのデベロッパーエコシステムにおいて、たくさんのエキサイティングなイベントやアクティビティがありました。
その中でも最もホットなニュースやトピックを厳選してお届けします。

ここでは、この時期にあった注目すべきことを、一目でわかるようにまとめました。どうぞご覧ください!

0
0 153
お知らせ Toshihiko Minamoto · 10月 4, 2022

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

開発者コミュニティの新たな機能として開発者による重要な質問をご紹介します。

インターシステムズデータプラットフォームに関連する質問のうち、最もインパクトがあると思われるものに「Key Question」タグを追加します。

毎月、インターシステムズエキスパートがそのような質問を選び、その著者は栄誉ある賞を受賞することになります。

どのような栄誉なのかはつづきをご覧ください。

0
0 144
お知らせ Toshihiko Minamoto · 10月 4, 2022

コミュニティの皆さんこんにちは。
 

開発者コミュニティのための新しいアイデアで盛り上がっている中、私たちは、功績のある方(つまり、私たちの親愛なるメンバーの皆さん)には功績を認め、皆さんの創造性と想像力を他の人と共有することにしました。

新しいお題目「インターシステムズミーム」を導入したいと思います。😜

0
0 124
お知らせ Toshihiko Minamoto · 10月 4, 2022

開発者コミュニティのメンバーの皆さん
こんにちは。

インターシステムズ開発者コミュニティでいくつかの大きなマイルストーンを達成できたことを誇りに思います!

📝 10,000 件の投稿

👥 11,000 件の登録メンバー

👁 5,000,000 件の閲覧(ごひゃくまんですよ!)

0
0 117
お知らせ Maki Hashizawa · 10月 4, 2022

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

インタ―システムズでは、本年7月に、「国際モダンホスピタルショウ 2022」に、3年ぶりに出展致しました。

ブースには、ミニシアターを設け、業界をリードする多くの方やパートナー企業様にプレゼンテーションをいただき、その動画を公開しています。

本日は、その中で、アプリケーション開発者の皆様に参考となる IRISを解説いただいたプレゼンテーション動画をご紹介させていただきます。

「Python + iknowpy... + IRISが変えるデータ分析  アプリケーション編」

「Python + iknowpy... + IRISが変えるデータ分析  アーキテクチャ編

<プレゼンター>

群馬大学医学部附属病院
システム統合センタ― 副センター長 准教授 鳥飼 幸太先生

その他、HL7 FHIRを解説やパートナーソリューション紹介など、国際モダンホスピタルショウ2022 インタ―システムズブースでのプレゼンテーション動画は、こちらからご覧いただけます。

よろしければ、ご覧ください。

0
0 100
記事 Megumi Kakechi · 10月 3, 2022 1m read

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

Question:

InterSystems IRIS は 2フェーズコミットをサポートしていますか?

Answer:

サポートしていません。

2フェーズコミットはデータベースシステムがサポートしているだけでは十分ではなく、アプリケーションサーバ等の各実装が定めている2フェーズコミットのプロトコルを駆使して、アプリケーションを構築する必要があります。

また関連するシステムの全てのコンポーネントが対応している必要がある、ロングトランザクションには向いていないなど、現実に実装する局面では様々な制約事項があります。

2フェーズコミットは、技術面、設計および実装面、コスト面、性能面などハードルが非常に高いため、実際には限られた領域での利用に留まっています。

0
0 117
記事 Toshihiko Minamoto · 9月 26, 2022 8m read

プログラムによる本番環境アクセス

プログラムで本番環境(インターフェース)を編集するには、相互運用性 apis と SQL クエリを組み合わせて使用できます。

現在のネームスペース

大まかに言えば、その時点で作業しているネームスペースと本番環境を知ることが重要です。

// Object script 
// アクティブなネームスペースはこの変数に格納される
$$$NAMESPACE 
// ネームスペースを出力
Write $$$NAMESPACE
# Python
import iris
# このメソッドからアクティブなネームスペースが返される
iris.utils._OriginalNamespace()
# ネームスペースを出力
print(iris.utils._OriginalNamespace())
>>> DEMONSTRATION

現在の本番環境(アクティブまたは最後に実行した本番環境)

本番環境の名前を知ることも重要です。次の API を使用してネームスペース内のアクティブな本番環境を取得できます。

// ObjectScript
USER>ZN "DEMONSTRATION"
// 現在または最後に実行した本番環境を取得
DEMONSTRATION>W ##class(Ens.Director).GetActiveProductionName()
>>> Hospital.
0
0 219
お知らせ Mihoko Iijima · 9月 22, 2022

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

新しいタイプのコンテスト「アイデアコンテスト」を開催します!​​​

💡 InterSystems Idea-A-Thon(アイデアソン) 💡

9月26日~10月16日の期間に、InterSystems 製品やサービスに関連するアイデアをご提案いただくコンテストで、必ず賞品がもらえます!

そして、どなたでもご参加いただけます!

>> あたなの素敵なアイデアを投稿してください! <<


0
0 243
記事 Megumi Kakechi · 9月 21, 2022 2m read

SQL ゲートウェイ接続を使用した、外部データベースへのアクセス方法についてご説明します。

手順は以下になります。
 


1. 外部ソースへの SQL ゲートウェイ接続の作成を行います


※こちらの例では、IRISの別インスタンスへの接続を試しています。 
※ODBCを使用される場合は、事前に
システムDSN(64bit)の準備が必要です。
管理ポータルより
 [システム管理] > [構成] > [接続性] > [SQLゲートウェイ接続] の 新規接続作成 ボタンをクリックします。

接続の種類を選択し、必要項目を設定します。以下のサンプルは、ODBC接続(別IRISインスタンスのDSN設定)を行っています。

  

※ODBC/JDBC 各接続定義の作成の詳細は、以下のドキュメントをご覧ください。
 JDBC 経由での SQL ゲートウェイへの接続
 ODBC 経由での SQL ゲートウェイへの接続


2. リンクテーブルウィザードを使用して、1で作成したSQLゲートウェイ接続に対してリンクテーブルを作成します


管理ポータルより
 [システムエクスプローラ] > [SQL] ページより、
  [ウィザード] > [リンクテーブル] をクリックしリンクテーブルウィザードを開きます。

 手順に従ってリンクテーブルを作成します。

0
0 656
記事 Toshihiko Minamoto · 9月 20, 2022 6m read

これは、市場に出回っている主なデータベースから InterSystems IRIS への移行に関する連載第 3 回目の記事です。 このパートでは、DB2 からの移行手続きを説明します。前の記事で説明したとおり、現時点ではいくつかの移行オプションが存在しますが、 最も一般的なオプションは、DBeaver(https://openexchange.intersystems.com/package/DBeaver)または SQLGateway を使用する 2 つの方法です。 最初のオプションはこの記事で紹介しますが、2 つ目のオプションは Robert Cemper が書いた「SQLgateway を使ったデータベース移行」(https://community.intersystems.com/post/db-migration-using-sqlgateway)という優れた記事で紹介されています。

移行プロセス用のサンプルデータを取得

GitHub では、2 つのデータベースをビルドして実行する Docker Compose プロジェクトをダウンロードできます。

  • ソースデータベース: サンプルデータベースを含む DB2 データベースの Docker インスタンス。
0
0 349
お知らせ Toshihiko Minamoto · 9月 19, 2022

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

前回のお知らせで、フィードバック・ポータル「インターシステムズ・アイデア」を紹介しました。今回は、このポータルについて、特にそこで扱われるトピックについて詳しく説明したいと思います。

以下のカテゴリーでアイデアを募集しています!

0
0 81
お知らせ Toshihiko Minamoto · 9月 19, 2022

開発者コミュニティの皆さん
こんにちは。

私たちは、皆さんからの製品強化の要望を収集、分析、対応するプロセスを改善したいと常に念頭に置いてきました。 最高のアイデアを集め、聞き、それに応えるためのさらに優れたユーザーエクスペリエンスや内部プロセスが必要だと考えていました。そしてついに、この思いが実を結ぶことになりました。

そこで、インターシステムズ社の公式フィードバック・ポータルをご紹介します。

💡 >> インターシステムズ・アイデア<< 💡

0
0 147
お知らせ Toshihiko Minamoto · 9月 19, 2022

この度、インターシステムズの新しいフィードバック・ポータル「インターシステムズ・アイデア」をご紹介いたします。

ここでは、皆さんのビジネス上の課題を解決するために、インターシステムズの製品をどのように進化させることができるか、皆さんからご提案いただけるよう、フィードバックの仕組みを改善することを目的としています。

開発者コミュニティの質問は、特定のコーディングの問題に関して仲間と対話するための手法であり、カスタマーサポートは、いつも通り、緊急の問題を解決するための方法です。

この新しいポータルは、より高度なアイデアを収集するためのものです。今やっていることよりも、将来的に製品をもっとよくするためにどうしたらいいかを考えてみてください。このポータルでは、自分のフィードバックを投稿したり、他の人が提供したフィードバックにコメントしたり、投票したりすることができます。インターシステムズは、あなたが投稿したフィードバックを閲覧し、あなたのフィードバックに直接回答し、あなたのリクエストの進捗に応じてフィードバック項目のステータスを更新することができます。

ぜひ、ご覧いただき、あなたのアイデアを投稿し、今後のためにブックマークしてください。

よろしくお願いします!

0
0 99