投稿者

Training Sales Engineer at InterSystems Japan
記事 Mihoko Iijima · 6月 9, 2023 2m read

FHIR Tips:FHIRリポジトリのデータを全消去したい場合の方法

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にログインしてください。

※ iris session インスタンス名 (インスタンス名=インストール時に指定した名称)

iris session irishealth

 

ログイン後、FHIRリポジトリのあるネームスペースに移動します。

set$namespace="FHIRNAMESPACE"//FHIRNAMESPACEネームスペースに移動する例

以下実行します。

//引数にFHIRのエンドポイントを指定しますset repoInstance=##class(HS.FHIRServer.RepoInstance).FindByUrl("/myfhirserver/fhir/r4")
set repoManager=##class(HS.FHIRServer.Storage.Json.RepoManager).getInstance(repoInstance.repo)
//データだけ削除する場合の指定です。必ず指定してくださいset options("deleteDataOnly")=1do repoManager.DeleteService(repoInstance.serviceId,.options)

これでデータの全消去は完了です。