Rubyで人工透析装置のIoT化

341 Views

September 19, 23

スライド概要

松江Ruby kaigi 10 でのLT資料
Rubyを使った透析装置のIoT化について、島根県立中央病院の事例を紹介しました。

シェア

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

Rubyで人工透析装置のIoT化 島根県立中央病院の事例 2023/9/16 松江Ruby会議 10 ITOC 東 裕人

2.

自己紹介 ● ● ● ● しまねソフト研究開発センター ITOC 東裕人 mruby/c 開発者 組込向けAPフレームワーク Alone 開発者 今日は、ITOCじゃない仕事の話します

3.

透析(血液透析) ● ● うまく働かなくなった腎臓の代わりに 血液を浄化する治療法 血液をいったん体外に出し、 余分な水分・塩 分・老廃物を取り除き、 きれいになった血液を 再び体内に戻すという治療を、通常は週3日、 1回数時間かけて行う。

4.

透析(血液透析) 島根県立中央病院、東レメディカル 各ウェブページより引用

5.

解決したい問題点とその方法 ● ● ● ● ミスの低減 医療従事者の負担軽減 電子カルテシステムにある治療情報を 透析装置に伝える 透析治療中の情報を自動的にロギングし 電子カルテシステムへ反映させる

6.

全体アーキテクチャ 通信装置 WiFi * 1 管理PC 1 RJ45 1 透析装置 この「通信装置」の はなしです 電子カルテ システム

7.

ハードウェア ● 組込用ワンボードマイコン

8.

ハードウェア ● ● 組込用ワンボードマイコン みんな大好き

9.

ラズパイ ● ● いろんなリソースがそろっているので、 開発が楽すぎる! その分運用コストが高い(ようだ) – – 結構壊れるとか 起動しなくなるとか

10.

ラズパイ ● 院内WiFi – – – 接続にはクライアント認証が必要 電子証明書を使う ほとんどの WiFi モジュールには、その機能なし

11.

Rubyの利用 ● 通信装置(ラズパイ)で行う 全てのタスクをRubyで記述 – – – – ● 透析装置との通信 管理用PCとの通信 受信データの解析、文字コード変換 ラズパイに追加したプッシュボタンの押下 フレームワークにAlone採用

12.

レイヤー アプリケーションタスク Alone フレームワーク Ruby Linux OS Hardware

13.

Aloneフレームワーク ● ● ● ● 常駐 初期パラメータファイル読み込み アプリケーションの稼働ログ イベントドリブン – ● 管理用PCから 透析装置から 自分のタイマー 異常な通信内容などに、めっぽう強い

14.

Aloneフレームワーク ● イベント例 タイマーイベント @timer1 = Timer.periodic( @config[:dialyzer_interval] ) @timer1.run { dialyzer_read_status() }

15.

運用状況

16.

運用状況 ● ● ● 24台 運用 約2年間 故障1台 – チューブから液漏れして、 どばどばラズパイにかかった(らしい)

17.

まとめ ● ● ● ● Rubyは、組込システムで安定して使える。 Rubyは、医療機関でも使える(使われている) Rubyを組込に使う時は、 Aloneフレームワークをお供にすると幸せ。 ラズパイを実用で使う場合のノウハウレポート を、ITOCから近日公開予定!