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

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

はじめに

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

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

医療DXにおけるフロントエンドのテスト課題に対するソリューション

接続できないHL7 FHIR (REST API) に成り代わるサービス仮想化

本記事では、医療DXにおけるEHR・PHRや介護・健康管理アプリケーションをフロントエンドと定義しており、これらは医療データの利活用を可能にするバックエンド側とHL7 FHIR (REST API)でデータ連携しています。このフロントエンドのテストで起こりがちな、「接続先のAPIが利用できないことで、フロントエンドのテストも実施できなくなる」といった課題は、「サービス仮想化」で解決できます。サービス仮想化とは、一般的には「スタブ」や「モックサーバー」といった名称で呼ばれるもので、接続できないAPIの代わりに、疑似環境として用いることができるソリューションを意味します。開発の遅延や時間の制約によってバックエンドのAPIが利用できないタイミングがある場合でも、サービス仮想化によって本物のAPIと同様に応答する環境を用意できます。これで、バックエンドに依存せずフロントエンドのUIアプリケーションのテストをいつでも実施することができます。テストを実施するために毎回実際のAPIを利用したり、他チームや他社とのスケジュール調整を行う必要もなくなりますので、外部の要因でテストが待たされるという課題を解決することができます。

サービス仮想化で作成した(本物のAPIに成り代わる)疑似環境とフロントエンドを連携することで、開発の早い段階からテストを行い、早期のバグ検出と品質の作り込みが可能になります。これは、後工程での結合・システムテストで、重大な不具合が発生することや、スケジュールが遅延するリスクを減らすことに繋がります。

特に、サービス仮想化ツール「Parasoft Virtualize」を利用すると、工数を掛けずに高性能・高機能な疑似環境を作成することができます。

API利用者の課題を解決するサービス仮想化ツール「Parasoft Virtualize」

サービス仮想化ツール「Parasoft Virtualize」では、高性能・高機能なモックサーバー/スタブを効率的に作成できます。Virtualizeは受信したリクエストを賢く判断し、応答すべきAPIに成り代わって適したデータを返すことができますので、あたかも本物のAPIを利用しているかのようにテストで活用することができます。CSVやEXCELなどで用意したデータソースをVirtualizeに取り込めば、用意されたデータの分だけバリエーションに富んだ応答も可能です。

また、VirtualizeにはAPIの疑似環境を自動生成する機能も用意されています。Swagger/OpenAPIなどのAPIのIF定義ファイルを取り込んで疑似環境を自動生成することができますので、APIがまだ作成されていない新規開発等の場面で活用できます。また、API連携で送受信するトラフィックをキャプチャして疑似環境を自動生成することも可能ですので、既存のAPIが利用できる場合に特に有効な方法となります。

さらに、設定はすべてGUI上で行いますので直感的な操作や容易にメンテナンスも可能にします。Virtualizeを利用することで、さまざまな理由で本物のAPIが利用できない状況であっても、APIを利用しているかのようなテストをいつでも実施することができます。

医療DXにおけるバックエンドのテスト課題に対するソリューション

HL7 FHIRでデータ連携するバックエンドのテストを自動化

HL7 FHIRでデータ連携する医療システムには、電子カルテやPACSなどを例とした医療データを利活用する機能があり、これを本記事ではバックエンドと定義しています。このバックエンドはAPIでデータ連携していますので、テスト時にはAPIテストの自動化ソリューションが有効です。APIを利用するアプリケーションからのリクエスト電文をシミュレートしつつ、それに対するレスポンス電文の検証までを自動化することで、工数を掛けることなく十分なテストを実施することができます。一度作成したAPIのテスト資産を繰り返し利用して継続的に回帰テストを行うことで、APIの品質を高めることに繋がります。開発の早期の段階からAPIを十分にテストし品質を確保することで、後続の工程で重大な問題が発生するリスクを抑えることができます。

特に、APIテスト自動化ツール「Parasoft SOAtest」を利用すると、工数を掛けずに必要な機能を備えたAPIのテストドライバーを作成することができます。また、APIテストの実施時にサービス仮想化ツール「Virtualize」を活用すべきケースもあります。例えば、バックエンドのAPIと連携している他システムや外部サービス、または医療デバイスなどが利用できない場合でも、Virtualizeでそれらを仮想化することができます。そのため、それらの依存関係を取り除き、いつでもAPIテストを実施することが可能になります。

API開発者の課題を解決するAPIテスト自動化ツール「Parasoft SOAtest」

APIテスト自動化ツール「Parasoft SOAtest」は、APIのテストドライバーを作成する機能を持ち、APIへのリクエスト電文(テスト電文)をシミュレートします。テスト実行後にAPIから返されるレスポンス電文の検証も自動で行いますので、APIテストを自動化できます。APIが返すレスポンスが変更された場合も、受信したレスポンス電文を自動で期待値として設定する機能を用いることで、メンテナンス面に負担を掛けることなく運用できます。ほかにも、CSVやEXCELで用意したデータソースをテストドライバーに取り込んでテストのバリエーションを増やしたり、複数のAPIを順番に呼び出すシナリオテストなども、GUI上の設定のみで容易に実施することができます。

また、SOAtestではテストドライバーを自動生成することも可能です。Swagger/OpenAPIなどのAPIのIF定義ファイルを取り込んでテストドライバーを自動生成することもできますので、APIを新規開発する場面で活用できます。既存のAPIが利用できる状況であれば、API連携で送受信するトラフィックをキャプチャし、APIのシナリオテストを自動生成することも可能です。

SOAtestには、APIテストの機能以外にも、データベースの検証を行う機能やAPIのセキュリティテスト、APIの性能・負荷テストといった機能も搭載されており、APIに関連するsさまざまな観点でのテストを自動化することを可能にします。

医療DXにおける医療デバイスのテスト課題に対するソリューション

医療システムにおける、IoTデバイスやウェアラブルデバイスといった医療デバイス側をテストする際にも、Virtualizeを利用して連携しているバックエンドを仮想化するソリューションが有効です。Virtualizeを利用することで、毎回テスト時に実際のバックエンドのAPIと通信する必要が無くなりますので、バックエンドの医療システムの状況に依存せずに医療デバイスをテストすることが可能となります。

また、例えばバックエンド側がトリガーとなって医療デバイスにリクエストが送信されるようなケースでは、SOAtestでリクエストをシミュレートしてデバイスの応答をテストすることも可能です。ユースケースに応じてSOAtest/Virtualizeを柔軟に適用することで、幅広くテストを自動化することができます。

まとめ

この記事では、サービス仮想化ツール「Parasoft Virtualize」とAPIテスト自動化ツール「Parasoft SOAtest」を利用したソリューションをご紹介しました。実は、この2つのツールは、APIテスト自動化/サービス仮想化ツール「Parasoft SOAtest/Virtualize」という名称で1ツールに集約されており、フロントエンド・バックエンド・デバイスの各テスト対象を独立させてテストするが可能です。つまり、FL7 FHIRでデータ連携する医療システムのテストで起こり得る課題を1ツールで解決することを可能にします。

SOAtest/Virtualizeは非常に多機能であり、さまざまなユースケースで活用いただけますので、ご興味がございましたら「APIテスト自動化」および「サービス仮想化」のページもご覧ください。
APIテストまるわかりガイドダウンロード

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

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

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

    03-4405-7853

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

お問い合わせ

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