ROOK primarily focuses on the automated collection of health data from wearable devices and health platforms. However, the system also accommodates manual data input from users through specific mechanisms, though these are not a core feature of the platform. Here’s how to best deal with manual data input when integrating ROOK:
User Information Endpoint:
ROOK provides an endpoint (/api/v2/user-information) that allows clients to send user information, including details that might be manually input, such as:
Date of birth (date_of_birth_string)
Height in centimeters (height_cm_int)
Weight in kilograms (weight_kg_float)
Body Mass Index (bmi_float)
Sex (sex_string)
This information is sent as a JSON payload, including a datetime field in ISO 8601 format.
This data is crucial for calculations within the ROOK system, such as the ROOKScore.
This endpoint accepts data that has been manually entered by users.
The endpoint is designed for one-time submission of basic user data.
Importance of User Data for ROOKScore:
The ROOKScore requires basic user data (age, sex, weight, height) to generate a personalized score.
If this data is missing, the ROOKScore will include keys indicating that the calculation was not personalized. The keys are calculated_with_missing_user_info_bool (true or false), and missing_user_info_array which lists which basic user data is missing.
ROOKScore 2.0 incorporates metrics like BMI, steps, calories, and sleep data to provide a comprehensive view of user health.
Missing user information can affect the accuracy of the readiness_score, bmi_score, and other health metrics within the ROOKScore.
ROOK's Data Processing Approach:
ROOK emphasizes data harmonization, standardization, cleaning, and normalization to ensure high-quality data.
This processing applies to both automatically collected data and manually entered data.
The system aims to provide consistent data regardless of the original source, so user inputs are processed alongside wearable data.
ROOK also handles data from multiple sources, cleaning and merging data as necessary and uses the document_version field to indicate that the data has been revised.
Considerations for Manual Input:
Clients should design their applications to ensure the accurate collection of manual user data before sending it to ROOK.
User interfaces should guide users to input correct data.
Clients must maintain their own data storage to store this data. The user data sent to ROOK is used for processing, and ROOK does not serve as a long-term data storage solution.
Data sent to ROOK is formatted using the UCUM metric units.
No Direct Manual Event/Summary Input:
ROOK does not offer a direct way for users to manually input events or summaries related to their physical, sleep, or body health via the user information endpoint.
The system primarily relies on data extracted from connected devices or health platforms.
Clients should use the various endpoints for summaries and events from physical, sleep, and body health only for accessing data already collected by ROOK.
Data Privacy:
Clients should be mindful of data privacy when collecting and processing manual data.
ROOK is HIPAA and GDPR compliant, and clients must also adhere to those standards when collecting user information.
Avoid using Personally Identifiable Information (PII) like emails in regulated contexts.
In summary, while ROOK is designed for automated data collection, it accommodates manual data input by users primarily through the user information endpoint, which is essential for generating the ROOKScore. Clients need to build interfaces for manual input and should follow best practices for data collection and storage. However, ROOK does not directly support manual entry of events or summaries, and instead focuses on the automated flow of data from connected devices and sources.