Definitions
Actors
Rookeries Development
Rookeries Development, also known as RookDev, is the legal company name and owner of the ROOK product.
Client
The term “Client” refers to the company that contracts the ROOK product, or the entity creating an app using ROOK technology.
User
The term “User” refers to the person who uses the services provided by the client. This person is the “client of ROOK client” and is the one who connects their Health Data to the app via the ROOK solution.
Products
ROOK
In this documentation, "ROOK" refers to our API/SDK/Webhooks solution that enables wellness, health, and fitness apps to connect to their Users Health Data. ROOK is a Health Data Collector and data processing/insights platform that resides within your application to facilitate access and use of your Users Health Data.
RookConnect
Internally, "RookConnect" is used as another name for ROOK. Some domains, variables, or modules may also use this name.
RookMotion
RookDev also offers RookMotion, a product designed for clients who want to create a fitness app that uses heart rate sensors for training. If you would like more information about this product, please contact us. Soon, ROOK functionalities will also include training features.
Data Sources
Health Data Sources
"Health Data Sources" refers to both Health Data Providers and Health Data Collectors. ROOK collects Health Data from both sources, processes it, and makes it available for consumption, regardless of the source type.
Health Data Provider
"Health Data Provider" refers to the manufacturer of sensors and wearables, such as Polar and Garmin, as well as other apps that collect the Health Data of the User through the use of one of their devices or applications. Via our connections page, the User can enable us to access the data and provide that information to our client (embedded in their app) in a standardized, normalized, and unified way. A user can have multiple providers connected to ROOK.
Health Data Collectors
"Health Data Collectors" refers to products and providers that collect Health Data from Health Data Providers in a centralized way. These Health Data Collectors are often called "Health Kits" or "Health Data Hubs". Providers and products that fall into this category include Apple Health, Health Connect, Samsung Health, Huawei Health, Xiaomi Health, and Huami.
Health
Definition of Health
For us, "health" refers to a state of plenitude represented by the balance between four core pillars: physical, body, sleep, and mental/social health.
Health Metrics
"Health metrics" refers to any measurable phenomenon related to the health or wellness of an User, such as step count or heart rate.
Health Data Pillars
"Health data pillars" refer to the four pillars mentioned previously as part of our definition of health: physical, sleep, body, and mental/social health.
Physical Health Data Pillar
"Physical Health Data pillar" refers to all Health Data that falls into categories such as daily activities, exercise sessions, or the movement of a user during the day.
Body Health Data Pillar
"Body Health Data pillar" refers to all Health Data that falls into categories such as body size, physiological variables, and nutrition.
Sleep Health Data Pillar
"Sleep Health Data pillar" refers to all Health Data related to sleep, recovery, or resting.
Data
Health Data
"Health Data" refers to all data collected from the User's Health Metrics. The collected data can be either Unprocessed Health Data or Processed Health Data.
Unprocessed Data
"Unprocessed Data" refers to Health Data being stored as it was obtained from Health Data Providers without being processed by our technology. This Health Data was generated by the User's wearable device, while ROOK collects that data from the Health Data Provider.
Processed Data
"Processed Data" refers to Health Data that has been processed (harmonized, standardized, cleaned, and normalized) by our technology. ROOK collects and, more importantly, processes the User's Health Data to actually be able to make use of the available data/information.
Harmonized Data
"Harmonized Data" means a consistent presentation of Health Data in a single format with common units.
Standardized Data
"Standardized Data" means Health Data that matches calculations between Health Data Providers.
Clean Data
"Clean Data" means providing clients with a single data set (the most accurate one available) whenever duplicated data sets are found. This can happen if an User has two wearable devices or two Health Data Providers connected or when the user connects a Health Data Provider (like Garmin, Polar, Fitbit, etc.) as well as a Health Data Collector (like AppleHealth, GoogleFit, etc.).
Normalized Data
"Normalized Data" means Health Data that has been transformed to establish unified scales and ranges.
ROOK Components
The term "Components" refers to the technology used in ROOK to provide the functionalities mentioned earlier. These components represent parts of the overall technology solution that ROOK provides.
API
An "API", or Application Programming Interface, is a collection of endpoints used to query Health Data or execute actions like generating tokens from ROOK.
WebHook
A "WebHook" is a notification mechanism where ROOK notifies the client about new Health Data available from Users.
Connections Page
The "Connections Page" refers to the webpage mounted in your app where Users can find a list of Health Data Providers and Health Data Collectors available to connect with. It is also where they authorize us to access the Health Data of the selected provider.
Variables
client_uuid
A unique identifier for each client using UUID4 format. This UUID is generated by ROOK and provided to clients once the service agreements are signed. Please contact us to create an account. The client_uuid is the same for every environment.
client_password
The client password is a confidential string that plays a vital role in authorizing access to API endpoints through basic authentication. It is assigned to clients by ROOK during the account creation process.
user_id
This is the unique identifier for your Users. It is a flexible string that accepts numbers, emails, UUID4, names*, or whatever you use internally to identify your Users.
- Length is 1 to 50 chars
- Valid characters are
- Alphanumeric
- ("Aa-Zz", "0-9").
- Emails
- ("Aa-Zz", "0-9")
- ("@" & ".")
- At least 2 char for domain ending e.g. ".co"
- UUIDs
- ("Aa-Zz", "0-9") + ("-")
- Alphanumeric
If you are a HIPAA covered entity, you MUST not use names or emails as user_id. Please hash them or any PHI.
environments
Different environments are available for different development stages. Each environment has its own resources, such as servers, databases, and domains. These environments are: Production Environment: This is the final stage where the product is released. The resources used in this environment are optimized for stability, scalability, and security. Development Environment: This is the stage where the majority of the development work is done. It is used for testing and verifying new features, fixing bugs, and ensuring that everything is working as intended. Sandbox Environment: This is the stage where initial testing takes place, and where new developers can experiment with the technology without affecting the production or development environments. It is also used for testing new features and bug fixes before they are released to the development environment.
domains
The corresponding domains for each environment are:
- Production Environment: https://rook-connect.com
- Development Environment: https://rook-connect.dev
- Sandbox Environment: https://rook-connect.review
api_url
The api_url is composed "api" + the environment domain. For instance, the api_url for production would be api.rook-connect.com.