人気ブログランキング | 話題のタグを見る

Dojo でプロトタイピング

Dojo の勉強に電子カルテを作っているがとても面白い。

Dojo の機能のうちで最もうれしいのは、画面設計が非常に簡単なのと、ItemFileReadStore で構造的なデータの操作が非常に簡単に出来ることだ。

とくに、ItemFileReadStore の使い勝手の良さは、感涙ものだ。なにしろ、サーバーからのデータの取り込みでやることは、JSONファイルを記述するだけなのだ。そうして、プログラムするときには気づかないが、ItemFileReadStore は、非同期なのだ、データストアーにクエリーを発行しないうちはサーバーからのデータの取り込みは行われない。したがって、初期の画面の表示はかなり速い。使っているほうはそうと知らないうちに Ajax をやっていたことになる。

今のところ、Dojoを使ってASP的なことをするには、サーバーへのデータの書込の情報が足りない。実際にはやられているようだが、セキュリティの面からもあまり情報が多くはないほうがいいのかもしれない。

もちろん、やろうと思ったらそう難しくはないかもしれない。PHPとの連携プログラムは簡単に出来そうだ。また、ItemFileReadStore にはクエリーをサーバーに発行してデータを取り込むタイプもあるし、サーバーとの連携用の extension point もある。

しかし、読み出しだけであってもAjaxの利点を生かしたページを作ったり、プロトタイプを作ってみるためには、JSONファイルを記述するだけで済んでしまうのはなんともありがたいのだ。

遊びで作り始めた電子カルテだがプロトタイプを作ってみて、いろいろなことが分かってきた。実は、現場では電子カルテは厄介者なのだ。電子カルテを使いたくないばかりに早期退職するメディカルスタッフも多くいるし。紙ののカルテに比べて入力の手間が倍以上かかる。また、患者さんのベッドサイドへ気軽に持っていくというような機動性もない。入力に気をとられて、パソコンの画面ばかりを見ることになるので、患者さんにも不評だ。現在の医療現場の混乱に一役買っているのではないかと思うこともある。

しかし、電子カルテのプロトタイプを自分で作ってみて、電子カルテの良い面も見えてきた。検索が速いので、カルテが見つからずに探し回るということがない。ひとつのデータから色々な帳票が自動的にできる。たとえば、患者検索のデータはそのままカルテの記入や紹介状に利用できる。検査のオーダーをすると、データの結果表やタイムテーブルが自動的にできる。薬を処方すると、薬歴情報や副作用情報が同時に作成される。

それでも市販の電子カルテを使いたいという気持ちになれないのは、現場の人間が求めるものと、プログラムの専門家が設計したユーザーインタフェースにまだかなりのすれ違いがあるからではないだろうか。

カルテを作成する作業は切符を販売するような作業と違って、作業の種類も多く入力もどうしても複雑になりがちだ。コンピュータでそれを実現しようとすると目がちかちかするようなボタンとメニューで画面が埋め尽くされてしまう。ひとつの病気を扱うのに、診察所見や写真の情報や血液検査の結果や、体温などの生理学的な数値や、病歴やこれまでの経過など参照する情報は多岐に渡る。これらの情報を表示したり入力したりするのにはパソコンの画面は狭すぎるのだ。

こうして、作業の複雑さに対応するコントロールのためのスペースが画面の大部分を占め、肝心な情報は真ん中のほうの狭いスペースに押し込められてしまう結果になる。また、コントロールを隠してプルダウンメニューにするとそれを覚える手間とメニューをいちいち開く手間が馬鹿にならない。

Dojo の TabContainer と SplitContainer と AccordionContainer はそのような状況を改善してくれるかもしれない。これらの操作性はちょうど紙を重ねて使っているのと同じ直感的な操作性を与えながら、画面の狭さを補っている。タブレットコンピュータでペンを使って操作できればもっといい。左手で患者さんの脈を取りながら、右手でカルテを記入するというのはよくある動作だからだ。

プログラムを作るほうは現場の人間が何を欲しているのか、どういうことに不便を感じるのか完全に理解するのは難しいのだ。これらの感覚は言葉や論理では表現できにくいからだ。現場の人間がこういうものがほしいというプロトタイプをつくり、プログラマがセキュリティなどの技術的な問題を厳密に解決するというパターンが最も望ましいのではないだろうか。

いままでは、現場の人間がプロトタイプであれプログラムを作るというのは不可能だったが、Dojoの画面のレイアウトの直感的な分かりやすさや、JASONファイルを用いたデータ取り込みの容易さは、現場の人間がある程度動くプロトタイプを作るということを可能にしてくれるのではないかと思う。
by tnomura9 | 2007-12-03 00:03 | Dojo | Comments(0)
<< JavaScriptの人気のフ... dojo.data の使い方 ... >>