Samsung Health to FHIR
Galaxy Watch data through Health Connect or the Samsung Health Data SDK: a real comparison, partner approval, developer mode and the FHIR mapping.
Galaxy Watch and Galaxy Ring data is recorded by the Samsung Health app on the phone, and there are two ways to read it: through Health Connect, where Samsung Health exports a subset on its own schedule, or directly with the Samsung Health Data SDK, which reads everything Samsung Health shows but needs Samsung's partner approval before an app can be published. Whichever path you take, the values become FHIR R4 Observations the same way as Apple Health or Health Connect data. This page compares the two paths with a measurement from a real phone, and explains what each requires.
Two paths
| Through Health Connect | Samsung Health Data SDK | |
|---|---|---|
| What you read | What Samsung Health chooses to export to Health Connect | The data in Samsung Health: steps, heart rate, sleep, blood oxygen, blood pressure, blood glucose, body composition, skin temperature, exercise, nutrition, water and more |
| Freshness | When Samsung Health exports, which can lag | What Samsung Health has now |
| Requirements | Health Connect permissions, Play Console declaration | Android 10 (API 29) or later, Samsung Health 6.30.2 or later, a Samsung device (no emulator) |
| Before publishing | Google Play review of the Health Connect declaration | Samsung partner request and approval; until then the SDK works only with Samsung Health's developer mode on |
| Same code on other phones | Yes: one integration for Samsung, Pixel, Fitbit, Garmin, Oura | No: Samsung devices only |
Sources: Samsung Health Data SDK overview and process.
What we measured on a Galaxy phone
While building Anpheros Daily we compared the two paths on a Galaxy S26 Ultra paired with a Galaxy Watch, at the same moment on 27 September 2026:
| Source | Steps that day | Other types available |
|---|---|---|
| Samsung Health app (on screen) | 4,566 | heart rate, sleep, blood oxygen |
| Health Connect, data written by Samsung Health | 3,211 | none: only steps had been exported, the last batch about 90 minutes earlier |
| Samsung Health Data SDK | 4,566 | steps were the type tested that day; later tests read heart rate, sleep and workouts the same way |
Samsung Health had every write permission in Health Connect; it simply exported less, and later. That is one phone and one day, not a rule, but it matches what people report: if your users have Galaxy watches and see different numbers in your app and in Samsung Health, the Health Connect path is the likely cause, and an app cannot force Samsung Health to export more often.
Testing with the SDK before approval
The Samsung Health Data SDK checks with Samsung whether your app (package name and signing certificate) is approved. Before approval:
- On the test phone, open Samsung Health › Settings › About Samsung Health and tap the version number repeatedly until developer options appear, then turn on developer mode for the Samsung Health Data SDK.
- Your app can then read data on that phone. Without developer mode, the SDK refuses with an authorization error, so ship a fallback to Health Connect.
Developer mode is for testing only and not something to ask users to enable. To publish, submit the partner request to Samsung; after approval Samsung registers your package and signature.
From Samsung Health to FHIR
The mapping is the same as for the other health stores:
| Samsung Health data | LOINC | UCUM |
|---|---|---|
| Steps (daily total) | 41950-7 | {steps} |
| Heart rate (daily average, min, max) | 8867-4 | /min |
| Blood oxygen | 59408-5 | % |
| Sleep duration and stages | 93832-4; 93831-6, 93830-8, 93829-0 | min |
| Blood pressure | 85354-9 with 8480-6 and 8462-4 | mm[Hg] |
| Blood glucose | 2339-0 | mg/dL |
| Body weight | 29463-7 | kg |
| Skin temperature | no general LOINC code for wrist temperature; use your own code and do not label it as body temperature | Cel |
Two details matter. The Samsung Health Data SDK returns blood glucose in mmol/L; convert it (Anpheros Daily stores mg/dL) or keep the unit as reported, but never mix units under one code. And wrist or skin temperature is not body temperature: writing it under 8310-5 would mislead anyone who reads the record.
Write one Observation per person, metric and day, marked as device data, and update it when the same day is synced again. The backend code, run against the platform, is on Wearable data in FHIR.
Choosing a path
- Most apps: start with Health Connect. It covers Samsung and every other Android vendor with one integration, and the gaps are Samsung Health's export behaviour, not your code.
- Apps where Galaxy Watch data must match Samsung Health exactly (step challenges, heart-rate trends people compare with the Samsung app): add the Samsung Health Data SDK on Samsung devices, apply for partnership early, and keep Health Connect as the fallback. Read each type from one source only, or the record will have duplicates.
Where Anpheros fits
The Anpheros Platform stores the result — each value as a FHIR R4 Observation marked as device data, with consent, provenance and an access log — and does not read Samsung Health itself. Anpheros' own app, Anpheros Daily, reads Samsung Health data on Android through Health Connect, as described above.
Frequently asked questions
Does Samsung Health sync with Health Connect?
Yes, Samsung Health writes to Health Connect when the person allows it, but it exports a subset of types and on its own schedule, so Health Connect can lag behind or miss types that Samsung Health shows.
Do I need Samsung's approval to use the Samsung Health Data SDK?
To publish, yes: Samsung asks for a partner request before distribution and registers the approved app. For development, Samsung Health's developer mode lets the SDK work on a test phone.
Can I read Galaxy Watch data on an iPhone?
Galaxy Watch is designed for Android phones and records into Samsung Health there; there is no supported path from a Galaxy Watch into Apple Health.
Why are Galaxy Watch steps lower in my app than in Samsung Health?
If you read through Health Connect, Samsung Health may not have exported its latest data yet. Reading Health Connect's aggregated total, syncing when your app opens and, where it matters, adding the Samsung Health Data SDK narrow the gap.
Related
- Wearable data in FHIR: the mapping table and the backend code
- Health Connect to FHIR
- Apple Health (HealthKit) to FHIR
- How to build a personal health record app