ORCAのアーキテクチャ(序)

動機

オタク医者どもが相変らずぐちゃぐちゃ言うのに辟易したのと、勝手なことを言ってまわる某社社長(ここではない)にいい加減「黙れ」と言いたい。かと言って、単にぶーぶー言ってもしょうがないから、忘れてしまう前にちゃんとした文書にまとめておこうと思う。

100の反論よりも1つの事実

が大事だからだ。

序の序

表に出ている公式の情報や見解とは別に、「関係者だけが知っていること」とか、「私だけが知っていること」がある。そのほとんどは、「別に秘密にする必要はないけど、今さら言っても何かの役に立つわけじゃない」ことだ。とは言え、野次馬的にはその辺も面白いだろうから、問題のないことは書くことにする。ただし、守秘に属すること、口を開くと大人気ないというようなことは、やはり口は閉しておくことにする。

また、ここに書かれているのは随分と昔のことである。歴史に関しては、あるいは私の記憶違いのこともあるかも知れないので、それについては適宜修正したいと思う。とは言え、「過去」は美化されることも、結果論で評価されることもあるものなので、つっこみを入れる前に、時計をその頃に戻してからつっこんで戴きたい。また、「○○さんが言ったらしい」の類は、すなわち伝聞であるので、「俺はそんなことは言ってない」ということがあれば、教えて戴きたい。また、歴史に関しては、私の知らない事実も多数あるはずなので、知っている人はこっそり教えてもらうと、これも適宜更新したいと思う。ただ、「歴史」そのものは人によって受け取り方の違うものでもあるので、その辺は留意願いたい。

私の立場

私は少なくともプロジェクト発足当時は、ORCAのチーフアーキテクトだ。ORCAのシステムの骨格となるところやシステムアーキテクチャは私がデザインしたものだ。それが現在のシステム構成やソフトウェア構成に反映している。また、それに基くミドルウェアの開発や選定も、主に私がやったものだ。

また、少なくともプロジェクト初期においてのプロジェクトの重要なポイントでの決定は、私の意見なしには行われなかった。つか、出来なかったはずだ。

とは言え、プロジェクト発足当時の私は、日本医師会から見た立場としては「単なる業者」に過ぎないから、いろいろな意思決定には直接参加はしていない。また、いわゆる「金の亡者」が大勢絡んでいたシステムであったから、私の影響力や私に与えられる情報は極端に制限されていた。つまり、私は「こうやらんとシステムは動かんぞ」と言うことは許されていたし、みんなはそれを聞いて従うしかなかったのだが、プロジェクトの立案やら契約やらに「暗躍」していた人達のことは私は知らされていないし、その辺がどうなっているかは、今もってよく知らない。だから、以下に書くことも主に「技術者」として見聞きし発言して来たことである。

背景

「ORCA」というプロジェクトが始まったのは、2000年の始め頃である。仕事そのものの打診があったのは、まだ1999年だったような気がするのだけど、その辺は実はメールも何もない。なぜなら、「直接」言われたからだ。

関係者のメールを発掘すると、2000年の3月頃にオープンソースでやる云々という話が出ているらしいのだが、私はもうちょっと前に打診を受けていたと思う。そして、その時には「オープンソース」という話はなかった。

私にとっての真実は、こんなプロジェクトには関わりたくなかったから、

断わる口実

として「オープンソースにするんだったらやるよ」と言ったことが元だと思っている。これには「自分の手柄」にしたい人からの反論があるんだろうが、基本設計は「チーフアーキテクト」なる私だ。他の人達が何と言おうと、私が動かなければこのシステムは存在してない。そのアーキテクチャに従って作ったミドルウェアがMONTSUQIなのだ。

既にそれなりに成功してしまった今だったら「あれは俺の発案」とか言う人がいるだろうが、仮に本当にそうであれば、私は関わっていないはずだ。なぜなら、その当時の私の環境を考えれば、他にやる人がいたら私はやることはなかった。逆に私がやったということは、他の誰もが手を下せなかったということだ。

その時聞いた話は、「日本医師会が医療機関をネットワーク化したいと言っている。そのためのポータルとしてレセコンを作りたい」という話だ。私にしてみれば「レセコン」というだけで拒絶反応だ。

それまで、医療システムにはほとんど関わってなかったのだが、「レセコン」というシステムには、

  • 定期的にメンテが必要(診療報酬改訂とか)
  • 既にマーケット地図が完成している
  • 既に枯れたシステムが大量に存在している

という事情があることくらいは知っていた。当時その話を持って来た人が全くその辺のことを理解していなかったとは思えないが、その話を持って来た会社は、なんだかんだ言って「ドットコムバブル」をうまく利用して上場… みたいなことを考えていた会社だったから、ほぼ永続的にメンテが必要なシステムを作って責任を取れるとはとても思えなかった。そうしたら、無責任なシステムになるか、誰かにケツを持ってもらわねばならない。それはシステムエンジニアとして敗北になると思うと共に、よけいな厄介事を抱えなければならないということを意味する。

そもそも、その時のその環境では、「じっくり腰を据えてシステムを開発する」ことよりも、「派手に見える開発計画をぶち上げて、出資を集める」ことの方に意識が向いていた。だからこのプロジェクトの受注元を知る立場から、そういった仕事にはゆっくり関われないだろうと思っていた。

仮にそれをクリアしたところで、既に長い運用歴を持つシステムが大量にある世界で、いかに「日本医師会」というブランドがついていようと、シェアが取れるとは思えない。いくらシステム価格が安くとも、他から移るコストを考えれば、「周回遅れのスタート」なのだ。どう考えても勝負になるとは思えない。それに「これから」開発しようというのだ。どれだけ開発エネルギーを裂くことが出来るかは知らないが、他の歴史のあるシステムに対抗するだけのシステムを作るのにだって随分と時間がかかる。その間に他のシステムだって進んで行く。下手すれば追いつくことすら難しい。

そんな

死亡フラグ立ちまくり

のシステムなんて、いくら金が出ると言われたって受注したくはなかったのだ。そこで、一番「金の亡者」にとって嫌われるであろうマジックワードを使うことにした。それは、

オープンソースにするなら考える

ということ。これなら、当時の業界の状況を考えると、オープンソースでマトモな業務システムが作れるとは、まだ思われていなかったし、そもそも業務システムそのものをオープンソースにしたら何が起きるかは誰も知らなかった。無責任な夢を見る人は大勢いたかも知れないし、それは関係者にもいたけれど、少なくとも「上場のネタ」になんぞはなれそうにもないと思っていた。

正直なことを言えば、当時日本Linux協会会長であった私も、オープンソースで業務システムを作ることに懐疑的だった。つか、その時点では出来っこないとすら思っていた。詳しいことは後のエントリに譲るが、そもそも当時は

業務システムの開発環境

がオープンソースにはマトモなものがなかったのだ。その当時の私の講演でも、「〜必要である。〜を作ることが急務で、それがLinuxの普及には重要なんだ」という文脈はあっても、「〜は既にあるんだから、後はやるかやらないかだ」という文脈は存在していない。つまり、その当時他のもの代替するに十分な開発環境はなかったのだ。だから、この開発環境を用意するところから物事を始めなければならない。それはそれで楽しいことだし、好きな仕事ではあるけれど、これは仕事であって遊びじゃない。また、失敗の許される「研究」でもない。と言うことは、「納期」が存在し、また「完成」を保証しなければならないのだ。

仮にそういった開発環境が用意出来たとしても、アプリケーションプログラマがある程度の生産性を確保しながら使えなければならない。そんなものを納期を設定して出来るはずがない。

間に入った人にはそういったことも含みながら、「私はこの仕事は断わりたい。ただ根拠なく断わっても納得はされないから、こう言うのだ」と説明をしておいた。まぁその話が伝わっていたかどうか私は知らない。何しろ相手方(具体的に誰ということは知らない)からは、

オープンソース大いに結構。それでやりましょう

という答えを引き出してしまったからだ。

その答えは、私まるっきり予想外だった。本来であれば当時は「これから」のものだと思われたLinuxやオープンソースに、プラスになるであろう「強力な応援団」である「日本医師会」を味方につけたわけだから、大喜びしてもいいことだ。しかし、「システムエンジニアである私」は、

なんて無茶を引き受けたんだ

と鬱ぎ込むしかない。だって、「出来っこない」と思っていたから、「やらないため」の理由を突きつけたつもりでいたのだ。勝算なんて皆無だ。でも、そこを「やる」と言われてしまったわけだ。いくらやりたくなくても、やるしかない。

最近になってわかったことなのだが、実はこの「オープンソースでやる」ということの決定の裏には、当時同じ会社の役員をやっていた某社社長とか、その会社周囲の関係者の「暗躍」があったらしい。何がどういうわけかよくわからないが、彼等は「オープンソースでやる」ということをプッシュすることをしていたらしい。その「プッシュ」がどうやら彼等が「公式にオープンソースでやると決めた」ということになるらしい。だから、彼等にとっては「自分たちが進めたんだ」ということになるらしい。それはそれで「彼等の歴史」としては納得できる。なるほどなぁ。私は「断わる口実」として言っただけなんだが、「彼等」にしてみれば何か金の臭いがしたキーワードだったのだ。

とは言え、やれと言われたからやるしかない。「出来なくても知らんよ」という言質を取りつつ、「しょうがない」のでやることにした。えらくやる気のない私の発言で、失望する関係者もいるかも知れないが、実際当時はそれくらい「やりたくない」仕事だったのだ。

とは言え、勝算が0だったかと言えばそうでもない。

確かに限りなく勝算は0に近いことであったのだが、0ではない。それがあったからスタート出来たのであるが、これについては以降のエントリにて。

まぁそんなわけで、まずはアプリケーションを開発する人達を集めることから始まった。これには某社の社長が働いた。彼の古巣で医療システムをやっていたチームが暇になっていたということがあったので、彼等に働いてもらうことにした。当時私は既に東京に生活の居を移していたから、あまり遠方(松江)の会社でやるのは気乗りしなかったのだけど、人材的にほぼ選択の余地がなかった。

何しろ前述のように、既にマーケット地図の決まってしまった「レセコン」なんてシステムを開発出来るだけのマンパワーなんてのは、「新規」に集めるのは困難を極める。そりゃ「日本医師会」というブランドやら、金やら積めば、あるいはその気になるところもあったかも知れないが、実績やら経験やらがないと、恐くて頼めない。それを思うと、それなりに経験や実績のある人達が

いるだけマシ

と考えなきゃいけない。その人々がどこにいるかについて、良いの悪いの言ってられないのだ。それが「故郷」であり「本社」の近くの人々であるということは、むしろ幸いとすべきだった。

ORCAのアーキテクチャ(序)” への2件のコメント

  1. オタク医者ではありますが、私はORCA Project/MONTSUQIについては、以下の点で高く評価しているし支持もしている。
    1)医療情報業界に風穴を空けた。
     プロプラマンセー、俺標準最高、な世界にオープンソースソフトウェア、もっといえばGPLを持ち込んだことは何よりも評価できる。
     オタク医者とは言っても、本当の意味でのオタクがいないから、ちゃんとした技術評価もできなければ学術的評価もできない。開発にかけたコストと回収できるコストの検証もできない。そんな世界。
     ここのところ、イギリスを中心としたヨーロッパ、オーストラリア勢が医療情報界を席巻しつつあり,それはOSSを前提としているから、国内もそれをうけて変わりつつ…いや、変えようとしているところ。
    2)熟年プログラマの開放
     COBOLを自宅のパソコンでいじれるというのはCOBOLERのかたがたにとっては衝撃だったという話をあちこちでうかがいました。今後、団塊の世代が定年退職して暇を持て余し出したときに、OSSコミュニティに積極的に参加してもらえればそれはそれで、今までにない展開があるのではないかと期待しています。
    3)OSSの垂直展開事例
     今でも、Linux kernelやWeb serverを中心としたApache projectなどの業種横断的な水平展開においてはOSSの成功事例はたくさんあるけど、業務特化したソフトウェアを公開して成功している事例はそれほど多くない。海外の医療でOSSやっている連中と話していても、ビジネス展開には苦労しています。
     そんな中で,「日本では3,000以上の病院/診療所でDebianが動いている」と発言したら大喝采をうけましたよ。

    実際にもう既に4,000以上の導入件数が出ている訳で,5,000件も直ぐに達成できるでしょう.レセプトオンライン化がなされるまでには、2万から3万件の実績にはなるんじゃないかと予想しています.
    反面,心配もあります。1つにはレセコン後の世界。電子カルテってのが言われてはいるけど、それが今の形のものであるのか,そうではないのかがまったく先が読めない。そろそろそうしたところを模索しないといけないけど、無駄に開発費も投じられない。そんな中でORCA Projectはどうしていくのか。
    2つには10年後もCOBOLでありつづけるのか,それとも他の言語に載せ替えるのか。特定の言語にこだわると大失敗するというのは1995年頃に経験しました。けど、今までのCOBOL資産というものもあるわけで、これを完全に捨て去るのはなかなか厳しい。ミドルウェアをJBossにうつしかえて、Java-COBOLラッパにapsの代わりをさせるというのは一つの手かもしれないけどそれはそれで大変。もっとも、10年後のJavaやRubyがどうなっているかなんて、想像すらつかないんですけどね。でも、COBOLはしぶとく生き延びているのでしょうね。
     いずれにしても、保険診療そのものがまったく違うものになって資産をすべて捨てざるを得ないことになるかもしれないって状況もあるかもしれないというのが、一番こわいところです。;-)
    3つめ,これが最大。先ほどの話の続きで,「医療の先が読めねぇ」。噂されているように混合診療が導入されて自由診療部分ができたりすると混合部分の境目を判定したり,混合部分を民間保険会社に請求したりするプロセスが発生します。保険請求業務は数倍に膨れ上がるので、それに対応しないといけなくて、それにはやっぱりコストがかかる。そしてそれは決して安くはありません.誰が負担することになるんでしょうか.
    医療費抑制策のあおりで、病院や診療所の財布の紐がしまりまくっているから、ORCAサポートベンダの人たちも苦しんでいます.
    こんな中でいかに現場の労力を減らし,医療全体に置けるコストを下げるためにシステム開発をしていくかというのは非常にやりがいのある仕事なんですが、その仕事が表されずに金が出ない。「電子カルテ」と言うハコモノにお金が出てはいますが,それが現場を幸せにしているとは決して言い難い.数年前には医療ITバブルってのがありましたたけど、それもはじけた。電子化加算といっても初診料に30円上乗せされるだけ。
    あー、言っているうちに暗くなってきました。あとはogochanのスルー力がもう少しあがってほしいと思わなくもないですが,ORCAプロジェクトの歴史は憶測とか推測ではなくきちんと残してほしいので、この連載は楽しみにしています.

  2. > 本当の意味でのオタクがいないから、ちゃんとした技術評価もできなければ学術的評価もできない。

    いや、それが出来たらオタクとは言わないってば。

    技術的な問題に関しては、私は楽観視しています。なぜなら、それが出来るようなアーキテクチャにしたからです B)

コメントは受け付けていません。