みなさんこんにちは、エンジニアの平木です。4月末にリリースした「CLINICSカルテ」も、気づけばリリースから2カ月が経ちました。
以前、ルールや規制が複雑な中でのプロダクト設計についてCLINICSカルテのエンジニア・デザイナーに聞いてみましたが、今回は更に掘り下げて「運用開始してみてどうなのか」「実装はどんな感じだったのか」について前回(以下の記事です)と違うメンバーに聞いてみました。
聞いてみたエンジニアたち
宮内:プロジェクトの初期メンバーとしてオンライン診療アプリ「CLINICS」の立ち上げからCLINICSカルテの基礎作り、現在の運用まで携わる。顔出しNGだそうで、途中からなぜかカメラマン役に回ってくれました。
大岡:元ウォーターボーイズ、現エンジニア。オンライン診療アプリ「CLINICS」開発チームを経て、今年からカルテの開発チームに参加。ウォーターボーイズ時代の写真がSlackのアイコンなので、初めて本人と対面すると戸惑う人が続出。
竹内:ヤフーでエンジニアとして活躍後、メドレーへ。医療介護の求人サイト「ジョブメドレー」をPHPからRuby on Railsにリプレースしたり、オンライン医療事典「MEDLEY」を開発したりを経て、昨年の10月からカルテの開発チームに参加。
実運用を経て、プロダクトへ仕様を還元中
(平木)今はみなさんそれぞれ、CLINICSカルテでどんなことをしてるんですか?
(大岡)自分はこの4月半ばから本格的にチームに入ったので、リリース前後で課題に上がってきた機能の改善などをやっています。
(竹内)そうした不具合の修正などに加えて、今後のCLINICSカルテと外部システムの連携を見据えた開発もやっています。例えば分かりやすいもので言うと検査データとかですね。
(平木)将来的な構想に向けた仕込みということですよね。竹内さんが入ったのは、まだ基本的な機能の開発を進めていた時期だったような。
(竹内)チームに入ったのは、昨年の10月くらいです。その頃の宮内さんは、医療事務と医師向けの機能を分けて作るかどうかで苦悩していましたよね。
(宮内)そうです。医師が処置行為を入力するものと、医療事務が会計を入力するものに分けて作っていたんですよ。ログインするアカウントの役割によって、見える機能が違うという形で。診療を行ったときにカルテ上で行われることとして、まず医師が処置行為を書いて、それを医療事務が確認して、会計の具体的な金額に落としていくんですね。
例えば保険診療だったら細かな点数のルールが決まっているので「早朝の診療だったからこの加算がつく」とか、医師がカルテに書いた、一見すると処置行為に見えないものとかも考慮しながら請求を決めていく。そういった経緯で、役割に応じて機能を分けた方がいいと判断して、2つ作ることにしたんです。
(平木)なるほど、カルテの開発ならではの話ですね。
(宮内)カルテは医師が処置行為を入力するだけのもので、医療事務は別にORCA(医療会計システム)を立ち上げて、そっちで会計の処理をするというスタイルの電子カルテもありますけどね。
(平木)ああ、でもCLINICSカルテはORCAなどのシステムも全部一体型だから、カルテ内で機能を分ける必要があったと。
(大岡)でも最終的に、医師も医療事務も同じ機能を触れるようにしたんですよ。
(平木)え、医療事務の方が医師が入力する部分までさわれちゃう?
(大岡)医療事務が、医師が入力する画面を事前に開いて、受付で聞いていた内容などを入力する場合もあるということで。でも、医療事務が勝手に内容を書いたり処方できたりするというのは勿論ありえないので、最後の診療行為の決定ボタンは、医療事務は押せなくて、医師だけが押せるという仕組みにしました。
(平木)なるほど。
(宮内)その話を実際に医療現場から聞くまで、そんなパターン、想定できないじゃないですか。そんなんするの!?って思いました。
(平木)紆余曲折感がありますね。
今は「業務スピードをあげること」に集中
(大岡)あと「セット機能」にも最後まで悩みましたよね。
(平木)セット機能?
(宮内)よくある処置のパターンをテンプレート化しておく、という電子カルテによく見られる機能なんですけど、それをどこまでテンプレートにするのが望ましいのかというのは最後まで考えました。
(大岡)電子カルテのメーカーによって、いろんなパターンがあるんですよ。例えば「主訴」を入れるかどうか。患者さんが「ここがこう痛い」など説明している主な症状を「主訴」と言うんですが、これって患者さんによってバラバラだからテンプレートには入れないだろうなと思っていたんです。でも、この前聞いた話では、ある眼科向けの電子カルテでは、主訴や医師の初見までテンプレに含まれるそうなんですよ。結果としてCLINICSカルテでは、主訴は入れないとしたんですけど、悩むポイントでした。
(平木)確かに、診療科によっても使いたい機能に差があるんでしょうね。こうやって聞いてみると、実際に医療機関にテストしてもらう中で気づくことが、やっぱり相当ありそうですね。
(竹内)本番環境でテスト導入し始めてもらったのはこの4月くらいからです。
(宮内)テスト導入を受けて変えたことも結構あります。例えば「診察を開始する」ボタンを数回ほど変更したり。受付していない患者さんの診察が開始しないようにどう制御するかという点で試行錯誤した感じですね。
(平木)リリース直後というのも改善点が色々出てくる時期だと思うんですが、どうやって優先順位を決めてるんですか?
(竹内)機能が想定通り動かないというようなクリティカルな改善はもちろんすぐ対応しますが、それ以外は、期初の目標に向けた開発を第一にしています。
(大岡)電子カルテって膨大な情報を扱うので、いかにスピードを改善させられるかもその一つ。処理の時間自体は大きく変えられない部分もありますが、UI上で4ステップあったのを3ステップにできないかとか、細かな工夫を行なっています。
そろそろMithrilからReactへ
(平木)前回の「聞いてみた」でも「複雑なフローをデザインでどうシンプルで使いやすいものにするか」こだわったという話が出ていましたよね。その結果、UIはスッキリ見えていると思うんですが、コード的にはどうでした?
(宮内)辛さしかなかったな……w
(平木)フロントエンドはMithrilとReduxじゃないですか。苦労しそうな感じもします。
(宮内)確かに苦労しましたね。ただ、MithrilからReactに移行するためにMithrilとReduxの構成にしたので、もうしばらくの辛抱だと思ってます。
(平木)カルテを導入する医療機関数を増やして、ある程度固まったらReactに変えると。医師向けの画面全体がReactになるの?
(竹内)社内向けの管理画面はReact。LPの一部もReactに変えてますよね。
(大岡)管理画面はAngularでやってみてもよかったなと今は思っていますw
(平木)大岡さん最近はAngularがいいって言ってますよね。そういえば、医療介護の求人サイト「ジョブメドレー」で以前Angular.js使っていましたね。
(竹内)そうですね、あとオンライン医療事典「MEDLEY」でも使ってましたよ。
(平木)2周半回ってAngularが熱いということですねw 最近は軽くもなりましたし、TypeScript使ってるし。
(平木)MithrilとReduxの組み合わせでこれは難しかった、ということってありますか?
(大岡)Mithril v0.2.5を使っているのですが、ライフサイクルイベントがonunloadしかないですし、エコシステムが充実していないしで、つらみがありました。
(平木)Mithrilもよく頑張ったなと思いますよね。
(宮内)とはいえ、そろそろReactに変えて行こうかなと。
(平木)今日の結論としては、React一択だと。
(宮内)いやいや、Angularもまだワンチャンあると思いますw
CLINICSカルテと外部システムとの連携に向けて
(平木)いろんな苦労も聞いてきましたが、今後の話も聞きたいです。冒頭で「機能連携」に向けた開発をやっているという話も出ていましたけども。医療のプラットフォームとなることを目指し、様々な外部システムと連携する下準備を始めているということでしょうか?
(宮内)まずは、それぞれの診療科に対応できるような開発はもちろん継続していきます。例えば整形外科だったら、PACSという医療用画像管理システムと連携できるようにしたり。
(平木)PACSの他に、例えば検査データとかも連携対象にあると思いますが、使用する規格は検査データごとに違うんですか?
(竹内)規格を標準化しようという動きもあるんですが、これっていう1つに決まっているんじゃなく、いくつかフォーマットがある状態が現状です。なので何種類かを読み込める状態を作っていくことになるかもしれません。
(平木)診療全般を支える存在だからこそだと思うんですけど、電子カルテの開発って色々な要素がありますね。
(宮内)日本中の電子カルテの開発者が集まれば、すごくいい電子カルテができるんじゃないですかね。開発者たちが、それぞれのナレッジをオープンにシェアしていけば、医療自体ももっと前進するかもしれないなと思います。
(平木)「医療をオープンにする」、まさにメドレーが進めようとしてることじゃないですか。いい感じにまとめていただいて、ありがとうございます。
お知らせ
新しい医療体験を生み出す開発に興味がある方、こんなエンジニア・デザイナーともっと技術について色々話したいという方は、メドレーのページからご連絡ください。
来月末に開催される、デブサミ夏にも協賛させていただきます!色々なイベントでも、メドレーの開発陣を見かけたら、ぜひお声がけくださいね。