ROOK Connect

One API to connect and standardize health data from wearables, medical devices, EHR/EMR and labs.

Wearables, medical devices, EHR/EMR records and labs converge into ROOK Connect and leave as a single standardized stream to your product.

How it works

Every source reaches your backend in three steps

The user authorizes their sources, ROOK normalizes formats and units, and your backend receives one model.

  1. Users connect every source

    End users connect their wearables and devices, or upload lab reports.

  2. ROOK standardizes the data

    ROOK Connect normalizes formats and units into one model.

  3. Your backend receives it

    Data reaches your backend through webhooks or API queries, linked to the same user.

One data model

One structure, any source

ROOK Connect organizes wearable data into three health pillars and delivers lab, medical device and EHR/EMR data through the same integration. Teams integrate once, and every new source arrives in a documented structure.

Data structure · simplified view
"physical_health": {  "physical_summary": {    "steps_int": 8432,    "calories_expenditure_kcal_float": 2140.5,    "hr_resting_bpm_int": 58,    "stress_avg_level_int": 32  },  "physical_events": {    "heart_rate_events": { "hr_bpm_int": 72 },    "oxygenation_events": {      "saturation_percentage_int": 97    },    "stress_events": { "stress_score_int": 28 }  }}
"sleep_health": {  "sleep_summary": {    "sleep_duration_seconds_int": 26100,    "deep_sleep_duration_seconds_int": 5400,    "rem_sleep_duration_seconds_int": 6300,    "sleep_efficiency_1_100_score_int": 91,    "hr_resting_bpm_int": 54,    "hrv_avg_rmssd_float": 48.2,    "breaths_avg_per_min_int": 14  }}
"body_health": {  "body_summary": {    "weight_kg_float": 72.4,    "height_cm_int": 178,    "bmi_float": 22.9  },  "body_events": {    "blood_pressure_events": {      "systolic_mmHg_int": 118,      "diastolic_mmHg_int": 76    },    "blood_glucose_events": {      "blood_glucose_mg_per_dL_int": 94    },    "oxygenation_events": {      "saturation_percentage_int": 98    }  }}
{  "user_id": "demo-user-01",  "sources_of_data_array": [ "Lab" ],  "biomarkers_array": [{    "name_string": "Glucose",    "loinc_code_string": "2345-7",    "value_float": 94.0  }]}
{  "data_structure": "blood_pressure_event",  "device_source_data_array": [    {      "device_type_string": "Activity Tracker",      "manufacturer_string": "Withings",      "model_string": "ScanWatch 2",      "source_type_string": "wearable/sdk"    }  ]}
{  "resourceType": "Observation",  "status": "final",  "code": {    "coding": [{      "system": "http://loinc.org",      "code": "8867-4",      "display": "Heart rate"    }]  },  "valueQuantity": {    "value": 94,    "unit": "beats/min",    "system": "http://unitsofmeasure.org"  }}

The APIs

The 4 ROOK Connect APIs

Wearables, lab reports, connected devices and clinical records — four APIs behind one integration.

Unified identity

One identity per user

All four APIs share the same integration and the same user identity. A lab result can be read alongside weeks of activity, sleep and device data from that same person.

One user_id
Six weeks of continuous sleep, activity and heart rate data from one person's wearable, with a blood pressure reading in week 3 and a lab result in week 5 attached to the same user.

Articles on ROOK Connect from the ROOK blog

Build on better health data

Turn fragmented health data into your next product advantage.

Connect the sources your users rely on, standardize what comes back, and build workflows that respond to change.

Read more in our technical documentation

FAQ

Frequently asked questions about ROOK Connect

How ROOK Connect authorizes, standardizes, and delivers health data from every source.

What is ROOK Connect?

ROOK Connect is ROOK’s core infrastructure for authorizing, extracting, processing, and delivering health data from multiple sources through APIs and SDKs. It provides a unified technical flow so teams can work with structured data without maintaining a separate connection for every provider.

What are the components of ROOK Connect?

ROOK Connect covers four stages: user authorization, source extraction, processing and standardization, and delivery to the customer’s backend. Depending on the implementation, it may also include SDKs, ROOK App, webhooks, API queries, and add-ons.

Do we need to integrate each data source separately?

No. Your team integrates ROOK once and uses common flows for compatible sources. Some sources may require provider-specific credentials, approvals, or configuration before they can be enabled.

How does ROOK standardize data from different sources?

ROOK harmonizes data structures, normalizes units and dates, organizes information under a common model, and applies cleaning and deduplication rules. Data is delivered in consistent daily-summary and granular-event formats.

How do I receive data from ROOK?

ROOK recommends Data Webhooks for new events and summaries. A REST API is also available for certain on-demand queries. Both delivery methods use consistent JSON schemas.

Read the data delivery docs

Does ROOK support FHIR?

Yes, through the Clinical Ready capability. When enabled, ROOK can deliver a FHIR R4 Bundle through the Data Webhook for metrics that can be mapped.

Explore the EHR/EMR API

Can I test the integration before moving to Production?

Yes. The Sandbox environment lets you test credentials, connections, webhooks, and data structures before launch. Sandbox and Production credentials are separate.

What happens if webhook delivery fails?

ROOK applies retry logic to failed deliveries. Your backend should also validate payload authenticity and return the expected HTTP status codes to confirm receipt.

Still have questions?Our team can review your sources and use case with you.
Schedule a demo

Newsletter

Stay in the loop.

Sign up with your email address to receive news and updates from the ROOK team.

We respect your privacy. Read our privacy policy.