@Hiroshi Sato さんありがとうございます。

WebサーバにインストールされるWebゲートウェイ管理画面を確認すると、アプリケーションパス /csp に対して、インストールしたインスタンスに接続するように設定されているため、VSCodeの接続情報に "pathPrefix" の設定がなくても接続できるようです。(WindowsとUbuntuで確認しました)

ただ、同一サーバに複数のIRISをインストールすると、/csp の接続先設定が最後にインストールしたサーバへ接続するように上書きされるので、VSCodeから目的のIRISにアクセスするためには "pathPrefix" を指定したほうがわかりやすくなりそうです。


《補足》Webゲートウェイ管理画面の設定例です(IISにインストールされたWebゲートウェイの画面例)。

1つ目の IRIS for Healthをインストールしたときに指定したインスタンス名が IRISHEALTH だった時、以下サーバ名(IRISHealth)の接続情報が作成されます。

アプリケーションパス: /irishealth が用意され、インストールしたサーバにアクセスするように設定されます(IRISHealth に接続するように設定されます)。

(この設定があるのでVSCodeの"pathPrefix"に "/インスタンス名" を指定するとIRISにアクセスできます) 

もう1つ、アプリケーションパス /csp が用意され サーバ接続情報として、IRISHEALTHを設定しています。

この設定があるので、VSCodeからアクセスするとき "pathPrefix" がなくてもIRISへアクセスできます。

ここで、2つ目のIRISをインスタンス名IRISHealth2でインストールすると、サーバ接続情報として同様にIRISHealth2を作成し、/csp の接続先にIRISHealth2を設定してしまいます。

同一サーバに複数のIRISをインストールした環境へVSCodeからアクセスする場合は "pathPrefix" を設定したほうがわかりやすさが出てきそうです。

@nl member さん、こんにちは。

お使いいただいているのはWindowsまたはLinuxにインストールキットを使ってインストールされたIRISでしょうか。

もしそうであれば、新しいバージョンのコミュニティエディションにアップグレードインストールを行っていただくことで切り替えることができます。(もしコンテナ版IRISを利用されていましたら方法が異なりますので返信欄でお知らせください。)

アップグレードインストールを行っても、今まで使用されていたテーブルやクラス、データはそのまま残ります。(作成されたデータベースやUSERデータベースに保存した内容は残りますが、システム用データベースに保存したユーザ作成のデータやクラス/テーブル定義は一部を除き削除されます。)

%SYSネームスペース上で作成したユーザ作成のデータやクラス/テーブル定義ですが、Z、z、%Z、%z から始まる名称で作成した内容はアップグレード後も残りますがそれ以外のユーザ作成の情報は削除されます。詳細はドキュメントもご参照ください。「アップグレードの前に」の5番

アップグレードインストールの手順は以下の通りです。

1) IRISを停止する

2) 新バージョンのIRISインストーラーを起動後、現インスタンスを選択しアップグレードインストールを行う。

3) アップグレードインストール終了後、クラス・テーブル定義を新バージョンに合わせるため一括コンパイルを実行する。

do $system.OBJ.CompileAllNamespaces("u")

※ アップグレード前にコンパイルエラーとなるルーチン、クラス、テーブルがある場合はアップグレード後もエラーが出ますので、可能であればアップグレード前にコンパイルエラーの有無をご確認ください。


お試しいただいているバージョンと少し異なりますが、以下、WindowsLinux(Ubuntu)でのアップグレードインストールの例をご紹介します。(IRISは2023.2から2023.3にアップグレードしています。​​​​)

コミュニティエディションのライセンスキー期限切れの場合、IRISが開始できないので「2) インストーラーの起動」から始めてください。

《Windows》

TESTネームスペース・データベースを用意し、FS.Personテーブルに2件データがある状態でのアップグレード例です。

0) アップグレード前の確認

 
アップグレード前のデータの確認

1) IRIS停止

タスクバーのランチャー(IRのアイコン)をクリックし、「InterSystems IRISの停止」(または「InterSystems IRIS for Healthの停止」)をクリックし「シャットダウン」を選択します。

2) インストーラーの起動

「新規インスタンス」か現インスタンスかの選択肢が表示されます。現在のインスタンス名(例ではIRIS)を選択しOKボタンをクリックします。

次の画面の「アップグレード」ボタンをクリックして処理を進めます。

3) 一括コンパイル

アップグレードインストール終了後、クラス・テーブル定義を新バージョンに合わせるため、ターミナルを開き一括コンパイルを実行します(ネームスペースはどこでも大丈夫です)。

do $system.OBJ.CompileAllNamespaces("u")

以下、一括コンパイルからアップグレードインストール後のデータ確認メモです。

 
アップグレード後の確認

《Linux》

TESTネームスペース・データベースを用意し、FS.Personテーブルに2件データがある状態でのアップグレード例です。

0) アップグレード前のデータの確認

 
アップグレード前のデータの確認

1) IRIS停止

 
停止ログ

2、アップグレードインストール

新バージョンのインストーラーを起動すると、現在のインスタンスリストが表示されるので、対象のインスタンス名を「Enter instance name:」の後に記入し(例ではIRIS)アップグレードインストールを続けます。

 
アップグレードインストールの画面メモ

3、アップグレード後のデータの確認

アップグレードインストール終了後、クラス・テーブル定義を新バージョンに合わせるため、IRISにログインし一括コンパイルを実行します(ネームスペースはどこでも大丈夫です)。

do $system.OBJ.CompileAllNamespaces("u")

以下、一括コンパイルからアップグレードインストール後のデータ確認メモです。

 
アップグレード後の手続きメモ

@Misao Aikawa さん、こんにちは。

圧縮は「データベースファイルの使用していないブロックを後ろに集める」

切り捨て(未使用領域削除を指してる場合)は、「後方に集めた未使用ブロックを削除してデータベースファイルのサイズを縮小する」

を行う機能で、両作業を行うことによるパフォーマンスの影響はありません。

バージョン2018.1以降ですと、管理ポータルに「デブラグ」ボタンが追加されていて、データベースの連続領域に対して大量のREADアクセスが発生するような場合に実行することで実行前よりパフォーマンスが向上します。

なお、それぞれの機能を利用される際はデータベースに対してアクセスがない状況で実施されることをお勧めしています。

3つの機能を紹介する記事もありますので、よろしければご参照ください👉「データベースファイルのサイズを圧縮する方法

皆さん、投稿の準備はできましたか?

投稿以外にも、応募記事のいいねをクリックすることで投票が行えます。ぜひ投票も応募も、両方挑戦して下さい!😎

以下、過去のコンテスト投稿記事をご紹介します。

@Shuichi Igusa さん、こんにちは。

1つ目のご質問についてですが、

実際のデータが登録されているテーブルは「HSFHIR_X0001_S.Patient」かと思いますが、どこでInsert文が流れているのでしょうか。

IRIS for HealthのFHIRリポジトリの内部処理内で行われているため、詳細は非公開となります。申し訳ありません。

2つ目のご質問の「HSFHIR_X0001_S.Patient」のclsファイルですが、FHIRリポジトリ作成の中で自動生成されるクラスのため、お試しいただいているテンプレートの中には含まれないファイルです。

自動生成されたクラスは、クラスリファレンスであればご覧いただけます。(VSCodeの左下に見える接続文字列をクリックすると画面中央上部に「Open Class Reference」のリンクが表示されます)

クラスリファレンスの画面左でパッケージ名の階層を展開するとクラス名が確認できるのでクリックすると画面右側に詳細が表示されます。

ぜひご確認ください。

@Yuji Ohata さん、こんにちは。

ご連絡ありがとうございます。コミュニティチームで確認しまして応募方法を以下に変更することとしました。

グループ「IRIS contest」は不要

タグの「コンテスト」のみの設定でご応募お願いいたします。(この後、関連記事を修正します)

(記事に関連するタグは、もちろん設定いただいて大丈夫です)

ご連絡いただき助かりました!ありがとうございました。

ご応募お待ちしてます!