Slide 1

Slide 1 text

医療の現場を変革に挑戦した半年間の軌跡 - PythonとAIで現場を変える PyCon JP 2026

Slide 2

Slide 2 text

最初に 謝罪と謝辞

Slide 3

Slide 3 text

最初に

Slide 4

Slide 4 text

最初に 一部コード例などをロストしております

Slide 5

Slide 5 text

最初に

Slide 6

Slide 6 text

最初に @nikkieさんに感謝 圧倒的感謝!!

Slide 7

Slide 7 text

What is it? 今日のゴール

Slide 8

Slide 8 text

What is it? 事業会社とは違う 医療の現場の難しさ

Slide 9

Slide 9 text

What is it? AIに変わっていく時代の中で エンジニアしか出来ない仕事

Slide 10

Slide 10 text

What is it? その中で探してきた 医療現場におけるDXの進め方

Slide 11

Slide 11 text

What is it? 意思決定の軌跡と 実際の実例を紹介します

Slide 12

Slide 12 text

あじぇんだ 1. 自己紹介 2. いかにして問題をとくか 3. AIの境界線の作り方 4. 効果があった事例 5. おわりに

Slide 13

Slide 13 text

あじぇんだ 1. 自己紹介 2. いかにして問題をとくか 3. AIの境界線の作り方 4. 効果があった事例 5. おわりに

Slide 14

Slide 14 text

自己紹介 そ ね たけ とも 曽根 壮大(41歳) Have Fun Tech LLC 代表社員 株式会社リンケージ CTO 兼 COO ● ● ● ● 日本PostgreSQLユーザ会 勉強会分科会 担当 3人の子供がいます(長女、次女、長男) 技術的にはWeb/LL言語/RDBMSが好きです コミュニティが好き

Slide 15

Slide 15 text

あじぇんだ 1. 自己紹介 2. いかにして問題をとくか 3. AIの境界線の作り方 4. 効果があった事例 5. おわりに

Slide 16

Slide 16 text

いかにして問題をとくか 仕事の進め方はどんな仕事も いかにして問題をとくか

Slide 17

Slide 17 text

https://speakerdeck.com/soudai/aim-for-the-goal

Slide 18

Slide 18 text

『いかにして問題をとくか』は、数学の問題を解く方 法としては、以下の手順を推奨している。 1. まず、問題を理解する必要があります 2. 理解した後、計画を立てます。 3. 計画を実行します。 4. あなたの作業を振り返ってください。

Slide 19

Slide 19 text

『いかにして問題をとくか』は、数学の問題を解く方 法としては、以下の手順を推奨している。 1. まず、問題を理解する必要があります 2. 理解した後、計画を立てます。 3. 計画を実行します。 4. あなたの作業を振り返ってください。

Slide 20

Slide 20 text

いかにして問題をとくか 問題を理解する

Slide 21

Slide 21 text

いかにして問題をとくか 医療現場におけるDXの難しさ

Slide 22

Slide 22 text

いかにして問題をとくか ● 医療現場特有の制約 ○ 法規制、監査、個人情報、既存運用との整合 ○ EOLを迎えた既存システムと、現場の業務停止リスク ● 個人情報の価値が高い ○ 医療情報は秘匿性が高く、流出は許されない ○ セキュリティガイドラインの厳しい ■ 医療情報システムの安全管理に関するガイドライン 第7.0版

Slide 23

Slide 23 text

いかにして問題をとくか ● 様々なフォースがある ○ ステークホルダーが多い ○ ステークホルダーの中に依存関係があったりする ○ 突然ビックプレイヤーが現れたりする ○ 一気通貫にシステムを見ている人はいない ○ 何かを変更するときに調整が多くて律速する

Slide 24

Slide 24 text

いかにして問題をとくか ヒエラルキーの境界線の強い組織 ↓ 要求・要件を一気通貫に出せる人がいない

Slide 25

Slide 25 text

いかにして問題をとくか ヒエラルキーの境界線の強い組織 ↓ 要求・要件を一気通貫に出せる人がいない 自分たちが覚悟を決めてやる必要がある

Slide 26

Slide 26 text

いかにして問題をとくか 問題の答えは いつだって現場にある

Slide 27

Slide 27 text

いかにして問題をとくか まずは現場を知る

Slide 28

Slide 28 text

いかにして問題をとくか まずは現場を知る ↓ イベントストーミングをする

Slide 29

Slide 29 text

イベントストーミング

Slide 30

Slide 30 text

イベントストーミングのコツ ● イベントストーミングを実施するにはドメイン知識が必要 ○ なので現場に何度も訪問してヒアリング ● 現場の実務を観察する ● 一度で問題は理解できない ○ 観察や発見を元に何度もメンテナンスをする

Slide 31

Slide 31 text

『いかにして問題をとくか』は、数学の問題を解く方 法としては、以下の手順を推奨している。 1. まず、問題を理解する必要があります 2. 理解した後、計画を立てます。 3. 計画を実行します。 4. あなたの作業を振り返ってください。

Slide 32

Slide 32 text

いかにして問題をとくか イベントストーミングから見つけた 一番のボトルネックから手を付ける

Slide 33

Slide 33 text

https://speakerdeck.com/soudai/aim-for-the-goal

Slide 34

Slide 34 text

判断と決断の違いとコツ 数字は1日に処理出来る処理量 赤数字は実際の処理量 1日目 処理A 処理B 処理C 120(60) 140(60) 100(60) 処理A 処理B 処理C 120(120) 140(120) 100(100) 2日目

Slide 35

Slide 35 text

判断と決断の違いとコツ 数字は1日に処理出来る処理量 赤数字は実際の処理量 1日目 処理A 処理B 処理C 120(60) 140(60) 100(60) 2日目 処理Aが生産した量以上は 処理できない 処理A 処理B 処理C 120(120) 140(120) 100(100)

Slide 36

Slide 36 text

判断と決断の違いとコツ 数字は1日に処理出来る処理量 赤数字は実際の処理量 1日目 処理A 処理B 処理C 120(60) 140(60) 100(60) 処理A 処理B 処理C 120(120) 140(120) 100(100) 2日目 最大処理能力は処理能力が 低いところに依存する

Slide 37

Slide 37 text

判断と決断の違いとコツ 数字は1日に処理出来る処理量 赤数字は実際の処理量 1日目 処理A 処理B 処理C 150(120) 100(100) 140(100) 在庫 20 2日目 処理A 処理B 処理C 120(130) 100(100) 140(100) 在庫 50

Slide 38

Slide 38 text

判断と決断の違いとコツ 数字は1日に処理出来る処理量 赤数字は実際の処理量 1日目 処理A 処理B 処理C 150(120) 100(100) 140(100) 在庫 20 2日目 処理A 前後の工程が頑張っても在 処理B 庫が増えるだけで最終成果 処理C 物はボトルネックで決まる 120(130) 100(100) 在庫 50 140(100)

Slide 39

Slide 39 text

組織のスループットは最も遅い場所が決める

Slide 40

Slide 40 text

『いかにして問題をとくか』は、数学の問題を解く方 法としては、以下の手順を推奨している。 1. まず、問題を理解する必要があります 2. 理解した後、計画を立てます。 3. 計画を実行します。 4. あなたの作業を振り返ってください。

Slide 41

Slide 41 text

あじぇんだ 1. 自己紹介 2. いかにして問題をとくか 3. AIの境界線の作り方 4. 効果があった事例 5. おわりに

Slide 42

Slide 42 text

AIの境界線の作り方 医療業界は制約が多い 小さく始めて影響範囲を絞る

Slide 43

Slide 43 text

AIの境界線の作り方 医療業界は制約が多い 小さく始めて影響範囲を絞る つまりいつも通りのアジャイルじゃん

Slide 44

Slide 44 text

https://speakerdeck.com/soudai/moving-between-the-concrete

Slide 45

Slide 45 text

AIの境界線の作り方 どうでもよいことは流行に従い 難しいことは常識に従い 芸術のことは自分に従う – 映画監督 小津安二郎

Slide 46

Slide 46 text

AIの境界線の作り方 撮影 : @uzulla

Slide 47

Slide 47 text

AIの境界線の作り方 どうでもいいことは流行りに従い、 重大なことは標準に従い、 ドメインのことは自分ら設計する – 郡山 昭仁

Slide 48

Slide 48 text

AIの境界線の作り方 ● とにかく便利にしたいところはAIに頼る ● 標準はSaaSやパッケージに頼る ● 自分たちのビジネスコアは自分たちで作る

Slide 49

Slide 49 text

AIの境界線の作り方 自分たちのビジネスコアを 自分ら設計する

Slide 50

Slide 50 text

AIの境界線の作り方 自分たちのビジネスコアを 自分ら設計する ここで医療ドメインの制約との戦い

Slide 51

Slide 51 text

https://speakerdeck.com/soudai/designing-constraints

Slide 52

Slide 52 text

非決定性との境界線を作る アウトプット 1回目 インプット LLM アウトプット 2回目 アウトプット 3回目 アウトプットが不定

Slide 53

Slide 53 text

非決定性との境界線を作る ???「AIで確認すればいいのでは?」

Slide 54

Slide 54 text

非決定性との境界線を作る アウトプット 1回目 アウトプット 1回目 インプット LLM アウトプット 2回目 アウトプット 3回目 精度は上がる 複数回を回しても アウトプットは不定

Slide 55

Slide 55 text

非決定性との境界線を作る これは人間も似ている

Slide 56

Slide 56 text

非決定性との境界線を作る アウトプット 1回目 インプット 人間 アウトプット 2回目 アウトプット 3回目 アウトプットが不定

Slide 57

Slide 57 text

非決定性との境界線を作る 人間も 同じアウトプットを出すわけではない

Slide 58

Slide 58 text

非決定性との境界線を作る 人間も 同じアウトプットを出すわけではない LLMは確率的に答えるし、人間は経験的に答える

Slide 59

Slide 59 text

非決定性との境界線を作る だから標準化する 人間も 同じアウトプットを出すわけではない LLMは確率的に答えるし、人間は経験的に答える

Slide 60

Slide 60 text

非決定性との境界線を作る アウトプット 1回目 インプット スループット (処理) アウトプット 2回目 処理を標準化する アウトプット 3回目 品質が高まり均一化する 同一のアウトプット

Slide 61

Slide 61 text

非決定性と標準化 ● 標準化によって単純化・統一化などが行われて品質が向上する ○ つまりアウトプットのばらつきが揃う ● 手順の標準化は手順書を作ること ○ 入力の標準化のためにテンプレートを作ったり、判断分岐を 網羅して対応する行動を決める ● チェックリストを作ることで必要な仕様を満たすことを確定させる ● つまり暗黙知を明示的で測定可能で更新可能な仕組みに変えること ○ 業務の言語化とも言える

Slide 62

Slide 62 text

非決定性との境界線を作る どこかで境界線を作る必要がある 非決定性の高い状態 決定性の高い状態

Slide 63

Slide 63 text

非決定性との境界線を作る ソフトウェアはハードウェアのために 非決定的な現実世界を仕様として決定する

Slide 64

Slide 64 text

非決定性との境界線を作る ソフトウェアの世界 決定性の世界 REST API バリデーション Webフォーム Webフォームが境界線 ロジック 型 データベース

Slide 65

Slide 65 text

非決定性との境界線を作る 再現性を高めるためには 境界線が必要

Slide 66

Slide 66 text

ざっくり概念図 ● ● ● ● SaaSの認証などが終わった あとの世界をChrome拡張か ら触る 拡張のGASから直接データ ベースは触らない それぞれのリソースには backend for frontend(BFF) を介し、ロジックはbackendに 実装する backendはFastAPI frontend GAS Backlog BFF backend カルテ MRI calendar

Slide 67

Slide 67 text

現場とAIの境界線の作り方

Slide 68

Slide 68 text

AIの境界線の作り方 ここでGitHubを見せる

Slide 69

Slide 69 text

AIの境界線の作り方 制約が決定性を作る ↓ ソフトウェアの世界の制約が境界線を作る

Slide 70

Slide 70 text

AIの境界線の作り方 制約が決定性を作る ↓ ソフトウェアの世界の制約が境界線を作る 品質の担保と安全性を設計する

Slide 71

Slide 71 text

AIの境界線の作り方 平日午後でミーティングを空き時間に設定して

Slide 72

Slide 72 text

AIの境界線の作り方 確かに設定してくれるが品質が安定しない

Slide 73

Slide 73 text

AIの境界線の作り方 API GAS 平日午後でミーティングを空き時間を 検索するクエリを作って

Slide 74

Slide 74 text

AIの境界線の作り方 API GAS バリデーションでハルシネーションを防げる

Slide 75

Slide 75 text

AIの境界線の作り方 API エラー処理もできるし、リトライもできる GAS

Slide 76

Slide 76 text

ソフトウェアで作る境界線の例 ● RESTなどのAPIは責任境界線とセットで決定性を作る ○ 類似にCLIのインターフェースがある ○ 標準入力のバリデーションが制約として境界線を作る ○ アウトプットの品質が固定される ■ 中身がLLMだと非決定性が維持される ● データ層は決定された事実が保存される ○ 集計結果や分析の元になるデータは揺らいではいけない ■ 結果のノイズになってしまう ● 契約プログラミングに似ている ○ どうやって決定されたデータやオブジェクトを扱うか

Slide 77

Slide 77 text

AIの境界線の作り方 制約によってガードレールを作る

Slide 78

Slide 78 text

あじぇんだ 1. 自己紹介 2. いかにして問題をとくか 3. 現場とAIの境界線の作り方 4. 効果があった事例 5. おわりに

Slide 79

Slide 79 text

『いかにして問題をとくか』は、数学の問題を解く方 法としては、以下の手順を推奨している。 1. まず、問題を理解する必要があります 2. 理解した後、計画を立てます。 3. 計画を実行します。 4. あなたの作業を振り返ってください。

Slide 80

Slide 80 text

効果のあった事例 実際に効果の高かった事例紹介

Slide 81

Slide 81 text

効果のあった事例 コレは来てくれた人たちだけの お楽しみ

Slide 82

Slide 82 text

あじぇんだ 1. 自己紹介 2. いかにして問題をとくか 3. 現場とAIの境界線の作り方 4. 効果があった事例 5. おわりに

Slide 83

Slide 83 text

おわりに Pythonはどこでも動くし 様々な問題を解ける

Slide 84

Slide 84 text

おわりに 大きな問題を 分割して小さく解く

Slide 85

Slide 85 text

おわりに Better late than never. 遅くても、やらないよりはやったほうがいい – @miyagawa

Slide 86

Slide 86 text

引用元 : ワールドトリガー 28巻

Slide 87

Slide 87 text

おわりに 難しいことかもしれない 他人は決めないなら、自分が決めるしかない

Slide 88

Slide 88 text

おわりに “大事なのは できる という経験を得ること” – 宇宙兄弟 145話

Slide 89

Slide 89 text

おわりに 引用元『宇宙兄弟』11巻

Slide 90

Slide 90 text

おわりに 引用元『宇宙兄弟』11巻

Slide 91

Slide 91 text

おわりに

Slide 92

Slide 92 text

おわりに “手を動かした者だけが、世界を変える” 株式会社はてな id:onishi

Slide 93

Slide 93 text

おわりに 眼の前の問題を 解決できるのは自分だけ

Slide 94

Slide 94 text

おわりに

Slide 95

Slide 95 text

おわりに 昨日の自分に誇れる 今日の自分になろう

Slide 96

Slide 96 text

おわりに ご清聴ありがとうございました