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 full-size slide

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

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

    View full-size slide

  3. クラウド
    電子カルテ

    View full-size slide

  4. エンジニア

    View full-size slide

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

    View full-size slide

  6. ほとんど
    全部

    View full-size slide

  7. 電子カルテ

    View full-size slide

  8. 巨大な
    メモアプリ

    View full-size slide

  9. オンプレミス

    View full-size slide

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

    View full-size slide

  11. 簡単では
    ない!

    View full-size slide

  12. 受付 検査 診察 会計

    View full-size slide

  13. 受付 検査 診察 会計

    View full-size slide

  14. レセコン

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    ・・・

    View full-size slide

  22. 簡単では
    ない!

    View full-size slide

  23. 前置きは
    ここまで

    View full-size slide

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

    View full-size slide

  25. 魂の
    技術だ!

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  39. 言いたい
    ことは

    View full-size slide

  40. 前例がな
    いことに

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  43. 魂をこめて
    開発中!

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  47. WE ARE
    HIRING!

    View full-size slide