優れた機能をもったシステムでもダウンしたら終わりです。航空管制システムや新幹線の制御システムのダウンは生死に関わり、原子炉制御のシステムダウンは、生死のみならず、広範囲に亘って住めなくなる地域が出ることにより、狭い国土を更に狭くしてしまうことになりかねません。システムに頼っている度合いが強ければ強いほど、ダウンした際のダメージは大きくなります。問題なく稼働し続けるには、何に気をつければいいのでしょう。医療情報システムに限らず、システムが止まってしまう要因は大きく分けて5つあります。
①電源断、②ハードウェア障害、③ソフトウェア障害、④アプリケーション不具合、⑤操作ミスです。今週はこれらの要因と対策につき説明します。一作日は、“電源の問題”昨日は“ハードウェア障害”でした。今日は、OS、データベース、通信などの基本となるソフトウェア障害です。


~~~~~~~ソフトウェア障害~~~~~~~~
OS、データベース、通信などシステムのインフラとなるソフトウェア群に障害が発生するとシステムは止まります。もちろん、製品の性格上、十分な品質テストをしてから出荷されるので、滅多なことではトラブルは発生しない信頼性を持っています。汎用機のOS設計チームに所属していた際には、リリース前のあまりにも厳重なテストにここまでやるのかと思ったものでした。しかし、リリース後、ユーザで使われだすと、OSの不具合に起因するトラブルに遭遇することがありました。

 

リリースされたばかりの製品、新機能はできるだけ使わないというのが私の方針ですが、それは多種多様な使われ方をしている現場のアプリケーション全てをテストするわけにはいかず(PCLが作れず)、使われてみて初めて発覚する不具合があることを経験的に知っているからです。デザインレビューをやり、可能な限りの品質向上をしてからリリースしますが、既述のように不具合は0にはなりません。原因を究明し、対策を施し再度リリースしますが、これを繰り返しようやく安定してくるというのが実情です。この様なことがあるので、リリースされたばかりの製品、新機能はできるだけ使わず、枯れた技術、製品を採用する方針を採っているということです。とかく最新の技術、製品を採用したがる傾向にありますが、システムが具備する機能を実現するために必要な技術、製品か否かを熟慮し、それがなければ機能を果たすことができない場合のみ、採用してきました。院内業務全てをシステムの載せるシステムの開発時、必要だったのは診察業務効率化のための音声文字変換、患者識別のための無線が必須だったので、新しい技術ではあったものの試行錯誤のうえ、採用しました。

一般的に、バージョン3が無難だと言われます。バージョン1は品質が安定せず、機能が揃っていないのに対し、バージョンアップ2はそれらを吸収し、皆さんが使い込み、不足している機能も分ってきます。それをバージョン3に反映し、実用性が増し、安心して使える状態になります。バージョン4以降は、余分な機能がつき重たくなるのが常です。このバージョンに関する評価は、今までの経験からも同感できる見方ではないかと思います。付和雷同にブームに迎合せず、ベンダ(システム開発会社)の甘言に乗らない、これがポイントではないかと思います。

※質問はosugisama@gmail.comにどうぞ。
※リブログを除き、本ブログ内容の無断流用を禁じます。