医療用ソフトウェアにおけるQtフレームワークとその隠れた魅力
3月 18, 2025 by Qt Group 日本オフィス | Comments
(Qt World Summit 2025 の公式スポンサーである Scythe Studio によるゲストブログ)
Qt に関わる人々は皆、Qt が強力なフレームワークであり、幅広いプロジェクトのニーズを満たすことができることを十分に理解しています。Qt は GUI プログラミング機能だけでなく、高度なツールや多数のビルトインモジュールも提供しており、ほとんどの医療機器メーカーにとって最適な選択肢となります。
このトピックについて執筆する権限はどこにあるのでしょうか? Scythe Studioは医療機器に重点的に取り組んでいるQt開発企業です。 当社は長年にわたり、手術ロボットや医療用画像処理アプリケーションを含む複数のプラットフォームの開発に携わってきました。 当社の役割は、要件エンジニアリング、UX/UIデザイン、C++およびQtプログラミング、テスト、そして最近では規制やサイバーセキュリティ業務にも及びます。 当社のプロジェクトの80%以上は医療技術業界のお客様向けです。
弊社は、ISO 13485:2016 品質管理システムを導入し、IEC 62304:2006 体制でソフトウェア開発を行っています。 以上の前提を踏まえ、弊社はQt フレームワークを使用した効果的な医療機器開発のヒントを共有する傾向にあるだけでなく、その義務も感じています。
Qt 医療用ソフトウェア講座
Qtフレームワークは膨大であるため、医療用ソフトウェアに適している特性すべてについて、適切な詳細分析を行う必要があると判断しました。そのため、医療業界でQtを使用するための医療業界に特化したコースを用意しました。
Scythe Studioによる「医療機器ソフトウェアのためのQt」コースは、Qt AcademyおよびYouTubeでご覧いただけます。一貫性のある正確なコンテンツを準備するのに多少の時間はかかりましたが、最終的な動画の長さは1時間半に収まりました。チームのために良いことをしましょう。ゆったりと座って、飲み物とおやつを用意し、視聴して、メモを取りましょう!😊
Qt for Medicalで何ができるか?
まず、Qtを使ってどのような医療用ソフトウェアを構築できるかに注目してみましょう。 まず、いくつかのユースケースを区別するために、ソフトウェアの主な目的に注目してみましょう。 本記事で「医療用」という場合、病院外でも使用されるアプリケーションやデバイスを意味する場合があります。 この用語には以下が含まれます。
- 医療機器 - これだけでもすでに多岐にわたります。脊椎手術システムは医療機器です。選択した身体部位の3Dセグメンテーションを行うデスクトップアプリケーションも医療機器です。この範囲は、使用されるプラットフォーム、オペレーティングシステム、ハードウェアターゲット、または医療分野(心臓外科か歯科か等)によって限定されるものではありません。
- 体外診断用医療機器 - これらは、健康パラメータを決定するために生物学的サンプルを検査する際に使用される機器です。
- 臨床検査機器 - 顕微鏡、測定ツール、ストレージユニット、バイオ3Dプリンター。 すべてのさまざまなデバイスは、裏でソフトウェアを実行しており、その多くはユーザーインターフェース付きのディスプレイを組み込んでいます。
- ウェルネス/フィットネス - トレッドミルやウェイトリフティングマシンなどの最新式のジム用機器には、トレーニングパラメータを設定したり、パフォーマンスを魅力的に視覚化したりできるタッチスクリーンが搭載されていることがよくあります。 これは、さまざまなウェルネス機器にも当てはまります。
- ヘルスケア IT - 例えば病院情報システムとして使用されるさまざまなアプリケーション。通常、デスクトップ、ウェブ、モバイルのいずれかです。
実例をご覧になりたいですか?qt.ioのウェブサイトをご覧ください。Dräger社が呼吸器に、Fresenius社が輸液ポンプに、Clarius社が携帯用超音波システムにQtを使用している例をご覧いただけます。また、業界の多くの大手企業がQtを採用していることを私は知っています。
厳選されたケーススタディ - 得られた教訓
Scytheでは、外科手術システム、モバイル血液分析器、PCRテスター、HISアプリ、電動システムなど、さまざまなプロジェクトに取り組んできました。 以前は、企業や新興企業のために働いていました。 これらのプロジェクトのほとんどは、MDR、IVDR、またはFDAの規制対象でした。 これらはクラスIII製品であると同時に、クラスIまたはIIでもありました。 これらのプロジェクトで最もよく見られた問題は何だったでしょうか?オープンソースライセンスで提供されているものも含め、Qtが提供するものすべてに不慣れであることです。
多くのソフトウェア開発者は、Qtをユーザーインターフェイス開発と関連付けており、それだけだと考えています。しかし、Qtには多くの機能があります。前述の通り、フレームワークの複雑性を1つの記事で説明することは不可能なので、コースを見てみることをもう一度お勧めします。しかし、医療用ソフトウェア開発にQtを選ぶ価値がある理由を説明してみましょう。
医療用ソフトウェア開発にQtを選ぶ理由
医療用ソフトウェア開発にQtが選ばれる理由は以下の通りです。
1. フル機能のフレームワーク
医療機器はそれぞれ全く異なる場合があります。実装が必要な機能が何であるかは分かりません。多くの場合、依存関係を限定して開発を行う方が望ましいです。そうすることで、メンテナンスの労力とサイバーセキュリティのリスクを軽減できます。さらに、医療分野の場合、依存関係はすべてSOUP(Software of Unknown Provenance - 出所不明のソフトウェア)であるため、それぞれを注意深く監視する必要があります。各依存関係を検証し、多くの機能を備えたフレームワークに基づいて、この作業を制限する必要があります。
膨大な数のツールとモジュール
以下は、Qtアドオンモジュールを示す図です。これらのモジュールは、必須のコアモジュールには含まれないものです。その多くは、すべてのQtユーザーが利用できます。このリストには、追加のライブラリ(Qtアプリケーションマネージャ、セーフレンダラーなど)やツールは含まれていませんが、非常に多くのモジュールがあることがお分かりいただけるでしょう。
例えば、多くのデバイスが幅広い接続性を実装しています。多くの接続プロトコルは、Qtモジュールのいずれかに実装されています。
医療用GUI開発
Qtは誰もが知るGUIフレームワークです。しかし、Qtの何が特別なのでしょうか?本質的な部分に分解してみましょう。
Qtを使用してユーザーインターフェースを開発するには、基本的に2つの方法があります。QtウィジェットとQt Quickです。前者はC++をベースとしており、フレームワーク全体と同様に成熟していますが、スタイル面(カスタマイズも可能ですが、面倒です)では、最新のGUIに最適なテクノロジーとはいえません。デスクトップアプリケーションには最適です。一方、Qt Quickはトレンドを確立し、デスクトップ、組み込み、モバイルなど多くのプロジェクトで使用されている堅牢なソリューションです。
Qt QuickのGUIのどのような点が注目に値するのでしょうか? 確かに、QMLを使用したユーザーインターフェースのコーディングは、宣言的で自然な方法です。説明するのは難しいのですが、QMLコードを見ただけで、UIがどのように構成されているかを頭の中でイメージできることがよくあります。迅速なプロトタイピングが可能です。さらに、Qt Quickモジュールは、アニメーション、マルチメディア、グラフィック効果(影、ぼかし、マスク)など、多くのモダンなインターフェースに必要な視覚的に魅力的な効果を幅広く提供します。最近、あるお客様から、その美観を重視するデバイスのGUIを自動車のコックピットのようにしてほしいというご要望をいただきました。そして、このトレンドは今後も続くでしょう。
さらに、GUIの観点では、Qtは3Dプログラミング、カスタムの高性能チャート、安全なレンダリングツールをサポートしています。
Qtを使用した医療用GUI開発の詳細をご覧ください。
2. クロスプラットフォームの互換性
Qtは、すべての主要なデスクトップおよびモバイルプラットフォーム、組み込みLinux、RTOS、さらにはWebAssemblyをサポートしています。これにより、研究開発における柔軟性、容易な移植、コードの再利用が可能になり、技術スタックをより小さく保つことができます。つまり、Qtはクロスプラットフォーム開発の本来の意味を提供します。
ハードウェアターゲットについて言えば、QtはNvidia Jetsonのような強力なボードから、STM32 F769Iのようなリソースに制約のあるマイクロコントローラまで、すべてを公式にサポートしています。ESP32のような極小のMCUには理想的ではないかもしれませんが、ほとんどの医療機器では、このような限定的なハードウェアは使用されていません。Qtのウェブサイトには、サポートされている組み込みターゲットの膨大なリストがあります。
3.製品化までの時間が短い
Qt によって医療機器の開発が迅速化されるのには、いくつかの理由があります。それは、Qt のさまざまな特性の組み合わせによるものです。前述の効率的な UI 開発、組み込み機能とモジュール、合理化された設計プロセス(Qt Design Studio のおかげ)、Qt の Q&A ツールを使用した統合テストなどです。それらを正しく組み合わせる方法を知っていれば、作業を大幅に加速することができます。
4. 成熟度
医療のような規制産業では、成熟した確立された技術を選択することが重要です。Qtは長い間存在しており、この技術を使用して構築された医療機器の実績も豊富です。その多くは規制当局の審査にも合格しています。
Qt はかなり長い期間存在しています。 医療技術企業では、今後何年にもわたってサポートされるソリューションを求めています。 開発のベースとなるフレームワークは成熟し信頼性が高いものでなければなりません。 グローバルな医療技術企業の上位 90% が、Qt を使用してデバイスを構築しています。
5. 認証、透明性、追跡可能性
ScytheではIEC 62304およびISO 13485に従ってソフトウェアを開発していますが、Qtグループも多数の認証を取得しており、品質に対する取り組みを実証しています。私見ですが、Qtが取り入れている最も重要な基準は、ISO 27001:2022やISO 9001:2015といった、フレームワーク自体の開発に使用されている基準です。
Qtのソースコードの構成を見ると、すべてが追跡可能であり、サイバーセキュリティの問題に対して迅速な対応が期待できることが分かります。新しいパッチがアップロードされるたびに、適切な静的コード解析とともに、多数のユニットテストと統合テストが実行されます。Qtの品質保証の方法は模範的です。
6. サイバーセキュリティ
Qtはサイバーセキュリティの脆弱性に対応し、必要に応じてフレームワークをパッチで修正するなど、迅速な対応が可能です。SOUPの使用が増えるほど、予測不可能なサイバー問題も増えます。
また、デバイス向けに、Qtはモジュール内のプログラミングツールを提供しており、これにより安全なネットワークプロトコルと暗号化通信を実装できます。
7.付加的なソリューション
Qtはフレームワーク以上のものを提供しています。開発をスピードアップし、品質を向上させるための、幅広いデザインおよびテスト自動化ツールを提供しています。Qt Design Studio を使用すると、デザイナーや開発者は、ライブプレビュー、ピクセル単位の正確なデザイン、Qt アプリケーションとのシームレスな統合により、美しいユーザーインターフェイスを作成することができます。また、Figma プロジェクトを Qt Design Studio にエクスポートすることも可能です。
テストと自動化に関しては、Qt は複数のプラットフォームにわたる GUI テストを自動化する強力なツールである Squish を提供しており、ソフトウェアの堅牢性を確保します。Test Center はテスト結果の管理、追跡、分析を支援し、開発の高速化を実現します。
医療機器開発のための強力な選択肢
ご覧いただいたように、医療用ソフトウェア開発にQtを選ぶべき理由は数多くあります。医療用ソフトウェアに適した技術の選択についてさらに詳しく知りたい場合は、Qt Academyのコースをご覧ください。プロジェクトの開始準備中であり、技術的な選択について専門家のコンサルティングが必要な場合は、お気軽にご連絡ください。現在のチームに能力が不足している場合にも、お役に立てるかもしれません。
今年のQt World Summitでお会いしましょう。チケットを購入して、そこで話し合いましょう!
著者:Lukas Kosiński
医療ソフトウェアエキスパート|元Qt開発者|Sythe StudioのCEO
LinkedInでつながって、Qt、医療ソフトウェア開発、ヘルスケアの最先端技術について話し合いましょう!
Blog Topics:
Comments
Subscribe to our newsletter
Subscribe Newsletter
Try Qt 6.8 Now!
Download the latest release here: www.qt.io/download.
Qt 6.8 release focuses on technology trends like spatial computing & XR, complex data visualization in 2D & 3D, and ARM-based development for desktop.
We're Hiring
Check out all our open positions here and follow us on Instagram to see what it's like to be #QtPeople.