628 Views
September 19, 23
スライド概要
松江Ruby kaigi 10 でのLT資料
Rubyを使った透析装置のIoT化について、島根県立中央病院の事例を紹介しました。
Rubyで人工透析装置のIoT化 島根県立中央病院の事例 2023/9/16 松江Ruby会議 10 ITOC 東 裕人
自己紹介 ● ● ● ● しまねソフト研究開発センター ITOC 東裕人 mruby/c 開発者 組込向けAPフレームワーク Alone 開発者 今日は、ITOCじゃない仕事の話します
透析(血液透析) ● ● うまく働かなくなった腎臓の代わりに 血液を浄化する治療法 血液をいったん体外に出し、 余分な水分・塩 分・老廃物を取り除き、 きれいになった血液を 再び体内に戻すという治療を、通常は週3日、 1回数時間かけて行う。
透析(血液透析) 島根県立中央病院、東レメディカル 各ウェブページより引用
解決したい問題点とその方法 ● ● ● ● ミスの低減 医療従事者の負担軽減 電子カルテシステムにある治療情報を 透析装置に伝える 透析治療中の情報を自動的にロギングし 電子カルテシステムへ反映させる
全体アーキテクチャ 通信装置 WiFi * 1 管理PC 1 RJ45 1 透析装置 この「通信装置」の はなしです 電子カルテ システム
ハードウェア ● 組込用ワンボードマイコン
ハードウェア ● ● 組込用ワンボードマイコン みんな大好き
ラズパイ ● ● いろんなリソースがそろっているので、 開発が楽すぎる! その分運用コストが高い(ようだ) – – 結構壊れるとか 起動しなくなるとか
ラズパイ ● 院内WiFi – – – 接続にはクライアント認証が必要 電子証明書を使う ほとんどの WiFi モジュールには、その機能なし
Rubyの利用 ● 通信装置(ラズパイ)で行う 全てのタスクをRubyで記述 – – – – ● 透析装置との通信 管理用PCとの通信 受信データの解析、文字コード変換 ラズパイに追加したプッシュボタンの押下 フレームワークにAlone採用
レイヤー アプリケーションタスク Alone フレームワーク Ruby Linux OS Hardware
Aloneフレームワーク ● ● ● ● 常駐 初期パラメータファイル読み込み アプリケーションの稼働ログ イベントドリブン – ● 管理用PCから 透析装置から 自分のタイマー 異常な通信内容などに、めっぽう強い
Aloneフレームワーク ● イベント例 タイマーイベント @timer1 = Timer.periodic( @config[:dialyzer_interval] ) @timer1.run { dialyzer_read_status() }
運用状況
運用状況 ● ● ● 24台 運用 約2年間 故障1台 – チューブから液漏れして、 どばどばラズパイにかかった(らしい)
まとめ ● ● ● ● Rubyは、組込システムで安定して使える。 Rubyは、医療機関でも使える(使われている) Rubyを組込に使う時は、 Aloneフレームワークをお供にすると幸せ。 ラズパイを実用で使う場合のノウハウレポート を、ITOCから近日公開予定!