To access the cloud computation, an application programming interface (API) was exposed to the patient’s mobile device over the internet via an industry-standard representational state transfer (REST) interface. Such APIs parse, authenticate, and distribute requests to cloud services such that no single instance is overwhelmed and latencies for the user remain low. The API exposed endpoints for calculating heart rate, respiration rate, heart rate variability, posture (for the SVHD monitor’s accelerometer), and blood oxygen saturation.
![](https://sites.gatech.edu/physioconnect/files/2023/05/Capture-9.png)
An automated processing pipeline was developed for handling patient uploads. Upon receiving an uploaded waveform history at the end of a measurement session, the cloud filestore that received the file automatically calls a cloud-native function for processing the data. The database passes as arguments to the function both the file location and important metadata, such as the uploaded data’s device group. After preliminary checks to verify the correctness of the input (e.g. whether the project is supported, etc.), the cloud function loaded the stored waveform files indicated by its received parameters, processed the results, and stored biosignal metrics and other summary statistics in a NoSQL database. The same biosignal processing library developed for real-time metric calculation was used for batch processing of patient uploads. This process is shown at a high level in Figure 2.9. Reports were generated for clinicians at the end of each day for each participant containing the submitted waveforms and computed summary statistics.
![](https://sites.gatech.edu/physioconnect/files/2023/05/Capture-10.png)