医療DXとは?データ連携を加速させるHL7 FHIRとテスト戦略 Vol.2

医療システムにおいてデータ連携を加速させるHL7 FHIRとテスト戦略のベストプラクティスをご紹介する記事です。

はじめに

この記事では、HL7 FHIRでデータ連携する医療システムをテストする際の課題についてご紹介します。 以前の記事では、医療DXにおけるデータ連携の標準規格「HL7 FHIR」についてご紹介しましたので、気になる方は「医療DXとは?データ連携を加速させるHL7 FHIRとテスト戦略 Vol.1」もご確認ください。

次のような方におすすめです。
  • HL7 FHIRでデータ連携する医療システムにおけるテスト手法をお探しの方
  • 今後、HL7 FHIRでデータ連携する医療システムの開発を予定している方

HL7 FHIRでデータ連携する医療システムに必要なテストとは?

医療DXには、HL7 FHIR (REST API)を用いて医療システムのデータ連携を活性化させるという目標があります。最近の医療システムは、UIアプリケーションが属するフロントエンドや、UIを持たずサーバーとして処理を行うバックエンドや外部のシステム、そしてデバイス等で構成されています。この記事では、EHR・PHRや介護・健康管理アプリケーションなど、収集された医療データを可視化して利活用するアプリケーションをフロントエンド側と定義しています。また、電子カルテやPACSなどの医療データを利活用する機能を有する院内システムをバックエンド側と定義しています。そして、医療関連のIoTデバイスやウェアラブルデバイスなどの機器をデバイス側の例として紹介しています。従来はデータ連携が難しかった医療システムに対しても、HL7 FHIRの採用でデータ連携が可能となり、データの利活用の幅がさらに広がります。

 一方で、開発のテストフェーズでは、医療システム間でのデータ連携を伴うが故に生じる課題もあります。HL7 FHIRを活用すると、医療システム間でのデータの利活用が促進されますが、裏を返せばフロントエンド・バックエンド・デバイスがデータ連携できなけば適切に動作しないということも意味します。また、一般的にはフロントエンド側・バックエンド側・デバイス側で開発チームが異なっていたり、別の協力会社が担当しているといったケースが多くあります。そのため、各チームの担当システムをテストするだけでも医療システム間でのデータ連携が必須となることから、連携する医療システムが利用できない場合にはテストの進捗に影響する場合もあります。特に、データの取り扱いが人命に影響し得る医療システムにおいては、ソフトウェアの品質を確保するための十分なテストが必要となり、全体のスケジュールの遅延にも繋がりかねません。このように、テスト時にはデータ連携を伴うために生じる課題もありますので、テスト対象の医療アプリケーションだけでなく連携する医療システムに成り代わるテスト環境を準備することについても考慮する必要があると言えます。

次項では、各医療アプリケーションごとのテスト時に起こり得る課題についてご紹介します。

フロントエンドのテスト課題

フロントエンドのテストでは、アプリケーションのUIテストが主なテスト観点となります。一般的には、フロントエンドのテスト工数を減らすためにUIテストの自動化ツールを導入するというソリューションがよく採用されます。UIテストを自動化することで、特に繰り返し実施する必要があるUIの回帰テストを効率化することができます。

一方で、HL7 FHIR (REST API)で連携する医療システムはそもそもバックエンドのシステムが利用できなければ正常には動作しませんので、フロントエンドのテストを実施するためにはバックエンドのREST APIが利用できる状態である必要があります。そのため、UIテストの自動化ツールを導入したとしても、バックエンドのAPIが利用できないためにテストが思うように実施できないという状況が起こり得ます。

バックエンドの影響で起こり得るフロントエンドのテストに関する課題は下記の通りです。
  • バックエンドの開発が遅延していてAPIとの結合テストができない
  • バックエンドを開発している他チームとのスケジュール調整が必要となりテストを自由にできない
  • 連携している外部のAPIを利用できる期間が限られており、テストのタイミングが限定される

そのため、フロントエンドの医療アプリケーションをテストする場合には、バックエンド側にも目を向け、適切なテストソリューションを選択する必要があります。

バックエンドのテスト課題

バックエンドのテストにおいては、連携する医療システムとの結合テストを実施する前に、APIを直接テストして品質を確保することが求められます。このとき、テスト対象のAPIと連携する医療システムが利用できない場合には、バックエンドのAPIテストも実施できず待たされるという状況が起こり得ます。また、バックエンドのAPIとIoT機器が連携している場合では、APIテストを実施するために毎回実機を用意するのが困難でテストできるタイミングが限定されるというケースも考えられます。そのため、APIテストを実施する際には、連携する医療システムや医療デバイスの状況も考慮する必要があります。
また、APIテストが可能な状態であっても、APIテスト手法に課題がある場合もあります。例えば、限られたデータパターンでしかテストを実施していない場合や、複数のAPIを想定した順番で呼び出すシナリオテストのパターンが不足しているというケースです。また、APIテストは実施していてもレスポンス電文の検証は目視で行っているために、テストが自動化されていないという例もあります。

このように、バックエンドのAPIをテストする際に起こり得る課題をまとめると下記の通りです。
  • 連携している医療システムやIoT機器に依存しており、自由なタイミングでAPIテストができない
  • 様々なデータパターンでのテストや、複数のAPIを順番に呼び出すシナリオテストができていない
  • APIテストは行っているが、テストの実行から検証までを含めての自動化はできていない

そのため、バックエンドのAPIテストを自由に実施できる環境を用意しつつ、十分なテストパターンでAPIテストの自動化が可能なソリューションを採用することが求められます。

医療デバイスのテスト時の課題

医療デバイスのテストを実施する際にも、連携する医療システムが利用できるという前提が必須となります。例えば、バックエンドのAPIが利用できなければ、医療デバイスを動作させてテストすることもできなくなります。そのため、システム間でデータ連携をしていなかった、従来型の組み込み機器のテストでは起こり得なかった課題に対応する必要があります。

医療デバイスのテスト時に起こり得る課題の例は下記の通りです。
  • バックエンドの開発が遅延していてAPIと連携したテストができない
  • バックエンドを開発している他チームとのスケジュール調整が必要となりテストを自由にできない
  • バックエンドのAPIを利用できる期間が限られており、テストのタイミングが限定される

そのため、医療デバイスのテストを実施する場合にも、連携する医療システムに依存しないテストソリューションを選択する必要があります。

テスト進捗の遅れが許されないスケジュール

HL7 FHIRのようなデータ連携を伴う医療システムでは、プロジェクトのマイルストーン毎にシステム間の結合テストを実施することが一般的です。例えば、下図のスケジュールでは、各マイルストーンでシステム間で連携したテストを行う予定がありますので、前もって十分なテストを行い品質を確保することが求められます。

一方で、ソフトウェアの品質が低いままシステム連携を伴うテストを行った場合、問題が起こった際に原因を特定するための手戻り作業が発生しやすくなります。結果としてテストの進捗が遅れ、さらにプロジェクト全体の遅延にも繋がり得ますので、このような状態に陥らないためにも適したテスト戦略が必要となります。

まとめ

本記事では、医療DXにおけるHL7 FHIRでデータ連携する医療システムにおいて、各医療アプリケーションや医療デバイスなどをテストする際の課題についてご紹介しました。次の記事では、これらの課題に対するソリューションについてご紹介します。
APIテストまるわかりガイドダウンロード

APIのテスト自動化とサービス仮想化を1ツールで SOAtest/Virtualizeに
関するお問い合わせ

  • テクマトリックス株式会社
    東京本社

    ソフトウェアエンジニアリング事業部

    03-4405-7853

メールでのお問い合わせ
parasoft-info@techmatrix.co.jp

お問い合わせ

製品についてやテクマトリックスについてなど、
こちらよりお気軽にお問い合わせいただけます。