Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】My wife came home late every shift because of ultrasound paperwork, so I wrote her a program

2026年09月18日に「Dev.to」が公開したITニュース「My wife came home late every shift because of ultrasound paperwork, so I wrote her a program」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

超音波検査報告書の作成に時間がかかっていた妻のため、夫のプログラマーがプログラムを開発。計測値を音声入力すると、自動で報告書が生成されるシステムを構築した。これにより、報告書作成時間が大幅に短縮され、業務効率化が実現した。

ITニュース解説

あるソフトウェア開発者が、日々の生活の中で身近な問題に直面したことから、一つの画期的なシステムを生み出した話を紹介する。彼の妻は医師であり、超音波検査を専門としていた。彼女は勤務後、患者ごとの検査結果を詳細な報告書にまとめる作業に多くの時間を費やし、そのせいで帰宅が遅れることが常だった。この報告書は、心臓の各部位の寸法、壁の厚さ、弁の状態、血流の速度など、およそ50項目にも及ぶ数値データで構成され、それぞれに単位や正常値の範囲があり、さらに一部の数値は他の数値から計算されるという、極めて複雑なものだった。検査中はこれらの数値を頭の中やメモに控え、検査後に改めてパソコンで入力し、印刷するという流れだった。

この状況を目の当たりにした開発者は、自身のプログラミングスキルを使って妻の負担を軽減できないかと考えた。最初に着目したのは「音声認識」だった。検査中に口頭で数値を読み上げれば、それが自動的にテキスト化され、報告書に貼り付けられると考えたのだ。しかし、実際に試してみると、このアプローチは期待通りの効果をもたらさなかった。音声認識サービスが生成したのは、「LVIDd 四十七 LVIDs 三十二 IVS 九 PW 九 LA 三十七 五十二 二十八」のような、単なる数字と専門用語が羅列された文章だった。医師である妻は、結局この文章から必要な数値を見つけ出し、一つずつ報告書の適切な欄に入力し直す手間が発生し、時間短縮には繋がらなかった。単に作業の負担が別の形に置き換わっただけで、根本的な解決にはならなかったのだ。

この失敗から、開発者は問題の本質を再認識した。これは単に音声を文字に変換する「音声認識の問題」ではなく、複雑な構造を持つ「報告書作成の問題」であると。「LA 三十七 五十二 二十八」という言葉は、ランダムな三つの数字ではなく、「左心房の前後径、長さ、幅」という特定の測定値を指している。また、「軽度逆流」といった表現は、直前に言及された弁の状態を説明する情報となる。さらに、駆出率(Ejection Fraction)のような項目は、特定の二つの測定値から計算されるものであり、医師が直接口頭で入力するものではない。つまり、ソフトウェアは単に言葉を理解するだけでなく、エコー検査における「測定値」とは何か、どのような「単位」を持つのか、そしてそれらが互いにどのように「関連」しているのかを、深く理解する必要があったのだ。

この気づきを元に開発されたシステムは、以下のような仕組みで機能する。医師は検査中、携帯電話を白衣のポケットに入れたまま、測定値を以前アシスタントに伝えるのと同じように口頭で読み上げていく。システムはその音声をリアルタイムで認識し、測定値とそれに関連する情報を特定していく。最後の発言からおよそ1分後には、医師の作業スペースに報告書が自動的に生成される。報告書は、項目ごとに整理された表形式で、それぞれの数値は専用のフィールドに収められ、単位や正常値の範囲が隣に表示され、必要な計算も自動で行われている。WordやPDF形式で出力されるため、医師は最終確認と必要な修正を行った後、すぐに印刷できる。

このシステムには、医師にとって非常に便利な機能も追加された。各測定値の隣に「再生」ボタンがあり、それをタップすると、その数値が発言される約1秒前から音声が再生される。以前は、ある数値に疑問が生じた場合、何分もの録音を最初から聞き直す必要があったが、この機能により一回のタップでピンポイントに確認できるようになった。これは、システムが認識したすべての単語の発言時刻を内部で記録し、それを報告書の各フィールドと正確に紐付けているからこそ実現できた機能である。

このシステム開発において、最も困難だったのは、純粋な音声認識技術そのものではなく、超音波検査特有の「専門用語(ボキャブラリー)」をソフトウェアに正確に理解させることだった。例えば、「三尖弁性大動脈弁」という言葉がある。初期のシステムはこれをエラーと判断した。「三尖弁」は右心側、「大動脈弁」は左心側に位置する弁であり、これらが同時に存在することはないと考えたためだ。しかし、妻の説明によって、正常な大動脈弁は三つの尖弁(ひだ)を持つため、「三尖弁性」はここでは弁の構造を記述する言葉であり、「二尖弁性大動脈弁」のように異常を示す用語ではないと判明した。このように、同じ単語でも文脈によって意味が大きく変わることをソフトウェアは学習する必要があった。

また、測定値と計算値の扱いも複雑な問題だった。例えば、医師が機械から直接読み取った肺動脈圧が「二十五」であるのに対し、他の測定値から計算される値が「三十」となる場合があった。どちらを優先すべきかという議論の末、システムは「医師の味方」という方針が採用された。口頭で入力された値が常に優先され、計算値は医師が入力しなかった項目を補完するためにのみ使用される。もし計算された値を意図的に採用したい場合は、専用のボタンを押すことで、医師の明確な意思表示として反映される仕組みとした。

さらに、数値の表現方法も多様だった。「点九五」「二と半分」「一点六」といった様々な口頭表現は、機械が表示する「0.95」や「2.5」と同じ意味として理解され、他の測定値と混同されないように処理する必要があった。実際の音声入力では、検査中の沈黙や間(「えーと…、見て…、僧帽弁…、弁尖は薄い…、逆流…、軽度」といった具合)が頻繁に発生する。システムはこれらの無音部分を自動的に除去し、録音時間は平均で約4分の1に短縮され、不必要なデータ処理も削減された。

開発者はプログラマーとしての視点から、複数の音声認識モデルを比較検討した。17件の実際の音声データ(合計106分)を用いて評価した結果、単に「正しく認識された単語数」ではなく、「報告書の適切なフィールドに収まった測定値の数」で比較すると、モデル間で48%から82%と大きな性能差があることが分かった。つまり、適切なモデルの選択は極めて重要であり、さらにそのモデルに対し、検査特有の専門用語を徹底的に学習させることが、認識精度を劇的に向上させる鍵となった。専門用語の学習がなければ、どんなに優れたモデルでも正確な報告書作成には至らない。

このシステムの導入により、以前は検査後に10分から15分かかっていた報告書作成作業が、検査中の3分から4分の会話と、その後の1分程度の確認作業で完了するようになった。結果として、医師である妻は定時に帰宅できるようになり、失われていた家族との時間が取り戻された。

この個人的なプロジェクトは、やがて「SonoForm」というサービスへと成長した。現在では8つの言語に対応し、心臓、腹部、腎臓、甲状腺、乳房、骨盤、血管、妊娠など、21種類もの検査タイプに対応している。Androidアプリが提供され、iPhoneユーザーもブラウザから直接音声入力が可能だ。

開発当初から重視されたのは、患者の個人情報保護だった。システム内には患者の氏名や生年月日といった個人情報を入力するフィールドは一切存在しない。これらの情報は、医師が最終的に印刷された報告書に手書きで追加する形をとっている。これは、多くのデータシステム開発に携わってきた経験から、個人情報管理のリスクを熟知していた開発者の賢明な判断だった。身近な課題を技術で解決し、それが多くの人々の生活を改善するサービスへと発展した好例と言えるだろう。

関連コンテンツ

関連IT用語

関連ITニュース