• X
  • Facebook
  • RSS

技術で医療課題の解決を図るファストドクター。コロナ禍での負荷増大をスタートアップならではのスピード感で解決

ファストドクター株式会社の開発について、CTO・宮田芳郎さんと、リードエンジニア・荻野秀晃さんにインタビュー。コロナ禍で急激に需要が高まっているMedTech分野で、スタートアップならではのスピード感で開発に取り組んでいます。

夜間往診&オンライン診療のプラットフォームを提供するファストドクターの開発

新型コロナウイルスの感染拡大により、急激に需要が高まったMedTech分野。注目度が高まる中、医療機関と提携し、夜間往診と24時間対応可能なオンライン診療のプラットフォームを提供しているのがファストドクター株式会社です。代表かつ医師である菊池 亮さんと、共同代表を務める水野敬志さんがForbes JAPANの「日本の起業家ランキング2023」で1位を獲得したことでも話題を集めています。

患者数が増大した2022年7月の新型コロナ第7波では、リアルタイムで業務負荷が高まっているシステムの問題提起から開発、リリースまでを1カ月以内に完了させるなど、スタートアップならではのスピード感で開発に取り組んできました。

また2022年12月にはRuby on Rails中心の開発から、Vue.jsとNestJSを組み合わた新しい技術スタックを採用。加えてテック部門の組織再編も行いフロントエンドとバックエンドがワンチームで開発できる環境を整えるなど、開発規模の拡大に注力しています。

医療が抱える課題を技術で解決するため、どのような環境で開発に向き合っているのか。同社でCTOを務める宮田芳郎さんと、リードエンジニアの荻野秀晃さんにお話を伺いました。

※この記事はファストドクター株式会社によるSponsoredContentです。

新型コロナ第7波による負荷増大をスピーディーに解決

── オンライン診療は新型コロナウイルス感染症の拡大を受け、2020年4月に「時限的・特例的な取り扱い」として解禁*1されたのち、2022年4月からは「初診からのオンライン診療」が制度として正式に認められる*2ようになりました。ファストドクターは2020年の“解禁”から1週間でサービスを開始したそうですね。

宮田 はい。医療提供体制の緊急性に即応し、いち早く医療機関さまや患者さまにサービスを提供できたことはとても良かったと思います。一方で「時限的・特例的」な措置がいつ解除になるか先行きが見えないことから、当時突貫工事で作った仕組みに対して大型の改修や投資ができなかったという背景がありました。

そのため業務フローとして最適化されておらず、自社システムを中心に複数のサービスを行き来しながら情報のやりとりをする必要があり、業務負荷の高い状態が続いていました。

サービス開始当初はさほど問題はなかったのですが、2022年4月に「初診からのオンライン診療」が恒久化された後、新型コロナ第7波の突入もあり2022年6月から8月にかけて診療の依頼件数が13倍と急増。需要増加による業務負荷が許容できない状況になり、荻野さんを中心に抜本的な刷新を試みることになりました。

── 具体的にどのような点に手を入れたのでしょう。

宮田 メインはどの医師がどの患者さまを診療するか差配する業務画面「オンライン医師差配」の再構築で、業務側とのすり合わせも並行しながら、一気に作り直しました。合わせて医師が入力するカルテ画面も改修しています。

ファストドクター 宮田芳郎さん

宮田 芳郎(みやた・よしろう)

ファストドクター株式会社 CTO

東京工業大学情報系学科大学院を卒業後、政府向けのコンサル企業に入社。その後教育分野のスタートアップ企業・ガラパゴスを創業し技術開発の責任者を約7年にわたり務める。フリーランスを経て株式会社COMPASSに入社し、小中向け学習サービスを一から手がけたのち、2021年12月にファストドクター入社。

── かなり大規模な改修だったんですね。新しく作り直すにあたり、仕様面で意識した点はありますか?

宮田 「オンライン医師差配」を実際に利用する、オンライン診療コーディネーターの使い勝手です。オンライン診療コーディネーターは1日1,000件以上もの診察案件を、医師の空き状況や患者さまの居住エリア、症状の軽重など、複数の条件を鑑みながら割り振っていくという繊細な業務をしています。

そのため今回の改修では、スケジュール画面上で案件を「カンバン」のようにドラッグ&ドロップで動かせるようにしたほか、WebSocketで同時刻に勤務する複数のコーディネーターの画面にリアルタイム同期することで、従来のように複数のサービスを行き来せず一つの画面で業務が完結することを意識しました。

また、一刻も早く業務負担を削減できることを念頭に置き、実装も「2週間で開発が終わる」ように仕様を考えました。

夜間往診&オンライン診療のプラットフォームを提供するファストドクターの開発

▲ 改修後の「オンライン医師差配」画面(ダミー)。各カードをドラッグ&ドロップで移動できる

── 問題提起から要件定義、開発・リリースまでにどれくらいの時間を要しましたか。

宮田 「このままだと感染爆発に対応するのが厳しい」という話が社内で持ち上がったのが、第7波の感染者が増加し始めた2022年7月15日前後だったと思います。1週間掛けて社内ヒアリングを行ったのちに開発をはじめ、8月10日ごろにはリリース可能な段階になりました。

荻野 具体的なスケジュールは、要件定義に1〜2週間開発に2週間ぐらいでしょうか。スピード感をもってリリースできました。

ファストドクター 荻野秀晃さん

荻野 秀晃(おぎの・ひであき)

ファストドクター株式会社 リードエンジニア

学生時代からロボット関連の開発に携わり、卒業後は日立製作所で工場の生産管理システムに関わる。株式会社ラクスのテックリード、株式会社TABILABOの創業期メンバーを経て、2017年から数社でCTOや技術顧問を務める。医療系スタートアップの立ち上げにも関わる中で「社会インフラに密着して課題を解決したい」という思いを抱き、2022年5月にファストドクター入社。

── 新型コロナの患者数は指数関数的に上がっていきますし、「スピード」は非常に重要視されていたことかと思います。企画からリリースまで1カ月以内と速やかに動けた要因はなんでしょうか。

荻野 課題の特定が早かったことです。ファストドクター社のメンバーは皆それぞれの分野のスキルが高く、課題の特定、言語化が適切で。現場、開発それぞれで得意不得意を出し合って、チームとして一丸となりプロダクト開発することができました。

宮田 課題の特定にあたっては、最も重要な利用者であるオンライン診療コーディネーターへのヒアリング時点で、ある程度の仮説を立て「この画面操作ができれば課題は解決しますか?」と個別具体的に確認をしました。普段から現場との交流を持ち、ユーザー視点で課題を捉えられたことがスピードアップに貢献しました。

少人数稼働、適切な課題洗い出し、連携がスピード開発につながった

── 課題を洗い出す上で、やはりシステムの利用者からの情報共有は重要なんですね。開発期間が2週間と短い期間で済んだのはなぜでしょう。

荻野 フロントエンドもバックエンドも、ベースとなるシステムがすでにあったことが大きかったですね。2022年に入ってから構築した別のシステムがあり、アーキテクチャ、技術選定、細かい技術群が揃っていたんです。

アーキテクチャと開発プロセスについては、マイクロサービスをデザインスプリントで回すことができました。

宮田 あとは理想的な業務システムには天井がなく、「上」を目指すといつまでたっても終わりがないんです。時間やリソースといった制約がある中で、いかに少ない画面で業務上の課題を解くかに注力したこと、そのビジョンを現場と開発の間で共有できていたことも大きかったと思います。

私は任天堂の宮本茂さんを尊敬しているのですが、宮本さんはかつて「アイデアは複数の問題を一気に解決するもの」と話していたそうです。ソフトウェア開発も「こうすれば解けるはず」「与えられた時間で業務課題を一気に解決する」というアイデアを出すことが重要だと思っています。

── そういった思考が適切な仮定の設定や課題の洗い出しにつながり、業務要件定義や開発プロセスがうまく噛み合った、ということですね。開発で利用した技術スタックや規模についても教えてください。

荻野 バックエンドがRuby on RailsフロントエンドがVue.jsです。

宮田 ファストドクター社の開発チームは現在約20名で、今回のオンライン医師差配システムの刷新に関わったメンバーは3人ほどです。同じタイミングで作り直した医師のカルテ画面も、2人で開発しています。

── どちらも少人数で稼働したことで、スピードアップにつながった印象を受けます。システム開発から実際の業務への実装まではスムーズでしたか?

宮田 はい。仕様を固める段階からオンラインコーディネーターに参加してもらったこともあり、実質的なトレーニングは1日ほどで済みました。短い助走期間で業務に導入でき、無事、第7波の需要増加を乗り切れました。

NestJSとVue.jsの組み合わせで開発規模の拡大に備える

── ファストドクター社では最近、新しい技術スタックとして「NestJS」と「Vue.js」を導入したそうですね。どうしてこの二つを採用したのでしょうか。

宮田 マイクロサービスの開発に向いているからです。

私たちが提供するサービスは、

  1. 電話やLINE、アプリなどを介した患者さまからの診察相談
  2. メディカルコールスタッフによる症状のヒアリングなどの電話対応
  3. ​​症状に応じた緊急度のトリアージと、通院困難性を考慮した救急病院案内・救急往診・オンライン診療などの適切な受診行動の提案
  4. 保険証・医療証のオンライン提出
  5. 救急往診・オンライン診療を実際に行う医療機関と患者さまのマッチング
  6. Web上でのお支払い

と、業務のパイプラインが「長い」ため、開発の際は影響範囲をシビアに確認する必要があります。

「パイプラインの一部だけを短期間で新しくしたい」という開発ニーズも多く、この要求に対応できる技術スタックとしてNestJSとVue.jsを採用しました。これらを「Next Stack」と呼んでいます。

── 既存の技術スタックとNext Stackとの違いを教えてください。

宮田 ファストドクター社はこれまであまり開発メンバーが多くなく、少人数でも効率よくシステム開発ができるRuby on Railsを採用していました。

ただ、Ruby on Railsは短いコードで多くの機能を実現できる分、モデル側に処理を寄せる形になりやすい。新しく開発に加わった人は、影響範囲の見極めが難しいんです。

── なるほど。これから開発規模を大きくしていく中で、より多くの人が適切に開発できる環境を意識した、ということですね。NestJSとVue.jsを組み合わせたのはどうしてですか。

宮田 同じTypeScript言語で、フロントエンドもバックエンドも作れるからです。開発規模が大きくなっても、私たちはなるべくワンチームでいきたい。エンジニアをフロントエンドとバックエンドに分けて開発するのは、しっくりこないんです。

チームが分かれると仕様検討会が必要ですが、ひとつのチームであればコードレビューだけで進みます。なのでTypeScriptを選び、フレームワークの中ではRuby on Railsと考え方が近いNestJSを選びました。新規開発は全てNestJSで進めていますね。全体の比率でいうと20〜30%ぐらいでしょうか。

── NestJSを開発に取り入れてみて、感想はいかがですか。

宮田 Ruby on RailsのORマッパーは良くできていたなあ、と思いましたね(笑)。

荻野 NestJSは、Ruby on RailsのORマッパーとAngularJSのDI(Dependency Injection=依存性の注入)を取り入れた設計です。それぞれ良さはありますが、AngularJSはDIにこだわりすぎて理解が難しくて……。

NestJSがRuby on RailsやAngularJSのようなかゆいところに手が届く存在になるのは、まだこれからだと思います。Ruby on Railsも4ぐらいから良くなったので、将来性は十分あります。

宮田 もちろんすでに感じているメリットもあります。フロントエンドもバックエンドも同じTypeScriptなので、マイクロサービスもモノリポジトリです。フロントエンドとバックエンドをまたいで、1回でリファクタリングできるのはとても良いですね。

また、今はフロントエンドとバックエンドの間の通信はREST APIですが、型の定義はType orのデータベースからAPIクライアントが自動生成します。

── なるほど、フロントエンドとバックエンドの間の通信でもTypeScriptの型が生きるんですね。

宮田 ビジネスロジックを一回書いたら、フロントエンドとバックエンドのどちらでも適切な方に処理を回せて、書き直す必要がない。これはRuby on Railsでも得られなかった開発体験です。

テック部門をワンチームにまとめ、より開発しやすい組織に

── 組織についても伺わせてください。2022年12月に組織を再編し、テック部門を「ファストドクターテクノロジーズ」としてバーチャルカンパニー化したそうですね。

宮田 はい。これまではプロダクトに関わるエンジニアが各部署に点在していたのですが、ファストドクターテクノロジーズとしてひとつの組織にまとめ、ワンチームとして活動できるようにしました。またR&Dユニット(研究開発部門)も増設しました。

我々の会社が他のSaaSベンダーと違う点は、ソフトウェアだけで価値提供が完結せず、看護師やオペレーターが患者さまと対話して問診を行う、あるいはそのあとに医師が診察を終了して、初めて価値提供ができるんです。業務工程が長いからこそ、業務もITも、UXもバックエンドも全てが噛み合わないといけない。

どの現場を管轄する部署とも日常的に関わりを持つことで、業務理解が進み、いいプログラムが書けるようになる。バーチャルカンパニー化には、サービスと開発、双方の連携をより強固にする狙いがあります。

── 人が増えることを想定した開発環境を導入し、ワンチームで活動できるよう組織を再編するということは「やりたい仕事がたくさんある」状態ということですね。

宮田 やりたいことだらけです。我々は2025年までに「不要な救急車利用を3割減らす」というビジョンを描いています。近年のサービスの利用増加により手応えは感じていますが、まだ到達はしていません。

また国が医療計画を立てる際に重視している「5疾病・6事業および在宅医療*3」に沿ってファストドクター社のソリューションを提供していきたいとも考えています。

今までは急に具合が悪くなった人(急性期)を重視したサービスでしたが、これからは生涯向き合っていかなければならないような病気(慢性期)にもアプローチしていきたいと考えています。この変革に伴ってビジョンもアップデートし、「1億人のかかりつけ機能を担う」を掲げました。このビジョンの実現のため、今よりもっとテクノロジー部門を強くしていきたいと考えています。

荻野 医療に関する情報にいい形でアプローチできるようにしたいですね。我々のサービスが医療リソースをもっと有効に活用できる足がかりになればと思っています。

宮田 医療分野では、まだまだスタートアップのスピード感でもの作りをする企業は少ないのが現状です。そんな中で我々は、バチバチとすごいスピードで開発していきたい。ビジョンや開発へのスタンスに共感いただける方には、ぜひジョインいただきたいですね。

ファストドクターではエンジニアを積極募集しています!

ファストドクター社のテック部門「ファストドクターテクノロジーズ」では、テクノロジーで医療課題を解決する“チームメイト”を募集しています。

特に以下の職種を積極募集中です。

[SponsoredContent] 企画・制作:はてな
取材・構成:星 暁雄
撮影:小野 奈那子
撮影場所(TOP画像以外):WeWork 東京ポートシティ竹芝

*1:新型コロナウイルス感染症の拡大に際しての電話や情報通信機器を用いた診療等の時限的・特例的な取扱いについて(厚生労働省、2020年4月10日)

*2:オンライン診療の適切な実施に関する指針(厚生労働省、2022年1月一部改訂)

*3:5疾病とは脳卒中、心筋梗塞等の心血管疾患、糖尿病、精神疾患。6事業とは救急医療、災害時における医療、へき地の医療、周産期医療、新興感染症、小児医療(小児救急医療を含む)