·14 分で読めます

ヘルスケアデータの書き出し:ステップごとの実践ガイド

ヘルスケアデータの書き出し:ステップごとの実践ガイド
英語からの翻訳です原文を読む

ヘルスケアアプリを開くと、何年分もの心拍数の記録、ワークアウト、睡眠記録、臨床データが見つかります。そして今、医師やアプリがそのファイルを求めています。すべてのヘルスケアデータを書き出すをタップし、アーカイブができあがるのを待つと、出てきたのはきれいに整った表計算ファイルではないことに気づきます。生のXMLが入った大きなZIPファイルで、使いやすさよりも網羅性を重視して作られているのです。

これがヘルスケアデータの書き出しにまつわる問題です。アーカイブを手に入れるのは簡単です。しかし、それを焦点が絞られ、読みやすく、プライバシーに配慮したレポートに仕上げるには、もう少し判断が必要です。Apple標準の手順では記録の全体が手に入りますが、多くの医師や表計算ソフト、分析アプリで効率よく使えるようにするには、変換やレポート作成のステップが必要になります。

ヘルスケア標準の書き出し機能で実際に得られるもの

Appleの書き出し機能は、レポート作成ツールではなく、データをすべてそのまま出力するものです。iPhoneでヘルスケアアプリを開き、プロフィールアイコンをタップして下にスクロールし、すべてのヘルスケアデータを書き出すを選択します。書き出すで確定したら、アーカイブの送信先を選びます。使い方に応じて、「ファイル」に保存したり、メールで送ったり、AirDropで転送したりできます。

Appleのヘルスケアデータの共有に関する公式の説明では、共有シートが表示されるまでに時間がかかる場合があると説明されています。診察に急いで向かう途中で書き出しを始めるのはやめましょう。iPhoneの電源を確保し、ヘルスケアアプリには触れずに、デバイスが記録をまとめ終わるまで待ちます。

https://support.apple.com/library/APPLE/APPLECARE_ALLGETTY/Product_Help/en_US/PUBLIC_INFO/APP0137/en_US/iphone_health_app_export.png のスクリーンショット

ZIPファイルの中身

アーカイブには通常、次のものが含まれます。

  • export.xml:HealthKitの生の記録ファイルです。デバイスやアプリがヘルスケアに書き込んだ内容に応じて、心拍数、歩数、ワークアウト、睡眠、身体測定値、症状、服薬、臨床記録などが含まれます。
  • PDFの概要:選ばれた健康情報を、より読みやすい形でまとめたものです。
  • 補助ファイル:ヘルスケアのデータベースに含まれるデータの種類によって異なります。

Appleのコミュニティの資料やユーザー同士の議論では、XMLファイルが書き出しの中心となる生データであること、そして長期間の記録があるとファイルが非常に大きくなったり、処理にかなりの時間がかかったりすることが指摘されています。書き出しのサイズと所要時間に関するAppleサポートコミュニティの議論は、Appleの洗練された説明ではあまり強調されていない実際的な問題を反映しているため参考になります。

XMLが使いにくく感じる理由

このファイルは、人が読むためではなく、ソフトウェアが処理するために構造化されています。各記録には種類、取得元、単位、値、タイムスタンプなどの属性があり、多くの場合メタデータも付いています。普通のテキストエディタで開くと、循環器内科医がざっと目を通せる表ではなく、タグがぎっしり並んだ文字列が表示されます。

実践のルール:ZIPファイルはバックアップの原本として扱いましょう。何かをアップロード、メール送信、共有する前に、必要な部分だけを抜き出した作業用コピーを作成します。

完全なアーカイブが必要なときは、標準の書き出し機能が今でも正しい出発点です。データを幅広く保存でき、持ち運び可能なヘルスケアデータのコピーが手に入ります。ただし、そのアーカイブを完成した臨床レポートと取り違えないようにしましょう。

選択的な書き出しと、Appleがそれを提供しない理由

医師から、特定の期間の心拍数の推移、睡眠、血圧を見せてほしいという具体的な依頼を受けて、ヘルスケアアプリを開いたとします。Appleの書き出し画面では、そのようなデータのまとまりは作れません。標準の手順では、利用可能なヘルスケアとフィットネスのデータを含むXMLアーカイブが一つ作成され、期間やカテゴリを選ぶ機能はありません。Appleの資料はこの全件書き出しの方式を前提としており、ヘルスケアデータ書き出しツールの一覧を見ると、人々がいまだに別のフィルタリングや変換の手段を探している理由がわかります。

Appleがこの方式を選んでいるのは、HealthKitがデバイスの測定値、アプリからの取り込み、手入力の記録を一元的に保管する場所という役割を持っているためです。一部だけのファイルでは、データの空白期間や古い測定値、別の取得元からの記録が抜け落ち、前後の状況がわからなくなるおそれがあります。完全なアーカイブはそうした状況を保持しますが、その代わりに、どのデータを選ぶかという作業は利用者に委ねられます。

受け取る側が一つの疑問への答えだけを必要としている場合、このトレードオフはすぐに不便になります。医師は、症状と並べて心拍数の推移を見たいかもしれません。研究者は、決められた期間の一つの指標だけを必要としているかもしれません。アーカイブ全体を送ると確認の手間が増え、必要以上の個人情報をさらすことになります。

実用的な代替手段の比較

方法 絞り込みの自由度 プライバシー上のリスク 必要なスキル
書き出し専用アプリ 指標や期間を選べることが多い 別の開発者に読み取りアクセスを与える 低
ショートカットによる手順 選んだHealthKitのサンプルを取得できる アクセス許可により、選んだデータは公開される 中
手作業での削除 書き出し後に完全に制御できる 生ファイルがクラウドや共有ストレージを経由するおそれがある 中
ローカルのスクリプト 正確な絞り込みと、繰り返し使えるルール ローカルで実行すればアップロードによる露出が最も少ない 上級

Appleの完全なアーカイブはバックアップの原本として保管し、分析や医療機関との共有には、絞り込んだ作業用コピーを作りましょう。こうして分けておけば、原本はそのまま残しつつ、受け取る側には扱いやすいファイルを渡せます。

アプリに絞り込みを任せる場合は、アクセスを許可する前にそのアプリのヘルスケアへのアクセス権限を確認してください。選択的な書き出しがプライバシーの向上につながるのは、絞り込みの処理が作業に必要な範囲を超えるデータを受け取らない場合だけです。同じ依頼が繰り返しある場合は、ローカルでの手順のほうが優れています。生のアーカイブを自分の管理下に置いたまま、毎回同じ選択ルールを適用できるからです。

XMLを使いやすいCSVやJSONに変換する

変換の方法として、現実的な選択肢は三つあります。アップロードしないこと、繰り返し使えること、速さのどれを重視するかで選びましょう。

方法1:iPhone上で変換する

ショートカットを使えば、書き出したXMLを読み込み、必要な記録要素を解析し、項目を選んでCSVやJSONファイルとして保存できます。手順はできるだけ絞り込みましょう。まず、記録の種類、単位、値、取得元、開始日時、終了日時を取り出します。メタデータは、測定値を解釈するのに役立つ場合にだけ追加します。

ローカルで動くショートカットは、生のアーカイブをWebサービスに送りたくないときに便利です。また、定期的な通院のたびに同じ手順でデータを渡せるようになります。ただし、ショートカットの中で信頼できるXMLパーサーを作るには根気が必要です。特に、記録に省略可能な属性や入れ子になったメタデータが含まれている場合はなおさらです。

方法2:ローカルのPythonスクリプトを使う

細かく制御したい場合は、ローカルのスクリプトを使いましょう。次の例は、export.xmlを読み込み、一般的な記録の属性を取り出して、ファイルをどこにもアップロードせずに平坦なCSVを書き出します。

import csv
import xml.etree.ElementTree as ET

tree = ET.parse("export.xml")
root = tree.getroot()

fields = [
 "type",
 "sourceName",
 "sourceVersion",
 "unit",
 "value",
 "startDate",
 "endDate",
 "device",
]

with open("health_records.csv", "w", newline="", encoding="utf-8") as output:
 writer = csv.DictWriter(output, fieldnames=fields)
 writer.writeheader()

 for record in root.findall("Record"):
 writer.writerow({field: record.attrib.get(field, "") for field in fields})

https://docs.python.org/3/library/xml.etree.elementtree.html のスクリーンショット

これで作られるのは幅広い内容のCSVであり、完成された医療レポートではありません。出力したあとで、記録の種類、取得元、日付で絞り込んでください。絞り込みのルールを変えたときに処理をやり直せるよう、元のXMLには手を加えずに残しておきます。

出力を信頼する前に日付を処理する

Appleはタイムスタンプを ISO 8601 形式の文字列で保存しており、多くの場合タイムゾーンの情報が含まれています。オフセットを無視するパーサーを使うと、サンプルが間違った現地時刻にずれてしまうことがあります。これは睡眠、症状、ワークアウト、そして姿勢や時間帯が関わるあらゆる分析に影響します。

タイムゾーンを考慮した日付の解析を行い、元のタイムスタンプは残したまま、人が確認するための現地時刻の列を別に作りましょう。変換の際に元のタイムスタンプを上書きしてはいけません。

方法3:変換ツールや取り込みツールを使う

サードパーティの変換ツールを使えば、取り込みの際にXMLをCSVやJSONに変換してくれるので、時間を節約できます。最終的なファイルを作る前に、指標や期間を選べるサービスもあります。ただし、その便利さにはプライバシー上のトレードオフがあります。生の書き出しデータがデバイスの外に出る可能性があるからです。

私としては、ファイルに臨床記録、生殖に関する健康、服薬、移動経路などの機微なデータが含まれている場合は、できるだけローカルで変換することをおすすめします。外部の取り込みツールを使うのは、保存のポリシー、アクセス権限、削除の方法、書き出しの挙動を確認してからにしましょう。

ショートカットやサードパーティ製ツールで作業を効率化する

自動化が最も役立つのは、Appleの標準アーカイブを小さくすることではなく、データの受け渡しです。ショートカットを使えば、ヘルスケアの書き出しを開始し、できたファイルを「ファイル」アプリやiCloud Driveの指定フォルダに保存し、必要に応じてアーカイブを作り、承認した送信先への共有シートを開く、という一連の流れを毎回同じように実行できます。

繰り返し行う作業に合わせて組み立てましょう。

  1. ヘルスケアの書き出しアクションから始める。出力は一般的な書類フォルダではなく、一時的なフォルダに置きます。
  2. 「ファイルを保存」のステップを追加する。「確認待ちのヘルスケア書き出し」のように、わかりやすい名前のフォルダを使います。
  3. アーカイブの送り先を意識して決める。受け取る相手を確認してから、「ファイル」、AirDrop、または信頼できる取り込み画面に送ります。
  4. 後片付けを加える。絞り込んだレポートを作成したら、一時的なコピーを削除します。

ショートカットを使っても、アーカイブが作成される前に、Apple標準の全件書き出しを期間で絞り込んだ取得に変えることはできません。時間の節約になるのは、タップの回数が減り、ファイルの置き忘れを防げるからです。

機能の数ではなく、作業の流れでツールを選ぶ

カテゴリに特化した書き出しツールは、決まった期間の少数の指標だけが必要な人に向いています。定期的に書き出すツールは、CSVやJSONファイルを個人用の保存場所に定期的に届けてほしい人に向いています。グラフ表示アプリは、診察の準備をしていて、何を共有するか決める前に視覚的に確認したい人に向いています。

ツール 書き出し形式 絞り込み機能 自動化 向いている人
カテゴリ特化型の書き出しツール CSVまたはJSON 指標と期間で絞り込み 手動または繰り返し実行 上級ユーザー
定期データ書き出しツール CSVまたはJSON 選択内容を設定可能 定期配信 継続的な個人分析
心拍数分析アプリ グラフとPDFレポート 心臓関連の指標に特化 自動分析 診察の準備
自作のショートカット CSV、JSON、またはZIP 使うアクションによる ワンタップで受け渡し 繰り返しの共有

Cardiogramは、HealthKitへの読み取り専用アクセスでヘルスケアの心拍数データを分析し、分析はデバイス上で行います。また、エピソードを整理して表示したり、医師向けのレポートを作成したりできます。医療機関とのやり取りでは、手を加えていないXMLアーカイブを渡すよりも役立つことがあります。特に、ヘルスケアのデータベース全体ではなく、心拍数のパターンが問題になっている場合です。

試し終わったら、アクセス権限を見直しましょう。「設定」>「ヘルスケア」>「データアクセスとデバイス」で、もう必要のないアクセス、特に書き込みの許可を取り消します。分析ツールには、読み取り専用のアクセスを基本にするのが望ましいでしょう。

ヘルスケアのデータを医師と共有する

生のexport.xmlファイルが、短い診察に適した資料であることはほとんどありません。まずは要点をまとめたレポートを医師に渡し、元の記録を求められたときのために完全なアーカイブを手元に用意しておきましょう。

完全な書き出しから始めて、絞り込んだ作業用ファイルを作り、診察に関係する測定値だけを取り出します。心臓に関する相談であれば、心拍数、安静時心拍数、HRV、血圧、体重、睡眠、症状、服薬や活動に関するメモなどが含まれるでしょう。何を選ぶかは、書き出しやすいデータではなく、医学的に確認したい問いに合わせて決めてください。

表紙をつける

1ページの表紙をつけると、ファイルの信頼性が高まり、内容も読み取りやすくなります。次の内容を記載しましょう。

  • 期間:レポートが対象とする期間を明記します。
  • データの取得元:記録を提供したデバイスやアプリを列挙します。
  • 既知の欠落:Apple Watchを着けていなかった期間、同期が止まっていた期間、デバイスを変更した時期などを記載します。
  • 背景情報:関連する症状、服薬の変更、病気、旅行、普段と違う運動などを書き添えます。
  • ファイルの案内:どの添付ファイルが概要で、どれが生データのバックアップなのかを説明します。

医師にとっては、説明のない大量のアーカイブよりも、要点を絞ったレポートのほうがすばやく読み解けます。答えてほしい問いを、Appleが集めたあらゆる記録の下に埋もれさせないようにしましょう。

共有の方法を慎重に選ぶ

対面の診察であれば、AirDropやケーブルでの直接転送を使えば、通常のメールでファイルを送らずに済みます。遠隔診療では、添付ファイルを受け付けている場合、医療機関の患者ポータルを利用しましょう。暗号化メールは、双方がその方法を理解していれば使えますが、通常のメールが機微な情報を含むZIPファイルを十分に保護してくれるとは考えないでください。

心拍数のレポートを準備している場合は、書き出す前にCardiogramのレポートカスタマイズガイドを確認してください。期間を絞ったPDFやCSVがあれば、完全なアーカイブを別に保管したまま、診察を始めるための使いやすい資料になります。

まずは役に立つ最小限のファイルを送りましょう。完全な書き出しデータは、いつも添付するものではなく、元データのコピーとして保管します。

共有する前に、最終的なCSVやPDFを自分で開いて確認しましょう。日付が妥当か、値に単位がついているか、選んだ期間が正しいか、関係のない記録が含まれていないかをチェックします。見た目は立派でも背景情報のないデータは、答えよりも多くの疑問を生むことがほとんどです。

ファイルを渡す前に守りたいプライバシーのポイント

ヘルスケアの書き出しデータからは、心拍数よりはるかに多くのことがわかってしまいます。ワークアウトの経路からは、住んでいる場所やよく訪れる場所が明らかになるかもしれません。服薬、生殖に関する健康、メンタルヘルス、症状、臨床記録が、日常の活動データと一緒に含まれていることもあります。アーカイブは、使い捨てのフィットネスファイルではなく、非常に機微な個人文書として扱いましょう。

共有する前に、次のチェックリストを使ってください。

  1. 必要最小限の範囲を確認する。受け取る側が完全なアーカイブを必要としているのか、絞り込んだレポートだけでよいのかを尋ねます。
  2. ローカルでの処理を優先する。MacやiPhone上で動く変換ツールなら、生のXMLをリモートのサーバーにアップロードせずに済みます。
  3. アクセス権限を確認する。分析には、HealthKitへの読み取り専用アクセスを選びましょう。作業が終わったら、「設定」>「ヘルスケア」>「データアクセスとデバイス」でアクセスを取り消します。
  4. より安全な転送方法を選ぶ。可能であれば、AirDrop、ケーブルでの転送、患者ポータルを使います。
  5. どうしてもメールで添付する場合は保護する。アーカイブにパスワードをかけ、パスワードは別の手段で伝えます。
  6. コピーを片付ける。診察が終わったら、共有のコンピュータ、クラウドのフォルダ、ダウンロードフォルダ、一時フォルダから、解凍したXMLを削除します。

アプリのアクセス権限を取り消しても、そのアプリがすでに別の場所へ同期したコピーは消えません。リモートの変換ツールやバックアップ先を使った場合は、そのサービスの削除機能を直接確認してください。ヘルスケアの記録を分析するアプリを評価するときは、Cardiogramの健康データのプライバシーに関するガイドが参考になります。

最も安全なのは、生の書き出しデータをローカルに置いたまま、範囲を絞ったレポートを作り、そのレポートだけを共有する方法です。保護されたマスターアーカイブを一つ保管しておけば、誰かに一つの推移を求められるたびに全件の書き出しをやり直す必要はありません。

書き出しでよくある問題への対処法

ヘルスケアの書き出しがうまくいかない原因の多くは、いくつかの決まったパターンに当てはまります。まずデバイス、次にストレージ、最後にパーサーの順に確認しましょう。

原因を順番に調べる

  • 書き出しが止まっているように見える:低電力モードをオフにし、iCloudバックアップがリソースを使用中でないことを確認します。iPhoneを電源につなぎ、ヘルスケアがアーカイブをまとめている間は画面がスリープしないようにしておきます。
  • アーカイブが大きすぎる、または処理が失敗する:再試行する前に、本体のストレージに十分な空きを作ります。長期間の記録には、最終的なZIPファイルだけでなく一時的なアーカイブのための容量も必要なので、空き容量がほとんどない状態で試さないでください。
  • 日付がおかしい:export.xmlを開き、最初の記録のタイムスタンプを確認します。値が想定外の基準日を示していたり、現地時刻の間で飛んでいたりする場合は、変換ツールがタイムゾーンのオフセットを捨てている可能性があります。
  • CSVで記録がひとまとめになってしまう:パーサーがsourceVersionやdeviceなどの属性を保持しているか確認します。性能の低いパーサーは、異なる種類の記録を区別のない汎用的な列に平坦化してしまうことがあります。
  • 医師向けのレポートが不完全に見える:送信する前に、できあがったファイルを絞り込み、行ごとに確認します。選んだ心拍数や歩数の記録が変換後も残っていることを確かめ、出力をヘルスケアアプリに表示される概要と比べてみましょう。

目的に合わせて方法を選ぶ

バックアップには、Appleの手を加えていないZIPファイルを保管します。分析には、ローカルで変換し、タイムゾーンの情報を保持します。診察には、表紙と既知の欠落を添えた、要点を絞ったPDFやCSVを作ります。誤ったアラートやノイズの多い心拍数のパターンについて疑問がある場合は、単独の測定値を解釈する前に誤検知を減らすためのガイドを確認してください。

大事なのは、書き出すかどうかではありません。書き出したデータで何をしたいのかです。Appleは完全な元の記録を提供してくれます。次のステップでは、作業に必要な範囲を超えてプライバシーを手放すことなく、その生のアーカイブをより小さく、わかりやすいファイルに変えていきましょう。


Cardiogramは、HealthKitへの読み取り専用アクセスとデバイス上での分析を用いて、ヘルスケアの心拍数データを、整理されたエピソード、推移、状況の記録、そして共有できる医師向けレポートに変えます。次の診察の前に心拍数のパターンをもっとわかりやすく確認したい方は、Cardiogramにアクセスして、読みにくい生のアーカイブを渡す代わりに、要点を絞ったレポートを準備しましょう。

すべての記事
Cardiogram Pro

心拍数の​データを、​答えに​変える

エピソードの自動検出、症状のメモ、傾向データ、循環器内科医に渡せるPDFレポートを、ひとつのプライベートなAppで。

Cardiogramを無料で試す3日間無料、いつでも解約できます。