【ITニュース解説】How I Built TxLens with Kiro: From Manual HIV Reports to an Automated Web App
2025年09月15日に「Dev.to」が公開したITニュース「How I Built TxLens with Kiro: From Manual HIV Reports to an Automated Web App」について初心者にもわかりやすく解説しています。
ITニュース概要
手作業で30分かかっていたHIV患者データ集計を、Webアプリ「TxLens」で自動化した。AIツールKiroがコード生成などを支援し、開発者は作業内容を伝えるだけでアプリを構築。これにより、日々の報告書作成や患者リスト抽出が1分未満で完了し、医療現場の効率と精度が大幅に向上した。
ITニュース解説
医療現場では、HIVプログラムに関する大量のデータが毎日生成されている。これらのデータは、SmartCare Proというシステムから出力されるExcelファイルとして提供され、感染症治療の進行状況を把握するために不可欠な情報源となる。しかし、このデータを活用する日常業務には、多くの課題が潜んでいた。
例えば、抗レトロウイルス治療を受けている患者の記録(ART Register)をフィルターにかけて、現在治療を継続している患者数(TX_CURR)を計算したり、その結果を年齢層(15歳未満、15歳以上)ごとに分類したりする作業が挙げられる。さらに、ウイルス量検査の実施状況や抑制率を評価する品質保証・改善(QAQI)レポートの確認、ウイルス量検査の期日が迫っている患者や、受診を忘れてしまった患者のリスト作成も重要な業務である。これらの作業は、毎日30分以上もの時間を要し、データのフィルタリング、コピー、手作業による集計といった反復的な作業の連続だった。時間がかかるだけでなく、小さなミスも発生しやすく、その結果としてデータが不正確になるリスクも常にあった。
このような非効率的で手間のかかる作業を改善するため、TxLensというローカルウェブアプリケーションが開発された。TxLensは、これまで手作業で行っていたデータ処理のステップを自動化することで、医療従事者の負担を大幅に軽減することを目的としている。TxLensの導入により、Excel上での無駄な作業時間はなくなり、代わりにレポートファイルをアップロードするだけで、以下の情報が瞬時に得られるようになった。まず、年齢層ごとのTX_CURR(治療継続中の患者数)が即座に算出される。次に、ウイルス量検査の状況を視覚的に分かりやすく示すウイルス量カスケードチャートが生成される。さらに、ウイルス量検査の期日が近い患者、受診を忘れた患者、治療中断に至った患者(IIT)など、すぐに活用できる状態の患者リストが作成され、必要に応じてエクスポートも可能である。
このTxLensの開発において、KiroというAIツールが極めて重要な役割を果たした。Kiroは開発者自身の役割を大きく変え、単にコードの構文と格闘するプログラマーではなく、プロジェクト全体の設計者としての役割を担うことを可能にした。開発の初期段階では、「Vibe Coding」という手法が用いられた。これは、開発者が自分の日々の業務内容や課題をKiroに説明するだけで、Kiroがその情報に基づいて、Excelファイルの解析、治療指標の計算、レポート生成といったアプリケーションの初期的な骨組み(アーキテクチャ)を自動で提案してくれる機能である。
基本的な機能が動作し始めた後も、Kiroは「Spec-Driven Development」(仕様駆動開発)というアプローチで開発をサポートした。これは、開発者が自分の求める機能を簡単な仕様、つまり「このようなものを作りたい」というアイデアとしてKiroに伝えるだけで、Kiroがそのアイデアを具体的な要件へと展開し、実装に落とし込むという手法である。例えば、「患者リストを印刷しやすいように、見出しと適切な間隔を設定してほしい」とKiroに指示すると、Kiroはその要望を具体化し、印刷ボタンの追加、A4サイズでのフォーマット調整、さらにはCSV形式でのデータエクスポート機能までを含む、より完全な要件として定義した。また、「次回の受診予定患者レポート」のような新しいレポートのアイデアも、その内容を説明するだけでKiroが実装を支援した。
さらに、開発プロセスには「Agent Hooks」という仕組みが組み込まれた。これは、Kiroが生成したコードが常に高品質であることを保証するための自動チェック機能である。具体的には、Pythonコードのスタイルや一貫性をチェックするFlake8というツールへの準拠を確認するフックを追加した。これにより、Kiroが新しいコードを生成するたびに、そのコードがすぐにスタイルや品質の基準を満たしているかが自動的に検証された。これは、開発者がコードの品質について心配する時間を節約し、生成されたコードへの信頼を高めることにつながった。
Kiroが生成したコードの中で最も印象的だったのは、アプリケーションの心臓部となる計算エンジンだったという。開発者は、TX_CURRの計算方法やウイルス量検査の期日を迎える患者をExcelで手作業で特定する際の手順をKiroに説明しただけで、Kiroはそれらの手順を正確に再現する再利用可能なプログラム部品(関数)を自動で生成した。この関数は、手作業での計算結果と完全に一致する精度を持っていた。
このように、開発者はKiroに対して「何を、どのように作るか」という方向性を示し、指示を出すだけで、Kiroが本来時間と労力がかかるコーディング作業や、細かな実装の面倒な部分を代行してくれたのである。この協業により、開発スピードは格段に向上し、開発者は「臨床医が時間を節約し、より良い意思決定を行えるように支援する」という、アプリケーションが解決すべき本来の課題に集中することができた。
TxLensがもたらしたインパクトは非常に大きい。これまで毎朝30分かかっていた手作業は、今では1分もかからずに完了するようになった。これにより、臨床医はより明確で正確な患者リストを迅速に手に入れられるようになり、プログラムマネージャーも重要な治療指標を以前よりも早く確認できるようになった。手作業によるエラーが減少したことも、大きなメリットである。TxLensはオープンソースソフトウェアとして公開されており、誰でも利用したり、改善に貢献したりできる。また、医療データのプライバシーに関する法規制を遵守するため、アプリケーションはユーザーのPC上でローカルに動作するように設計されており、実際の医療現場で実用的に活用されることを目指している。
KiroのようなAIツールとの協業は、ソフトウェア開発のアプローチを根本的に変える可能性を示している。開発者は、プログラミング言語の構文や、毎回同じように書く必要がある定型的なコード(ボイラープレート)に悩む必要がなくなり、そのエネルギーをアプリケーションの設計、全体的な方向性の決定、そして提供する情報の正確性に集中できるようになった。TxLensの開発経験は、このような未来のソフトウェア開発の姿をいち早く体験する機会を提供したと言えるだろう。