FHIR サーバとして IRIS for Health Community Edition を使用するための開発テンプレートです。
開発テンプレートの中では、FHIR サーバの設定、テストデータのインポート、REST API の使用例を含む簡単な Web ページが用意されます。
このテンプレートを利用するために、git と Docker desktop のインストールが必要です。
clone/git pull を使用してローカルディレクトリにリポジトリをダウンロードします。
$ git clone https://github.com/intersystems-community/iris-fhir-template.git
clone したディレクトリでターミナルを開き、以下実行します。
$ docker-compose up -d
このテンプレートでは、/fhirdata フォルダに5人の患者データのサンプルを用意していて、docker build のときにロードしています。
また、synthea-loader.sh を使用して任意数の患者データを生成できます。 ターミナルを開き、git clone で生成されたディレクトリに移動し以下実行します(Windowsで実行する場合は、synthea-loader.bat をご利用ください。)。
#./synthea-loader.sh 5
上記実行により、5人の患者データ用ファイルが data/fhir 以下に追加されます。 IRIS のターミナルを開き、FHIRSERVER へ移動します。
docker-compose exec iris iris session iris -U FHIRServer
FHIRSERVER のプロンプトが表示されたら以下実行します。
FHIRSERVER>do ##class(fhirtemplate.Setup).LoadPatientData("/irisdev/app/output/fhir","FHIRSERVER","/fhir/r4")
より多くの患者データサンプルを作成されたい場合は、こちら following project をご利用ください。
開発テンプレートが提供する FHIR サーバの Capability Statement をご参照ください。 以下 URL から FHIR サーバの Capability Statement を参照できます。
http://localhost:32783/fhir/r4/metadata
FHIR リソースのメタ情報を取得するには、以下の GET要求を実行します。
GET http://localhost:32783/fhir/r4/metadata
Postman で以下のGET要求を実行するとリソース ID=1 の患者リソースを取得できます。
http://localhost:32783/fhir/r4/Patient/1
Patient と Observation の FHIR リソースを検索し、結果を参照する非常に基本的なフロントエンドアプリは、以下 URL で参照できます。
http://localhost:32783/csp/user/fhirUI/FHIRAppDemo.html
VSCode ObjectScript メニューからも開くことができます:
ページを開くと、貧血の症状を持つ女性患者の検索結果を参照できます。 また、特定の患者IDを指定すると、ヘモグロビン値のグラフを参照できます。
InterSystems IRIS FHIR Documentation
Developer Community FHIR section(US版)
Developer Community FHIR section(日本版)
このGitリポジトリは、ObjectScript のプラグイン使用して VSCode でコーディングする準備が整っています。 VSCode, Docker ObjectScript プラグインインストールします。あとは、VSCoed でリポジトリのフォルダを開くだけです。
/src/cls/PackageSample/ObjectScript.cls を開き何か変更を加えてみてください。Ctrl+Sで保存すると実行中の IRIS docker コンテナでコンパイルされます。
PackageSample フォルダはサンプルです。ObjectScript 練習用として、編集、削除などお好みで行ってください。 もし、新規でクラスを作成する場合は /src 以下にパッケージ名のフォルダを作成し、その下にクラス名のファイル(例:Classname.cls)を配置してください。 例) /src/Package/Classname.cls
ご参考:Read more about folder setup for InterSystems ObjectScript
IRIS を起動し、開発テンプレートに必要なファイルのコピー(/src 、/fhirdata、/fhirUI 、/iris.script )と iris.script の実行を行います。
関連する docker-compose.yml を使用して、ポート番号やホストフォルダをマップする場所などの追加パラメータを簡単に設定します。
VSCode ObjectScript プラグインを使って VSCode ですぐにコーディングできるようにするための設定ファイルです。
VSCode ObjectScript でデバッグしたい場合の設定ファイルです。
このエラーが出る場合、docker の空き容量を使い果たしてしまった可能性があります。以下のコマンドを利用して未使用のイメージ、キャッシュ、コンテナを削除することができます。 (-f オプションを指定しない場合、確認用のプロンプトが出力されます)
$ docker system prune -f
上記コマンド実行後、キャッシュを使用しないイメージの再構築を行います。
$ docker-compose build --no-cache
上記コマンド実行後、コンテナを開始します。
$ docker-compose up -d
この他のヒントについては、dev.md をご参照ください。