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

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

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

Jun Tomioka

April 19, 2017
Tweet

More Decks by Jun Tomioka

Other Decks in Technology

Transcript

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

    View Slide

  2. M3, Inc
    @jooohn1234
    ● じょん と呼んでください
    ● エムスリーのエンジニア

    Ruby/Scala/JS/Java/[NEW]Swift
    ○ 好きなメソッドは
    zip
    ○ 嫁が農業をやっている

    View Slide

  3. 電子カルテ

    View Slide

  4. View Slide

  5. View Slide

  6. View Slide

  7. 巨大な
    メモアプリ

    View Slide

  8. View Slide

  9. オンプレミス

    View Slide

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

    View Slide

  11. これが

    View Slide

  12. 簡単では
    ない!

    View Slide

  13. 受付 検査 診察 会計

    View Slide

  14. 受付 検査 診察 会計

    View Slide

  15. レセコン

    View Slide

  16. https://ja.wikipedia.org/wiki/レセプトコンピュータ

    View Slide

  17. https://ja.wikipedia.org/wiki/レセプトコンピュータ
    ほぼ必須

    View Slide

  18. View Slide

  19. https://ja.wikipedia.org/wiki/レセプトコンピュータ

    View Slide

  20. https://ja.wikipedia.org/wiki/レセプトコンピュータ
    ・・・

    View Slide

  21. 簡単では
    ない!

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    ・・・

    View Slide

  29. 簡単では
    ない!

    View Slide

  30. 前置きは
    ここまで

    View Slide

  31. これが

    View Slide

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

    View Slide

  33. 魂の
    技術だ!

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  46. 言いたい
    ことは

    View Slide

  47. 前例がな
    いことに

    View Slide

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

    View Slide

  49. エンジニア

    View Slide

  50. [NEW] 04/01 !!
    Kato-san
    担当: たぶんほとんど全部
    Bruce
    担当: ほとんど全部
    jooohn
    担当: ほとんど全部

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  54. WE ARE
    HIRING!

    View Slide