Releases: S-ResearchStack/backend-system
v2.0-beta
Version v2.0 Release Notes
What's New
1. Rebranded as Samsung Health Research Stack
Samsung has introduced a new 'Samsung Health SDK Suite' designed for developers and researchers to create innovative healthcare solutions. Concurrently, the 'Samsung Health Stack' has been renamed the 'Samsung Health Research Stack'. The addition of the word 'research' is intended to highlight our efforts to foster a digital health research ecosystem.
2. Full-Featured Mobile App
Previous versions allowed us to build applications with relatively little code, but we had limited customization, so we had a limited amount of functionality that could be changed. Digital health research is so diverse and complex, so are the needs. Following this trend, in this release we are offering the Starter App in its full form, with the freedom to customize it as needed. Now users can take advantage of almost all the features as long as they build the Starter App.
App SDK
We provide the Auth module, an interface that allows you to switch authentication methods. This module supports authentication methods such as AWS Cognito, Super-Tokens, and Samsung Account. And if you want to add another authentication service, you can do so easily. We also provide an interface that allows you to easily use custom backend endpoints, and you can also create custom tabs and add them to your applications.
Multiple Study Participants with a Single App
In previous versions, you had to directly code the ID of the study you wanted to participate in when building the mobile app, and it was impossible to participate in multiple studies. However, now you can build the app without a study ID and participate in the studies you want through the study list.
More Data Type Supported
Our system now supports a wider range of data types, such as the accelerometer for measuring acceleration forces, the light sensor for detecting ambient light conditions, and the speed sensor for tracking speed changes.
Upload Health Data Directly to Cloud Storage
As the amount of data supported by mobile and wearable devices increases, so does the burden of data transmission. By sending data directly to cloud storage and storing only metadata on the back end, efficient data transfer and storage between the backend system and data measurement devices is now possible.
3. Enhanced Wearable Support
Wearable Stand Alone mode
The diversity and complexity of digital health research has meant that some studies require raw data from wearable sensors rather than data from interactions with participants. As data volumes have grown, efficient data transfer has become a necessity. Data can now be transferred directly from the wearable to the backend, bypassing the mobile.
Wider Range of Data Types with Sensor SDK
In addition to the sensor SDK, a wider variety of data types are supported. These include accelerometer, blood pressure, body composition, electrocardiogram (ECG), heart rate, PPG green, PPG red, PPG infrared, skin temperature, SpO2, sweat loss, and more. These expanded data sources, along with the expansion of mobile data sources, will allow you to gather more information about different situations, which will help you derive more accurate results from your analysis.
Maximize Battery Efficiency – Passive Data Measurement for 24H
Based on the experience and expertise of many research services, we focused on battery optimization in terms of data storage and data transfer frequency. We now offer 24-hour passive data collection that includes accelerometer, heart rate and PPG green. This continuous monitoring allows us to capture detailed and comprehensive data throughout the day, providing valuable insights into user behavior patterns and health indicators.
Monitor Wearable Device Status
You can now monitor device status, including wearable device battery levels, power status, off-body detection, and the list of wearables connected to mobile devices. By tracking these aspects, you can gain insight into user device usage patterns, identify potential issues, and take appropriate action when necessary.
4. Highly Optimized Backend System
The primary enhancements to the backend system are designed to improve the stability of handling and managing large data sets.
More Efficient Data Transfer
In order to conduct more accurate research, the amount of data required has increased, as has the number of participants. As a result, the data transfer between the measurement device and the backend system has required a much higher level of efficiency than originally anticipated. In version 2.0, the gRPC protocol has been newly implemented for data communication.
Database Optimization
MongoDB has a strength on efficient distributed processing and fast writing with the help of its sharding support. Now, backend system with MongoDB shows excellent performance in processing and analyzing large amount of data, which makes it easier to develop AI model based on the data.
RBAC with Casbin
Casbin makes it possible to customize fine-grained access control. Now, we can flexibly apply any permission policy at function level. If you want to define a new service or to create a new policy, you can do it easily by adding a simple Casbin configuration and just a few lines of code. Attaching annotations to the desired functions is enough to implement the access control what you want.
Asynchronous Programming with Kotlin Coroutine
The Kotlin coroutine code is much more readable and familiar than the naïve reactive programming used in the previous version. To take advantage of this, we have refactored most of our reactive code into coroutine-based code. This should now allow you to use the backend-system code more comfortably.
5. Strengthen Management Capabilities of the Web Portal
New Dashboard
You can now check the status of data collection and perform simple analysis using this new dashboard. Previously, research managers could only view visualizations of certain types of data in predefined formats. Now, in a notable upgrade, they can customize and view any data they desire in the format they desire.
Improved Study Management
No need to write down the data types you want to collect in your research application codes. Specifying the data types you want when creating a study in the web-portal. This ensures that your app collects the data you need for your study.
Easy Access to Study Data
Store your data in a familiar file system like structure. Review and download the data in your browser. If your backend is connected to cloud storage services, you can download and upload using pre-signed URLs created by the backend, without having to enter separate credentials on the web.
Customizable Educational Content
You can customize the educational contents freely. In case of a need for training content for study participants, the web-portal provides a route to provide creating educational content in a free form for the study managers. Then the participants can quickly learn about the study with the content.
v1.1
Version v1.1 Release Notes
What's New
1. Data Source from Wearable Device
Integration with Samsung Privileged Health SDK (https://developer.samsung.com/health/privileged)
v1.1 provides interfaces for Samsung Privileged Health SDK (hereinafter referred to as P.SDK), which can be used to measure and collect health data with Samsung Galaxy Watch.
Wearable kit module for ECG measurement UI
For certain data types collected from watches, an appropriate UI on the wearable application is required. Samsung Health Stack now provides a kit, allowing users to easily create wearable applications to measure such data. Currently, only UI for ECG data is supported. UIs for other data types will be supported soon.
DataSync between Samsung Galaxy Watch and Android mobile devices
Once health data is collected from the watch, the data is synchronized to the mobile device. Additionally, the data can be transmitted to the Health Stack Backend and utilized for research purposes.
How to use Samsung Privileged Health SDK (P.SDK)
Currently, approval is required to download and use P.SDK. (https://developer.samsung.com/health/privileged)
Once you download the P.SDK, just import it to your project!
Originally, creating a wearable app with P.SDK required implementing a wrapper and UI.
However, Samsung Health Stack simplified this process to minimal lines of code.
You can refer to a detailed example of implementation in the Starter-App.
(https://github.com/S-HealthStack/starter-app)
2. Support Health Connect in Android 14
Support Android 14 with updated Health Connect
Health Connect has now become a core part of the Android 14 system.
Unlike older Android versions and previous Samsung Health Stack releases, you don't need to install the Health Connect App.
Health Stack v1.1 supports Health Connect within the updated Android 14 system, while ensuring backward compatibility for the older Android versions.
3. Starter-App Revised
Improved landing process via updating the Starter-App.
Starter-App has become the submodule of App-SDK, resolving code duplications and preventing confusion.
To test the Starter-App, you can choose either method - Clone App-SDK with its submodule or clone Starter-App directly.
By simply importing P.SDK after cloning, you gain access to the complete features of App-SDK.
Introducing Wearable Starter-App
Now that P.SDK integration is implemented, let us introduce the Wearable Starter-App.
Wearable Starter-App includes newly added ECG measurement, data sync feature.
Easy implementation when using the Samsung Health Stack.
v1.0
Version v1.0 Release Notes
What's New
1. Survey Management
A various selection of new question types
v1.0 introduces a various selection of new question types, as well as question grouping options.
- image choice, ranking, date/time picker, text input
Survey grouping / branching
With the addition of sectioned surveys, this update also showcases branching logic for surveys.
This allows researchers to create surveys where certain question sections may be skipped based on answers in a prior section.
This functionality is limited to surveys with sections.
2. Data Collection
A various type of activity task
Activity tasks are introduced with v1.0. Activity tasks guide the users through different physical activities, and resulting data is made available to researchers.
- mobility, balance, cognition, cardiovascular strength, and reflexes.
In-Lab visitations
Samsung HealthStack now accepts in-lab visit data through researcher data uploads to public cloud (AWS, GCP, Azure).
3. Data Management
Public cloud management
To facilitate management of collected data, v1.0 now utilizes cloud storage functionalities for data storage.
Researchers will be able to access and modify data easily through signed URLs.
- AWS, GCP, Azure
To fortify the privacy of Samsung HealthStack based systems, researcher role authorities were further separated compared to previous releases.
4. Education
Publish education material (Only App)
Applications created with v1.0 now feature an optional bottom navigation bar with an Education tab.
Researchers can now add publications with information for participants, and the publications will be displayed on the Education page.
Supported publication types include videos and PDF files, made available through cloud storage integration.
5. Application Menu
v1.0 applications now have Profile, Settings, and Info functionalities.
The profile page gives users the option to input additional demographic data.
Through settings, users can toggle notification preferences, and set the desired time for daily task notifications.
Researchers can provide information on a study through the info page, along with relevant contact information.