見出し画像

医療ドメイン未経験者が新システムを0から設計できる理由 | エンジニアインタビュー

Henry

株式会社ヘンリーは、「社会課題を解決し続け、より良いセカイを創る」というMissionのもと、クリニック・中小病院向けの基幹システムであるクラウド型電子カルテ・レセプトシステム「Henry」を開発・展開しています。

今回お話を伺ったのは、「Henry」のレセプト(医事会計システム)開発を担うチームでバックエンドエンジニアとして働く長尾ビトルさんです。前職では求人検索アプリのバックエンド開発チームのリーダーを務め、その後フリーランスに。2021年9月から業務委託としてヘンリーにジョインしました。

長尾さんがいまも覚えているのは、ヘンリーとの面談で見せてもらった100ページを超える書類の束。診療報酬を計算するために行政が出している仕様書です。医療分野と接点のなかった長尾さんですが、それでも複雑な要件やルールを咀嚼して、0から設計に携わることができている理由について詳しく伺いました。

医療ドメインは怖くない

— いきなりですが長尾さん、この記事を読んでくださるエンジニアの方に1つだけ伝えるなら何と言いたいですか。

そうですね……「怖くないよ」ということを伝えたいですね。

— 「怖くないよ」ですか?

医療ドメインは怖くないよ、ってとにかく伝えたいです(笑)。「医療」と聞くと、医療業界の経験と知識がエンジニアにも必要と思われがちなんです。そんなことは全然なくて、一定の開発経験があって、医療業界に少しでも興味がある方はむしろウェルカムです。

— たしかに「医療」と聞くと固そうなイメージがあります。

そうですよね。開発現場もガチガチのウォーターフォール型のイメージを持たれやすいです。でも実はヘンリーはかなりアジャイルな感じで開発しています。そのため、アジャイル開発に慣れたWeb系出身の方もキャッチアップしやすい環境ではないかなと思います。

— そういう長尾さんはヘンリーにジョインする前はどんなお仕事を?

求人検索アプリのバックエンド開発チームのリーダーをしていました。3年ほど前に退職してフリーランスに、という流れですね。

— 長尾さんも医療とは全く異なる分野だったんですね。ではヘンリーとの出会いは?

2021年9月からヘンリーで働き始めたのですが、「これまでと異なる業界で新しいことをやってみたいな」とその頃の僕は思っていました。ちょうどそのタイミングでヘンリーに声をかけていただきました。エンジニアとしては医療業界と接点はなかったので、すごく興味が湧いて、一度面談をしてもらおうと思ったというのがきっかけです。

— 現在はヘンリーでどんなお仕事を?

レセプト(医事会計システム)の開発を行うチームでバックエンドエンジニアとして、細かい診療報酬のルールをシステムに落とし込むことを主に担当しています。具体的には、診療行為に応じた点数の計算部分の実装ですね。いまヘンリーでは入院も扱うような病院向け「Henry」の開発を絶賛進めています。

— 新しいシステムをつくっていると。

まさにそうですね。大きく複雑なシステムを0から設計しています。課題は山積みなので泥臭くやっていますが、みんなで連携して地道に解決に向かっていますね。

0から設計できるチャンスが多い

ヘンリーでの仕事について語る長尾さん

— そもそも長尾さんはヘンリーのどこに魅かれたのでしょうか?

面談をしてもらったときに、厚労省が出している診療報酬や医事会計のマスターデータを見せてもらったんです。PDFでおそらく100ページにもなる仕様書のような資料でした。インパクトがありましたね。正直、それを見て「うっ」とならなかったわけでは……(笑)。しかし、困難なことへのチャレンジを、ここまで堂々と宣言されたこともなかったので関わってみたいと思ったんです。一筋縄では100%いかないだろうけど。

— 長尾さんはそのチャレンジにワクワクしたんですね。

僕自身は、技術スタックを選んだり、設計を考えながら、システムをどうかたちにしていくかという、0から1をつくるフェーズが一番好きです。

でも、それができる環境は案外少ないんですよね。どちらかというと、既存のシステムに細かい機能を追加したり、修正したりというのが多いと思います。

それに対して、ヘンリーはまだまだ開発したいものばかり。業界のなかでは大手SIerに対して新システムへの刷新を試みているベンチャーはヘンリーくらいです。0から設計できるチャンスが多いことも僕としてはワクワクしました。

— 設計の部分でやりがいを感じたのは「Henry」入院版の開発のときでしょうか?

そうですね。僕としては設計にあれほどフォーカスしたのは初めての経験でした。社内には、ドメインエキスパートとよばれる医療業界などの専門知識を有しているメンバーがいます。そういう方々にコードの命名規則など、いろいろ相談しながら設計できたのはよかったですね。

— ドメインエキスパートのIT力も高いんですね。

はい。システム開発の経験があるなど、技術的なバックグランドを持ったドメインエキスパートの方々もいらっしゃいます。ソースコードのレビューは命名規則などの認識合わせが主な目的ですが、ちょっとした実装面での仕様などもそのとき見てもらえたり。エンジニアがどういう思想で設計していきたいかを詳しく説明しなくとも理解してもらえるのもありがたいです。

最初は、ドメインエキスパートから要件の説明をしてもらったら、エンジニアがそれをソースコードに落とすというイメージを勝手に持っていました。でも蓋をあけてみると、エンジニアが迷ったときはすぐに相談できるよう、ドメインエキスパートの方がずっと併走してくれるのでとても心強いですね。

— まさに「医療は怖くない」のお話にも通じますね。他にも設計のときに印象に残っていることはありますか?

僕は設計力ほぼゼロだったので、最初はあまりいけてないものを一旦レビューにしてもらったんですね。そこで他のメンバーの設計に対する思想に触れられて、とても参考になりました。

技術的な話をすると、使用している言語がKotlinで、すでに他のJVM言語を使用している方はご存知かと思いますが、"パッケージ"という仕組みでファイルをまとめることができます。
コアとなるドメイン層のコードを構成する上ではドメインモデルやその構成要素の粒度でパッケージを分けて整理し、これらのモデルをユースケースやサービスから呼び出すという設計手法を教えてもらいました。

ヘンリーにはちゃんと設計思想を持っている方が開発メンバーにいるので、レビューしてもらえるのがすごく楽しいです。

— 「レビューしてもらうのが楽しい」っていいですね。

レビューでは、失敗などに対してプレッシャーをかけられている感じが全くありません。いつも丁寧に細かいところまで説明してもらえるので、勉強になります。

互いに賞賛しあう文化

— チームの雰囲気についても伺いたいです。長尾さんなりに「ヘンリーらしさ」にキャッチコピーをつけるとすると、どんな言葉が浮かんできますか?

なんだろう……「未知なる領域に挑戦して、何か成し遂げたら褒めあおう」みたいな感じですかね(笑)。

— なるほど!すごく風通しの良さそうな雰囲気が伝わってきますが。

風通しはとても良いです。ヘンリーには互いに賞賛しあう文化があって、一例でいうと、自分以外の誰かが素晴らしい仕事をしていたらそれを共有する専用のSlackチャンネルがありますね。先日も、一見地道に思えるクリニックへのサービス導入の仕事をトラブルなく遂行した人にみんなで拍手を送りました。

僕も褒められ慣れてないのでちょっと照れ臭いですし、そういう人もいると思うのですが、個人的にはすごく良い文化だと思っています。

— では、いまのヘンリーの課題と、それに対してエンジニアとしてどうアプローチしているかを教えてください。

まだまだ実装しきれていない機能がたくさんあるんだなというのを実感しています。

原因の一つは、診療報酬の要件がそもそも複雑すぎるということです。例えば「AのときはBという点数を出します」とシンプルな要件なら簡単なのですが、「ただしCのときはD。CのときにEだったら、Bを取りたいが、FだったらGという点数を出す」みたいに、厚労省が長年例外を積み重ねた複雑な要件があるがゆえに、スケジュール的な意味でもまだシステムへの実装が未完了の部分も存在します。

そういった複雑性へのアプローチとして、入院版「Henry」の設計の際は最初に導入先となる病院にたくさんヒアリングをしました。実際にどんな症状の患者さんがいて、過去どんな診療報酬が、どういう点数で取れたのかなどを一旦洗い出し、それを土台に必要な機能一覧を作成しました。いまはドメインエキスパートの方が、システムに落とすときの複雑度を加味しながら、優先順位をつけてくれています。

着実に必要な機能を実装するために、ドメインエキスパートと密なコミュニケーションをとりながら開発を進めていくというのをエンジニアとして意識しています。

— エンジニアとしての成長可能性も感じたのですが、いかがでしょう?

そうですね、僕でいえばまず設計力が向上しましたね。繰り返しになってしまいますが、アプリケーションを設計するというのは、エンジニアにとって貴重な体験だと思います。

それと僕はもともと医療ドメインが未経験なので、ドメインエキスパートと話しながら一緒に開発するような体験を一切してこなかったんです。これもヘンリー以外ではなかなかない開発環境ですし、エンジニアの成長可能性の観点でも魅力的だと思います。

複雑な要件をシステムにどう落とすのか

— 長尾さんの今後の目標についてお聞きしたいです。

厚労省が出してくれるマスターデータが医事会計の複雑性をそもそも生み出している部分もあります。そのため、僕らも設計力を高めて、サービスのクオリティをどんどん上げていって、将来的にはマスターデータの仕様の策定にも関わってみたいなと思っています。根本的なところを解決しないと、業界としても変わらないので、そのぐらいの気持ちで。そうでないと僕らのチャレンジの実現は無理なんじゃないかなと。

— ありがとうございます。最後になりますが、これを読んでくださっているエンジニアの方に一言メッセージを。

かなり複雑で難しくて、一見したところ「システムに落とし込めるのか?」っていう要件を目の前にしたときも「自分にはできるぜ」って思える設計力に自信がある方にはぜひ来てほしいです。ヘンリーは、複雑なルールや要件をどうシステムに落とし込むのかを考えるのが好きな方にすごく向いている環境だと思います。

それと最初にお伝えした通り、「医療業界、怖いな」とためらっている方もむしろどんどん来てほしいです。難しさはありますが、怖いものではないので。

インタビュー:中田 達大


ヘンリーでは、さらなる成長に向けて採用も積極的に行っています。ご興味をお持ちいただけた方は、ぜひお気軽にご連絡ください。