InterSystems公式 Toshihiko Minamoto · 2022年12月11日

これは、2022.3の開発者プレビュープログラムのさらなるプレビューリリースです。 2022.3では、多くのアップデートや機能強化が追加されており、新たな FHIR SQL Builder や、改良された Columnar Storage Oracle Linux 9 のサポートなど新機能があります。

今後のプレビューリリースは、隔週で更新される予定で、準備が整い次第、機能を追加していく予定です。 製品改善のため、開発者コミュニティを通じてフィードバックをお寄せください。

この開発者プレビューリリースのビルド番号は 2022.3.0.555.0 です。

一般的に、CDリリースには、サポートされているすべてのプラットフォーム向けの標準インストールパッケージと同様に、Dockerコンテナフォーマットのコンテナイメージが付属しています。  詳細については、サポートされるプラットフォームのドキュメントをご参照ください。

インストールパッケージとプレビューキーは、WRCのプレビューダウンロードサイトまたは評価サービスのウェブサイト(2022.3へのアクセスには「Show Preview Software」をチェックしてください)から入手できます。

0
0 160
記事 Toshihiko Minamoto · 2022年12月8日 5m read

一意のインデックスにまつわる興味深いパターンが最近持ちあがったので(isc.rest に関する内部ディスカッション)、コミュニティ向けに強調したいと思います。

動機付けのユースケースとして: ツリーを表すクラスがあるとします。各ノードには名前があるため、名前と親ノードでノードを一意にしたいと考えています。 各ルートノードにも一意の名前を持たせます。 この場合の自然な実装は以下のようになります。

ClassExtends%Persistent

PropertyAs

}

以上です!

ただし、落とし穴があります。現状のこの実装では、複数のルートノードに同じ名前を付けることができます。 なぜでしょうか? Parent は必須プロパティでない(また、そうすべきではない)ため、IRIS は null を一意のインデックスの個別の値として処理しないからです。 一部のデータベース(SQL Server など)はそうしていますが、SQL 標準では、それらが誤っていると述べています(出典が必要です。このことについては StackOverflow のどこかで見かけましたが、それは出典になりません。以下にある、これについてとインデックスと制約の違いについての @Dan Pasco のコメントをご覧ください)。

0
0 350
記事 Megumi Kakechi · 2022年12月1日 4m read

複数のインスタンス間でライセンスを共有する際に、ライセンスサーバを立ててライセンスの使用量を管理します。
IRISライセンスサーバには、ライセンスの使用量管理に加えて便利な新しい機能が追加されました。

-- ライセンスサーバでできること --
1. マルチサーバライセンス(共有ライセンス)の統合管理(使用量の管理)
2. 各インスタンスへのライセンスキーの配布・管理【New】


1 は従来からのライセンスサーバの機能で、関連記事 にて機能紹介をしております。

2 はIRIS以降使用できるようになった新しい機能です。

複数のインスタンスを構成している場合、中央管理しているディレクトリに格納されているライセンスキーファイル(*.key)を各インスタンスに配布・管理するようにライセンスサーバを構成することができます。
その場合、個々のインスタンスにライセンスキー(iris.key)を配置する必要はありません。
ライセンスキーはユニークな LicenseID (※1, ※2) によって識別され、各インスタンスの起動時にロード&有効化されます。

※1 ライセンスキーをテキストエディタで開くと、[ConfigFile] セクションにて設定されている LicenseID を確認できます。
※2 ライセンスキーに記載されたLicenseIDの値を各インスタンスで事前に設定します(方法詳細は後述)。

0
0 384
記事 Megumi Kakechi · 2022年12月1日 5m read

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

複数インスタンスでライセンスを共有する場合、ライセンスを統合管理するライセンスサーバの設定が必要です。

1. ライセンスサーバの構成


1) ライセンスキーの配置

ライセンスキー(IRIS.key/cache.key)は、すべての インスタンスの  <インストールディレクトリ>/mgr に配置してください。

ただし、IRIS 2021.1 以降のバージョンをお使いの場合は KeyDirectory を指定することで全てのインスタンスへのライセンスキーの配置は必要なくなります。

KeyDirectory を指定して各インスタンスにライセンスキーをロードする場合、LicenseID の設定が必要になります。
各インスタンスの開始時にローカルの iris.key ファイルが検出されない場合、LicenseID を使用してライセンスサーバにライセンスキーを要求します。
LicenseID は、管理ポータルの以下のメニューで設定します。

管理ポータル:
 [システム管理] > [構成] > [追加設定] > [開始]:LicenseID


2) ライセンスサーバの設定

ライセンスサーバの設定は、全ての構成で同一のライセンスサーバを使用するように定義します(全ての構成で設定します)。
ライセンスサーバは、管理ポータルの以下のメニューで設定します。

0
0 702
お知らせ Mihoko Iijima · 2022年11月30日

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

【InterSystems IRIS for Health コンテスト: FHIR ソリューション for Women's Health】の投票が開始されました!

🔥 ベストソリューションはこれだ!! 🔥と思う作品にぜひ投票お願いします!

投票方法は以下ご参照ください。

0
0 124
記事 Toshihiko Minamoto · 2022年11月29日 11m read

中・上級トピックに進む前に、より一般的なポイントについてまとめておきたいと思います。 これはもちろん主観的な内容であるため、他の意見やさらに良い根拠をお持ちであれば、それについて喜んでお聞きします。

このリストは包括的ではありません。一部のトピックは今後の記事で対応するつもりなので、意図的にそうしています。

ヒント 1. 公式スタイルガイドに従う

Angular は、アプリケーションに使用可能なアーキテクチャを制限するという点で非常に厳格ですが、それでも独自の方法で行えることはたくさんあります。 開発者の想像力は無限ではありますが、そのために、あなたと、またはあなたを引き継いでプロジェクトに携わる人の作業が困難になってしまうことがあります。

Angular チームは、Angular アーキテクチャ自体とそのライブラリをうまく管理しているため、安定した対応可能なコードベースを作成する方法をよく理解しています。

したがって、公式スタイルガイドに従い、そのとおりに動作しない場合にのみ他の方法を取るようにすることをお勧めします。 こうすることで、新しいプロジェクトに参加する際や、他の人がプロジェクトに参加する際に、事がより簡単に進められるようになります。

コードとアプリアーキテクチャが対応可能で安定しており、理解しやすい方が、賢明でありながらも暗号的なソリューションを作るよりも重要です。

0
0 180
記事 Megumi Kakechi · 2022年11月28日 2m read

Question:

IRISでは、PostgreSQLやMySQLで使うことができる、開始位置や取得件数を指定する LIMIT句やOFFSET句をサポートしているでしょうか?


Answer:

※2025/4/17更新:IRIS2025.1 以降のバージョンでは、LIMIT/OFFSET句をサポートするようになりました。ご参考

残念ながらサポートしていません。
ただ、代わりに使える同様の方法がありますのでご紹介します。

以下のようなSQLクエリをIRIS SQLで行うとします。

SELECT *
  FROM Sample.Person
ORDER BY Name
 LIMIT 35


---------------------------------------------------------------------------------
1. サブクエリとビュー ID (%VID)を使用する方法
---------------------------------------------------------------------------------

IRISでは、ビューまたは FROM 節のサブクエリで返される各行に整数のビュー ID (%VID) を割り当てることができます。
%VIDを使用すると、以下のサンプルのようにして同様のことが実現できます。
※%vidについて

0
0 399
InterSystems公式 Toshihiko Minamoto · 2022年11月28日

これは、2022.3の開発者プレビュープログラムのリリース第2弾です。 2022.3では、新たな FHIR SQL Builder や、改良された Columnar Storage Oracle Linux 9
のサポート(このプレビューには入っていません)など新機能や、多くのアップデート、機能強化が行われています。

プレビューリリースは、隔週で更新される予定で、準備が整い次第、機能を追加していく予定です。 製品改善のため、開発者コミュニティを通じてフィードバックをお寄せください
 

この開発者プレビューリリースのビルド番号は 2022.3.0.545.0 です。

一般的にCDリリースには、サポートされているすべてのプラットフォーム向けの標準インストールパッケージと同様に、Dockerコンテナフォーマットのコンテナイメージが付属しています。  詳細については、サポートされるプラットフォームのドキュメントをご参照ください。

インストールパッケージとプレビューキーは、WRCのプレビューダウンロードサイトまたは評価サービスのウェブサイト(2022.3へのアクセスには「Show Preview Software」をチェックしてください)から入手できます。

0
0 174
InterSystems公式 Toshihiko Minamoto · 2022年11月28日

ObjectScript パッケージマネージャ ZPM のライフサイクルにおけるマイルストーンをここに発表させていただきます。このパッケージマネージャは、ObjectScript コードや 配置構成設定、バージョン情報などを便利にパッケージ化する機能を開発者に提供し てきました。 ここ数年のうちに、多くの開発ワークフローに不可欠な存在として大きく進化しました。

その結果、インターシステムズは所有するコンポーネントをパッケージ化するのに使用することとし、コミュニティのGitHubリポジトリをコーポレートリポジトリに移行、InterSystems Package Manager (IPM) に改名することとなりました。IPMはオープンソースのままです。コミュニティのメンバーは、コードをレビューし、プルリクエストを提出することができます。この変更により、従業員以外の方がコードベースに変更を加えることができないような方法で、ソフトウェアのセキュリティを確保することができるようになりました。また、データと一緒にコードをインストールできるソフトウェアでは、より高いレベルのセキュリティと信頼性が重要です。

ですから、 ZPM の存続を祝い、IPM の誕生を歓迎し、貢献いただいた皆さんに感謝したいと思います。特に、Nikolay Soloviev ならびに@Dmitry.

0
0 273
お知らせ Toshihiko Minamoto · 2022年11月28日

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

コミュニティメンバー向けオンライン分析ダッシュボードという新機能をお知らせします!

これからは、全期間や週や月単位で以下のような詳細な統計情報を見ることができます。

  • 閲覧件数、いいねの数、コメント数、フォロワー数
  • 閲覧件数、いいねの数、投稿数、コメント数の推移グラフ
  • 投稿ごとの閲覧件数、コメント数の表

0
0 124
質問 Seiji Hirose · 2022年11月23日

Cache2008.1+WindowsServer2008R2で稼動していたCSPアプリケーションを、Cache2018.1+WindowsServer2019に移植したところ、下記のエラーメッセージが表示されるようになってしまいました。どういった原因が考えられるでしょうか?また、対処方法をご存知でしたらご教授願います。

Unexpected status code, unable to process HyperEvent: Not Found (404)

3
0 557
記事 Toshihiko Minamoto · 2022年11月22日 5m read

タイムトラベルとはパリを訪ねるようなもの。 ガイドを読むだけじゃなく、そこに足を踏み入れなければならない。 ご飯を食べて、動詞の使い方を間違えたり、2 倍の料金を請求されたり、見ず知らずの人とキスするものさ。

ドクター

これから時空を超えた旅をしましょう。未来と過去の日付を見て、様々なフォーマットで計算する方法を説明します。 ターディスは待ちません。コントロールに就いてしっかりつかまりましょう。

ターディスでの旅

0
0 161
記事 Megumi Kakechi · 2022年11月22日 2m read

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

InterSystems IRIS では、管理ポータルの
 [システムエクスプローラ] > [SQL] : ウィザード > リンクテーブル
で行うリンクテーブルの作成をコマンドで行うことが可能です。

リンクテーブルの作成には、%SYSTEM.SQL.Schema クラスの CreateLinkedTable メソッドを使用します。
詳細は、クラスリファレンスをご覧ください。

実行は以下のように行います。

set$SYSTEM"<dsn>"


こちらで実行する場合、リンクテーブルはReadOnly属性で作成されます。
ReadOnly属性を外したい場合は、第7引数の columnMap で指定する必要があります。

例:columnMap(


こちら のサンプルでは、全てのフィールド(カラム)に対して ReadOnlyなし(0) を設定する columnMap を作成し、リンクテーブルを作成しています。
また、primaryKey はリンク元テーブルの primaryKey を引き継げるようにしています。

使用方法は以下のようになります。

"<dsn>"
0
0 532
記事 Toshihiko Minamoto · 2022年11月17日 10m read

こんにちは! Sergei Sakisian と申します。InterSystems で 7 年以上、Angular フロントエンドを作成しています。 Angular は非常に人気のあるフレームワークであるため、開発者、お客様、そしてパートナーの皆さんは、アプリケーションのスタックの 1 つとして Angular を選択することがよくあります。

概念、ハウツー、ベストプラクティス、高度なトピックなど、Angular のさまざまな側面を網羅する記事の連載を始めたいと思います。 この連載は、すでに Angular に精通しており、基本概念の説明がいらない方が対象となります。 連載記事のロードマップを作成しているところであるため、まずは、一番新しい Angular リリースの重要な機能をいくつか紹介することから始めることにします。

0
0 1124
お知らせ Mihoko Iijima · 2022年11月16日

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

InterSystems IRIS for Health コンテスト: FHIR for Women's Health 2022 のテクノロジーボーナスが発表されました!

  • Women’s Health に関するトピック
  • Women’s Health データセット
  • IRIS For Health FHIR または FHIR Cloud Server の利用
  • Healthcare Interoperability
  • Embedded Python の利用
  • Docker コンテナの利用
  • ZPM パッケージを使ったデプロイ
  • オンラインデモの公開
  • Code Quality をパスする
  • コミュニティの記事を書く
  • コミュニティに2つ目の記事を書く
  • YouTubeにビデオを公開する
  • はじめてチャレンジされた方

獲得ポイントについて詳細は、以下ご参照ください。

0
0 118
お知らせ Mihoko Iijima · 2022年11月10日

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

開発者コミュニティのYouTubeプレイリストにEmbedded Pythonの新しいセルフラーニングビデオを公開しましたのでお知らせします📣!

◆ Embedded Pythonでデータベースプログラミング:オブジェクトアクセス編

※YouTubeに移動していただくとプレイリストの中から好きなビデオを選択してご覧いただけます。

0
0 161
お知らせ Maki Hashizawa · 2022年11月10日

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

インタ―システムズでは、医療ITソリューション、医療サービスを提供する方々向けに、医療DXの推進やデータ活用を支援するシステムやアーキテクチャの要件について考察するセミナーを開催する運びとなりました。

是非ご参加いただきたくご案内させて頂きます。

【開催概要】

名 称: 【医療ソリューション・サービスプロバイダー様向け】
第2回 InterSystems 医療 x IT セミナー:ソリューション開発編 I
~これからの医療ITソリューションに求められる姿を探る~
日 程: LIVE配信 2022年11月30日(水)13:00~15:05
参加費: 無料(事前登録制)
対象者:

医療情報システムベンダー、医療機器ベンダー、医療向けサービスベンダーの事業企画・開発の責任者様

主 催: インターシステムズジャパン株式会社


お申込みは、こちらからお願い致します。

<詳細・お申込み>

今回は「アーキテクチャ」をテーマに、蒲郡市民病院  デジタル化推進監 飯田 征昌 様、ウルシステムズ株式会社 代表取締役会長 漆原 茂様をお迎えして、医療システムのアーキテクチャについてご考察いただきます。

0
0 164
お知らせ Mihoko Iijima · 2022年11月9日

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

InterSystems IRIS と InterSystems IRIS for Health のコミュニティエディションですが、InterSystems IRIS ダウンロードページからお好みのプラットフォームのキットを自由にダウンロードいただけます。

この記事では、改めてダウンロードページの使い方をご紹介いたします!

 👈開発者コミュニティのページの左端にこんなリンク集がありますので、「InterSystems IRIS ダウンロードページ」をクリックします。

クリック後、ログイン画面が表示されます。

開発者コミュニティのアカウントか、WRCダイレクトのアカウントでログインします。

開発者コミュニティのアカウントはオンラインラーニングのアカウントと共通です。

アカウントをお持ちでない方は、「Register for a new account」のリンクからアカウント登録をお願いします。

以下の流れでアカウント登録が行えます。

  1. お名前、社名、リージョン(Japanを選択)、メールアドレスなどを記入し [Terms and Conditions] ご確認後、チェックボックスをチェック✅し [Continue] ボタンをクリックすると、トークン入力画面に移動します。
  2. 1で登録したメールアドレスにトークンが送付されますので、コピーします。
0
0 1155
記事 Toshihiko Minamoto · 2022年11月8日 9m read

パート 1 では、Django で新しいプロジェクトを開始する方法を紹介し、新しいモデルの定義方法と既存のモデルの追加方法を説明しました。 今回は、初期状態で利用可能な管理者パネルとどのように役立つかについて説明します。 _重要な注意事項: この記事のアクションを繰り返しても、動作しません。 記事の途中で、django-iris プロジェクトにいくつか修正を行い、InterSystems が作成した DB-API ドライバーの課題もいくつか修正しました。このドライバーは現在の開発中であり、将来的に、より安定したドライバーが提供されると思います。 この記事では、すべてを実行した場合にどのようになるかを説明しているにすぎません。_

0
0 230
お知らせ Mihoko Iijima · 2022年11月7日

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

開発者コミュニティのYouTubeプレイリストに新しいセルフラーニングビデオを公開しましたのでお知らせします📣!

◆ IRISでPythonを使ってみよう!

※YouTubeに移動していただくとプレイリストの中から好きなビデオを選択してご覧いただけます。

0
0 254
記事 Toshihiko Minamoto · 2022年11月2日 7m read

良識のある人にはルールなんていらない。

ドクター

日付と時間のマスターになるのは簡単なことではありません。いつも問題になる上、どのようなプログラミング言語でも混乱することがあります。そこでこのタスクが可能な限り単純になるように、分かりやすく説明していくつかのヒントをご紹介しましょう。

さぁ、ターディスに乗り込みましょう。あなたを時間の支配者にして差し上げます。

ターディス

1
0 364
記事 Megumi Kakechi · 2022年11月3日 1m read

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

Question:

IRISという製品名を選んだのはなぜですか?

Answer:

IRISは、インターシステムズの製品開発者がソフトウェアを開発する際に常に念頭に置くべき以下の4つの原則の先頭文字を表しています。

  [ I ]   Interoperable:他のソフトウェアと連携して動作すること
  [ R ] Reliable:信頼性が高いこと
  [ ]   Intuitive:直観的に使用できること
  [ S ] Scalable:スケール(拡張性が高い)すること

0
1 234
質問 Tsukamoto Tomoya · 2022年10月28日

皆様、こんにちは。
IRISを使用して検証を行っている者です。

FHIRパッケージをCLIからインポートした際に、
エラーメッセージが表示されるのですが、解消方法についてご存知でしょうか。

■コマンド
FHIRSERVER>do ##class(HS.FHIRMeta.Load.NpmLoader).importPackages($lb("/durable/iris/package/hl7.fhir.r4.examples-4.0.1/package/"))

■エラー内容
Saving hl7.fhir.r4.examples@4.0.1

  Throw ##class(%Exception.StatusException).ThrowIfInterrupt($$Error^%apiOBJ(500
  ^
1, "Package '" _ package.id _ " has no dependencies that identify a core package
"))
<THROW>zcoreVersion+21^HS.FHIRMeta.Load.NpmLoader.1 *%Exception.StatusException ERROR #5001: Package 'hl7.fhir.r4.examples@4.0.

0
0 53
質問 Yuji Ohata · 2022年10月24日

こんにちは、皆さま。
業務で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 387
記事 Toshihiko Minamoto · 2022年10月25日 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 331
記事 Mihoko Iijima · 2022年10月23日 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 1619
記事 Mihoko Iijima · 2022年10月19日 1m read

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

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

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

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

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

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

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

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

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

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

0
0 564