dataesr/scientific-paragraphs-categorization huggingface dataset:
The proposed system has been built employing the most recent hardware material and one of the top-notch cloud computing products. The whole architecture based on the cloud offers a high computational workload and scalability and easily allows the integration of new algorithms and connected devices. The novel platform consists of a connected glove called UpNEA, a smartphone application, and a Matlab Production Server ™ called AeneA hosted by Amazon Web Services (AWS). To the authors' knowledge, there is no similar publication in the literature about a sleep monitoring system employing such technology. We propose that the present publica-.
Materials and Methods The proposed platform works as follows. At first, the smart-glove UpNEA collects PPG, SpO 2 , and 3-axis accelerometer signals. Those signals are encoded by the device hardware and then sent via Bluetooth Low Energy (BLE) to a mobile application. The mobile application sends these data to a secure remote server (AeneA) for cloud computing. The server decodes the received data and reconstructs the overnight signals. Then, data are analyzed by different algorithms to estimate the overnight states of sleep, breathing, and heart rate. Afterward, detection methods are deployed to observe and classify apneas and hypopneas, and episodes of tachycardia, bradycardia, atrial fibrillation, and premature ventricular contraction. Finally, the analysis results are then stored in a SQL database and accessed by a smartphone or web application to show the overnight report.
As the acquisition starts, data are stored in the UpNEA internal memory and then transferred to the external flash memory. The external flash memory of UpNEA is organized in blocks of 4 KB, and for this reason, the internal RAM allocated for this task consists of two buffers of 4 KB each. At the beginning of acquisition, the first buffer is filled with the incoming encoded data, and when it is full, the second buffer starts to fulfill. As the second buffer is used for storing data, a parallel process moves data from the first buffer to the external flash memory. Then, when the second buffer is full, this process is repeated by re-allocating data in the first buffer and moving data from the second. This process is repeated until the acquisition ends. Once a data block of 4 KB has been recorded on the external flash memory, the UpNEA device looks for an available BLE communication with the smartphone.
If the communication is available, the block is sent by BLE to the mobile application on the smartphone. This block is sent in an object containing the binary data of the acquisition and also a JSON header, in which are specified the device ID and a checksum performed with XOR operator on 8 bits. During the BLE transmission, the UpNEA device still acquires and stores new data from the pulse oximeters drivers. The task performed by the mobile application consists of collecting all the blocks sent by the smart glove, verifying the checksum, and concatenating all the blocks in a binary (. bin) file allocated in the smartphone memory. If the checksum is not verified, the mobile application sends to UpNEA a resend request for the specific block of data; otherwise, the external flash memory block of the device is freed.
Doing so, it is worth noticing that the arrangement of the blocks in the binary file is not chronologically ordered because it depends on the blocks' order of the UpNEA external flash memory. Additionally, in order to univocally associate each sleep session event to the current user account profile, the filename of the binary file consists of the user-ID and time information. Finally, when the user wakes up, they send a STOP message to UpNEA by using the mobile application on the smartphone. This immediately aborts the recording data process and finalizes the data transmission. Once all the data from UpNEA are correctly received by the mobile application, the binary file is uploaded to a data bucket AWS S3, where the information is stored. When a new file in the data bucket is stored, an AWS Lambda function is triggered.
This function receives as input the filename of the new binary file and establishes, via IP, a connection with Matlab Production Server ™ (MPS), hosted in a m5. xlarge AWS Elastic Computing (EC2) instance. Subsequently, the AWS Lambda sends an HTTP request to MPS, calling a specific MATLAB ® deployed function (passing as input the filename), which in turn starts a connection request with AWS S3 to download the specific binary file. Once the binary file has been locally downloaded on the EC2 instance hard drive, the MATLAB ® deployed function reconstructs the signals by decoding the received data. Afterward, different signal processing algorithms are applied to the acquired data for The whole cloud computing system is represented in Figure  3 , and the elapsed time for computing all these tasks is ~30 s.
The AWS platform was chosen for its scalability (capacity to easily upgrade its hardware characteristics) and robustness to handle data stream and perform cloud computing. The chosen EC2 hardware consists of four 3. 1 GHz Intel Xeon Platinum processors, 16 Gb of RAM memory, 50 GB storage memory EBS-Only, network bandwidth up to 10 Gbps, and EBS bandwidth up to 3500 Mbps. After processing, all the results labeled with the user-ID and sleep session time are recorded in an AWS Relational Database Service (RDS) for Microsoft SQL database, with one-minute resolution: the heart rate and breathing rate are averaged. Finally, the user can visualize the overnight report just 45 s after waking up, by using the mobile or web application hosted by EC2. The application reads the SQL database and displays the overnight report containing the plots of the extracted information.
Data Compression and Encoding UpNEA sends objects containing a JSON header and a binary block of 4KB to the smartphone application via BLE. However, before being recorded on hardware memory, data are compressed and encoded. Each binary block is composed of 25 rows of 157 Bytes. The first row of each block contains four elements: the number of samples, the number of useful bits, the encoded data, and, eventually, empty bits. The following 24 rows of each block, present all the same structure of the first one, except for the first element, see Figure  4.
Data Compression and Encoding UpNEA sends objects containing a JSON header and a binary block of 4K smartphone application via BLE. However, before being recorded on hardware data are compressed and encoded. Each binary block is composed of 25 rows of 1 The first row of each block contains four elements: the number of samples, the n useful bits, the encoded data, and, eventually, empty bits. The following 24 row block, present all the same structure of the first one, except for the first element, se The first element of the block indicates the number of samples produced by th from the beginning of the acquisition up to the first PPG sample, included in t This element is stored in 4 Bytes LSBFirst; knowing that the sampling frequency of drivers is 100 Hz, allows reconstructing the time sequence.
After GB data, an AV descriptor and its value are proposed to restore the encoding and compression. The number of sleep movements is encoded on 16 bits, while the SpO 2 values on 6 bits. This allows the SpO 2 to have values in the range  [0, 63]. For this reason, when a SpO 2 is produced, it is decreased by 37 and the result is stored in the block. If the difference result is negative, it is replaced by 0 as evidence of an artifact in the signal. The data descriptor's size is variable, and it has been chosen in order to assign to the most frequent value, the 110 AV value 0 DD value 0 DD value 1110 SF value DD value 0 DD value 10 110 AV value Data decoding and decompression are performed by the MATLAB ® deployed function in MPS. This function reads the binary file stored in AWS S3, per 4KB blocks.
Heart Rate At first, the PPG signal is filtered by removing its mean and dividing it by its standard deviation (z-score normalization). Each peak of the PPG signal represents the pulse occurrence time, and to get them, a search rule is used. It detects the peaks with a minimum prominence, fixed by empirical analysis on the database. The peak prominence is an adimensional parameter and depends on the representation of the acquired PPG signal by the acquisition device. It measures how much the peak stands out due to its intrinsic height and its location, relative to other peaks. In this work, for the peaks search implementation, the MATLAB ® signal processing toolbox is used  [63]. This strategy was chosen to discriminate among pulses, discarding some pronounced dicrotic notch of the PPG signal that otherwise could be detected as single pulses.
Breathing Rate The embedded algorithm for the breathing rate estimation is the one implemented by Khreis et al. in  [14]. The choice of the best respiration rate estimation method was performed by the authors in a comparative study published in  [61]. For comparison, several techniques were implemented: empirical mode decomposition (EMD), EMD combined with principal component analysis, wavelets analysis, respiratory-induced intensity variation analysis, respiratory-induced amplitude variation analysis, respiratory-induced frequency variation analysis, and Kalman Smoother method from data fusion. The algorithms were validated on the public CAPNOBASE database  [69] , which consists of 42 subjects (29 children and 13 adults) with simultaneous ECG and PPG recordings. Eight minutes of high-quality data have been acquired during elective surgery or routine anesthesia for each subject.
Ultimately, the classification algorithm used a Fine Gaussian Support Vector Machines (SVM) classifier, with Gaussian kernel with 0. 56 scale, to differentiate between apneic or hypopneic, obstructive or central DAP events. The methods were tested on 96 overnight signals, recorded at the UZ Leuven hospital, from patients with sleep apnea/hypopnea syndrome and without any kind of collateral morbidity. Each record contained a PPG and a SpO 2 signal sampled at 500 Hz, and the apnea-hypopnea index (AHI) was calculated as the number of respiratory events per hour of sleep, scored according to the AASM 2012 rules  [76]. The average AHI in the UZ Leuven hospital dataset is 31. 3 and 39% of the subjects had an AHI larger than 30; 53% of them had an AHI between 5 and 30 and the remaining 8%, an AHI less or equal to 5.
The annotations contain the beginning and duration of central apnea (CA), central Hypopnea (CH), obstructive apnea (OA), and obstructive hypopnea (OH). Table  3  shows the total number of annotations per sleep disruptive breathing event (SDBE) category, in the database. For the overnight sleep apnea/hypopnea detection, each PPG recording was divided into segments of one minute. Then, 3-fold cross-validation (CV) was performed as follows: at each fold, two-thirds of the patients present in the database were used to train the detectors and one-third to test the trained detectors. The 3-fold CV was performed per patient without re-substitution. As PPG features can be patient-specific, it was taken into account that each patient should be either in the detection test set or in the detection training set, in order to ensure a good generalization on new subjects.
Concerning the SDBE classification in CA, OA, CH, and OH, a total of 37 features were extracted from both the PPG and the SpO 2 signals corresponding to a time frame containing the SDBE. A dataset containing labeled extracted features was then built up regardless of the implementation of a Leave One Subject Out (LOSO) procedure. That choice was taken because of the heterogeneous distribution of SDBE types among patients: for this reason, a further step consisted of balancing data so that each class would be represented by the same amount of information. Features selection was then applied to reducing the dimensionality of the problem. The Fine Gaussian Support Vector Machine model was then trained and tested by using 10-fold CV.
SQL Database Once AeneA completes the cloud computing analysis, the MATLAB ® deployed function writes all the information extracted from signals, in the SQL database. Two types of data are recorded: statistical overnight data and one-minute overnight data. Statistical overnight data comprehend all the statistics computed on the overall sleep duration, whereas one-minute overnight data collect all one-minute overnight information. These two types of data are stored in two different database tables, called, respectively, Night-SleepSummary, for statistical overnight data, and SleepEvents for one-minute overnight data. Each overnight UpNEA record adds one line to the table NightSleepSummary and as many lines as the number of sleep minutes to the table SleepEvents. Table  4  visualizes the two SQL tables fields, corresponding to the data input in the database.
The NightSleepSummary presents fields containing the counters for apneas, PVC and AF, tachycardia, and bradycardia events, as well as the times the user woke up during the night. Moreover, in the same table are also recorded the overnight mean HR, BR, and SpO 2 values, with user information and the sleep stages total duration. In SleepEvents table, instead, are reported the user information per sleep night minute: these data collect the average HR, BR, and SpO 2 estimates within the minute, adding also the eventual presence of arrhythmia and apneas.
UpNEA Web Application The user can access their overnight data by logging in to a dedicated internet web page hosted by AeneA, or in a smartphone application. The user can navigate through the recorded nights and select which one to display. The plot implements the Highcharts The charting engine imports data from the SQL database and displays them on a web page. Figure  6  presents the screenshot of a generic overnight plot, without clinical significance. The chart is composed of a zoomable time series with a range selector bar at the bottom, followed by a legend. The range selector displays only the overnight sleep stages, and a legend is an active tool that allows showing/hiding information on the plot. Signals are extracted from the SleepEvents database table, with apnea, AF, PVC, tachycardia, and bradycardia detections.
Statistical data, instead, are extracted from the Night-SleepSummary database table. The plot shows HR, SpO 2 , and BR signals; apnea and hypopnea detections; as well as the tachycardia and bradycardia events, represented by colored bands. In the background, sleep stages are represented in different blue tonalities. To not overcharge the visualization, the red bands of tachycardia and bradycardia have been deselected from the figure. Each sleep disruptive breathing event detection is labeled as apneic or hypopneic, central or obstructive when the mouse pointer passes over the yellow bands. Ultimately, overnight statistics are reported below the graphic.
Data Compression and Encoding The compression algorithm used to encode the data is lossless and acts also as a noise detector when the difference in amplitude between two adjacent PPG samples (sampled at 100 Hz) cannot be allocated in an 8-bit integer. The average binary file size produced during one sleep session of eight hours is approximately 5 Megabytes. Reduced file size has two impacts on the proposed sleep monitoring architecture: it lowers both the time spent by the smartphone to transmit data into the AWS S3 bucket and the transfer time between UpNEA and the smartphone, and it allows to implement of the BLE protocol whose capacity of transfer data is reduced to decrease the devices power consumption. Typically, the data transfer between UpNEA and the smartphone is performed continuously overnight, during recording: in this case, when the user stops the recording, then all data have already been transferred to the mobile device.
Breathing Rate The PPG breathing rate estimation algorithm, integrated into the proposed sleep monitoring solution, was developed by Khreis in  [14]. The implemented technique showed an absolute median error of 0. 5 breath per minute (0. 2-1. 1 interquartile range 25th-75th) by segmenting the signal in windows of 32 s duration and 0. 2 breath per minute (0. 1-0. 9) for the 64 s windowing. These results outperformed other methods, tested on the same database, and proposed by Pimentel in 2016  [77] , Karlen in 2013  [20] , Flemming in 2007  [78] , Shelly in 2006  [79] , and Nilson in 2000  [80].
Comparing results of the apnea and hypopnea detector obtained on the overall database with those obtained for patients with low AHI, we see there is no substantial difference, confirming the robustness of the detector. Finally, those methods showed results comparable to those present in the literature and tested on the same database  [81] [82] [83]. Additionally, in  [42] , a further classification was performed on the detected DAP events to discriminate between central and obstructive, apneic and hypopneic events. The classification was performed with a Fine Gaussian SVM classifier and showed 92. 6% Acc in separating central from obstructive apnea, 83. 7% in separating central apnea from central hypopnea, and 82. 7% in separating obstructive apnea from obstructive hypopnea. The True Positive rate (TPr = Se) and False Positive (FP) rate (FPr = 1 -Sp) as well as the Acc and ROC area under the curve (AUC) are shown in Table  7.
For comparison, on the same database, no other works were performed in classifying the SDBE subtypes. Note that these results were obtained on signals acquired by the devices available at the UZ Leuven clinic and not directly with the proposed UpNEA device. However, the database signals were opportunely downsampled at 100 Hz, before being processed, to emulate the UpNEA acquisition. For costs and time limits, it was not possible to launch a clinical protocol for the presented device. Nevertheless, because the proposed platform transmits lossless data by its conception, the authors would conclude that it is possible to neglect the hardware validation.
Discussion Is the authors wish that the presented sleep monitoring platform could inspire the translation of biomedical algorithms to new connected devices, passing by top-notch cloud computing solutions. The proposed system consists of a smart glove that is used to increase user comfort during sleep examination, with respect to the PSG golden standard procedure. In regard, as the four overnight recording trials revealed, the proposed equipment had poor sleep ease. Data from UpNEA are sent by a lossless compression protocol to a remote server. Furthermore, AeneA can be easily updated with new improved algorithms by redesigning the MATLAB ® deployed function and these changes could then be directly implemented in production. The proposed platform makes it easy and fast the transition from experimentation to production and allows the introduction of new functionalities, as the algorithms have been validated.
Concerning the implemented algorithms, the authors chose to implement in the platform those they already developed and published. In addition, the integrated AFib and PVC methods were chosen from a published study that embedded them in a wearable device worn by psychiatric patients. Each implemented algorithm presents its strengths and weaknesses. The pulse detection implemented a prominence peak detector, tailored to the database used for validating the algorithms. A valid alternative would be to implement a Wiener filter like the one proposed in  [84]. In consequence, the AFib and PVC detection methods would benefit from the integration of pulse rate variability information. We propose that the BR estimation would improve its performance if accelerometer data (already available for sleep stages) would have also been exploited for the task.
g. , the number of users and threads can be augmented by only updating the AWS plan). This platform makes the transition from research to production easier and represents a fast way to remotely build new databases, for research purposes. On the other hand, trials results obtained exploiting the platform in four overnight recordings showed high specificity values for apnea and hypopnea detection: those conclusions be correlated to the good health of the tested subject. Although these proof-of-concept outcomes have no clinical significance (because it was not possible to establish a comparison with PSG reference), the results are still indicative of the good health of the subject and encourage continued testing of the sleep monitoring system in a clinical context. In comparison with similar products presented on the market, the authors' research found two sleep monitoring systems that were revealed to be the most similar to the platform proposed in the present paper: ApneaBand and WatchPAt.
Conclusions The proposed sleep monitoring platform represents a proof-of-concept for a noninvasive sleep monitoring system. The zero data loss encoding method embedded in its hardware allows the system to communicate to UpNEA devices without corrupting signals quality and compressing the transmitted information. All algorithms integrated into the platform were tested in different studies, already published in the literature. In particular, the authors choose to embed the breathing rate estimation algorithm proposed by Khreis et al. that outperformed other methods tested on the CAPNOBASE database. As regards the apnea and hypopnea detection and classification methods, the authors exploited their own work that exhibited good performances on clinical trials and was published in a separate paper.
Data Availability Statement: The PPG breathing rate estimation algorithm was validated on the public CAPNOBASE database. The algorithms for apnea and hypopnea detection and classification were tested on 96 overnight signals, recorded at the UZ Leuven hospital, from patients with sleep apnea/hypopnea syndrome and without any kind of collateral morbidity. The novel proposed platform has been employed to monitor four nights of sleep, on a 30-year-old healthy male subject not suspected to have apnea or hypopnea syndrome.
The Norwegian Geotechnical Institute (NGI) has developed new macroelement models  1  for the SSI in OWTs that address some of the limitations in these previous models, allowing for a more accurate assessment of the dynamic response for OWTs. This development was done as part of the REDWIN (REDucing cost of offshore WINd by integrated structural and geotechnical design) project. 1  The OC6 (Offshore Code Comparison Collaboration, Continued, with Correlation and unCertainty) Phase II project focuses on integrating the new REDWIN SSI modeling capability into coupled aero-hydro-servo-elastic modeling tools used to design offshore wind systems and verifying the new capability. OC6 is part of an ongoing effort under Wind Task 30 of the International Energy Agency (IEA) to verify and validate OWT modeling tools, which originated back in 2005 with the foundational OC3 project (Offshore Code Comparison Collaboration).
This paper summarizes the work of the OC6 Phase II project, including findings on the improvements the REDWIN model provides. The organization of the remainder of the paper is as follows. Section 2 summarizes the different SSI models considered in the project, including the new REDWIN model. Section 3 provides a definition of the example model that was used to verify the implementation of the new SSI modeling capability. Section 4 provides a description of the active participants involved in OC6 Phase II and the modeling approach used. Section 5 then summarizes the load cases that were performed for the verification study. Finally, Sections 6 and 7 provide some example results from the project and the conclusions drawn. The modeling information and simulation results from this project will be made available to the public by the end of 2021 through the US Department of Energy Data Archive and Portal, https://a2e.