Perlで大学病院の医療情報システムを構築しようとした事例

mixiで、「業務経歴書にPerl案件を書くと馬鹿にされる件」という話が出て、それについていろんな方が意見を述べられていて、とても興味深い。(例えば、Java圏とPHP,Perl圏の断絶について。 や、 なぜ「業務にPerlは使えない」のかなど)

もともと、WWWが普及する前は、Perlといったらシステム管理者のたしなみというか、「レポート作成」のためのプラクティカルなツールってことで、使いこなせれば色々生産性が高いよねって感じのツールだったんじゃないかと思う。(これ想像)

その後、ウェブが普及してきて、ブラウザから投げられた入力を色々処理したいって要求が出てきたとき、これちょうどいいじゃない、ってことでPerlがチョイスされたと。「The duct tape of the internet」つまり、インターネットのガムテープ、とか言われたりするんだけど、(ちなみに、ダクト・テープっていうのは、アメリカ人にとっては結構思い入れの深いツールらしい。参考: アメリカ人とダクトテープの不思議な関係。)
要するにPerlは手軽で便利、neatなツールって感じの位置づけだったと思う。

俺の個人的印象を言うと、その後ウェブがどんどん普及していく中で、本屋なんかに「1週間で覚えるCGIPerl」みたいな感じのイージーな本が並ぶようになって、「ウェブサイトに掲示板を追加するにはPerlとかいうのをおぼえにゃならんらしい」みたいな一般の人々のイージーな要求を引き受けるツールとしてPerlが解釈されるようになった、って流れもあるような。(件のJava屋さんのイメージは、これに近いんじゃないかと想像)

まあ、それはいいんだけど、雑誌「日経コンピュータ」2002年3月11日号の記事「動かないコンピュータ」では、ある国立大学病院の「統合医療情報システム」構築の事例が取り上げられていて、これが面白い。色々すったもんだがあったらしいんだけど、一旦受注した業者がギブアップ、その原因のひとつとして「Perl」があげられている。

開発言語の選定にも疑問

……第二に、おそらく1000万ステップ級のプログラムが必要なプロジェクトに対し、Web開発言語のPerlを採用したことだ。これは銀行の勘定系システムをPerlで開発するようなものである。医療情報システムの開発経験のあるベンダー数社は、開発にPerlを使うと聞いて言葉を失ったという。

日経コンピュータ 2002.3.11 「実績なきベンダーへ発注し,開発に失敗 再入札で恒例のメーカーに頼み直す」より

「勘定系システムをPerlで開発するようなものだから」という説明は、わかるようなわからないような説明だけど、これを読んだとき、ひらめいたのは、ウェブで「お医者さんごっこ」をして遊ぶための「おもちゃの医療情報システム」を作ったら楽しいんじゃないか、ってことだ。

医療情報システムの仕様って、よくわからないけど、医者のカルテ、診療報酬の計算、処方箋をだしたり、とか、そんな感じだろうか。これに、簡単な掲示板と会員管理機能をつけて、例えば、だれでも勝手に医師としてシステムに登録できて、やってきた患者と掲示板で対話(書けるのは自称医師と患者のみ、読むのは誰でもできる)、勝手に診断してカルテを登録、薬を処方したりして、遊んだりする。(成績不振で悩んでる大学生に「酒」を処方したりとかね)

色々ダークな事件が起こったりして社会問題になりそうなおもちゃだ。

しかし、大学病院の医療情報システムの失敗というと、○○病院のSmalltalkの事例が思い起こされるが(この日経コンピュータの記事にも言及がある) 言語自体の問題というより、開発体制から必然的にチョイスされる言語ってのがあって、それでどういう案件に対応できるのか判断される、ってことは、やっぱりありうる事の様な気がする。