Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Why Kotlin? 電子カルテを Kotlin で開発する理由 / Why Kotlin...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Agata Naomichi
November 25, 2025
Programming
9.8k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Why Kotlin? 電子カルテを Kotlin で開発する理由 / Why Kotlin? at Henry
Server-Side Kotlin Night 2025
https://henry.connpass.com/event/373576/
での発表資料です。
Agata Naomichi
November 25, 2025
More Decks by Agata Naomichi
See All by Agata Naomichi
Turning AI into Business Impact / "AI" の事業インパクトを最大化する
agatan
4
750
全員アーキテクトで挑む、 巨大で高密度なドメインの紐解き方
agatan
9
24k
チームで開発し事業を加速するための"良い"設計の考え方 @ サポーターズCoLab 2025-07-08
agatan
2
750
医療系スタートアップが経験した 認知負荷問題の症状分析と処方箋 チーム分割による認知負荷の軽減 / Cognitive Load Busters
agatan
2
670
専門性の高い領域をいかに開発し、 テストするか / How to test and develop complicated systems with Domain Experts!
agatan
3
970
Henry のサーバーサイドアーキテクチャ 狙いと課題 2022.08.25 / Server-Side Architecture at Henry, Inc.
agatan
3
6.2k
The Web Conference 2020 - Participation Report
agatan
1
770
○○2vec 再考
agatan
1
4.8k
Improving "People You May Know" on Directed Social Graph
agatan
4
2.8k
Other Decks in Programming
See All in Programming
Long Living Tokens, Die, Die, Die! (or: The One Ring is Banned in Modern)
sylph01
0
410
느린 네트워크와 저사양 디바이스 사용자를 위한 웹뷰 로딩 시간 개선기
kmkim
1
210
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
160
Claude Code ハーネスDeep Dive – 君はどこまで制御する? -
takateeen_knj
0
130
Spec-Driven Development - Why Vaadin Is the Perfect Fit
simas
PRO
0
240
Web Framework Benchmark Battle 2026, Any%
a_matsuda
3
3.2k
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
4
3.5k
高橋メソッドでCVE解説シリーズ 〜CVE-2026-112816〜
hakkadaikon
0
230
3回つくってわかった、 定期実行ジョブ基盤の本質情報
takai
4
3.7k
まずはコードより業務と向き合う:テーブル解体のためにPdMを呼んだ話
sakawe_ee
0
180
作って学ぶSpring BootのAuto Configuration / JJUG Night Seminar 2026-10-19
rshindo
0
220
ActionController meets Protocol Buffers
sorah
1
790
Featured
See All Featured
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
550
Six Lessons from altMBA
skipperchong
29
4.6k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
980
WENDY [Excerpt]
tessaabrams
14
40k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
550
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
660
Paper Plane (Part 1)
katiecoart
PRO
2
12k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
600
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.6k
The Curious Case for Waylosing
cassininazir
1
610
Amusing Abliteration
ianozsvald
1
380
WCS-LA-2024
lcolladotor
0
980
Transcript
Copyright © Henry, Inc. All rights reserved. Why Kotlin? 電子カルテを
Kotlin で開発する理由 縣 直道 / @agatan_ 2025-11-25 Server-Side Kotlin Night 2025
Copyright © Henry, Inc. All rights reserved. 自己紹介 縣
直道 @agatan_ 株式会社ヘンリー VP of Product • 2022/04 ヘンリーにエンジニアとして入社 • 2025/10 より現職
Copyright © Henry, Inc. All rights reserved. 日本の病院向けに開発された 唯一のクラウドネイティブな電子カルテ 業務改革を実現する基幹システム
レセコン(医事会計システム)も一体化 レセコン一体型電子カルテ「Henry」
Copyright © Henry, Inc. All rights reserved. 病院向け電子カルテの3つの性質 巨大 高密度
変化
Copyright © Henry, Inc. All rights reserved. 性質1:巨大 院内すべての業務の起点でありハブ 電子カルテは、病院という組織の基幹システム
• 医師、看護師、薬剤師、検査技師、医療事務... • 多数のアクターが登場し、電子カルテで 日々業務を行っている
Copyright © Henry, Inc. All rights reserved. 医療は複数の専門職による緊密な連携プレー 12 /
43 性質2:高密度
Copyright © Henry, Inc. All rights reserved. 多様な専門職の業務が、「診療報酬制度」によって横断的に制約されている。 診療報酬制度による業務横断の結合 診療報酬制度とは?
医療行為の価格(点数)を決める公的なルール。 たとえば... • 初診だったら291点(= 2910円) • 短時間の静脈麻酔をやったら120点(= 1200円) 算定するためにカルテに特定の内容が記録されていることを求めたり、定められた様式で診 察内容を記載し患者からの署名をもらうことを求めるようなものもあり、医療の現場での業 務に大きな影響を与えるもの。
Copyright © Henry, Inc. All rights reserved. 定期的かつ強制的な変化 診療報酬制度は2年に1回改定される (次回は2026年6月)
それ以外にも、コロナや政治などの要因で、 制度変更は不定期に訪れる。 性質3: 変化 不確実な変化 制度変更によってコンテキスト同士の関係性・結合度が変わりうる 昨日まで正しかった設計が、制度変更で「間違い」になる
Copyright © Henry, Inc. All rights reserved. Copyright © Henry,
Inc. All rights reserved. 技術選定
Copyright © Henry, Inc. All rights reserved. 構成技術はふつうのWebアプリケーション
Copyright © Henry, Inc. All rights reserved. 構成技術はふつうのWebアプリケーション
Copyright © Henry, Inc. All rights reserved. • バックエンドサービスはほぼ全て Kotlin
で記述 ◦ grpc-java → GraphQL Kotlin (w/ Ktor) ◦ Exposed (DBアクセス) ◦ Koin (DI) ◦ Kotest (Testing) ◦ etc… Server Side Kotlin
Copyright © Henry, Inc. All rights reserved. 1. 安全性 2.
表現力 3. 資産 Why Kotlin?
Copyright © Henry, Inc. All rights reserved. • Null Safety
◦ ワークフローの途中状態として、欠損が容易に生み出される ▪ e.g. • 入院予定を登録する時点では病棟病室は任意項目だが、入院中・退院後は必須 • 患者登録時点では生年月日は任意項目だが、会計上は必須 • 静的型検査やIDE支援によるリファクタリング支援 ◦ 診療報酬改定を筆頭に、強制イベントを乗り越えリファクタリングし 続ける必要性がある 安全性
Copyright © Henry, Inc. All rights reserved. • Sealed Class
/ Data Class ◦ ドメインモデリングの武器として強力 • internal ◦ Gradleモジュールを分割し、モジュール外からのアクセスを禁止する ◦ モジュラーモノリスとしての一定の規律を提供できる 表現力
Copyright © Henry, Inc. All rights reserved. • Java &
JVM の資産は強力 ◦ Java 資産を利用できる ▪ 特に電子カルテにおいては、いわゆる業務っぽい資産が活きる ◦ JVM 運用ノウハウを利用できる • 採用観点 ◦ 「複雑なドメインに向き合う」ことに慣れた人が Java / Kotlin 経験 者には相対的に多い(気がする)(要出典) ◦ モダンな言語を利用している人なら違和感なくとっつきやすい 資産
Copyright © Henry, Inc. All rights reserved. 宣伝 ドメインとの向き合い方について、アーキテクチャConference2025でも 登壇してきました!
Copyright © Henry, Inc. All rights reserved. 採用情報や事業や技術について、積極的に発信しています! 採用情報 採用募集ページ
募集中の採用ポジションや募集要項 がご確認いただけます。 オープンポジションのカジュアル面 談も募集していますので、お気軽に お申し込みください。 技術ブログ はてなブログ ヘンリー製品開発チームが運営する 技術ブログです。 会社公式ブログ note ヘンリーで働く人や医療業界や事業 のことが幅広くしれる公式ブログで す。 CEO の逆瀬川も個人で NOTE を発 信しているのでぜひ! 理想駆動ラジオ Spotify プロダクト開発・運営の様子をお届 けするポッドキャストです。