開発者の皆さん、こんにちは!
次のInterSystems プログラミングコンテストの内容についてご案内します📣
期間: 2024年7月15日~2024年8月4日
賞金総額:$14,000
.jpg)
開発者の皆さん、こんにちは!
次のInterSystems プログラミングコンテストの内容についてご案内します📣
期間: 2024年7月15日~2024年8月4日
賞金総額:$14,000
.jpg)
これは InterSystems FAQ サイトの記事です。
監査ログはシステムDB内テーブル(%SYS.Audit)に記録されていますので、そのテーブルに対するクエリを実行して抽出したり、%SYS.Auditテーブルに用意されていストアドプロシージャを利用して情報を取得しファイル出力するようにプログラムを用意することもできます。
以下にご紹介する内容は「監査ログをプログラムで出力(ユーザやイベント指定など)する方法」に関連した内容で、監査ログのファイル出力を管理ポータルの機能を利用した例とプログラムを利用した例でご紹介します。
管理ポータル > [システムエクスプローラ] > [SQL]を開き、%SYSネームスペースに接続します。
システムのチェックを入れ、スキーマに%SYSを指定した後、プロシージャの階層を展開するとプロシージャリストが参照できます。
%SYS.Audit_ で始まるプロシージャが監査ログに対して実行できるプロシージャです。
SQL文例)InterSystems製品内ユーザのSuperUserに対する監査ログをストアドプロシージャ:%SYS,Audit_ListByUser を利用して出力しています。
call %SYS.Audit_ListByUser(,,,,,'SuperUser')引数については、クラスリファレンス:%SYS.
これは InterSystems FAQ サイトの記事です。
PythonスクリプトファイルやPythonで記述されたIRIS内メソッドを呼び出す際、エラーが発生した場合の対応方法をご紹介します。
説明使用するコードや資料PDFは公開しています👉 test1.py、FS.Utilsクラス、コードのコピー元、ビデオで解説している資料PDF
Embedded Python 自習用ビデオをご用意しています(項目別にYouTubeプレイリストをご用意しています)。
各プレイリストについて詳しくはこちらをご参照ください👉【はじめてのInterSystems IRIS】Embedded Python セルフラーニングビデオシリーズ公開!
これは InterSystems FAQ サイトの記事です。
InterSystems製品のサーバサイドでファイル入出力を行うと、文字列はシステムで設定されたファイル入出力用文字コードに自動変換され、文字単位でREADします。
ファイルから入力する文字をバイト単位で操作するためには、自動変換を行わない無変換の状態でファイル入力を行い指定バイトずつ読みながら読んだ分だけUnicodeに手動で変換していく必要があります。
変換には$ZCONVERT()関数を使用します。($ZCONVERT()には省略形があり$ZCVT()でも同様の操作が行えます。)
なお、READした指定バイトを変換する際、文字の全バイトが含まれない場合もあるため、途中までの読み取りになった文字列を第4引数に指定する変数に設定できるようになっています。
次回読み取り時に途中だった文字を自動的に先頭に追加し、$ZCONVERT()の処理を実行します。
《メモ》ファイル入出力の文字コードについては、以下管理ポータルの画面で確認できます。
管理ポータル > 構成 > 国際言語設定 > 構成したデフォルト値
入力/出力テーブルの表の「ファイル」
以下の文章がファイルにUTF8で保存されているとします。
無変換でファイル入力を行うには、%Stream.
これは InterSystems FAQ サイトの記事です。
IRIS2024.1以降のバージョンをインストールしようとした際に、以下のようなエラーになることがあります。
これは、2024.1以降のバージョンより最小CPUの条件として、AVX および BMI 拡張命令が含まれることが条件となっているのですが、ご使用の環境に含まれない(仮想環境やFTサーバ等の特殊なシステムでは無効化されている場合も)ときに出力されるエラーです。
最小CPUサポートバージョンについては、以下のドキュメントをご覧ください。
Minimum Supported CPU
現在使用中のCPUの拡張命令セットの情報の確認方法については、以下のDC記事をご覧ください。
CPU のマイクロアーキテクチャファミリと命令セットの判定方法
Linuxの場合は、lscpuコマンド、または lshw -class processor コマンドで確認できます。
これは InterSystems FAQ サイトの記事です。
現時点(2024年3月)では、コミュニティに掲載されているPythonライブラリ「iris-dollar-list」を利用することでIRISの$LIST()形式のデータをPythonのリストとして利用することができます。
※標準ツールではありませんがご利用いただけます。詳細はコミュニティの記事「もう1つの $ListBuild() の実装:Pythonライブラリ「iris-dollar-list」」をご参照ください。
WindowsにインストールしたIRISで使用する場合は、以下の方法で「iris-dollar-list」をインストールしてください。
※Windows以外にインストールしたIRISでは、pipコマンドを利用した通常の方法でインストールできます。
コマンドプロンプトを開き、以下実行します。(IRISをデフォルトインストールしたときのディレクトリで掲載しています)
> cd C:\InterSystems\IRIS\bin
> irispip install --target C:\InterSystems\IRIS\mgr\python iris-dollar-list実行例は以下の通りです。
近頃、LLM や AI などに関する話題で非常ににぎわっています。 ベクトルデータベースもそれなりに関わっており、IRIS 以外では、世界中で多様なサポートがすでに実現されています。
なぜベクトルなのでしょうか?
理由は他にも多数あります。
そこで、この Python コンテストでは、このサポートを実装してみることにしました。 残念ながら時間内に完成させることはできませんでしたが、その理由を以下で説明します。

ご好評をいただいておりますインターシステムズ開発者向けオンラインセミナー、連続3回のシリーズでお届けする新機能のご紹介、
7月は以下のテーマで開催いたします。
[概要]
InterSystems IRIS および IRIS for Health 2024.1では、Embedded Pythonの利用範囲をますます拡大する新機能が追加されました。
・Python WSGI標準に準拠するWebアプリケーションの作成
・Python BPLエディタ
・フレキシブル組み込み Python ランタイム
本セッションでは、これら新機能をデモを交えてご紹介します。IRISをPythonで開発する際の新たなオプションとしていただければ幸いです。
[こんな方にお勧め]
・IRISに関わる技術者の方
・Pythonに興味のある方
・Python技術者の方
ご多用中とは存じますが、皆様のご参加をお待ち申し上げております!
先日、@Patrick Jamieson が開催した素晴らしいハンズオンに参加してきました。そこでは、SMART On FHIR が定義したプロトコルに従って Angular アプリケーションを IRIS FHIR サーバーとともに構成したセッションでした。非常に深い興味を得たため、独自に Andular アプリケーションを開発し、そこから学んだことを活用してコミュニティに共有することにしました。
SMART On FHIR について Google ではどのように説明しているのか見てみましょう。
SMART On FHIR は電子健康記録(EHR)システムの情報にアプリケーションがアクセスできるようにするためのデータ規格です。 アプリケーション開発者は、その規格を採用した EHR システムに接続する単一のアプリケーションを作成できます。
SMART On FHIR では、以下の主な概念を処理します。
この演習では、Docker と Auth0 サービスの両方で以下の要素を構成しました。
.png)
SSL/TLS を使用するように InterSystems IRIS スーパーサーバを構成した際に、「管理ポータルに接続できなくなった」というお問い合わせを時々いただきます。
こちらの記事では、その際の対処法をご案内します。
スーパーサーバを SSL/TLS 化するために、以下のドキュメントにある方法を設定されると思います。
TLS を使用するための InterSystems IRIS スーパーサーバの構成
その際に、SSL/TLSサポートレベル を 「必須」にしてしまうと、管理ポータルに接続できなくなる場合があります。
※管理ポータル:
IRIS2024.1 ~ [システム管理] > [セキュリティ] > [スーパーサーバ]
~IRIS2023.1 [システム管理] > [セキュリティ] > [システム・セキュリティ] > [システムワイドセキュリティパラメータ]
「必須」に設定する場合、すべてのクライアントからの接続を SSL/TLS 化する必要があります。
これは、WebゲートウェイからIRISへの接続にもあてはまるため、「Webゲートウェイ <==> IRIS」間を SSL/TLS 設定していない場合は、管理ポータル(REST/CSPを含む)に接続ができなくなってしまいます。
これは、InterSystems FAQサイトの記事です。
IRIS/IRIS for Health2024.1以降のバージョンのSQLで、JSON_TABLE関数がサポートされています。
【ドキュメント】JSON_TABLE(SQL)
これを使用することにより、JSON形式データを表形式で取得することが出来ます。
【例】郵便番号情報を外部から取得し、表形式にマッピングする。
(取得データ(JSON))
{
"message": null,
"results": [
{
"address1": "東京都",
"address2": "新宿区",
"address3": "西新宿",
"kana1": "トウキョウト",
"kana2": "シンジュクク",
"kana3": "ニシシンジュク",
"prefcode": "13",
"zipcode": "1600023"
}
],
"status": 200
}(SQL例)
※下記の実行には、SSL構成が必要になります。事前に構成を作成して、その構成名を使用してください。
SELECT
address1,address2,address3,kana1,kana2,kana3,zipcode
FROM JSON_TABLE(%Net.このたび InterSystems IRIS 2024.1 の日本語ドキュメントが完成しました。以下のURLでご参照いただけます。
InterSystems IRIS® データ・プラットフォーム 2022.3 からライセンス消費メカニズムにRESTとSOAPを追加しました。この変更により、コア・ベースライセンス以外でRESTまたはSOAPを使用している場合、アップグレード後にライセンス消費量が多くなる可能性があります。この勧告がお使いのシステムに該当するかどうかは、以下にあるFAQ(英語)のリンクをご参照ください。.
ライセンス使用について、こちらの表にまとめています。
|
製品
|
REST と SOAP のリクエストがライセンスを消費するかどうか
|
|
InterSystems Caché® |
する
|
|
InterSystems Ensemble® |
しない
|
|
InterSystems IRIS, InterSystems IRIS® for Health, Health Connect 2022.3 より前 |
しない
|
|
InterSystems IRIS, InterSystems IRIS for Health, Health Connect 2022.3 以降 |
する
|
お客様からはCaché と IRIS
開発者の皆さん、こんにちは。
(2024/5/30:6月の日時、ウェビナー内容を更新しました)
InterSystems IRIS、InterSystems IRIS for Healthの新バージョン2024.1がリリースされました。
様々な機能の追加や実験的機能としての追加が行われましたが、その中から以下3種類の内容についてウェビナーを開催します!📣
✅4月23日(火)13時半~14時:IRIS 2024.1の管理用Webサーバ(PWS)廃止に備えて
YouTube公開しました👉https://youtu.be/bVwWZt1oNws?list=PLzSN_5VbNaxCeC_ibw2l-xneMCwCVf-Or
✅5月30日(木)13時半~14時:ベクトル検索機能のご紹介
YouTube公開しました👉https://youtu.be/v0G7K2et_Yk?list=PLzSN_5VbNaxB39_H2QMMEG_EsNEFc0ASz
✅6月25日(火)13時半~14時:FHIR新機能のご紹介~2024.1~
オンデマンド配信はこちら👉https://event.on24.com/wcc/r/4597704/ADA161B6446E6BA01623C875CF596FD0
(資料PDFもオンデマンド配信画面よりダウンロードいただけます)
連続3回のシリーズでお届けする新機能についてのウェビナー
【セッション概要】
IRIS2024 .1では、いくつかのFHIR関連の新機能の追加および機能強化が行われました。本ウェビナーではFHIRオブジェクトモデルの機能概要を中心に、2023.1以降のバージョン追加および強化されたIRIS for HealthのFHIR機能についてお話しいたします。
【こんな方にお勧め】
・現在、FHIR関連開発をされている方。
・アプリケーションのFHIR対応を検討されている方。
皆様のご参加をお待ち申し上げております!
開発者の皆さん、こんにちは。
次のコンテストの開催が決定しました!💡 第3回 InterSystems アイデアコンテスト 💡
InterSystems アイデアコンテストは開発者コミュニティのメンバー(InterSystems社員も含)であればどなたでもご応募いただけます!
このコンテストでは、インターシステムズの製品やサービスを強化するための革新的なアイデアを募集しています。あなたのアイデアが他の利用者にもたらす具体的なメリットや、インターシステムズの技術で開発者の体験をどのように向上させるかについて実際の使用事例に基づいた提案をお待ちしています。
📅 期間:2024年6月10日~2024年7月7日
🏆 優秀なアイデアには賞品が贈られます!
🎁 参加賞あります!: コンテストに採用された方全員に参加賞をご用意しています!👕
>> 6月10日よりアイデア募集します! <<
前回の記事では特定の HIS のデータベースに格納されたリソースを取得する方法を確認したので、今回は、HIS に、システムで受け取る FHIR リソースを起点とする新しいレコードを追加する方法を説明します。
FHIR の主な機能の 1 つに、Rest API による CRUD 操作のサポートがあります。つまり、FHIR と連携するすべてのシステムには、GET、POST、PUT、および DELETE タイプの HTTP 呼び出しがサポートされていなければなりません。 この記事では、FHIR アダプターをインストールした際に自動的に構成されたエンドポイントへの POST 呼び出しを処理する方法を見てみましょう。
FHIR のリソースストレージ呼び出しに関する仕様を確認すると、呼び出しに使用する URL は、以下のフォーマットを使用している必要があります。
http(s)://server_url/{endpoint}/{Resource}
この記事の例では、セキュリティで保護された呼び出しは行わないため、以下のような URL になります。
http://localhost:52774/Adapter/r4/Patient
ここで行いたいのは新しい患者を記録することであるため、呼び出しの本文に患者のデータを含めた POST 呼び出しを行う必要があります。
こちら の記事では、LinuxでODBC接続を行う方法 をご紹介しました。
今回は、SSL/TLS を使用するように InterSystems IRIS スーパーサーバを構成 した IRIS に対して、ODBCで SSL/TLS 接続をする方法をご紹介します。
LinuxでODBC接続を行う方法 の記事で紹介している手順で、SSL/TLS なしでODBC接続できる環境を用意していることを前提にご説明します。
手順は以下のようになります。手順の詳細は、この後で説明します。
3.TLS 構成ファイル odbcssl.ini を作成します
4.環境変数 ISC_SSLconfigurations で <path>/odbcssl.ini を指定します
CA証明書に問題がないか証明書情報を確認します。
※ ***.***.***.*** :接続先IRISサーバのIPアドレス
# openssl s_client -connect ***.***.***.***:1972 -showcerts -CAfile /home/ec2-user/ca_certificate.IRIS BIチュートリアル試してみたシリーズの11回目です。ついに今回が最終回になります。
最終回のトピックは「ピボット・テーブルおよびダッシュボードのエクスポートとパッケージ化」です。これまでに作成したピボットテーブルやダッシュボードをエクスポートして他の環境などに移送するためのテクニックを学びます。
では、早速はじめていきましょう。
フォルダマネージャ画面から操作します。管理ポータル画面から Analytics → 管理 → フォルダマネージャ と選択します。
フォルダマネージャ画面が開き、作成済みのフォルダ、ピボットテーブル、ダッシュボードが一覧表示されます。これまでに作成してきた Tutorial フォルダと、その中のピボットテーブルやダッシュボードも存在します。
では、この一覧にある Sample Dashboard の左側にあるチェックボックスにチェックを付けます。画面左側の [詳細] の表示が変わります。
このダッシュボードで使用している2つのピボットテーブルが依存関係にあることが表示されます。
では、その2つのピボットテーブルにもチェックを付け、3つのアイテムが選択された状態にします。
こちら の記事では、LinuxでJDBC接続を行う方法 をご紹介しました。
今回は、SSL/TLS を使用するように InterSystems IRIS スーパーサーバを構成 した IRIS に対して、JDBCで SSL/TLS 接続をする方法をご紹介します。
LinuxでJDBC接続を行う方法 の記事で紹介している手順で、SSL/TLS なしでJDBC接続できる環境を用意していることを前提にご説明します。
手順は以下のようになります。手順の詳細は、この後で説明します。
3.Java ファイルを含むディレクトリに、SSLConfig.properties という名前の構成ファイルを作成ます
4.Java のコードに SSL/TLS の使用を指定する設定を追加します
最初に、CA証明書を用意します。証明書に問題がないか証明書情報を確認します。
※ ***.***.***.*** :接続先IRISサーバのIPアドレス
# openssl s_client -connect ***.***.***.***:1972 -showcerts -CAfile /home/ec2-user/ca_certificate.2024年第2四半期のプラットフォーム最新情報をお届けします。初めてご覧になる方、はじめまして!この記事では、最近おこなわれた変更点や今後予定されている変更点に関する情報を、みなさまに共有させていただきます。ただ、将来の予測は難しい側面があり、ロードマップは約束されたものではないということを十分ご理解ください
Red Hat Enterprise Linux
Ubuntu
HealthShare、HealthConnect、および InterSystems IRIS ユーザーが使用できる FHIR アダプターツールに関する連載記事を再開しましょう。
前回の記事では、ワークショップをセットアップした小さなアプリケーションを紹介し、FHIR アダプターをインストールした後に IRIS インスタンスにデプロイされたアーキテクチャを説明しました。 この記事では、最も一般的な CRUD(作成、読み取り、更新、削除)操作の 1 つである読み取り操作を実行する方法の例を確認します。ここではリソースの取得によって行います。
FHIR のリソースはある種の臨床情報です。この情報は、患者(Patient)、臨床検査へのリクエスト(ServiceRequest)、または診断(Condition)などです。 各リソースはそれを構成するデータのタイプのほか、データの制約や他のリソースタイプとの関係を定義します。 リソースごとに、それが格納する情報の拡張が可能であるため、FHIR ポリシーの範囲外のニーズに 80% 対応できます(ユーザーの 80% が使用する要件に対応)。
この記事の例では、最も一般的なリソースである Patient を使用します。 その定義を確認しましょう。
さて、FHIR アダプターの使用例に戻り、この記事では、IRIS インスタンスでの構成方法とインストールの結果を確認したいと思います。
プロジェクトの構成手順は公式ドキュメントで指示されているものと同じなので、直接こちらで確認できます。 では作業に移りましょう!
この記事に関連するプロジェクトでわかるように、IRIS インスタンスを Docker でデプロイしています。そのため最初の構成の主な部分は Dockerfile で行います。 Docker 構成については詳しく確認しないため、気にする必要はありません。
FHIR アダプターをインストールする手順は、たったこれだけです。
set status = ##class(HS.FHIRServer.Installer).InteropAdapterConfig("/Adapter/r4")ここでは、REST リクエストを受信する IRIS エンドポイントの URL を /Adapter/r4 と定義しました。
FHIR アダプターのインストールが完了したら、IRIS インスタンスで何が起きたかを確認できます。
InterSystems製品のバックアップ方法の中の4つの目方法は「コールドバックアップ」です。
InterSystems製品を停止できるときに利用できるバックアップ方法です。別サーバに環境を移植するときや、コミュニティエディションから製品版キットのインストール環境にデータベースを移植する場合などにもお使いいただけます。
1. InterSystems製品を停止する
2. バックアップしたいデータベースを退避する
3. InterSystems製品を開始する
既存環境から新環境へ移植する場合などの手順
1. 既存環境のInterSystems製品を停止する。
既存環境の設定など含めて全てを新環境に移植する場合は、以下記事の退避内容をご確認いただき、ご準備ください。
2. 新環境にInterSystems製品をインストールする。
1. の手順でコピーしていた情報をもとに、新環境の構成を設定します。
3. 新環境のInterSystems製品を停止する。
4. 既存環境のデータベースファイル(.DAT)を新環境の対象となるデータベースディレクトリに配置する(置換する)
対象:ユーザ用DB
5.
InterSystems製品のバックアップ方法の中の3つの目方法は、「並行外部バックアップ」についてです。
この方法は外部バックアップと異なり、スナップショットなどのストレージ機能がない環境に向いている方法でオンラインバックアップよりも高速にバックアップできます。(古いバージョンのInterSystems製品でも利用できるバックアップ方法です。)
ただし、バックアップやリストア手順が複雑になります。
並行外部バックアップの利用を検討される際は、事前にリストア手順についてもテスト環境などでご確認いただくことを推奨します。
データベースファイル(.DAT)を通常のコピーコマンドなどで退避します。
データベースファイルのサイズによってはコピー時間が長くなります。外部バックアップの方法を利用するとライトデーモン凍結時間のタイムアウトを迎えてしまうため、バックアップを正しく完了できません。
そのため並行外部バックアップでは、ライトデーモンの凍結を行わずデータベースのダーティコピーを行う方法を採用しています。
ダーティコピーのバックアップファイルだけでは不完全であるため、最後にオンラインバックアップの差分バックアップを行うことで完全なバックアップを取得します。
最後の手順に差分バックアップを行うため、オンラインバックアップと同様にデータベースリストを事前に作成する必要があります。
IRIS BIチュートリアル試してみたシリーズの10回目です。
今回はチュートリアル最後のページ「ピボット・テーブルおよびダッシュボードの作成とパッケージ化」についてです。
これまでアーキテクトとアナライザを使用してきましたが、今回はユーザポータル画面を使ってダッシュボードを作成していきます。
では、早速はじめていきましょう。
ダッシュボードはピボットテーブルをソースデータとして作成することができます。ですので、まずはソースとなるピボットテーブルを作成します。
アナライザ画面を開き、Tutorial キューブを開きます。
AgeD ディメンジョン内の Age Group レベルを [行] にドラッグ&ドロップし、続いて Age Bucket レベルを Age Group レベルの矢印記号 ↘ のところにドラッグ&ドロップします。
そうしますと、Age Group レベルの隣に Age Bucket レベルが表示されます。[行] の表示も、Age Bucket レベルが一段下げられた形で表示されています。
※注意:サンプルデータはランダムに作成されるため、こちらの画面表示とみなさまの実行結果は一致しないことがあります。
さらに Count メジャーを [列] に追加し、All Patients メンバを [行] に追加します。
この記事は、「インターシステムズ製品をバックアップする前に確認したいこと」に続く記事で、InterSystems製品のバックアップの手法の中の「オンラインバックアップ」の仕組みと、バックアップ・リストア手順について解説します。
オンラインバックアップは、InterSystems製品が用意するバックアップ機能を利用する方法で、バックアップ対象に設定した全データベースの使用済ブロックをバックアップする方法です。
InterSystems製品のデータベースには、サーバ側で記述したコード、テーブル定義/クラス定義、データ(レコード、永続オブジェクト、グローバル)が格納されていますので、これらすべてが1つのファイルにバックアップされます。
データ量が増えればバックアップファイルサイズも大きくなります。 また、データ量の増加に伴いバックアップ時間も長くなります。
バックアップ時間に制限のない環境や、ユーザからのアクセスがない環境(例:ディザスタリカバリの目的で配置しているミラーリングの非同期メンバ)のバックアップ方法としては最適ですが、バックアップ時間に制限がある場合は不向きです。
バックアップ時間をできるだけ短くしたい場合は、推奨方法である「外部バックアップ」や、手順が少し複雑になりますが「並行外部バックアップ」を取り入れるなどご検討ください。
開発者の皆さん、こんにちは。
この記事は、「インターシステムズ製品をバックアップする前に確認したいこと」に続く記事で、InterSystems製品のバックアップの手法の中の「外部バックアップ」の仕組みと、バックアップ・リストア手順について解説します。
まず、「外部バックアップ」とは、InterSystems製品の専用ルーチン使用せず、InterSystems製品以外のバックアップソリューションを使用してデータベースをバックアップする方法で、現時点の推奨されるバックアップ方法です。
詳細な説明、手順については、ドキュメント「外部バックアップ」をご参照ください。
外部バックアップでは、主に、論理ディスク・ボリュームの有効な "スナップショット" を迅速に作成するテクノロジと共に使用します。
例えば、
スナップショット・テクノロジが使用できないシステムであっても、後述する「特別な考慮」で対応できればご利用いただけます。
それでは早速、外部バックアップの前後で必要となるIRIS側の手続きと、バックアップとリストアについて確認していきましょう!
開発者の皆さん、こんにちは。
この記事では、InterSystems製品のバックアップ方法(4種類)のご紹介と、バックアップを行う前に確認しておきたい内容について解説します。
また、この記事に続くシリーズ記事では、それぞれのバックアップの仕組みと操作例を交えたバックアップとリストア手順を解説していきます。
シリーズ記事の中で行っているバックアップ練習、リストア練習の内容については、インターシステムズの講師付きトレーニングコースの中でも取り入れている内容で、一人1環境の演習環境内で実際にお試しいただいています。
参加者の皆さんと一緒に演習を進めて行きますと、データベースリストアの後に行うジャーナルリストアについては、ユーティリティから出力される確認項目が多いため、皆さん慎重に確認されながらリストアの指示を入力されています。そのため、リストア開始前の手続きや準備に意外と時間がかかっています。