人類には早すぎる、謎の計算ロジックに立ち向かう / Strugle with the most complicated logic ever
by
Jun Tomioka
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
人類には早すぎる 謎の計算ロジックに 立ち向かう @jooohn1234
Slide 2
Slide 2 text
M3, Inc. @jooohn1234 ● エムスリーデジカルCTO ● Scala / FP 好き
Slide 3
Slide 3 text
電子カルテとレセコン
Slide 4
Slide 4 text
受付 診察 会計
Slide 5
Slide 5 text
受付 診察 会計 電子カルテ 患者への医療行為を記録
Slide 6
Slide 6 text
受付 診察 会計 レセコン 会計計算・保険請求
Slide 7
Slide 7 text
? ?
Slide 8
Slide 8 text
?
Slide 9
Slide 9 text
No content
Slide 10
Slide 10 text
ORCA に依存した場合のキャップ 電カルだけの場合のキャップ レセコン単体・一体型のポテンシャル
Slide 11
Slide 11 text
レセコン 作っちゃいましょう! 当時の電カルチーム PM
Slide 12
Slide 12 text
レセコンとは
Slide 13
Slide 13 text
医療機関 レセコン
Slide 14
Slide 14 text
医療機関 レセコン 合計: 1,000円 自己負担: 300円 日時会計処理 (会計計算・記録) 患者
Slide 15
Slide 15 text
医療機関 レセコン 月次請求処理 (必要ファイル・書類の作成) 支払基金・自治体
Slide 16
Slide 16 text
レセコン 会計計算、保険請求の処理を担う魔法の機械。 以下の要素でできている。 ・診療報酬点数を計算する謎のロジック ・保険・公費を適用した際の請求額や窓口会計額などを計算 する謎のロジック
Slide 17
Slide 17 text
レセコン 会計計算、保険請求の処理を担う魔法の機械。 以下の要素でできている。 ・診療報酬を計算する謎のロジック ・保険・公費を適用した際の請求額や窓口会計額などを計算 する謎のロジック す、すごい!
Slide 18
Slide 18 text
安くて 良いレセコンを 作りたい! 謎の 計算ロジック
Slide 19
Slide 19 text
レセコンのつくりかた ● 製品品質の担保 ● コード品質の担保
Slide 20
Slide 20 text
製品品質の 担保
Slide 21
Slide 21 text
No content
Slide 22
Slide 22 text
協力クリニックを募り、デジレセ・ORCA双 方に同じ処方内容を入力 それぞれからレセ電ファイルを出力
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
エンジニアA 調剤レセコン開発経験ありのエン ジニア Rubyが得意 エンジニアB 関数型やScalaが得意。 「メンテを考えたら絶対に静的型 言語で書くべき。」
Slide 28
Slide 28 text
ロジックの検証を真っ先に行えるよ うにRubyでプロトタイプを作成。 捨てる前提で爆速で開発。 長期のメンテナンス性を考慮し、 Scalaで書き直し。 計算ロジックを理解、モデルを整理 しながら清書。 エンジニアA 調剤レセコン開発経験ありのエン ジニア Rubyが得意 エンジニアB 関数型やScalaが得意。 「メンテを考えたら絶対に静的型 言語で書くべき。」
Slide 29
Slide 29 text
結果
Slide 30
Slide 30 text
新規導入数の推移(の雰囲気) レセ単体・一体型のローン チ1年半ほどで、 新規導入比率が連携型と 同程度に!
Slide 31
Slide 31 text
新規導入数の推移(の雰囲気) 爆上げ 間違い なし!!
Slide 32
Slide 32 text
まとめ ● サービス成長過程で超えるべき壁がある(あった) ○ 一見難しそうに見えるし、実際に難易度は高い(高かった) ○ やったリターンは大きい ( 大きかった ) ● 工夫で品質を担保する ○ 既存の製品をベンチマークとして品質を担保 ○ 一度作ったプロトタイプを捨てることでコード品質を担保