Upgrade to Pro — share decks privately, control downloads, hide ads and more …

クラウド電子カルテを支える魂の技術

 クラウド電子カルテを支える魂の技術

Taiju Aoki

May 23, 2019
Tweet

More Decks by Taiju Aoki

Other Decks in Technology

Transcript

  1. クラウド電子カルテを
    支える魂の技術
    @blue_1617

    View Slide

  2. M3, Inc
    Taiju Aoki ( @blue_1617 )
    ● エムスリーのエンジニア

    Ruby/JavaScript/Scala
    ○ 好きなエディタは
    Emacs
    ○ 最近、胃の調子が悪い

    View Slide

  3. クラウド
    電子カルテ

    View Slide

  4. View Slide

  5. エンジニア

    View Slide

  6. Yamaguchi Otsuki Aoki
    担当: ほぼ全部 担当: ほぼ全部 担当: ほぼ全部

    View Slide

  7. ほとんど
    全部

    View Slide

  8. 電子カルテ

    View Slide

  9. View Slide

  10. View Slide

  11. これ

    View Slide

  12. 巨大な
    メモアプリ

    View Slide

  13. View Slide

  14. オンプレミス

    View Slide

  15. オンプレミス
    クラウドでつくれば
    いいじゃん
    webエンジニア(27歳男性)

    View Slide

  16. それが

    View Slide

  17. 簡単では
    ない!

    View Slide

  18. View Slide

  19. View Slide

  20. View Slide

  21. View Slide

  22. View Slide

  23. なぜか

    View Slide

  24. 受付 検査 診察 会計

    View Slide

  25. 受付 検査 診察 会計

    View Slide

  26. レセコン

    View Slide

  27. 世の中の電子カルテ
    1.
    レセコンと連携することが可能
    2.
    レセコン機能も備えた一体型

    View Slide

  28. 世の中の電子カルテ
    1.
    レセコンと連携することが可能
    2.
    レセコン機能も備えた一体型

    View Slide

  29. https://www.orca.med.or.jp/

    View Slide

  30. オンプレミス
    (現在クラウド化を目指して開発中)
    https://www.orca.med.or.jp/

    View Slide

  31. 院内ネットワークの壁
    クラウド電子カルテ

    View Slide

  32. 院内ネットワークの壁
    クラウド電子カルテ

    View Slide

  33. 院内ネットワークの壁
    クラウド電子カルテ

    ・・・

    View Slide

  34. 簡単では
    ない!

    View Slide

  35. 前置きは
    ここまで

    View Slide

  36. これが

    View Slide

  37. クラウド
    電子カルテを
    支える

    View Slide

  38. 魂の
    技術だ!

    View Slide

  39. 院内ネットワークの壁
    クラウド電子カルテ

    View Slide

  40. 院内ネットワークの壁

    View Slide

  41. 院内ネットワークの壁
    順番に紹介

    View Slide

  42. 院内ネットワークの壁
    KarteApp
    Ruby on RailsのAPIサーバ
    基本的なサーバーサイドの処理を担
    当。
    主な魂の対応
    ・初日に全く動かない問題
    ・処置行為のテーブル多すぎ問題(100
    以上のpreload)

    View Slide

  43. 院内ネットワークの壁
    Front
    es2015/babel
    SPAを実現。
    Angular1 => React移行中
    主な魂の対応
    ・非動機APIコールの処理順問題
    => RxJS
    ・Angular1 digest loop重すぎ問題
    => ReactJSに移行(現在進行系)

    View Slide

  44. 院内ネットワークの壁
    iPadアプリ
    手書きでカルテが書けるアプリ。
    撮影した写真や、シェーマ(身体部位の
    図)を貼り付けたりもできる。
    主な魂の対応
    ・swift 2=>3への移行
    ・クライアント証明書対応(VPNが原因で
    reject)

    View Slide

  45. 院内ネットワークの壁
    Engine
    Scala on Skinny Framework
    処置行為のレコメンドなど込み入った処
    理を担当するマイクロサービス。
    主な魂の対応
    ・elasticsearch向いてない問題
    ・レコメンド結果コントロール不可能問題

    View Slide

  46. 院内ネットワークの壁
    Agent
    Javaのクライアントアプリ。
    院内システムとの連携ハブとして、院内
    ネットワーク内に常駐。
    クラウドにいるsocket.ioサーバと常時
    接続していて、サーバーからのリクエス
    トを受けて各院内機器にリクエストを
    送ったり、変更をサーバに送ったりす
    る。
    主な魂の対応
    ・セキュアな接続
    ・自動アップデート
    ・初期データインポート
    ・数々の機器との連携

    View Slide

  47. 院内ネットワークの壁
    Pubsub
    nodejs/express のサーバ
    主にsocket.ioサーバとして、院内にい
    るJavaエージェントとの連携を担当。
    ブラウザとも常時接続しており、リアルタ
    イム通知等も行う。
    主な魂の対応
    ・不安定な常時接続

    View Slide

  48. 院内ネットワークの壁

    View Slide

  49. 院内ネットワークの壁
    院内との接続
    VPNを使っていたが、常時接続するには不安定。
    追いづらいネットワークエラーが頻発。
    => クライアント証明書での認証に徐々に移行中。

    View Slide

  50. 院内ネットワークの壁
    AWS
    EC2/Route53/S3/RDS(PostgreSQL)/ElastiCache/SES/KMS/Lambda/CloudWatch
    など
    そんなにゴリゴリの構成ではない。

    View Slide

  51. 院内ネットワークの壁

    View Slide

  52. 言いたい
    ことは

    View Slide

  53. 前例がな
    いことに

    View Slide

  54. 魂をこめて
    挑戦してい
    ます!

    View Slide

  55. 世の中の電子カルテ
    1.
    レセコンと連携することが可能
    2.
    レセコン機能も備えた一体型

    View Slide

  56. 魂をこめて
    開発中!

    View Slide

  57. FAQ
    Q.
    この規模でこの人数で足りてるんですか?

    View Slide

  58. FAQ
    Q.
    この規模でこの人数で足りてるんですか?
    A.
    足りてません。

    View Slide

  59. FAQ
    Q.
    この規模でこの人数で足りてるんですか?
    A.
    足りてません。まだまだやれることが山ほどあります。

    View Slide

  60. WE ARE
    HIRING!

    View Slide