Pre-existing data
enables ROOK to extract prior health information from users, providing clients with immediate access to user data from multiple sources. By delivering data and calculating initial ROOKScores as soon as a user connects, this feature enhances the onboarding experience and provides actionable insights without the typical waiting period for new data to accumulate.
Pre-existing data window
The amount of pre-existing data retrieved depends on the type of data source:
  1. API-based sources: Up to 7 days of pre-existing data.
  2. Mobile-based sources via SDKs:
  • SDK 4.2.0 or later: Configurable from 0 to 180 days, with 29 days configured by default.
  • SDK versions earlier than 4.2.0: Fixed at 29 days.
  • For Health Connect, users must have the READ_HEALTH_DATA_HISTORY permission to access historical data beyond 29 days. If this permission is not granted and more than 29 days are configured in the portal, the SDK will automatically limit the data range to 29 days.
Throughout this article, this is referred to as the pre-existing data window.
image_720-2
Benefits
With this project, clients can now automatically retrieve historical data based on the applicable pre-existing data window for more accurate user wellness analysis. Additionally, this feature simplifies the calculation of an initial ROOKScore, providing clients with valuable insights into user wellness from the moment of connection.
ROOKConnect integration is compatible with various data sources, including Android, Apple Health, Garmin, Google Health, Health Connect, Polar, Oura, Whoop and Withings. Compliance with privacy and security regulations is also ensured.
Key Features
  • Access to pre-existing Data:
    Retrieve historical health data according to the applicable pre-existing data window.
  • Health Score Calculation:
    Use historical data to calculate an initial health score, providing immediate visibility into the user's health status.
  • Automated Extraction:
    Automatically deliver health data summaries via client-configured webhooks.
Business rules and special cases
  1. The pre-existing information we send is based on the applicable pre-existing data window post linking (It depends on the data source)
  • Physical Summary
  • Sleep Summary
  • Body Summary
  • ROOKScore
  1. The pre-existing data Physical Summary, Sleep Summary, Body Summary, and ROOKScore for the applicable pre-existing data window. Access to this data depends on the user’s consistent application usage and synchronization with their data source. If synchronization is incomplete, pre-existing data cannot be retrieved.
  2. How sending pre-existing physical, sleep and body information works
  • It is immediately after the user links.
  1. How ROOKScore submission works
  • Once the user is linked, the pre-existing ROOKScore will be sent within a maximum of 24 hours. It may be sent at the time, but ROOK guarantees sending the ROOKScores within a maximum of 24 hours after the user is linked.
5. The pre-existing data that we can extract from each data source : Each data source is different, so in some cases we can only extract certain types of data, which we will see below.
datasources
*
Note: that in the Body information, the last update made by the user will always be sent
Frequently Asked Questions
1. How can I enable Pre-existing Data?
  • Pre-existing Data is enabled by default in both Sandbox and Production. It can be disabled or enabled again through the ROOK Portal.
2 . Will an additional endpoint be required?
  • No. When Pre-existing Data is enabled, historical user data will be automatically sent via the Data Webhook.
3. What is the structure of JSON files for historical data?
  • The JSON file structure for events and summaries is identical to the format used for daily data deliveries.
4. How many days of historical data are retrieved?
  • The number of days depends on the applicable pre-existing data window defined at the beginning of this article.
5. Is data extraction automatic, or does it require manual requests?
  • Pre-existing data is extracted automatically and sent via the configured webhook.