【iOSDC Japan 2024 レポート】Day2「すべてのヘルスケアデータを紐解く」を聞いてきた #iosdc

【iOSDC Japan 2024 レポート】Day2「すべてのヘルスケアデータを紐解く」を聞いてきた #iosdc

Clock Icon2024.08.25

2024年8月22日から24日に開催された「iOSDC Japan 2024」に参加してきた。WWDCが世界的なカンファレンスだとすれば、iOSDC Japanは日本国内で最大のiOSデベロッパーカンファレンスだ。

この記事では、Day2「すべてのヘルスケアデータを紐解く」についての感想を共有する。

すべてのヘルスケアデータを紐解く

https://fortee.jp/iosdc-japan-2024/proposal/4b53750a-61d0-4529-8179-18b5a234e874

登壇者

  • 日向強 さん

スライド

https://speakerdeck.com/coe/subetenoherusukeadetawoniu-jie-ku

概要

ヘルスケアアプリから「すべてのヘルスケアデータを書き出す」機能を使用すると、これまでのヘルスケアデータを取り出せることをご存じでしょうか。このデータはzip形式で保存され、シェアすることが可能です。zipデータを解凍すると、いくつかのCSVデータや2GBを超える巨大なXMLデータなどが含まれています。これらのデータは一体どうやって活用すれば良いのでしょうか。

このセッションでは、iOSの巨大なXMLデータの解析方法やCSVデータの処理方法について詳しく解説します。エクスポートされたヘルスケアデータの内容を理解し、他のプラットフォームでインポートする際にも役立つ知識を提供します。具体的には、以下のポイントに焦点を当てます:

  • iOSのXMLデータ解析手法
  • CSVデータの効率的な処理方法
  • 他プラットフォームでのデータインポート方法

このセッションに参加することで、ヘルスケアデータを効果的に活用するためのスキルを身につけることができます。

このセッションでは、iOSのヘルスケアアプリからエクスポートされるデータ、特に巨大なXMLデータやCSVデータの解析手法について詳しく解説された。ヘルスケアデータは大きく以下の4つに分類される。

  • ELECTROCARDIOGRAMS
  • EXPORT.XML
  • EXPORT_CDA.XML
  • WORKOUT-ROUTES

WORKOUT-ROUTESフォルダには、日付ごとのファイルがあり、GPXファイルは位置情報を扱うファイルである。これをGoogle Mapsにインポートすると移動経路が表示される。

ELECTROCARDIOGRAMSフォルダには、心電図 (ECG)の結果がCSV形式で記録されているが、これは実質的にkey-valueが書かれた特殊なフォーマットなので、パース時には注意が必要だ。サンプルレートと後半に心電図の電圧などが書かれている。

EXPORT.XMLは、2GBを超える巨大ないファイルである。ヘルスケアで管理されているすべてのデータが定義されている。あまりにも巨大すぎてXcodeで開くとフリーズしてしまう。解析にはHealthKitについての知識が必要となる。

EXPORT_CDA.XMLは、基本的にはEXPORT.XMLに準拠した内容となっているが、CDA(Clinical Document Architecture)というフォーマットとなっている。医療情報の標準規格となっており、栄養素情報など標準規格に存在しないデータに関しては含まれない。

日向さんはこれらのデータを活用したサービスやアプリを開発することを参加者に呼びかけていた。

こう思った

このセッションは、HealthKit自体の解説ではなく、「すべてのヘルスケアデータを書き出す」でエクスポートされた大量のデータについてひとつひとつ丁寧に説明していく内容だった。日向さんのトークは非常に面白く、最初から参加者の心を掴んでいた。

ヘルスケアアプリからエクスポートされるデータは非常に多岐にわたる。その巨大なデータや複数のCSVデータは、適切に扱えば有用な情報を得られるが、ファイルごとにフォーマットが異なり、Swiftなどで簡単に扱えるライブラリがないという課題もあるようだ。

ユーザーにデータをエクスポートしてもらい、自社プロダクトでインポートするような使い方は難しいかもしれないが、今後何か優れたプロダクトが生まれることを期待したい。

この記事をシェアする

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.