Academy
⌘K
Getting Started
  • Platform Overview
  • AWS Marketplace Setup
  • Quickstart Guide
Connections
  • Overview
Workflow Builder
  • Overview
  • Nodes Catalog
Helix AI Assistant
  • Overview
Mapping Engine
  • Overview
Workflow Library
  • Overview
  • HL7
  • FHIR
  • Insurance
  • Agentic
  • Mapping
Security & Infrastructure
  • Architecture
  • HIPAA Compliance
  • Performance & Scalability
← Back to ConnectHealth
Get Started
Back to FHIR Workflows
FHIR Workflow

Apple HealthKit Vitals, Straight Into Epic

Turn an Apple Watch or wearable reading into a coded FHIR Observation in the patient's Epic chart — authenticated, encounter-linked, automatic.

17 nodes
Epic VendorServices SandboxEpic Sandbox Backend
Download workflow

The workflow

The complete flow, exactly as it runs in the Workflow Builder. Scroll to explore, or use the zoom controls.

100%

Requirements

Set up these connections in the Workflow Builder before importing or running this workflow.

Epic Sandbox Backend

Provides the backend OAuth token used to search for the patient's most recent encounter and create the FHIR Observation.

Epic VendorServices Sandbox

Used to write the coded FHIR R4 Observation — with the correct HealthKit-to-LOINC mapping — into the patient's Epic chart.

About this workflow

Wearables already track heart rate, oxygen saturation, temperature, weight and more, all day long. This workflow takes a reading from a patient's Apple Watch or other wearable and files it into Epic as a proper FHIR Observation — coded, attached to the right encounter, and visible to the care team alongside everything else in the chart.

The problem

Consumer wearables and HealthKit produce a rich, continuous stream of health data — but it's trapped on the patient's phone. Getting even a single reading into the EHR in a structured, coded form that clinicians can trust normally takes real engineering: authentication, FHIR resource shaping, code mapping, and figuring out which encounter the reading even belongs to.

How it works

The patient's mobile app posts a HealthKit sample to a webhook. The workflow normalizes the raw sample and maps the HealthKit type to the matching clinical code and units, then authenticates with Epic for a backend token.

Because Epic requires an encounter on the Observation, it searches for the patient's most recent encounter and attaches the reading to it. A Liquid template renders a clean FHIR R4 Observation, the workflow creates it in Epic, and a confirmation is sent straight back so the app knows the reading landed.

It also handles the messy realities — a demo mode that jitters values so each run files a fresh reading, and an error path that catches auth or FHIR failures.

Why it matters

Wearable data arrives in the chart as standards-based FHIR — not a screenshot, not a free-text note. It's coded, encounter-linked, and queryable, which means it's ready for trending, alerts, and real care decisions. And because the heavy lifting (auth, encounter lookup, code mapping, guardrails) is already wired up, teams skip the part that usually takes weeks.

Who it's for

Digital-health and remote-monitoring teams bringing consumer wearable data into Epic, and app developers who want a clean, FHIR-native path to the chart instead of building and maintaining the integration themselves.

How to build this workflow

Recreate it in the Workflow Builder by wiring these steps in order — or download it above and import it directly.

  1. Step 1: Receive the Reading

    Accept the incoming reading over a simple web request — from a mobile app, a wearable webhook, or another system.

  2. Step 2: Authenticate with Epic

    Securely sign in to Epic with a backend (system-to-system) token so the platform can write on the app's behalf.

  3. Step 3: Map to a FHIR Observation

    Transform the raw reading into a standards-based FHIR R4 Observation — the right code, units, and patient reference.

  4. Step 4: Write to Epic

    Create the Observation in the patient's chart through Epic's FHIR API.

  5. Step 5: Confirm & Summarize

    Read back the created record and produce a clear confirmation so you can see exactly what landed in Epic.