Golangを使って自分を生かし続ける方法
- Golangを活用して複雑な医療状態を管理する方法についてのブログ記事。
- 1型糖尿病と診断された筆者が、インスリン投与量を計算し、血糖値をモニタリングする過程を説明している。
- 血糖モニタリング機器の「Libre」を使用しており、これを通じて血糖値をスマートフォンで確認できる。
1型糖尿病の簡単な説明
- 1型糖尿病は自己免疫疾患で、膵臓がインスリンをほとんど、あるいはまったく生成できない。
- インスリンは炭水化物をエネルギーに変換するために不可欠なホルモンであり、インスリン注射によって補う必要がある。
- 1型糖尿病は生活習慣とは関係がなく、現在のところ治療法はない。
インシデント管理への短い寄り道
- 筆者はCloudflareでエンジニアリングマネージャーとして勤務し、インシデント管理プロセスを担当している。
- Prometheus、Grafana、Alertmanager、PagerDutyなどのツールを使ってインシデントを検知し、管理している。
- インシデントマネージャーは、問題解決のために社内の他の人々を積極的に巻き込むことができる。
1型糖尿病のインシデント管理
- 血糖モニタリング機器がクローズドソースで、APIやSDKを提供していないため、データを抽出するのが難しい。
- 「Miao Miao」というデバイスを見つけて「Libre」機器の上に装着し、「Tomato」アプリを通じて血糖データを2分ごとに送信する。
- Googleカレンダーを通じてApple Watchで血糖値を見られる機能も見つけた。
エンジニアリングによる解決策
- Goを使ってシンプルなエコーサーバーを書き、これを通じて血糖データを受け取って処理する。
- 血糖データをゲージメトリクスとして設定し、Grafanaダッシュボードを通じてリアルタイムで血糖値をモニタリングする。
- Telegramチャットボットを構築し、血糖グラフに注釈を追加できるようにした。
アラート設定
- 血糖値が特定の水準以下に下がった場合に警告を発生させるcronジョブを書いた。
- incident.ioを使ってアラートシステムを構築し、必要に応じてエスカレーションポリシーを設定する。
次のステップ
- 自動でインシデントをクローズする機能、データベースに保存された血糖データの分析、追加のグラフや測定値の追加などの機能を計画中、またはすでに実装している。
GN⁺の意見
- この記事は、1型糖尿病の患者が自分の状態を管理するために技術を活用する方法を示すことで、技術がどのように個人の生活の質を向上させられるかをよく示している。
- 筆者は、自身の医療状態を管理するためにCloudflareで使っているインシデント管理技術を個人的な問題解決に応用することで、技術的な解決策がどれほど創造的に使えるかを示している。
- 血糖モニタリングに関しては、すでに市場にはさまざまなウェアラブル機器やアプリが存在するが、筆者が開発したシステムはパーソナライズされたソリューションとしての可能性を持っている。
- この技術を導入する際には、個人の医療データのセキュリティとプライバシー保護が重要な考慮事項になるだろう。
- 1型糖尿病の患者にとってこの記事は、自分の状態を管理するうえで新しい視点と可能性を提示することで、興味を引く内容になり得る。
1件のコメント
Hacker Newsのコメント