#とりあえず・・・
今年もAdvent Calendarの枠だけは作ったものの、自分で何かネタを書く余裕どころか投稿を呼びかける活動すらできていなくて、参加人数も一昨年レベルにはなっているものの・・・って状態なので、もう一本書いてみることにあした。
カレンダーの枠を一つ埋めるネタだし、全然技術的な話でもないけどね・・・
#医療機器のソフトウェア(の開発)に求められること
日本の医薬品・医療機器等に関する法律や関連する法令・法規・行政通知みたいな話をし始めるとゴテゴテしてキリがなくなるんだけど、世界的に共通な(もちろん、国内でも採用されている)医療機器の開発、製造、流通、使用、廃棄に至るライフサイクルにおいて品質、安全性、有効性を確保するための「プロセス」を確立するための規格として「ISO 13485」というのがあったりする。
「品質の確保」っていろんな方法や見方があるんだけど、「一つ一つの品物の品質」を見極めるってのはすごく困難(いろんなヒトがいろんな環境・状況で使ってみた結果で初めて評価できる)なので、開発~廃棄までの「仕事の仕方」が「品質を確保できる」、主に安全面とかで言えば「既知の問題を未然に防ぐことができる」「未知のものを含め問題が発生した時に原因にたどり着くためのトレーサビリティが確保できる」等の視点から、「規格で規程されているプロセスの確立・維持・向上ができている」ことが前提の一つになってる感じ。
んでもって、そこから派生して医療機器ソフトウェア(これは医療機器に組み込まれる「医療機器プログラム」、ソフトウェア単体で医療機器として振る舞う「プログラム医療機器」とかがある。ってか、ややこしいw)の開発に関する「プロセス規格」の一つとしてIEC 62304: "Medical device software - software Life Cycle Processes"(国内ではJIS T 2304: "医療機器ソフトウェア - ソフトウェアライフサイクルプロセス"となっていて日本産業標準調査会のサイトで閲覧のみ可)というのがあったりする。
この規格は主として医療機器ソフトウェアの「安全性の向上」を目的として、開発及び保守に関する要求事項を示した感じのもので、ソフトウェアを組み込んだ医療機器の適合性を確認する上でこの規格への適合を示すことが重要になってきているっぽい。
ただ、この規格だけでそれができるわけではないし、最近の医療機器はネットワークに接続されるものも多いので、「機器の安全性」だけでなく、いわゆる「サイバーセキュリティ」のようなことも要求される。実際、医療機器のサイバーセキュリティ対策は一部の国で法制化もされている(国によって要求が少しずつ違うけど)。
細かいことを言い出すとキリがないけど、高度な医療機器にはソフトウェアが必要かつ重要になってきてるから、医療機器の開発そのものにおいて「ソフトウェアの品質向上」やそれを支えるプロセスの確立が重要になっている、って話かな。
#Qtの(あるいはQt Comapnyの?)取り組み
Medical Devices with Qtということで、The Qt Cumpanyはいくつかの関連規格の認証を取得してるらしい。ちなみにTUEV NORDは結構大きな認証機関だったりする。
一応、見ると「Class C」で取得している、なんて書いてある。
この"Class"はその機器におけるソフトウェアの位置づけで決まるっぽい。
- Class A: ソフトウェアが「危険状態」の一因とはならない。
- Class B: 「危険状態」の一因とはなるが、重傷の可能性はない。
- Class C: 死亡又は重傷の可能性がある。
つまり、Qtのツールは比較的ソフトウェアの不備がクリティカルな影響を与える機器にも使えるということを意味する。と思う。
#ということで・・・
もちろん、Qtだけ安全なら安全な医療機器ソフトウェアが作れる訳じゃないんだけど、少なくともQtを採用した医療機器ソフトウェアを作ろうとした場合において、開発者がQtの部分まで適合性を考えなくてよいというのは実際負担の負担が減ることを意味していて、つまり実装にかける時間をそれだけ確保できるようになるということ。ま、理想的にいけば、だけど。
実際、海外で開発製造されている某システムはかなり規模も大きいというかかなり複雑なソフトウェアを使った機器なんだけど、そーゆーのにQtが使われていたりする(初期のはMotifかなんかだった気がするのに・・・)。
ということで、まぁ、The Qt Companyはそういうジャンルで使われるための努力もしているみたいだよ、っていうそれだけの話でした。ちゃんちゃん。