【iOS 27】訪問看護で話した内容を記録の下書きに書き直す機能を作って、iPhone 15 Proで測ってみた

【iOS 27】訪問看護で話した内容を記録の下書きに書き直す機能を作って、iPhone 15 Proで測ってみた

訪問看護の記録をiPhoneだけで下書きにできるか、実際にアプリを組んで測ってみました。話した内容を記録の文体に書き直し、様式の欄に振り分けるまでを、Apple Intelligenceでどこまで成立させられるのか、その結果をお伝えします。
2026.09.26

こんにちは。リテールアプリ共創部で事業企画を担当しているかめだです。

前回、【iOS 27】訪問看護の記録は、話した内容をどこまで下書きにできるかで、訪問看護の記録について書きました。看護師は利用者宅で確認したことを、車の中や事務所に戻ってから、記憶を頼りに様式へ打ち直しています。話した内容を記録の文体に書き直し、様式の欄に振り分けるところまでを、iPhoneの中だけで動くAIモデルに任せる設計を考えました。

今回は、エンジニアではない私が実際にアプリを組みました。iPhone 15 Proで、合成した見本と、私が声に出した内容を音声認識にかけた書き起こしを使い、話にある事実がどこまで記録に残るかを測ってみました。

先に、前回の仮説への答え

では、前回の記事で「こうすれば成立するはず」と書いたことを4つに分け、実物5本の話で答えます。

前回の仮説 答え
話した内容と、文字にした結果を端末の外に出さない その通りにできました。音声認識(SFSpeechRecognizer、requiresOnDeviceRecognition = true)も、書き直すAIモデル(SystemLanguageModel.default)も端末の中だけで動きます
測定した値は欄ごとに独立させ、話したとおりの数字をそのまま書かせる 数字はモデルに書かせない作りに直しました。実物の1回目は、モデルに数値を書かせたままだと血圧の値が3回とも記録から落ちました
話に出てこない事実や数値を、AIが補って書き足さない 足した数値は0件でした。事前の試し・実物のどの回でも、足した数値はありません
観察でも処置でもない話(主治医への報告や家族への助言)の置き場を用意する 最初の作りには置き場がなく、事前の試しで「主治医に報告」のような話が記録から落ちました。欄を分けて足すと収まりました

話した内容を、記録の文体に書き直して様式の欄に分ける下書きは、iPhoneの中だけで作れます。 実物5本を2回測り、直したあとは話にある事実が108/108(100.0%)残り、足した数値は0件、話し言葉の言い回しが残った記録も0/15でした。数値を話したとおりに書き取る業務はモデルに向いておらず、ルールに任せています。モデルは、話し言葉を記録の文体に直し、数値以外の話を欄ごとに振り分けることに絞りました。

話した内容には、利用者の体温や血圧といった健康の記録が含まれます。個人情報保護委員会と厚生労働省のガイダンスは、こうした情報を要配慮個人情報と定めています。書き直しと欄への振り分けを、外部のクラウドサービスに送らずiPhoneの中だけで終えられるかが、この検証で確かめたかったことです。

話した内容を、記録の文体に書き直して欄に分ける仕組みを作った

作ったのは、話した内容の書き起こしを渡すと、記録の6つの欄に分けた下書きが返る仕組みです。欄は、測定した値、状態の観察、実施したケア、本人・家族の言葉、助言や報告、次回の訪問です。

Apple Intelligence でアプリづくりは何が変わるのか(AFM 3 の全体像)で紹介されている構造化出力(@Generable)を使い、欄の意味を1つずつ書きました。

@Generable
struct NursingRecord {
    @Guide(description: "測定した値。体温・血圧・脈拍・SpO2・血糖・体重などを、話したとおりの数字で1つ残らず書く。測っていなければ「測定なし」")
    var vitals: String

    @Guide(description: "利用者の状態の観察。睡眠、食事、皮膚、むくみ、歩き方、痛み、様子など、話に出てきた状態をすべて書く。記録の文体(である調か体言止め)で書く。話していないことは書かない")
    var observation: String

    @Guide(description: "この訪問で実施した看護や介助。記録の文体で書く。話していないことは書かない")
    var care: String

    @Guide(description: "本人や家族の発言や訴え。誰の発言かが分かるように書く。記録の文体で書く。発言がなければ「特になし」")
    var statements: String

    @Guide(description: "本人や家族への助言・指導、主治医など他の職種への報告や連絡。なければ「特になし」")
    var plan: String

    @Guide(description: "次回の訪問の予定。話していなければ「記載なし」")
    var next: String
}

モデルに任せたのは、話し言葉を記録の文体に直し、数値以外の話を欄ごとに振り分けることです。ルールに任せたのは、体温・血圧・脈拍・SpO2・体重の数値を取り出すことと、文末に残った「です・ます」を記録の文体に直す最後の仕上げです。数値を話したとおりの数字で欄に書かせる案を前回書きましたが、実物では血圧の値が記録から落ちてしまい、正直ここは予想外でした。ルールに任せる形に直しています。

// 数値は規則で拾った値を正とする。拾えなければモデルの欄を使う
let v = NursingRules.vitals(text)
let fields: [String: String] = [
    "vitals": v.isEmpty ? c.vitals : v.joined(separator: "、"),
    "observation": c.observation, "care": c.care, "statements": c.statements, "plan": c.plan, "next": c.next,
].mapValues(TextRules.recordStyle)

数値がルールで取り出せなかったときだけ、モデルが書いた値を使います。

何を合格とし、どう測ったか

合格ラインは測る前に決めました。元の話にある事実が9割以上残ること、元の話にない数値を足さないこと(0件)、話し言葉の言い回しが記録に残らないこと(0件)です。根拠は、人が直す前提で、一から書くより速いかにそろえています。

見本は2種類です。体温・血圧・SpO2・脈拍・体重などの言葉が入った原稿10本の合成の見本と、私が声に出した5本を、iPhoneの中だけで動く音声認識にかけた実物です。中身は架空の記録です。合成の見本は各3回、実物は直す前と直したあとの2つのパターンで、それぞれ各3回測りました。

音声認識は端末の中だけで動く設定にかけています(SFSpeechRecognizer、requiresOnDeviceRecognition = true)。1本の音声は1回だけ認識し、同じ書き起こしでモデルを3回呼びました。こんな感じで条件をそろえて、何度測っても同じになるようにしています。体温や血圧といった業務の言葉を認識の候補に渡す設定(contextualStrings)もこの検証全体で試してみましたが、実物の書き起こしは1文字も変わりませんでした。

この場面では、ルールだけで記録を書く比べ役は作っていません。

話した内容は、記録にどこまで残ったか

合成の見本10本を、前回の記事の設計のまま3回ずつ測ると、事実は95.9%残り、足した数値は0、話し言葉の言い回しが残った記録も0/30でした。合格です。

実物5本で、直す前のまま測った1回目です。

回 事実が残った 足した数値 話し言葉が残った記録 判定
1回目(直す前) 99/108 = 91.7% 0 1/15 不合格(話し言葉)

採点では、書き起こしの「保護剤」「奥様」を、正解の「保護材」「奥さん」と同じ意味の語として認めています。認める前の1回目の一致率は86.1%でした。

不合格の原因は3つです。「血圧が上128の下76夜はよく眠れたそうです」のように句点が打たれずに続いた話で、血圧の数値が3回とも記録から落ちました。「血圧は146の下90で高めです」の「高め」も3回とも落ちました。記録に「痛みは軽いです」「張り替えています」と話し言葉が残った回も1回ありました。

書き起こしの時点では、事実は108/108残っていました。落ちていたのは音声認識ではなく、モデルが書き直すところです。

原因に合わせて2つ直しました。体温・血圧・脈拍・SpO2・体重の数値は、モデルに書かせず、ルール(NursingRules.vitals)で話したとおりの数字を取り出す作りに変えました。「高め」「低め」も同じルールで添えます。文末に残った「です・ます」は、記録の文体に直すルール(TextRules.recordStyle)を最後にかけます。

直した作りを測る途中で、さらに2つの問題に気づきました。どちらも、最初は見落としていたものです。1つは、最後の「次回の訪問」の欄を書き終えたあとも、モデルが書き続ける回です。実物15回のうち1回、「3日後」の後ろに「訂正依頼:訪問看護記録の形式を正しく選択してください」のような、記録と関係のない文が続きました。採点は事実と数値しか見ていなかったので、この回も正解に数えていました。欄の終わりの記号でその欄を切り、長すぎる欄は句点で切るルールを足しています。もう1つは、「体温は36.5」のように「度」を言わない言い方を、数値のルールが拾えなかったことです。この2つを直した作りで測り直しました。

同じ実物5本を、直したあとに測り直した2回目です。

回 事実が残った 足した数値 話し言葉が残った記録 判定
1回目(直す前) 99/108 = 91.7% 0 1/15 不合格(話し言葉)
2回目(直したあと) 108/108 = 100.0% 0 0/15 合格

2回目は、欄を書き終えたあとに書き続けた記録も0/15でした。かかった時間はモデルが中央値3.26秒、音声認識が中央値0.58秒です。

事実の見落としはなくなりましたが、欄の振り分けは回によって揺れます。1本目では、3回中2回で「入浴介助」が観察の欄と実施したケアの欄の両方に書かれ、残りの1回はケアの欄が「特になし」で、入浴介助は観察の欄にだけ入りました。次回の予定が「助言や報告」の欄に入った回もあります。事実は落ちていないので採点では正解ですが、欄の振り分けは看護師が確認して直す必要があります。

直した作りを、合成の見本10本でも測り直しました。

作り 事実が残った 足した数値 話し言葉が残った記録 判定
事前の試しで合格した作り 95.9% 0 0/30 合格
実物を見て直した作り 94.4% 0 0/30 合格

実物に合わせて直したことで、合成の見本が悪くなっていないことを確かめました。採点の基準は事前の試しの段階で1つ直しました。「減っている」の「って」を話し言葉として数えていた誤りを見つけ、引用の「って」だけを数えるように直しました。

なぜ、書き直しはルールだけでは書けないか

数字は言葉の形が決まっているので、ルールで取り出せます。一方、「仙骨部の床ずれが少し小さくなってました」を「仙骨部の床ずれが小さくなっている」に、「洗浄して保護剤張り替えております」を「洗浄し、保護剤を張り替えている」に直す書き直しは、決まった置き換えでは書けません。というのも、看護師ごとに話す順番や言い回しが変わるからです。語尾の「です・ます」だけはルールで直せたので、ルールに任せています。

前の検証記事【iOS 27】パスポートと免許証を撮って宿泊者名簿の下書きにする機能を作って、iPhone 15 Proで測ってみたでは、文字を1字ずつ写す業務は文字認識とルールに任せると結論づけました。今回も、数字を書き写す業務はルールに任せ、モデルは、言い回しの違う話し言葉を記録の文体に直し、性質の違う話を欄に振り分けることに絞っています。

この業務で、Apple Intelligence で輝けるか?

輝けます!

モデルは、話し言葉を記録の文体に直し、観察・実施したケア・本人や家族の言葉・助言や報告の欄に振り分けることです。ルールは、体温・血圧・脈拍・SpO2・体重の数値を取り出すことと、文末の表現を記録の文体に変換することです。人が確定するのは、欄の振り分けが正しいか(重なりや配置)を確認し、記載事項を満たしているかを判断し、記録を確定することです。

まだ言えないのは、実物5本、私1人の声だけで測った結果だということです。

対応端末と話す人を増やし、確定画面まで測る

なので、次に確かめるのは、話す人と実物の件数を増やすことです。私1人の声、実物5本だけの結果なので、他の看護師の話し方でも同じように事実が残るかを見ます。

車の中や利用者宅など、話す場所を変えたときの音声認識の精度も測ります。事務所に戻ってから、話した内容の原文とAIが振り分けた結果を並べて確認する画面を作り、看護師が欄ごとに直す割合と、確認から確定までの所要時間も数えます。

対応端末(iPhone 15 Pro/Pro Max か iPhone 16 以降)をそろえられるかどうかは、この検証では確かめていません。AFM3の5モデルと対応端末にある機種の一覧と照らし、次の段階で確認します。対応端末・費用などの共通の前提は、iPhoneの中でAIが動くと、どの業界の何が変わるのか(Apple Intelligence 業界別活用マップ)にまとめています。

よくある質問

実物5本の結果を、そのまま現場に当てはめてよいですか。

当てはめられません。私1人の声、実物5本だけの結果です。看護師ごとに話す順番や言い回しは変わるので、他の人の声でも同じ結果になるかは確かめていません。

数字はルールで取り出すなら、AIモデルは要らないのではありませんか。

数字だけならその通りです。ただし、話し言葉を記録の文体に直し、観察・実施したケア・本人や家族の言葉のように性質の違う話を欄に振り分けるところは、ルールでは書けません。看護師ごとに話す順番や言い回しが変わるためです。

読み上げ音声(合成音声)で試せば足りませんか。

足りません。読み上げ音声にかけると書き起こしの文字の誤り率が19.8%あり、記録に事実が残る割合は68.9%まで落ちました。人の声では事実が100%残ったので、この検証は人の声の結果で判断しています。

参考

同じように音声を記録の下書きに変える場面があれば、ぜひ実機で試してみてください!

では、おつかめ!

--

クラスメソッドでは、既存スマホアプリをFlutterでiOS/Android同時に作り直し、バックエンドはAWSで再構築する「AI駆動アプリリニューアル」を提供しています。現行アプリの仕様読み解きから設計・実装まで生成AIを組み込んだ開発プロセスで進めるため、レガシー化したアプリのリニューアルを短い期間で作り直します。
サービス詳細・お問い合わせはこちら


AI白書2026 配布中

クラスメソッドが独自に行なったAI診断調査をもとに、企業のAI活用の現在地を調査レポートとしてまとめました。企業規模別の活用度傾向に加え、規模を超えてAI活用を進める企業に共通する取り組みまで、自社の現在地を捉えるためのヒントにぜひ。

AI白書2026

無料でダウンロードする

この記事をシェアする

DevelopersIO 2026

関連記事