#InterSystems IRIS for Health

0 フォロワー · 930 投稿

InterSystems IRIS for Health™は、世界で最も重要なデータを管理する医療アプリケーションの迅速な開発を目的に特別に設計された世界初、かつ唯一のデータプラットフォームです。 トランザクションの処理と分析、拡張可能な医療データモデル、FHIRベースのソリューション開発、医療情報の相互運用性に関わる標準規格への対応など、すぐに使える強力な機能を搭載しています。 これらすべての機能により、開発者は価値を実現し、画期的なアプリケーションをすばやく構築することができます。 詳細はこちらをご覧ください

InterSystems公式 Seisuke Nakahashi · 8月 1, 2023

インターシステムズは、以下2点の修正を行いました。

.

障害1: ECP アプリケーションサーバがハングする

以下の CPU かつ 以下のバージョンで発生します。
    対象バージョン: 2022.1.2, 2022.1.3
    対象CPU: ARM, IBM Power プロセッサ
この問題は修正ID DP-423661 で解決します。この修正は、今後のすべてのバージョンに含まれる予定です。 

.

障害2: 非常に稀な状況において デジャーナルがハングする

デジャーナルとはジャーナルをリストアすることで、例えば、ミラーリングのフェイルオーバーやDR非同期メンバで常時実行されています。また障害復旧に際しジャーナルをリストアする作業も対象になります。

本障害は以下のバージョンで発生します。
    対象バージョン: 2020.4, 2021.x, 2022.x, 2023.1
この問題は修正ID DP-423505 で解決します。この修正は、今後のすべてのバージョンに含まれる予定です。また 2023.1.1 には既に含まれています。

.

これら2点の修正を入手いただけるよう、公開済みの 2022.1.3 の更新版を公開いたしました。バージョン番号は以下の通りです。

    過去版:  2022.1.3.668.0
    更新版:  2022.1.3.

0
0 143
記事 Megumi Kakechi · 8月 1, 2023 2m read

あるメソッドやルーチンを実行してエラーとなった場合、エラー発生個所はエラーメッセージより取得することができますが、処理の呼び出し履歴(スタックトレース)はエラーメッセージのみではわかりません。
また、.Net や Python など IRIS 外からの呼び出しの場合に、エラー情報の詳細がクライアントに返らない場合などもあるかと思います。

/// 例:エラーメッセージだけでは、エラーが発生した処理の呼び出し履歴まではわからない。
USER>d ##class(User.Test).TestMethod1()
 
 write a
 ^
<UNDEFINED>TestMethod3+1^User.Test3.1 *a
USER 4e1>


そんなときは、エラー処理にて Do BACK^%ETN を実施することで、IRIS側で強制的にスタック情報を記録することができます。
スタック情報を記録することで、どのような処理がどの順番で呼び出されたかや、エラー時の内部変数情報を知ることができます。

BACK^%ETN は、エラー発生後に $ZError($ZE) 変数に値が set されている場合、アプリケーションエラーログ(^ERRORS)に情報が記録されます。
上のエラーの場合の $ZE は、以下のように確認できます。

0
1 192
InterSystems公式 Seisuke Nakahashi · 7月 27, 2023

2023.2 の開発者プレビュープログラムの一環として、7番目の開発者プレビューを公開いたします。今回リリースされたのは、InterSystems IRIS と InterSystems IRIS for Health です。

プライベート・ウェブサーバ (PWS) の提供終了

本リリースの一番のトピックは、プライベート・ウェブサーバ (PWS) の提供終了です。昨年から事前に発表していましたが、今回のプレビュー版で初めて InterSystems 製品のインストーラから PWS が削除されています。

こちら のドキュメントもあわせてご確認ください。本件に関する詳細な情報は こちら の記事でも公開しています。

--> 本件に関して何か問題が発生したり、弊社のプロダクトマネージメントに連絡したいことがある、あるいはご意見やご感想を伝えたい等ございましたら、ぜひ遠慮なく NoPWS@InterSystems.com までメールをお送りください。

本リリースの注目点

2023.2では、多くの機能修正と改善に加えて、時間認識モデリングや 強化された外部テーブル (まだ実験的な機能です) といった新機能が含まれます。

ドキュメントは以下のリンクからご覧いただけます。本バージョンが正式公開 (General Availability - GA) されるまで、数週間かけてドキュメントは更新される予定です。

0
0 92
記事 Toshihiko Minamoto · 7月 24, 2023 8m read

Python は世界で最も使用されているプログラミング言語になり(出典: https://www.tiobe.com/tiobe-index/)、SQL はデータベース言語としての道をリードし続けています。 Python と SQL が連携して、SQL だけでは不可能であった新しい機能を提供できれば、素晴らしいと思いませんか? 結局のところ、Python には 380,000 を超える公開ライブラリがあり(出典: https://pypi.org/)、Python 内で SQL クエリを拡張できる興味深い機能が提供されています。 この記事では、Embedded Python を使用して、InterSystems IRIS データベースに新しい SQL ストアドプロシージャを作成する方法を詳しく説明します。

サンプルとして使用する Python ライブラリ

この記事では、IRIS で SQL を扱う人にとって非常に便利な GeoPy と Chronyk という 2 つのライブラリを使用します。 

Geopy は、ジオコーディング(住所と地理座標の修飾)を住所データに適用するために使用するライブラリです。 これを使用すると、通りの名前から郵便番号と完全な住所を郵便局の形式で取得することができます。 多くのレコードには住所が含まれるため、非常に便利です。

0
0 430
記事 Megumi Kakechi · 3月 2, 2021 3m read

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

以下の方法で、$ZF(-100) で実行したコマンドの出力を取得することが可能です。
 

★$ZF(-100) での実行でコマンドキーワードを使用する方法:

/STDOUT や /STDERR などの便利なキーワードを指定して、$ZF(-100) でコマンドを実行することが可能です。

USER>write $zf(-100,"/SHELL/STDOUT=c:\temp\result.log/STDERR=c:\temp\error.log","net","use","\\testsrv\public","/user:testuser","password")
2
USER>!type c:\temp\result.log                                                    

USER>!type c:\temp\error.log
システム エラー 1219 が発生しました。
同じユーザーによる、サーバーまたは共有リソースへの複数のユーザー名での複数の接続
は許可されません。サーバーまたは共有リソースへの以前の接続をすべて切断してから、
再試行してください。
USER>write $zf(-100,"/SHELL/STDOUT=c:\temp\result.
1
0 581
InterSystems公式 Seisuke Nakahashi · 7月 19, 2023

2023.2 の開発者プレビュープログラムの一環として、6番目の開発者プレビューを公開いたします。今回リリースされたのは、InterSystems IRIS と InterSystems IRIS for Health です。

本リリースの注目点

2023.2では、多くの機能修正と改善に加えて、時間認識モデリングや 強化された外部テーブル (まだ実験的な機能です) といった新機能が含まれる予定です。これら新機能の一部は、今回の開発者プレビュー版にはまだ含まれていません。ご注意ください。

2023.2の別の注目点は、プライベート・ウェブサーバ (PWS) がインストーラから削除されることです。このことは昨年に発表され、インターシステムズ製品のインストーラから削除予定ですが、今回のプレビュー版ではまだPWSは存在します。詳細はこちらのドキュメントをご覧ください。

--> PWSが含まれないインストーラにご興味のある方は、こちらのフォームからEAPに登録してください。その際、オプションで「No Private Web Server」をお選びください。このEAPに関する情報はこちらをご参照ください。

今後のプレビューリリースは、2週間ごとの発表を予定しており、新機能が完成次第、プレビュー版に追加されていきます。

0
0 102
記事 Megumi Kakechi · 2月 6, 2023 4m read

ファイルとディレクトリの操作に使用できる API 、%Library.File クラス (%File が省略形) の便利なサンプルコードをご紹介します。

こちらのAPIを使用して、ディレクトリやファイルの中身をのぞいたり、作成・書込み・読込みを行ってみます。


ディレクトリ内のファイル一覧をリストする

以下のサンプルは、C:\temp フォルダ内の *.txt ファイルをリストします(ファイルパス_サイズ_作成日)。

 set stmt = ##class(%SQL.Statement).%New()
 set status = stmt.%PrepareClassQuery("%File", "FileSet")
 set rs = stmt.%Execute("c:\temp", "*.txt")
 while rs.%Next(.rStatus) { write !, rs.%Get("Name")_"_"_rs.%Get("Size")_"byte"_"_"_rs.%Get("DateCreated") }

サブディレクトリ内のファイルを含む場合はこちら (filetest.mac で保存) ↓

test(dir)
  do disp(dir)
  quit
disp(dir) {
  set rs=##class(%ResultSet).
1
0 753
記事 Mihoko Iijima · 7月 14, 2023 4m read

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

InterSystems IRIS 、InterSystems IRIS for Healthのコミュニティエディションは、WindowsやLinuxにインストールするキットの他にコンテナ版も公開されています。

コンテナ版はダウンロードページからではなく、InterSystemsコンテナレジストリ よりpullいただけます。

この記事では、InterSystemsコンテナレジストリ の使い方と、コンテナ開始までの流れをご紹介します。

0
1 344
InterSystems公式 Masahito Miura · 7月 13, 2023

インターシステムズは、InterSystems IRIS データ・プラットフォーム、InterSystems IRIS for Health 、HealthShare Health Connect のメンテナンスバージョン 2023.1.1 をリリースしました。これらのリリースは、2023.1.0 に対するバグフィックスを提供します。
詳細な変更リスト/アップグレード・チェックリストは、以下のページをご参照ください。(すべて英語版です)

InterSystems IRIS
InterSystems IRIS for Health
HealthShare Health Connect
ソフトウェアの入手方法

本製品は、従来からのインストーラパッケージ形式と、コンテナイメージ形式をご用意しています。利用可能なインストーラとコンテナイメージの一覧は、サポートプラットフォームページ(英語) をご覧ください。

InterSystems IRIS と IRIS for Health のインストーラパッケージは WRC Direct の IRIS データプラットフォームダウンロードページ から入手できます。
HealthShare Health Connect のインストーラパッケージは WRC Direct の HealthShareダウンロードページ から入手できます。

0
0 155
記事 Megumi Kakechi · 7月 11, 2023 3m read

クラスメソッドの多くは、%Status データ型を使用して、成功 または 失敗 の情報を返します。
成功の場合は 1 が返り、失敗の場合はエラーステータス および 1 つ以上のエラーコードとテキストメッセージを含むエンコードされた文字列が返ります。
このようなメソッドでは、戻り値を必ず取得して確認するようにしてください。

こちらの記事では、失敗の場合の具体的なエラー情報を確認する方法をご紹介します。

USER>set file=##class(%File).%New("C:\test\text.txt")
 
USER>set st=file.Open("R")
 
USER>write st
・・C:\test\text.txt.USER%e^Open+5^%Library.File.1^4e^^^0    // 何のエラーかわからない


エンコードされたエラーの文字列より、具体的なメッセージを表示したい場合、%SYSTEM.Status クラスのメソッドを使用します。

// 以下のようなステータスコードが返る場合
USER>write st
・・C:\test\text.txt.USER%e^Open+5^%Library.File.1^4e^^^0
// 次のようにして具体的なエラーの詳細メッセージを表示できます
USER>do $SYSTEMStatus.
0
1 256
記事 Nobuyuki Hata · 7月 10, 2023 1m read

最近人気上昇中のプログラミング言語Python、ご存じのとおりIRISでは2通りの使い方が出来ます。

 

組み込みPython(Embedded Python)

PythonコードはIRISプロセス内でObjectScriptコードと並列に実行

具体的には

  1. IRISクラス内のメソッド
  2. SQL関数とストアドプロシージャ
  3. ターミナルからPythonシェルを起動
  4. irispythonコマンド実行

が該当します。

 

ネイティブAPI(Native API)

IRISの外からグローバルへのアクセス、クラスメソッドを呼び出し

上の4種類以外は全てネイティブAPIを使用します。

 

Pythonコードが実行される場所でIRISへのアクセス手段が決まりますが、ライブラリ名が双方とも”iris”のため注意が必要です。

* 従来からのirisnativeはDeprecated(非推奨)となりました

サンプルコードを探す時やドキュメントを参照する時、どちらのPython APIを使用しているか頭の片隅にあると予期せぬエラーに遭遇する機会が減るかも知れません。

 

組み込みPythonのirisパッケージ

 

組み込み Python | InterSystems IRIS Data Platform 2022.

0
0 400
InterSystems公式 Seisuke Nakahashi · 7月 6, 2023

2023.2 の開発者プレビュープログラムの一環として、5番目の開発者プレビューを公開いたします。今回リリースされたのは、InterSystems IRIS と InterSystems IRIS for Health です。

本リリースの注目点

2023.2では、多くの機能修正と改善に加えて、時間認識モデリングや 強化された外部テーブル (まだ実験的な機能です) といった新機能が含まれる予定です。これら新機能の一部は、今回の開発者プレビュー版にはまだ含まれていません。ご注意ください。

2023.2の別の注目点は、プライベート・ウェブサーバ (PWS) がインストーラから削除されることです。このことは昨年に発表され、インターシステムズ製品のインストーラから削除予定ですが、今回のプレビュー版ではまだPWSは存在します。詳細はこちらのドキュメントをご覧ください。

--> PWSが含まれないインストーラにご興味のある方は、こちらのフォームからEAPに登録してください。その際、オプションで「No Private Web Server」をお選びください。このEAPに関する情報はこちらをご参照ください。

今後のプレビューリリースは、2週間ごとの発表を予定しており、新機能が完成次第、プレビュー版に追加されていきます。

0
0 100
記事 Tomoko Furuzono · 7月 2, 2023 3m read

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


以下の様な方法で、グローバルのインポート/エクスポート処理をプログラムに組み込むことができます。

1. グローバルエクスポート方法
1.1 XML形式でのエクスポート
グローバルをXML形式のファイルにエクスポートする場合、$system.OBJ.Export() を使用します。 1.1.1. 指定したグローバルをエクスポートする場合
エクスポート対象グローバルを グローバル名.gbl で指定します(先頭の ^ は不要)。
例:

Do $system.OBJ.Export("a.gbl,b.gbl","c:\temp\globals.xml",,.errors)

結果については、errors に格納されます。

$system.OBJ.Export() の詳細は%SYSTEM.OBJクラスのクラスリファレンスをご確認ください。
クラスリファレンス:%SYSTEM.OBJ
1.1.2. ネームスペース内の全グローバルをエクスポートする場合
%SYS.GlobalQueryクラスでグローバル一覧を取得し、それを $system.OBJ.Export() に渡してエクスポートを実行します。

例:

 Set rs=##class(%ResultSet).%New("%SYS.GlobalQuery:NameSpaceList")
 Do rs.
0
0 472
記事 Mihoko Iijima · 6月 29, 2023 3m read

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

LOAD DATAは、バージョン2022.1から追加されたSQLコマンドで、CSVファイルやJDBCソースからデータをテーブルにロードするコマンドです。
データが存在するテーブルにLOAD DATAを実行した場合、データは追記されます。

※ バージョン2022.1をご利用いただく場合は、バージョン2022.1.3 をご利用ください。(2022.1.0~2022.1.2は、使用するJARファイルの不備により動作しません。)

LOAD DATAを利用する際、Javaの外部サーバ(Javaゲートウェイ)を使用するため、IRISをインストールした環境にJavaのインストールが必要です。
サポート対象のJavaバージョンについては、ドキュメントの「サポート対象Javaテクノロジ」をご参照ください。

LOAD DATAを利用するためには、Javaインストール済、かつ外部言語サーバで %Java_Server 設定済の環境である必要があります。

※ 環境変数JAVA_HOMEの設定がある場合は以下 %Java_Serverの設定は不要です。

%Java_Server 設定詳細は以下の通りです。

  • Javaホームディレクトリ:インストールしたJavaのホームディレクトリを指定します。

 


利用手順は以下の通りです。

0
0 1207
記事 Toshihiko Minamoto · 6月 29, 2023 13m read

         

コミュニティの皆さん、こんにちは。
この記事では、InterSystems Embedded Python の使用方法を説明します。以下のトピックが含まれます。

  • 1- Embedded Python の概要
  • 2- Embedded Python の使用方法
    • 2.1- ObjectScript から Python ライブラリを使用する
    • 2.2- Python から InterSystems API を呼び出す
    • 2.3- ObjectScript と Python を同時に使用する
  • 3- Python 組み込み関数の使用
  • 4- Python モジュール/ライブラリ 
  • 5- Embedded Python のユースケース
  • 6- まとめ

では、概要から始めましょう。

0
0 640
記事 Megumi Kakechi · 6月 27, 2023 1m read

Apache経由でREST通信する場合、ApacheでRESTを動かす場合の設定方法 (含:Webゲートウェイのインストール手順) の方法 で設定を行います。

この際、Apachの構成ファイル(httpd.conf)にRESTを動かすための設定を入れるのですが、設定後のシンタックスチェックで以下の警告が出る場合があります。

※httpd -t 実行時
Apache Configuration: CSP directive 'csp' detected in VirtualHost, only supported at default server level


こちらは、<VirtualHost> ~ </VirtualHost>  内に、CSP ディレクティブ の内容を設定している場合に出力されます。

 CSP on
 CSPFileTypes *

などの IRIS にアクセスをするための設定は、<VirtualHost>  ディレクティブの外に設定するようにしてください。

詳細は以下のドキュメントをご覧ください。
追加ファイル・タイプを渡すための Apache の構成 (すべてのプラットフォーム)

0
0 172
記事 Mihoko Iijima · 3月 28, 2021 4m read

皆さんこんにちは!

この記事でご紹介する「開発環境テンプレート」は、最近 医療 IT で注目を集めている 医療情報交換標準規格  FHIR を体験できるコンテナです。

一式は、こちら(https://github.com/Intersystems-jp/IRIS-FHIR-Oximeter-Template)で公開しています。

コンテナビルド時、InterSystems IRIS for Health コミュニティエディションを使用した FHIR R4 リソースリポジトリの用意と、REST 用エンドポイントが用意されます。

作成されるエンドポイントに対して、REST クライアントから直接 FHIR R4 リソースリポジトリへアクセスすることもできますし(使用例はこちらビデオの解説はこちら)、Patient リソースと Observation リソースの操作体験が行えるサンプル Web アプリケーション(使用例はこちらビデオの解説はこちら)もコンテナに含まれていますので、お好みの方法で操作を体験できます。

この開発環境テンプレートでは、さらに! FHIR  サーバーサイドアプリケーション(=プロダクション)のサンプルも用意しています(図例はこちら)。

プロダクションは、新生児につけたパルスオキシメーターの測定値が定期的に送信されてくることを仮定して作られています。

2
1 1762
記事 Megumi Kakechi · 6月 22, 2023 2m read

プロセスの単位の詳細情報(使用メモリサイズ、ユーザ名、実行ルーチンなど)は管理ポータルで確認できますが、それらをコマンドで取得する方法をご紹介します。 

管理ポータル:
[システムオペレーション] > [プロセス]  (プロセス毎の)詳細リンク 

%SYS.ProcessQuery クラスを使用して、以下のように行います。

USER>set x=##class(%SYS.ProcessQuery).%OpenId(<PID>)   // 自プロセスの場合は <PID> = $JOB
USER>write x.MemoryUsed
188
USER>write x.UserName
UnknownUser
USER>write x.ClientIPAddress
127.0.0.1
USER>zwrite x    // 全てのプロパティを確認したいとき


Embedded Python で呼び出したい場合は以下のようにします。

# 以下のサンプルは自プロセスの情報を取得する方法
import iris
import os
x=iris.cls('%SYS.ProcessQuery')._OpenId(os.getpid())   # iris.cls('%SYS.ProcessQuery')._OpenId(<PID>)
print(str(x.
0
0 241
InterSystems公式 Seisuke Nakahashi · 6月 21, 2023

2023.2 の開発者プレビュープログラムの一環として、4番目の開発者プレビューを公開いたします。今回リリースされたのは、InterSystems IRIS と InterSystems IRIS for Health です。

本リリースの注目点

2023.2では、多くの機能修正と改善に加えて、時間認識モデリングや 強化された外部テーブル読み込み専用の FEDERATED テーブルといった新機能が含まれる予定です。これら新機能の一部は、今回の開発者プレビュー版にはまだ含まれていません。ご注意ください。

2023.2の別の注目点は、プライベート・ウェブサーバ (PWS) がインストーラから削除されることです。このことは昨年に発表され、インターシステムズ製品のインストーラから削除予定ですが、今回のプレビュー版ではまだPWSは存在します。詳細はこちらのドキュメントをご覧ください。

--> PWSが含まれないインストーラにご興味のある方は、こちらのフォームからEAPに登録してください。その際、オプションで「No Private Web Server」をお選びください。このEAPに関する情報はこちらをご参照ください。

今後のプレビューリリースは、2週間ごとの発表を予定しており、新機能が完成次第、プレビュー版に追加されていきます。

0
0 116
InterSystems公式 Masahito Miura · 6月 14, 2023

インターシステムズは、InterSystems IRIS 製品でプロセスメモリの使用量が増加する不具合を修正しました。

 

対象バージョン: 
  InterSystems IRIS                      2022.2, 2022.3, 2023.1.0
  InterSystems IRIS for Health   2022.2, 2022.3, 2023.1.0
  HealthShare Health Connect   2022.2, 2022.3, 2023.1.0
  Healthcare Action Engine         2022.1


  
対象プラットフォーム: すべて

 

問題の詳細:
ローカル変数に対して $Order$Query または Merge を実行する際に、プロセスのローカル変数テーブルのメモリ消費量の増加が発生します。 この問題は、ほとんどの実行環境では悪影響を与えませんが、プロセス数が多い環境、またはプロセス当たりの最大メモリを厳密に制限している環境では、影響を受ける可能性があります。 また、一部のプロセスで <STORE>エラーが発生する場合があります。

 

解決方法:
この問題は修正 ID : DP-423127 および DP-423237 で解決します。
これらの修正は、今後のすべてのバージョンに含まれる予定です。

0
0 201
記事 Toshihiko Minamoto · 6月 14, 2023 11m read

オンラインコース「Hands-On with InterSystems API Manager for Developers」のフィードバック 

Docker コンテナと REST API の基本的な知識で、InterSystems API Manager による API とマイクロサービスの制御に挑戦したいと思い、 ホストにローカルの IRIS インスタンス(Windows OS)を使用し、Linux VM で IAM (ゲスト)を実行するこのオンラインコースを実行してみました。 

まず InterSystems API Manger(IAM)を紹介してから、ローカル環境をセットアップするための手順を説明し、最後にコースの各章の内容を確認しましょう。

はじめに

今日では、API トラフィックの管理、監視、および保護が UI ポータルに集約される 簡単なデプロイのメリットを生かして、API を管理することが非常に重要となっています。

InterSystems API Manger(IAM)は、IRIS アプリケーションが消費し公開する API とマイクロサービスを制御します。 下流と上流のシステムの間の API ゲートウェイであり、どの API がどれくらいの頻度で誰に呼び出されたのかを視覚的に追跡する方法も備わっています。

0
0 119
記事 Mihoko Iijima · 6月 13, 2023 1m read

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

注意:本番環境では実行しないでください。テスト環境でご利用ください。

開発時にプロダクションに残っているキューを一括でクリアしたり、プロダクションに関連した一次的な情報をすべて消去したい場合、以下メソッドを利用して実行中のプロダクション情報をリセットできます。

set $namespace="プロダクションのあるネームスペース名指定"
do ##class(Ens.Director).CleanProduction()

ドキュメント:ネームスペースでのプロダクションのリセット

 

プロダクション全体ではなく、一部コンポーネントの実行中データをリセットする場合は、アダプタの ClearAllAppData() を使用します。
引数にはプロダクションに登録している構成名を指定してください。

例)SQLインバウンドアダプタが保持している永続値をリセットする

do ##class(EnsLib.SQL.InboundAdapter).ClearAllAppData("構成名称")

ドキュメント:受信アダプタで以前に処理された行のリセット

 

例)FTPインバウンドアダプタが処理したファイルの情報をリセットする

do ##class(EnsLib.FTP.InboundAdapter).ClearAllAppData("構成名称")
0
0 150
記事 Mihoko Iijima · 6月 12, 2023 2m read

FHIRドキュメント(診療情報提供書や退院時サマリ―など)をFHIRリポジトリにPOSTする場合、

エンドポイント/Bundle

上記URLでPOSTできます。(以下の例では、IRIS for Healthに用意したFHIRリポジトリを使用しています。)

GET要求で確認してみます。

登録できたことを確認できました。

 

FHIRリポジトリに登録したFHIRドキュメントですが、文書番号を指定してGETできると便利なのですが、現時点(バージョン2023.1)のIRIS for HealthのFHIRリポジトリでは、FHIR標準仕様にあるBundle の SearchParameter :composition について未対応のため、Composition.identifier を指定した Bundleリソースに対する GET要求が行えません。

そこで回避策として、Bundle登録時 Composition.identifier.value に設定している文書番号を Bundle.identifier.value にも設定しPOSTします。こうすることで、Bundle の Search Parameter:identifier に文書番号を指定でき、対象となるBundleリソースをGETできます。

0
0 400
記事 Mihoko Iijima · 6月 11, 2023 2m read

IRIS for HealthのFHIRリポジトリには、「条件付き削除結果の最大数」がデフォルトで3件に設定されています。

そのため、条件指定のDELETE要求で4件以上が対象となる場合、以下のエラーが発生します。

例えば、あるcodeで条件指定したリソースが5件あるとします。

これをDELETE要求に変えて実行すると、以下のようにHTTPステータス412が戻り、「Conditional delete search found more than maximum allowed number of 3 results」のエラーが発生します。

HTTP応答を確認すると、ConditionalDeleteOverflowのエラーが発生しています。

これは、条件付き削除の最大値が3件で設定されているため、発生しています。

 

ということで、FHIR Configuration画面を開き、設定を確認します。

管理ポータル > [Health] > ネームスペース選択 > [FHIR Configuration] > [Server Configuration]

対象のエンドポイントを選択すると以下の設定画面が表示されます。

Max Conditional Delete Results の項目に 3 と設定されています。

0
0 186
記事 Mihoko Iijima · 6月 9, 2023 2m read

FHIRリソースをリポジトリから削除するには、対象リソースに対してDELETE要求を使用すればよいのですが、例えば「テスト的に登録していたリソースばかりなので、リポジトリのデータを一括で全消去したい!」という場合の方法をご紹介します。

実行前に、エンドポイントのURLを確認します。

管理ポータル > [Health] > ネームスペース選択 > [FHIR Configuration] > [Server Configuration] で確認できます。

 

データの全消去を行うには、IRIS for HealthのFHIRサーバ機能で提供されているAPIを使用します。実行のため IRISのターミナルを開く、またはIRISにログインします。

ご参考:HS.FHIRServer.Storage.Json.RepoManagerクラスにあるDeleteService()メソッドを使用して削除します。

 

WindowsにIRISをインストールされている場合は、タスクバー上のIRISランチャー  をクリックし、ターミナルを選択します。

Windows以外でお試しいただいてる場合は、iris session コマンドでIRISにログインしてください。

0
1 291
記事 Mihoko Iijima · 6月 8, 2023 3m read

FHIR関連トレーニングの中で複数の方よりいただいたご質問をご紹介していきます。


IRIS for HealthのFHIRリポジトリでは、リソースPOST時のデフォルトの動作としてリポジトリ内でユニークな論理ID(id)を自動的に付与します。

例えば、以下のようなPatientリソースをPOSTした場合

{
    "resourceType": "Patient",
    "address": [
      {
        "postalCode": "1600023",
        "text": "東京都新宿区西新宿6丁目"
      }
    ],
    "birthDate": "1970-01-01",
    "gender": "male",
    "identifier": [
      {
        "value": "P101001"
      }
    ],
    "name": [
      {
        "extension": [
          {
            "url": "http://hl7.
0
0 300
InterSystems公式 Seisuke Nakahashi · 6月 8, 2023 3m read

2023.2 の開発者プレビュープログラムの一環として、3番目の開発者プレビューを公開いたします。今回リリースされたのは、InterSystems IRIS と InterSystems IRIS for Health です。

本リリースの注目点

2023.2では、多くの機能修正と改善に加えて、時間認識モデリングや 強化された外部テーブル読み込み専用の FEDERATED テーブルといった新機能が含まれる予定です。これら新機能の一部は、今回の開発者プレビュー版にはまだ含まれていません。ご注意ください。

2023.2の別の注目点は、プライベート・ウェブサーバ (PWS) がインストーラから削除されることです。このことは昨年に発表され、インターシステムズ製品のインストーラから削除予定ですが、今回のプレビュー版ではまだPWSは存在します。詳細はこちらのドキュメントをご覧ください。

--> PWSが含まれないインストーラにご興味のある方は、こちらのフォームからEAPに登録してください。その際、オプションで「No Private Web Server」をお選びください。このEAPに関する情報はこちらをご参照ください。

今後のプレビューリリースは、2週間ごとの発表を予定しており、新機能が完成次第、プレビュー版に追加されていきます。

0
0 116
記事 Megumi Kakechi · 6月 6, 2023 4m read

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

こちらでは、InterSystems Container Registry(ICR) より入手可能なDockerコンテナイメージを使用する方法をご案内します。

WRCDirectのダウンロードサイト より入手可能なイメージを使用する場合も同じようにできます。
 その際、Name:Web でフィルタリングしていただくと、Web Gateway の Docker イメージが見つけやすくなります。
※インターシステムズが提供する webgateway コンテナイメージには、Web ゲートウェイと Apache Web サーバの両方が含まれています。


【手順】

1. ブラウザより https://containers.intersystems.com/ にアクセスし、インターシステムズWRC認証情報でログインします。

2. Dockerログイントークンかログインコマンドを取得します。


3. 取得した認証情報を使い、Dockerインターフェース(PowerShellウインドウやLinuxコマンドラインなど)でICRへの認証を行います。
    以下の例のように、表示されるDocker ログインコマンドをコピー、ペーストすることで認証できます。

0
0 367
記事 Mihoko Iijima · 6月 6, 2023 5m read

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

ターミナルでルーチンやクラスのコンパイルを行う際、コンパイル結果が画面に表示されるのでエラーが発生した場合でも確認しやすいですが、一括コンパイルの場合は、大量のコンパイル結果の中にエラー情報が含まれてしまうためエラー情報だけを取得したい場合には少し工夫が必要です。

以下、ルーチン/クラスの一括コンパイル時の結果からエラー情報を取得する方法をご紹介します。

 

ルーチンの場合

ネームスペースにあるルーチンをターミナルで一括コンパイルするには、%Library.Routine クラスの CompileAll() メソッドを使用します。

以下実行例は、USERネームスペースにあるルーチンを一括コンパイルした結果です。TestRoutine1でコンパイルエラーが発生しています。

USER>do ##class(%Routine).CompileAll()
 
Compiling in namespace USER at 11:50:47
Routine1.MAC TestRoutine1.MAC
TestRoutine1.MAC - Errors compiling routine
TestRoutine1.
0
0 273
記事 Mihoko Iijima · 6月 2, 2023 6m read

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

この記事では、ワークフローコンポーネントを使ってみよう!~使用手順解説~ でご紹介したユーザ操作画面(ユーザポータル)を任意のWebアプリに変更する際に便利な REST API の使用方法をご紹介します。

ワークフロー用 REST APIですが、開発者コミュニティのサンプル公開ページ:Open Exchange に公開されているAPIでどなたでも自由にご利用いただけます。

Open Exchangeの検索ボックスに「Workflow rest」と入力すると出てきます。EnsembleWorkflow が対象のサンプルです。

ちなみに、2023年6月2日時点で724のアプリケーションが公開されているようです👀

0
0 420