A method of controlling a skin stretcher
By introducing pressure data feature recognition and compensation correction mechanisms into the skin traction device, the interference of environmental temperature changes on traction monitoring is solved, enabling accurate monitoring and adjustment of skin stress state, and improving the accuracy and timeliness of clinical adjustments.
Patent Information
- Application Number
- CN202611091477.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-22
- Publication Date
- 2026-08-25
AI Technical Summary
Existing skin traction closure devices lack monitoring of environmental temperature changes in clinical applications, leading to interference in traction monitoring data and affecting the accuracy and adjustment of skin stress state.
By introducing a pressure data feature recognition and compensation correction mechanism into the skin stretcher, a baseline pressure value sequence is collected, filtered, aggregated, and outlier removed, and then compared to identify the temperature-affected stage and perform compensatory translation correction to eliminate pressure offset caused by temperature.
It enables accurate differentiation between changes in ambient temperature and tension adjustments during treatment without increasing hardware costs, thus improving the stability of skin tension assessment and the timeliness of adjustments.
Smart Images

Figure CN122632913A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of traction closure technology, and in particular to a control method for a skin traction device. Background Technology
[0002] Skin traction closure, which promotes the expansion of soft tissue through continuous mechanical traction, is an effective means of wound closure. Existing technologies, such as CN110292405B, disclose a cable-driven skin traction closure device. Through the coordination of a cable, traction mechanism, locking mechanism, and adjustment mechanism, it can achieve flexible traction and precise tension adjustment of the skin on both sides of the wound, offering advantages such as ease of operation and suitability for complex wounds. However, such devices still have the following shortcomings in practical clinical applications: the maintenance and adjustment of traction tension mainly rely on manual operation by medical staff based on experience, lacking a continuous monitoring mechanism for the skin's stress state; simultaneously, temperature fluctuations objectively exist in the clinical environment, and users often experience thermal expansion and contraction of the skin due to changes in ambient temperature during treatment, leading to passive drift of traction tension. This tension change caused by non-treatment factors directly reflects abnormal fluctuations in monitoring data, and existing devices cannot identify such interference signals or distinguish them from normal traction progress, making it difficult for medical staff to obtain the true skin stress state, thus affecting the accurate judgment and timely adjustment of the traction process. Therefore, how to eliminate the interference of environmental temperature factors on tension monitoring data and improve the accuracy of skin stress state perception is a technical problem that urgently needs to be solved in this field. Summary of the Invention
[0003] To address the aforementioned technical problems, the technical solution adopted by this invention is as follows:
[0004] According to the control method of the skin traction device provided in this application, the method includes the following steps:
[0005] Q100: After the skin tension closure device is adjusted and the user is in the expected stable state, the baseline pressure value sequence within a preset time period is collected, and the statistical characteristics of the baseline pressure value sequence are used as the baseline pressure level L_base.
[0006] Q200, in subsequent continuous monitoring, acquires the target pressure value sequence corresponding to each preset historical time period; the target pressure value sequence is obtained by sequentially filtering, aggregating, removing outliers and interpolating the initial pressure value sequence;
[0007] Q300: Compare the target pressure value sequence P_target for the current preset historical time period with L_base to determine the overall pressure level L_current of P_target;
[0008] Q400, if the pressure value of P_target starts from a stable level and drifts unidirectionally and continuously over time until it reaches another stable level, then the drift process is marked as the temperature influence stage.
[0009] Q500, for pressure data marked as being within the temperature-affected phase, based on the difference between the baseline pressure level L_base and the stable pressure level before and after drift, the pressure value at the corresponding position in P_target is compensated and shifted to eliminate the overall pressure level shift caused by temperature, thus obtaining the corrected target pressure value sequence P_target_corrected.
[0010] Q600: For data in the non-temperature-affected phase, P_target is directly used as P_target_corrected;
[0011] Q700 determines whether the user's skin has an abnormal stretching state based on the similarity between P_target_corrected in adjacent preset historical time periods;
[0012] Q800 will issue a warning if there is an abnormal tension state.
[0013] The present invention has at least the following beneficial effects:
[0014] The control method of the skin traction device of the present invention, by introducing a feature recognition and compensation correction mechanism for the change pattern of pressure data itself on the basis of the pressure monitoring of existing skin traction closure devices, achieves the following beneficial effects: First, by comparing the target pressure value sequence with the baseline level and combining it with the recognition of the "unidirectional, continuous drift" pattern of pressure values, it can effectively distinguish between passive tension drift caused by changes in ambient temperature and tension adjustment actively applied during treatment without relying on additional temperature sensors; Second, based on the difference between the stable pressure level before and after the drift and the baseline level, the pressure data in the temperature-affected stage is compensated and shifted, which can eliminate the overall offset component superimposed on the pressure signal due to temperature fluctuations, thereby restoring a pressure sequence that is closer to the actual stress state of the skin; On this basis, similarity analysis of adjacent time periods is performed based on the corrected sequence, avoiding abnormal fluctuations in similarity caused by temperature interference, making the judgment of the stability of the skin traction state more reliable; Finally, an early warning is issued when an abnormal state occurs, which can assist medical staff in obtaining the true stress change trend under the premise that the interfering factors are effectively suppressed, thereby improving the timeliness and accuracy of clinical adjustment decisions. The entire solution effectively improves monitoring accuracy by deeply mining and morphological recognition of existing pressure data without increasing hardware costs or changing existing operating procedures. Attached Figure Description
[0015] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0016] Figure 1 A flowchart illustrating the control method of a skin stretcher provided in an embodiment of the present invention. Detailed Implementation
[0017] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0018] It should be noted that, based on this disclosure, those skilled in the art will understand that one aspect described herein can be implemented independently of any other aspect, and two or more of these aspects can be combined in various ways. For example, any number of aspects set forth herein can be used to implement the device and / or practice the method. Furthermore, this device and / or practice the method can be implemented using other structures and / or functionalities besides one or more of the aspects set forth herein.
[0019] Example 1:
[0020] The following will refer to Figure 1 The flowchart shown illustrates a control method for a skin traction device, introducing such a method.
[0021] This control method for a skin traction device is applied to a skin traction closure device. A pressure sensor is installed at the spring end of the skin traction closure device to collect the pressure at the spring end. The pressure sensor is communicatively connected to a controller. The method may include the following steps:
[0022] Q100: After the skin tension closure device is adjusted and the user is in the expected stable state, the baseline pressure value sequence within a preset time period is collected, and the statistical characteristics of the baseline pressure value sequence are used as the baseline pressure level L_base.
[0023] After medical staff complete the tension adjustment operation of the skin traction closure device (such as rotating the pressure regulating sleeve or sliding locking mechanism), the controller senses the end of the adjustment action through hardware interruption or level detection and automatically enters the baseline acquisition process. At this time, the system first determines whether the user is in the "expected stable state"—the criteria for determining this state include: ① the user is in a resting or sitting position with no significant limb movement; ② the fluctuation amplitude of the data collected by the pressure sensor within 30 consecutive seconds is less than a preset threshold (e.g., peak-to-valley difference < 0.1N); ③ if the system is equipped with an accelerometer or body motion sensor, it assists in determining that the user has no limb displacement. After the stability conditions are met, the controller continuously collects raw pressure data for a second preset duration (e.g., 5 minutes) at a fixed sampling frequency (e.g., 10Hz), forming the raw baseline sequence P_raw. Subsequently, the raw baseline sequence is preprocessed: first, a low-pass filter with a cutoff frequency of 0.5Hz is used to filter out high-frequency electronic noise; then, instantaneous outliers caused by occasional minor movements are removed (e.g., detected using the 3σ principle and replaced with local means); finally, a pure baseline pressure value sequence P_base is obtained. The controller calculates the arithmetic mean of all pressure values in P_base as the baseline pressure level L_base. For example, if 3000 data points are collected within 5 minutes, and 2980 valid points remain after filtering and outlier removal, with a mean of 5.23 N, then L_base = 5.23 N. This L_base value is stored in non-volatile memory as a reference for all subsequent temperature drift identification and correction.
[0024] This step establishes an individualized pressure baseline level after tension adjustment is completed and the user's condition is stable, providing an objective and reliable reference system for subsequent temperature drift identification. This baseline is entirely based on the user's initial stress state, naturally eliminating the influence of individual differences such as skin elasticity, tension location, and wound size. Multi-dimensional determination of the "expected stable state" during data acquisition ensures that the baseline value is not affected by user activity; filtering and outlier removal further improve the purity and representativeness of the baseline value. This baseline value will continue to play a role throughout the entire treatment cycle, ensuring that subsequent temperature impact identification remains anchored to the initial normal state, avoiding misjudgments due to baseline drift.
[0025] Q200, in subsequent continuous monitoring, acquires the target pressure value sequence corresponding to each preset historical time period; the target pressure value sequence is obtained by sequentially filtering, aggregating, removing outliers and interpolating the initial pressure value sequence.
[0026] In this embodiment, the target pressure value sequence can be obtained by the method in steps S100-S500 of embodiment two, which will not be described in detail here.
[0027] Q300 compares the target pressure value sequence P_target for the current preset historical time period with L_base to determine the overall pressure level L_current of P_target.
[0028] Furthermore, step Q300 includes the following steps:
[0029] Q310 divides the target pressure value sequence P_target into M consecutive segments of equal length; where M≥3.
[0030] The controller first obtains the target pressure value sequence P_target for the current historical time period. This sequence is generated in step Q200 and has a length of L (i.e., it contains L representative pressure values). To assess whether there is pressure level drift in P_target throughout the time period, the sequence needs to be divided into several segments, and the overall stability of the sequence is determined by comparing the mean differences between the segments.
[0031] This step sets a fixed number of segments M, where M≥3, typically M=5 or M=6. The controller calculates the length of each segment based on the total length L of P_target: segment_length=floor(L / M). Since L may not be divisible by M, the first M-1 segments each take segment_length consecutive data points, and the last segment takes all remaining data points (its length may be slightly greater than or equal to segment_length).
[0032] For example, if P_target has a length of 38 and M=5, then the first four sub-segments each take 7 points (indices 1-7, 8-14, 15-21, 22-28), and the fifth sub-segment takes the remaining 10 points (indices 29-38). All sub-segments are continuous, non-overlapping, and sequentially arranged on the time axis, completely covering the entire P_target sequence. This equal-length (or approximately equal-length) division method ensures that each sub-segment has a similar time span, making the comparison between sub-segment means have a fair time benchmark.
[0033] This step discretizes the continuous time-series data into several independently statistical sub-intervals by segmenting the target pressure value sequence, establishing a standardized analytical unit for subsequent stability assessment. Choosing M≥3 ensures at least three sub-segments are available for comparison, giving the standard deviation calculation basic statistical significance; the equal-length segmentation avoids the comparability problem of means caused by excessively large differences in the time span of the factor segments. This operation does not change the original data, only establishes index mapping, and has extremely low computational overhead, providing a clear and comprehensive data organization framework for subsequent sub-segment mean calculation and stability determination.
[0034] Q320, calculate the arithmetic mean of the pressure values of each segment to obtain the mean of M segments.
[0035] For each sub-segment obtained in step Q310, the controller reads all pressure values contained within that sub-segment (i.e., data points within the corresponding index range in P_target) and calculates the arithmetic mean of these pressure values. Let the i-th sub-segment contain n_i pressure values, and its pressure value sequence be [p1, p2, ..., p...]. n_i If the mean of the sub-segment is μ, then... i =(p1+p2+…+p n_i The above calculation is performed sequentially on all M sub-segments to obtain the mean of the M sub-segments, which are then arranged in order as [μ1, μ2, ..., μi]. M This set of sub-segment mean sequences intuitively reflects the trend of pressure level changes over time: if each μ i If the values are very close, it indicates that P_target remains stable throughout the time period; if μ i A monotonically increasing or decreasing trend indicates the presence of pressure drift; if μ i Unpredictable fluctuations indicate oscillations in the sequence. For example, the average values of the five segments of a certain P_target are [5.21, 5.23, 5.32, 5.41, 5.48], showing a clear upward trend. This suggests that there may be skin relaxation and decreased pressure due to increased temperature (or skin contraction and increased pressure due to decreased temperature, which needs to be determined in conjunction with the direction).
[0036] This step compresses the original pressure sequence into a set of segment means, achieving efficient dimensionality reduction and feature extraction. Segment means are the most robust statistics reflecting typical pressure levels at different time periods, insensitive to minor fluctuations within segments, and clearly show the trajectory of pressure level changes over a macroscopic time scale. Compared to directly analyzing point-by-point changes in the original sequence, the segment mean sequence has lower noise levels and stronger trend representation capabilities. These M values constitute all the input for subsequent stability assessment, carrying all the information needed to determine whether the sequence has drifted with extremely low data volume, embodying the "less is more" feature engineering principle.
[0037] Q330 retrieves the standard deviation σ_seg of the mean of M segments and the preset stability threshold σ_th.
[0038] The controller first calculates the standard deviation of the means of the M segments generated in step Q320. The calculation formula is: first calculate the arithmetic mean of the M segments μ_seg=(μ1+μ2+…+μ M) / M, then calculate the sum of squared deviations of each segment's mean from μ_seg, divide by M, and take the square root. Here, the population standard deviation formula (dividing by M instead of M-1) is used because the M segment means are the entire population, not a sample, so unbiased correction for sample variance is unnecessary. σ_seg is a dimensionless or dimensionless value (same as the pressure unit), and its magnitude directly reflects the dispersion among the M segment means—the larger σ_seg is, the greater the difference in pressure levels among the segments, and the less stable the sequence; the smaller σ_seg is, the closer the pressure levels among the segments, and the more stable the sequence.
[0039] Simultaneously, the controller reads the preset stability threshold σ_th from the system parameter area. σ_th is an empirical threshold, its physical meaning being "the maximum acceptable fluctuation range between segments." Typical values can be set to 0.05N (corresponding to 50 grams of force) or 0.08N, and specific values can be calibrated based on clinical validation and sensor accuracy. The principle for setting σ_th is: when the standard deviation of the segment mean is less than this threshold, the differences between segments are considered to be within the normal physiological fluctuation range, and the sequence as a whole can be considered stable; when the standard deviation exceeds this threshold, a significant trend change is considered to exist within the sequence.
[0040] This step quantifies the abstract concept of sequence stability into a clear numerical indicator σ_seg by calculating the standard deviation of the segment mean. Standard deviation is the most classic statistic for measuring data dispersion, possessing advantages such as simple calculation, clear physical meaning, and insensitivity to outliers. The introduction of a preset threshold σ_th transforms stability assessment from "visual observation" to "numerical comparison," achieving objectivity and automation in the assessment process. σ_th, as the only parameter requiring manual preset, can be configured differently based on various clinical scenarios (e.g., children vs. adults, face vs. torso), giving the method good clinical adaptability.
[0041] Q340, if σ_seg≤σ_th, then the arithmetic mean of all pressure values of P_target is determined as the overall pressure level L_current.
[0042] The controller compares the σ_seg calculated in step Q330 with a preset threshold σ_th. If σ_seg ≤ σ_th, it is determined that the pressure level of the target pressure value sequence P_target is stable throughout the historical time period and there is no significant trend drift. In this case, the controller directly reads all L pressure values stored in the P_target sequence and calculates their arithmetic mean. This arithmetic mean is used as the overall pressure level L_current for the current historical time period and stored in the system cache for subsequent steps (such as drift identification in Q400).
[0043] This step uses the arithmetic mean of all data as the overall stress level under the condition of sequence stability, which has the following advantages: First, maximum information utilization - the arithmetic mean utilizes the information of each stress value in the sequence, rather than relying only on the sub-segment mean, and the estimation accuracy is higher under small sample conditions; Second, minimum variance estimation - for independent and identically distributed data, the arithmetic mean is the minimum variance unbiased estimate of the population mean, and statistical theory guarantees its optimality.
[0044] Q350, if σ_seg>σ_th, then the median of the mean of the M segments is determined as the overall pressure level L_current.
[0045] If σ_seg > σ_th, the controller determines that there is a significant pressure level drift within the target pressure value sequence P_target (such as a slow rise or fall due to temperature). In this case, if the arithmetic mean of all pressure values is still used as the overall pressure level, this mean will be "skewed" by the extreme values at the start and end of the drift, resulting in an intermediate value that is neither the starting level nor the ending level, nor does it reflect the typical intermediate level, and lacks clinical representativeness. For example, if the sequence drifts linearly from 5.2N to 5.8N, its arithmetic mean is approximately 5.5N, but this value has never appeared in practice and cannot represent any steady state.
[0046] Therefore, this step uses the median of the M sub-segments as the overall pressure level L_current. Specifically, this is achieved by taking the median of the M sub-segments [μ1, μ2, ..., μ] obtained in step Q320. M Sort the values in ascending order to obtain the sorted sequence [μ_(1),μ_(2),…,μ_(M)]. If M is odd, take the middle value μ_((M+1) / 2) as the median; if M is even, take the average of the two middle values (μ_(M / 2)+μ_(M / 2+1)) / 2 as the median. This median is L_current.
[0047] This step, using the median of segment means as the overall stress level under conditions of sequence drift, is a key improvement over traditional mean estimation methods. The median, as a location metric, has the following core advantages: First, it is resistant to extreme value interference—regardless of the magnitude or duration of the drift, the median remains stable at the middle level of the sequence, unaffected by excessive influence from endpoint values; second, it reflects typical conditions—in unidirectional drift scenarios, the median precisely corresponds to the mid-stage level of the drift process, representing the "representative" stress of that period better than the arithmetic mean; third, it is computationally simple—requiring only one sorting operation, with low computational complexity and no impact on system real-time performance. This step, together with Q340, forms a complete divide-and-conquer strategy: using the mean (optimal estimate) when stable, and the median (robust estimate) when drifting, ensuring that L_current accurately reflects the typical level of tension on the skin in the current period under any circumstances.
[0048] Q400, if the pressure value of P_target starts from a stable level and drifts unidirectionally and continuously over time until it reaches another stable level, then the drift process is marked as the temperature influence stage.
[0049] Furthermore, step Q400 includes the following steps:
[0050] Q410, use a sliding window to traverse P_target and obtain the standard deviation of the data in each sliding window.
[0051] The controller first sets a fixed-length sliding window, the length of which is the number of representative pressure values. Since P_target is a sparse sequence generated by aggregation in step Q200, the time interval between adjacent representative points is approximately 30-90 seconds, and the window length needs to balance temporal resolution and statistical stability. In this embodiment, the sliding window length L_window is set to 5 representative pressure values, and the sliding step size step is set to 1 representative pressure value. Starting from the first element of the P_target sequence, the controller sequentially extracts indices 1-5, 2-6, 3-7, ... until the end of the window extends beyond the end of the sequence. For each sliding window, the controller reads all pressure values (valid values, no null values) within the window and calculates the sample standard deviation of these pressure values.
[0052] Q420: If the standard deviation of N consecutive sliding windows is lower than the preset stability threshold σ_stable, then the N consecutive sliding windows are determined as a stable level segment, and the start time, end time and average pressure value of the stable level segment are recorded.
[0053] The controller iterates through the standard deviation sequence σ_seq generated in step Q410, identifying all continuous low-standard deviation intervals that meet the specified length. The preset parameter N is a threshold for the number of consecutive windows, typically N=3 or N=4, meaning that at least 3-4 consecutive sliding windows (corresponding to 7-9 consecutive pressure points, spanning approximately 15-30 minutes) must be in a low-fluctuation state to constitute a stable level segment. The preset stability threshold σ_stable is an empirical value representing the "acceptable upper limit of local pressure fluctuation," typically 0.03N~0.05N, and can be calibrated based on sensor noise levels and clinical experience.
[0054] When the controller detects that the standard deviations of N or more consecutive sliding windows all satisfy σ_window ≤ σ_stable, the data interval P_target covered by this set of consecutive sliding windows is defined as a stable horizontal segment. Specifically, the starting index of the first sliding window that meets the condition corresponds to the start time of the stable horizontal segment, and the ending index of the last sliding window that meets the condition corresponds to the end time of the stable horizontal segment. The controller records the starting index start_idx and the ending index end_idx of the stable horizontal segment, and calculates the arithmetic mean of all pressure values within the segment, which is taken as the average pressure value P_seg_mean of the stable horizontal segment.
[0055] It should be noted that the sliding windows highly overlap, and multiple consecutive windows meeting the conditions mean that the core region they cover is stable. The controller needs to merge adjacent or overlapping stable segments to avoid dividing the same stable region into multiple short segments. For example, if windows 3-5, 4-6, and 5-7 all meet the conditions, they are merged into a single stable segment with indices 3-7. Boundary handling: If consecutive windows meeting the conditions exist at the beginning or end of the sequence, they are also identified as stable segments.
[0056] This step achieves precise positioning of the pressure stability region through the dual constraints of "number of consecutive compliant windows" and "local standard deviation threshold." Compared with the single-point threshold method, the requirement of N consecutive windows effectively eliminates misjudgments caused by single random fluctuations—even if the standard deviation of a certain window is low due to accidental factors, it will not be mislabeled as a stable segment as long as it cannot form a continuous compliant interval. Identifying the stable level segment is the cornerstone of subsequent drift detection: only by determining reliable "stable level before drift" and "stable level after drift" can the start and end boundaries and amplitude of drift be accurately defined. The start and end times of the stable segment and the average pressure value output in this step provide precise anchor points for the drift segment detection of the Q430.
[0057] Q430, if all of the following conditions are met between two adjacent stable horizontal segments, then the data between two adjacent stable horizontal segments is determined as a candidate temperature drift segment:
[0058] The absolute value of the difference |ΔP| between the average pressure value P_start of the previous stable level segment and the average pressure value P_end of the next stable level segment is greater than the preset minimum drift amplitude threshold ΔP_min;
[0059] From P_start to P_end, the direction of pressure value change remains consistent;
[0060] The duration of the drift process, T_drift, is greater than the preset minimum duration, T_min, and less than the preset maximum duration, T_max.
[0061] After identifying all stable level segments, the controller arranges these segments in chronological order. For each pair of adjacent stable level segments (previous segment S_a, subsequent segment S_b), the data interval between them (from the end index of S_a + 1 to the start index of S_b - 1) is the candidate drift region to be detected. The controller performs three condition checks on this region:
[0062] Condition 1: Drift Amplitude Condition. Obtain the average pressure value P_start of the initial stable segment and the average pressure value P_end of the subsequent stable segment, and calculate the absolute difference |ΔP|=|P_end-P_start|. Compare this difference with the preset minimum drift amplitude threshold ΔP_min. The typical value of ΔP_min is 0.15N~0.20N. This threshold represents the "lower limit of pressure change that can be clearly attributed to the effect of temperature." Fluctuations below this amplitude may be caused by physiological factors such as breathing and slight body position adjustments, and are not considered temperature drift. If |ΔP|≤ΔP_min, then the interval is determined to be non-temperature drift, and subsequent tests are terminated.
[0063] Condition 2: Consistency of Change Direction. The controller checks whether all pressure values within the candidate drift segment exhibit a monotonic trend. Specifically, two methods can be used: ① Sign method – calculate the difference sequence of adjacent pressure values within the drift segment. If all differences are ≥0 (P_end > P_start) or ≤0 (P_end < P_start), then monotonicity is satisfied; ② Regression method – perform linear regression on the pressure values and time index within the drift segment. If the regression slope has the same sign as (P_end - P_start) and the t-test of the regression coefficient is significant, then the direction is considered consistent. This embodiment uses the sign method because it is simple to calculate and sufficiently sensitive to slow drift. If any local fluctuations opposite to the overall direction occur within the drift segment (such as a single-point descent during an upward process), then the direction consistency is not satisfied, and the test is terminated.
[0064] Condition 3: Duration Condition. Calculate the duration T_drift of the drift segment. Since P_target is a sparse sequence, each representative pressure value corresponds to a midpoint in the time series. Therefore, T_drift = (end index - start index + 1) × Δt_avg, where Δt_avg is the average time interval between adjacent representative pressure values within this historical time period (which can be estimated from the window partitioning parameters in step Q300). A preset minimum duration T_min (typically 20 minutes) is used to exclude pressure jumps caused by instantaneous user activity—such jumps may be large in magnitude but extremely short in duration, which does not conform to temperature change characteristics. A preset maximum duration T_max (typically 120 minutes) is used to exclude therapeutic pressure adjustments—manual adjustments of the stretcher by healthcare professionals are usually completed within a few minutes, but if the observation window is too long, two independent adjustments may be misjudged as a single continuous drift. This condition is satisfied only when T_min ≤ T_drift ≤ T_max.
[0065] If all three conditions above are met, the controller will mark the data interval between these two adjacent stable level segments as a candidate temperature drift segment and record its start index, end index, start pressure level P_start, end pressure level P_end, drift direction (rising / falling), duration T_drift and other parameters.
[0066] This step employs a three-condition joint screening mechanism to achieve highly specific capture of temperature drift characteristics. The three conditions correspond to the three essential attributes of temperature drift: significance (sufficiently large amplitude), directionality (unidirectional change), and temporality (slow and continuous). This multi-dimensional constraint design allows the method to clearly distinguish three easily confused signal forms: ① user activity interference—the amplitude may be large, but the duration is short, failing condition ③; ② therapeutic step regulation—the amplitude is controllable, and the change is instantaneous, failing the continuity requirement of condition ③; ③ respiratory / heart rate fluctuations—the amplitude is small and the period is short, failing the amplitude threshold of condition ①. The joint judgment of these three indispensable conditions ensures that only drift segments that truly conform to the physical characteristics of temperature change can enter the candidate list, greatly reducing the risk of subsequent miscorrection.
[0067] Q440, if the coefficient of determination R corresponding to the data within the candidate temperature drift range is... 2 Greater than the preset continuity threshold R 2 If _thresh is selected, the candidate temperature drift segment is determined to be the temperature influence stage, and the start time, end time, start pressure level, and end pressure level of the temperature influence stage are recorded.
[0068] Although the candidate temperature drift segments met the criteria of amplitude, direction, and time duration, their internal linearity still needed to be verified. Skin tension drift caused by temperature changes typically exhibits good linearity on a macroscopic time scale, while other factors (such as intermittent user positional adjustments and drug effects) may cause pressure changes that, while generally unidirectional, exhibit significant internal nonlinear fluctuations. This step uses the coefficient of determination R0. 2 As a measure of the goodness of linear fit.
[0069] In practice, the controller performs a univariate linear regression on the pressure data within the candidate temperature drift range: using the time index (or relative time offset) as the independent variable x and the pressure value p as the dependent variable y, it fits a linear equation y = a + bx. The total sum of squares (SST) and the regression sum of squares (SSR) are calculated, and the coefficient of determination R0 is determined. 2 =SSR / SST. R 2 The value range of R is [0,1], and its physical meaning is "the proportion of pressure value variation explained by linear changes over time". 2 The closer R is to 1, the more closely the data points are distributed along a straight line, and the more continuous and smooth the drift process is; 2 The lower the value, the greater the dispersion of data points around the trend line, and the more likely the drift process will exhibit discontinuous, oscillating, or nonlinear characteristics.
[0070] Preset continuity threshold R 2 The typical value for _thresh is 0.85~0.90. If the R of the candidate segment... 2 ≥R 2 If the value is _thresh, the drift process is determined to have good linear continuity and conforms to the typical characteristics of temperature influence. The controller officially marks it as the temperature influence stage. At this time, the system records complete metadata for this stage: start time (corresponding to the time of the first representative point after the end of the pre-stabilization phase), end time (corresponding to the time of the last representative point before the start of the post-stabilization phase), initial pressure level P_start, end pressure level P_end, drift direction, duration, linear regression slope, and R² value. These parameters will be used in step Q500 for precise compensatory translation correction.
[0071] If R 2 <R 2 If _thresh is selected, it is determined that although the drift segment has a unidirectional trend, its continuity is insufficient and it may be caused by the superposition of multiple intermittent factors. Therefore, no temperature drift mark is given, and the original data remains unchanged.
[0072] This step, through the quantitative evaluation of the coefficient of determination R², completes the crucial upgrade from "qualitative screening" to "quantitative verification" of candidate drift segments. 2The introduction of this indicator makes the following technical contributions: First, it verifies the linear hypothesis—temperature change is physically a continuous process, and its effect on skin tension should exhibit a smooth transition, R0 2 This is the most direct statistic to test this hypothesis; secondly, misjudgment of immune enhancement—certain non-temperature factors (such as differences in user activity patterns between morning and afternoon) may cause an overall mean difference between the two stable regions, but the internal data may be disorganized, R 2 Thresholds can effectively eliminate such pseudo-drifts; thirdly, the correction accuracy is guaranteed—the linear translation correction model in step Q500 itself assumes that the drift process is linear. If the actual drift is nonlinear, forcibly applying linear correction will introduce distortion. R 2 The threshold ensures that the correction operation is performed only in the region where the drift is indeed approximately linear, thus guaranteeing the scientific validity and effectiveness of the correction.
[0073] Q500, for pressure data marked as being within the temperature-affected phase, based on the difference between the baseline pressure level L_base and the stable pressure level before and after drift, the pressure value at the corresponding position in P_target is compensated and shifted to eliminate the overall pressure level shift caused by temperature, thus obtaining the corrected target pressure value sequence P_target_corrected.
[0074] Furthermore, step Q500 includes the following steps:
[0075] Q510, obtain the initial stable pressure level P_s and the final stable pressure level P_e of the temperature influence stage.
[0076] The controller reads the metadata record corresponding to the current temperature-affected stage from the output buffer of step Q440. This record contains the initial stable pressure level P_s and the final stable pressure level P_e stored when the stage was identified.
[0077] P_s represents the average pressure value of the adjacent stable horizontal segment before the temperature influence phase, and P_e represents the average pressure value of the adjacent stable horizontal segment after the temperature influence phase. These two values represent the stable state of the tension on the skin before the temperature drift begins, and the new stable state of the tension on the skin after the temperature drift ends.
[0078] Q520, based on P_s and P_e, determine the total pressure offset ΔP_total = P_e - P_s.
[0079] The calculated result ΔP_total is a signed real number, the sign of which indicates the direction of drift: ΔP_total > 0 indicates that the pressure level tends to increase during the temperature-affected phase (usually corresponding to a decrease in ambient temperature and skin contraction); ΔP_total < 0 indicates that the pressure level tends to decrease (usually corresponding to an increase in ambient temperature and skin relaxation). The absolute value of ΔP_total, |ΔP_total|, is the total pressure drift amplitude caused by temperature changes during this temperature-affected phase. This value has passed the minimum drift amplitude threshold ΔP_min test in step Q430.
[0080] Q530, if |P_s-L_base|≤|P_e-L_base|, then determine the target value of pressure correction for the temperature-affected stage as P_target=P_s; otherwise, determine P_target=L_base.
[0081] If |P_s - L_base| ≤ |P_e - L_base|, it means the initial pressure level P_s is closer to the reference level L_base than the final pressure level P_e. In this case, the temperature drift causes the pressure level to deviate further from the normal state, and the correction target should be to restore the state before the drift, i.e., P_target = P_s. Otherwise, it means the final pressure level P_e is actually closer to the reference level L_base than the initial pressure level P_s. In this case, the initial state before the drift was already deviated from the reference, and the temperature drift caused the pressure level to unexpectedly approach the normal state. The correction target should not be to restore to a deviated state, but should be to directly restore to the normal reference level, i.e., P_target = L_base.
[0082] This decision-making logic ensures that the correction direction is always towards "closer to the normal physiological state", rather than mechanically restoring the values before the drift.
[0083] This step intelligently selects either P_s or L_base as the correction endpoint by comparing the two degrees of deviation, ensuring that the corrected pressure level always converges towards the normal reference rather than diverges. This design gives the correction system self-correcting capabilities, allowing it to automatically move closer to the reference even if the user's initial state is not adjusted to the ideal reference, in subsequent temperature fluctuations.
[0084] Q540, taking the start time of the temperature influence phase as zero point and the total duration of the temperature influence phase as T, construct a linear correction function f(t)=(P_target-P_s)×(t / T)-ΔP_total×(t / T); where t is the time offset corresponding to any data point within the temperature influence phase.
[0085] The controller first determines the total duration T of the temperature influence phase. Since P_target is a sparse sequence, each representative pressure value corresponds to a specific timestamp (or time-series index). Let the start index of the temperature influence phase be idx_start and the end index be idx_end, then the number of representative pressure points contained in the phase is K = idx_end - idx_start + 1. The controller defines the time offset t as the relative position from the start point: for the i-th data point in the phase (i = 0, 1, ..., K-1), its time offset t_i = i × Δt_avg, where Δt_avg is the average time interval between adjacent representative pressure values in this historical time period (usually 30~90 seconds).
[0086] This function has the following properties:
[0087] When t=0 (the starting point of the stage), f(0)=0, that is, the pressure value at the starting point is not corrected (because the starting point P_s itself is in a steady state and does not include temperature drift accumulation).
[0088] When t = T (the end point of the stage), f(T) = P_target - P_e. At this time, the original pressure value P_e plus the correction amount f(T) is exactly equal to P_target, that is, the end point has been corrected to the target level.
[0089] The controller substitutes parameters such as P_target, P_s, P_e, and T into the simplified formula above to construct a linear correction function f(t) = (P_target - P_e) × (t / T) specifically for this temperature-affected stage. This function changes linearly throughout the entire stage, with the correction gradually transitioning from 0 to (P_target - P_e).
[0090] This step transforms the correction target into a smooth, continuous, and monotonic compensation curve by constructing a linear correction function with respect to time t. This design offers the following technical advantages: First, smooth transition—the correction amount increases linearly from 0 at the start of the stage to (P_target - P_e) at the end, avoiding pressure jumps at stage boundaries and ensuring the continuity of the corrected sequence; Second, parameter condensation—the correction function is ultimately simplified to depend only on two parameters, P_target and P_e, making calculation extremely simple and physically meaningful; Third, adaptive direction—regardless of whether the drift direction is upward or downward, and regardless of whether the target is P_s or L_base, the function automatically generates the correct correction amount sign without additional conditional branches. The linear assumption and R in step Q440... 2 The threshold validation of the linear drift feature is a perfect match, ensuring the consistency between the corrected model and the data features.
[0091] S550, for any pressure data point PY and its corresponding time offset t during the temperature influence phase. Y Calculate the corrected pressure value P_corrected_Y = PY + f(t) Y ); thus, the corrected target pressure value sequence P_target_corrected is obtained.
[0092] The controller iterates through each pressure data point within the temperature-affected phase. Let the current processing point be at index position i (i=0,1,…,K-1) within the phase, with an original pressure value of P_i and a corresponding time offset t_i=i (in index difference). Substitute this into the correction function f(t)=(P_target-P_e)×(t / T) constructed in step Q540, where T=K-1, and calculate the correction amount Δ_i=(P_target-P_e)×(i / (K-1)). Then the corrected pressure value P_corrected_i=P_i+Δ_i.
[0093] The controller writes the calculated P_corrected_i into the output sequence P_target_corrected at the position corresponding to the original index i. After correcting all data points within the stage, the data processing for that temperature-affected stage is complete. For data from non-temperature-affected stages, step Q600 directly copies the original P_target to the corresponding position in P_target_corrected. Finally, the controller outputs a complete historical target pressure value correction sequence P_target_corrected, with the same length as P_target, and all data points are valid values.
[0094] For example: Assume a temperature-affected stage: P_s = 5.21 N, P_e = 5.63 N, L_base = 5.23 N. According to Q530, |P_s - L_base| = 0.02 ≤ |P_e - L_base| = 0.40, therefore P_target = P_s = 5.21 N. The total stage length K = 6 representative pressure points, i.e., T = 5 (index 0~5). P_target - P_e = -0.42 N. The correction function f(t) = -0.42 × (t / 5). See Table 1 for examples.
[0095] Table 1
[0096]
[0097] After correction, the pressure value throughout the stage was smoothly adjusted to a level close to 5.21 N, eliminating the artifact of pressure rise caused by temperature increase.
[0098] This step, by applying linear corrections point-by-point, accurately compensates for all pressure data within the temperature-affected phase. This operation offers the following core advantages: First, conformal correction—the correction process completely preserves the local fluctuations of the original sequence (such as respiratory fluctuations and minor physiological fluctuations), eliminating only overall trend drift without excessive smoothing or destroying meaningful physiological signals; Second, seamless boundaries—the corrected phase start point naturally connects with the pressure value of the preceding uncorrected zone (correction amount 0), and the phase end point smoothly transitions with the pressure value of the following uncorrected zone (due to the intelligent selection of P_target, it is often close to the starting pressure of the subsequent segment); Third, reversibility and traceability—all corrections are calculated according to explicit formulas, and the original data can be restored through logarithmic recording, meeting the data traceability requirements of medical devices. After this correction step, the temperature interference components in the P_target_corrected sequence are effectively removed, enabling the sequence to truly reflect the tensile stress changes experienced by the skin under constant temperature conditions, providing a clean and reliable data source for subsequent similarity analysis and anomaly warning.
[0099] This step introduces the baseline pressure level L_base into the selection logic of the correction target for the first time. By comparing the degree of deviation between the pressure level before and after the drift and the baseline, the system intelligently decides whether to restore to the state before the drift or directly revert to the baseline. This mechanism fundamentally solves the clinical reality problem that "the initial state may have deviated from the baseline," enabling the correction system to have the self-correcting ability to continuously converge towards the normal state.
[0100] For Q600, for data in the non-temperature-affected phase, P_target is directly used as P_target_corrected.
[0101] The controller reads a list of all intervals marked as "temperature-affected phases" within the current historical time period RT from the metadata generated in step Q440. Each temperature-affected phase is uniquely identified by its start index start_idx and end index end_idx. These intervals divide the P_target sequence into several segments where "temperature-affected zones" and "non-temperature-affected zones" alternate.
[0102] The controller creates a new sequence P_target_corrected with the exact same length as P_target and pre-allocates storage space for it. All positions in this sequence are initialized to null values or placeholders, awaiting data filling.
[0103] The controller traverses the entire sequence from 1 to L (length of P_target) in index order. For the current index position idx, it determines whether the position belongs to any temperature-affected stage interval:
[0104] If idx belongs to a certain temperature-affected range, no operation is performed (the data at this position will either have been corrected and written in step Q500, or written uniformly after step Q500 is completed). In actual implementation, steps Q500 and Q600 can be executed in parallel or sequentially: usually, Q500 is executed first, writing the corrected data to the corresponding position of P_target_corrected; then Q600 is executed, copying the original P_target data from non-temperature-affected areas to the remaining positions of P_target_corrected.
[0105] If idx does not belong to any temperature-affected stage interval, then the assignment operation is performed directly: P_target_corrected[idx]=P_target[idx].
[0106] The controller ensures that all index positions are covered—the temperature-affected region is filled by step Q500, and the non-temperature-affected region is filled by this step. If any index position is found to be null, exception handling is triggered and logged. Finally, the complete P_target_corrected sequence is output, with its length and timing index exactly the same as the original P_target.
[0107] Q700 determines whether the user's skin has an abnormal stretching state based on the similarity between P_target_corrected in adjacent preset historical time periods.
[0108] Furthermore, step Q700 includes the following steps:
[0109] Q710: Obtain the similarity between target pressure value sequences corresponding to any two adjacent preset historical time periods, and obtain a similarity list.
[0110] This step is the same as step S600 in Embodiment 2, and will not be described again here.
[0111] Q720, based on the difference between two adjacent similarities in the similarity list, determine whether the user's skin stretched by the skin stretching closure device has an abnormal stretching state.
[0112] This step is the same as step S700 in Embodiment 2, and will not be described again here.
[0113] Q800 will issue a warning if there is an abnormal tension state.
[0114] This step is the same as step S800 in Embodiment 2, and will not be described again here.
[0115] Example 2:
[0116] The target pressure value sequence in Embodiment 1 above can be obtained through some of the method steps in the following embodiments:
[0117] S100, in response to the completion of the adjustment of the spring of the skin tension closure device, acquires the initial pressure value sequence collected by the pressure sensor within each preset historical time period.
[0118] In this embodiment, one end of the pressure-adjusting spring of the skin tension closure device abuts against the end face of the sliding sleeve, and the other end abuts against a dedicated sensor mounting base. The pressure sensor is attached to or embedded between the mounting base and the end of the spring. When the pressure-adjusting spring is compressed, the thrust generated at the end of the spring acts directly on the sensor's sensitive surface, thereby achieving pressure acquisition. The controller can use a low-power microcontroller from the STM32, GD32, or MSP430 series, with a built-in 12-bit or higher resolution ADC and a sampling rate adjustable from 10Hz to 100Hz to meet the needs of monitoring slowly changing skin tension.
[0119] As the wound from the skin traction closure device heals over time, healthcare professionals need to periodically adjust the device to maintain a certain tension. Once the tension adjustment is complete (e.g., rotating the pressure regulating sleeve or sliding the locking mechanism), the controller detects the end of the adjustment via hardware interrupt or level detection and automatically enters monitoring mode. The controller continuously reads the analog output from the pressure sensor at a fixed sampling frequency (e.g., 10Hz), converts it to digital signal, and generates raw pressure data. A preset historical time period (e.g., every 30 minutes) serves as a data processing unit. The controller allocates an independent buffer for each time period, storing all raw pressure values collected within that period, forming an initial pressure value sequence (RE). For example, 30 minutes of sampling at 10Hz yields 18,000 pressure values, constituting an initial pressure value sequence. After each time period ends, this sequence is sent to subsequent processing, and a new time period begins.
[0120] This step establishes a framework for pressure data acquisition and processing based on fixed-duration historical time periods, transforming continuous physical pressure signals into discrete, batch-processable sequence units. This partitioning method ensures sufficient data density to capture subtle changes in skin stretch state while allowing subsequent processing steps to be executed independently on complete data units, avoiding the problems of unclear boundaries and timing alignment difficulties in real-time streaming processing. Simultaneously, the design of initiating acquisition upon completion of spring adjustment ensures accurate calibration of the baseline state, providing a time-aligned starting point for all subsequent comparative analyses.
[0121] S200: For any historical time period, the initial pressure value sequence RE of RT is filtered to obtain the intermediate pressure value sequence RZ corresponding to RT.
[0122] The initial pressure value sequence RE contains various noise components, the most important of which is the periodic pressure fluctuation caused by the user's blood pulsation (heart rate). It is necessary to filter out the periodic pressure fluctuation caused by the user's blood pulsation (heart rate).
[0123] Furthermore, step S200 includes the following steps:
[0124] S210, acquire the original pressure waveform collected by the pressure sensor within RT.
[0125] The controller reads all the raw pressure data continuously collected by the pressure sensor within the corresponding historical time period RT from the buffer. These data are indexed by timestamps and arranged in the sampling order to form a discrete time series signal, which is the raw pressure waveform. This waveform contains a superposition of multiple frequency components, including the baseline level of skin tension, periodic fluctuations caused by blood pulsation, instantaneous disturbances caused by minor adjustments in the user's body position, and electronic noise.
[0126] S220, Perform spectrum analysis on the original pressure waveform to identify and extract the frequency band of periodic pressure fluctuations caused by the user's blood pulsation.
[0127] The controller performs a Fast Fourier Transform (FFT) on the original pressure waveform, converting the time-domain signal to the frequency domain to obtain its amplitude spectrum. In the amplitude spectrum, the periodic pressure fluctuations caused by the user's blood pulsation will appear as several peak frequency bands with concentrated energy: the fundamental frequency corresponds to the heart rate (usually 0.8Hz~2.0Hz, i.e., 48 beats / minute~120 beats / minute), and its second, third, and other harmonic components are also clearly distinguishable.
[0128] The controller employs a peak search algorithm to identify energy concentration regions in the spectrum whose amplitude exceeds the background noise threshold and are continuously distributed. The frequency ranges corresponding to these regions are recorded separately and merged into one or more continuous frequency bands as periodic interference bands to be filtered out. For example, if the heart rate is approximately 75 beats per minute (1.25 Hz), three main interference bands may be identified: 1.15 Hz to 1.35 Hz, 2.30 Hz to 2.70 Hz, and 3.45 Hz to 4.05 Hz.
[0129] S230, based on the extracted periodic pressure fluctuation frequency band, constructs an adaptive band-stop filter.
[0130] Based on the interference frequency band range extracted in step S220, the controller dynamically generates a digital band-stop filter. This filter type uses a second-order Butterworth notch filter with an infinite impulse response (IIR) or its multi-frequency cascaded form, which features high computational efficiency and low phase distortion. For each frequency band to be filtered, the controller calculates its center frequency f0 and bandwidth BW in real time and substitutes them into the preset filter coefficient calculation formula to generate the corresponding second-order notch section. If multiple interference frequency bands exist, multiple notch sections are cascaded to form a multi-band stop filter. The filter's stopband attenuation is set to above -40dB, and the passband ripple is controlled within ±0.5dB to ensure that useful signals (slowly varying pull tendencies with frequencies below 0.5Hz) pass through without attenuation.
[0131] S240, the original pressure waveform is filtered using the adaptive band-stop filter to remove the periodic pressure fluctuation component.
[0132] The original pressure waveform is input point by point into the adaptive band-stop filter constructed in step S230. The filter recursively calculates the output value at the current moment based on the current input value and historical input / output states. Because the filter precisely targets the user's individual heart rate and its harmonic frequencies for notch filtering, the periodic spikes caused by blood pulsation in the original waveform are effectively suppressed, while the slow-varying baseline trend reflecting the true stretch state of the skin is fully preserved. The filtering process continues until all the original pressure waveforms for the entire time period have been processed.
[0133] S250, the filtered pressure waveform is discretely sampled to generate the intermediate pressure value sequence RZ.
[0134] The filtering output is a filtered pressure waveform in the continuous time domain (existing in the computer as a high-density discrete point). The controller extracts the pressure values from this waveform at the time positions corresponding one-to-one with the original sequence RE, according to the original sampling time index, generating a new discrete sequence, the intermediate pressure value sequence RZ. RZ has the exact same length and timestamp index as RE, but its data values have been filtered to remove periodic artifacts caused by blood pulsation.
[0135] The above steps, through a complete technical path of "spectrum analysis - interference identification - adaptive filtering - resampling," achieve precise suppression of blood pulsation interference. Compared with low-pass filters using a fixed cutoff frequency, this method has the following substantial improvements: First, the spectrum analysis stage enables the filter to adaptively track the real-time heart rate and harmonic distribution of each user, avoiding the mismatch problem caused by individual differences or heart rate fluctuations in fixed-frequency filters; Second, the multi-band cascaded notch filter structure can accurately cut off the heart rate fundamental frequency and multiple harmonics while completely preserving low-frequency tension signals below 0.5Hz, whereas traditional low-pass filters will attenuate useful signals if the cutoff frequency is set too low, and cannot effectively filter high-frequency harmonics if set too high; Third, the filtering process is executed point-by-point in the time domain, with extremely low computational overhead, and can be embedded in the controller firmware in real time without additional hardware support. The intermediate pressure value sequence RZ obtained after this step has a smooth waveform, clear baseline, and virtually eliminated periodic artifacts, providing a clean and accurate signal source for subsequent pressure aggregation and trend analysis, fundamentally improving the data quality and interpretation accuracy of the entire monitoring system.
[0136] S300, divide RZ into several sub-intermediate pressure value sequences, and arrange the average pressure values corresponding to each sub-intermediate pressure value sequence according to time sequence to obtain the undetermined pressure value sequence corresponding to RT.
[0137] Furthermore, step S300 includes the following steps:
[0138] S310, set the initial time window length L0, and preset the signal-to-noise ratio threshold TSNR and the stability threshold Tstable.
[0139] Before proceeding to step S300, the controller first loads a set of preset parameter configurations. The initial time window length L0 is the width of a time window in units of sampling points, typically set to the number of sampling points corresponding to 60 seconds. Taking a 10Hz sampling frequency as an example, L0 = 600 data points. The signal-to-noise ratio (SNR) threshold is used to evaluate the signal quality within the window; this value is empirical and can be set in the range of 12dB to 18dB, with 15dB being a typical value in this embodiment. The stability threshold Tstable is used to measure the dispersion of data within the window, using the coefficient of variation (standard deviation / mean) as an indicator, typically set in the range of 0.03 to 0.08, with 0.05 being a typical value in this embodiment. In addition, the controller also needs to preset a minimum window length lower limit L_min to prevent the window from being too short and causing statistical significance to fail; for example, L_min = 100 data points corresponding to 10 seconds. The above parameters can be fixed in the controller firmware or adjusted clinically through the host computer software.
[0140] This step establishes a clear quantitative benchmark for subsequent adaptive window segmentation by presetting the initial window length, signal-to-noise ratio (SNR) threshold, and stability threshold. The initial window length L0 balances temporal resolution and statistical stability, the SNR threshold ensures sufficient signal quality for the subsequences entering the representative value calculation, and the stability threshold provides an objective criterion for distinguishing between stationary and non-stationary segments. The configurable parameter design allows this method to adapt to different sampling frequencies, individual user differences, and the needs of different clinical scenarios, laying the foundation for the controllability and reproducibility of adaptive processing.
[0141] S320: Starting from the beginning of RZ, extract a sequence of length L0 as the current subsequence to be processed.
[0142] The controller maintains a current pointer position, initially pointing to the first data point of the intermediate pressure value sequence RZ. Starting from this pointer, L0 consecutive pressure values are extracted, forming a one-dimensional array, which is the current processing subsequence. For example, if the total length of RZ is 18000 points and L0 = 600 points, the first extraction is of the subsequence with indices 1 to 600. This subsequence will serve as the basic unit for subsequent signal-to-noise ratio calculations and stability assessments. After the extraction operation is completed, the current processing subsequence is temporarily stored in the controller's working buffer.
[0143] This step segments the long sequence into fixed-length candidate windows, providing a standardized input format for subsequent adaptive adjustment and feature extraction. The sliding truncation method based on the starting point ensures complete sequence coverage and eliminates the possibility of overlapping or omissions. This operation has minimal computational cost, involving only pointer movement and memory copying, and introduces no additional processing delay, guaranteeing the real-time performance of the entire method.
[0144] S330, if the signal-to-noise ratio (SNR) of the current processed subsequence is less than the signal-to-noise ratio (TSNR), then the initial time window length L0 is shortened to L0 / 2, and the time window is re-trunculated and recalculated until SNR is greater than or equal to the signal-to-noise ratio (TSNR) or the initial time window length reaches the preset lower limit; proceed to S340.
[0145] The controller calculates the signal-to-noise ratio (SNR) for the current processing subsequence. First, it performs a Fast Fourier Transform (FFT) on the subsequence to obtain its spectral distribution. The energy in the frequency band below 0.5 Hz is considered as "signal energy" (reflecting the stretch slow change component), and the energy in the frequency band from 0.5 Hz to 5 Hz (the energy remaining after removing the filtered heart rate band) is considered as "noise energy." The SNR is expressed in decibels: SNR = 10 × log10 (signal energy / noise energy).
[0146] If the calculated SNR is lower than the preset threshold TSNR (e.g., 15dB), it indicates that the noise level within the current window is too high, and directly using the representative value of this window will introduce a large error. In this case, the controller shortens the window length L0 to half its original length (L0 = L0 / 2), and, using the current starting point as a reference, re-truncates a subsequence of length L0; repeating the SNR calculation and comparison until one of the following two conditions is met: ① The SNR of the current window is greater than or equal to TSNR; ② The current window length has been shortened to the preset lower limit L_min (e.g., 100 points). If the SNR condition is still not met when the lower limit is reached, the minimum window is forcibly used to proceed to the next processing step. For example, if the initial L0=600 points, and the first calculated SNR=12dB<15dB, then shorten it to 300 points and re-truncate; if the SNR=14dB at 300 points is still below the threshold, then continue to shorten it to 150 points; if the SNR=16dB≥15dB at 150 points, then stop shortening and use a 150-point window for subsequent processing.
[0147] This step achieves a dynamic balance between temporal resolution and signal quality through a signal-to-noise ratio (SNR) feedback-driven adaptive window length adjustment mechanism. When the noise energy within the window is high, the window length is shortened to eliminate noise pollution far removed from the current time point, focusing on local signal features; when the signal itself is clear, a larger window is maintained to enhance statistical stability. This mechanism avoids the inherent drawbacks of a fixed window, which produces distorted representative values in noisy segments and wastes temporal resolution in clear segments. Simultaneously, the setting of a lower limit for the window length ensures that even in continuously noisy environments, representative values will not lose statistical significance due to an excessively short window. This adaptive strategy is a core prerequisite for all subsequent aggregation operations to balance accuracy and robustness.
[0148] S340, obtain the stability index S of the current processing subsequence; S is the ratio of the standard deviation to the mean of the current processing subsequence; if S > Tstable, it is determined that there is non-periodic interference in the current processing subsequence, and the median is used as the representative stress value of the current processing subsequence; if S ≤ Tstable, the arithmetic mean is used as the representative stress value of the current processing subsequence.
[0149] For the current processing subsequence whose final window length has been determined in step S330, the controller first calculates the arithmetic mean μ and standard deviation σ of all pressure values within the subsequence. The stability index S is defined as the coefficient of variation: S = σ / μ. This index is dimensionless and reflects the degree of dispersion of the data relative to its mean. The preset stability threshold Tstable (e.g., 0.05) is an empirical value representing the typical upper limit of variation in pressure fluctuations under normal physiological conditions.
[0150] If S≤Tstable, it means that the pressure values within the window are highly concentrated and fluctuate very little, belonging to the stable traction stage. At this time, the arithmetic mean can most effectively represent the overall pressure level of the window and has a smoothing effect on sampling noise.
[0151] If S > Tstable, it indicates the presence of discrete phenomena within the window that exceed the normal fluctuation range. This is typically caused by non-periodic disturbances such as minor user positional adjustments, changes in breathing depth, or occasional muscle twitches. In this case, using the arithmetic mean would be significantly affected by extreme values, causing the representative value to deviate from the true central trend. Therefore, the controller sorts all pressure values within the window by magnitude and takes the value in the middle (or the average of the two middle values if the window length is even) as the representative pressure value, i.e., the median. The median is insensitive to outliers and more robustly reflects the typical level of pressure values within the window.
[0152] This step quantifies the dispersion of data within the window using a stability index S, and selects either the mean or median as the representative value based on the evaluation results, thus achieving an adaptive aggregation strategy to the data distribution pattern. When the data within the window is stationary, the mean has the statistical advantage of minimum variance estimation; when there are non-periodic disturbances within the window, the median exhibits excellent robustness. This divide-and-conquer strategy of "using the mean for stationary data and the median for disturbances" significantly improves resistance to random disturbances while maintaining overall estimation accuracy compared to methods that use either the mean or the median alone. This design directly addresses the clinical reality that "users cannot remain absolutely still" in skin stretch monitoring, enabling the system to output stable and reliable aggregated pressure values even under non-ideal conditions.
[0153] S350, sort and record the representative pressure values obtained in step S340 according to the midpoint position of the corresponding subsequence time series.
[0154] The controller records the start index `start_idx` and end index `end_idx` of the currently processed subsequence and calculates its midpoint position: `mid_idx = start_idx + (end_idx - start_idx + 1) / 2` (rounded down). This midpoint position corresponds to a specific timestamp on the original timeline. The representative pressure value (mean or median) obtained in step S340 is bound to `mid_idx` and stored as a data pair (time index, pressure value) in the buffer of the undetermined pressure value sequence. Multiple subsequences are arranged in ascending order of their corresponding `mid_idx`, forming an ordered list.
[0155] For example, the first subsequence has a starting index of 1, an ending index of 600, and a midpoint index of approximately 300, representing a value of 5.23N; the second subsequence has a starting index of 601, an ending index of 900, and a midpoint index of approximately 750, representing a value of 5.26N; and so on.
[0156] This step achieves a precise mapping from the original high-density time axis to a sparse representative point time axis by anchoring the representative pressure values to the midpoint of the subsequence's time sequence. The midpoint is the geometric center of the subsequence in time, and compared to the start or end point, it better represents the time position corresponding to the pressure values within that window. This anchoring method ensures that all subsequent time-based operations (such as sliding windowing, interpolation, and similarity comparison) can be performed on accurate time coordinates, avoiding time offset errors introduced by window division boundaries. Simultaneously, the sorting record operation constructs a well-structured and temporally complete sequence of undetermined pressure values, providing a standardized data structure for subsequent outlier removal and interpolation recovery.
[0157] S360, take the end point of the current subsequence as the starting point of the next subsequence, and repeat steps S320 to S350 until the entire intermediate pressure value sequence RZ is traversed, thereby obtaining the undetermined pressure value sequence corresponding to RT.
[0158] After the current subsequence is processed, the controller increments its end index `end_idx` by 1 to use as the starting index for the next subsequence, i.e., the new `start_idx` = the current `end_idx` + 1. Then, based on this starting index, steps S320 to S350 are repeated: a subsequence of length L0 (note: L0 is dynamically changing, but each time S320 is entered, it starts adaptively again from the initial L0) is extracted based on the current starting position, and signal-to-noise ratio is determined, window length is adjusted, stability is evaluated, representative value is calculated, and time series midpoint is recorded. The above process is repeated until the current starting index is greater than the total length of RZ, indicating that the entire RZ sequence has been completely covered. Finally, the controller outputs a sequence consisting of several (time index, pressure value) data pairs arranged in chronological order, which is the sequence of undetermined pressure values corresponding to the historical time period RT. The length of this sequence is usually between 30 and 60, depending on the total duration of RZ and the result of adaptive window division. For example, after the above processing, an 18,000-point RZ sequence (30 minutes, 10Hz) may generate 40 representative pressure values, corresponding to 40 adaptive windows.
[0159] This step employs a sliding partitioning strategy of "non-overlapping, continuous coverage" to ensure that every data point in the intermediate pressure value sequence RZ is included in a specific sub-window, preventing data omissions or duplicate processing. Dynamic adjustment of the window length only affects the size of the current window; adjacent windows are independent of each other, avoiding the cumulative propagation of errors. The entire processing is fully automated, requiring no manual intervention, and its computational complexity is linearly related to the sequence length, demonstrating excellent real-time performance. After the complete processing in steps S310 to S360, an original pressure waveform containing tens of thousands of sampling points is efficiently compressed into dozens of representative pressure values with clear physical meaning and robust disturbance resistance. This sequence of undetermined pressure values retains all the important trend information from the original signal while eliminating periodic interference and non-periodic disturbances. It provides high-quality, low-redundancy input data for subsequent abnormal activity detection, temperature drift identification, and cross-time period similarity analysis, serving as the core data processing link connecting the entire intelligent monitoring method.
[0160] The above steps achieve efficient and intelligent compression and aggregation of high-density stress data through a dual adaptive mechanism of "signal-to-noise ratio-driven adaptive window partitioning" and "representative value selection guided by stability criterion." Compared with traditional data dimensionality reduction methods using fixed-duration averaging or equal-interval sampling, this method has the following substantial improvements:
[0161] First, the window length is dynamically adjusted according to the local signal quality. In noisy sections, the window is actively shortened to focus on the local true signal, while in stable sections, a larger window is maintained to enhance statistical reliability. This avoids the technical defect of outputting distorted representative values in noisy environments when the window is fixed.
[0162] Secondly, the representative value selection automatically switches between the mean and the median based on the degree of data dispersion within the window, which significantly improves the robustness to non-periodic disturbances such as occasional postural disturbances and respiratory fluctuations while maintaining the overall estimation accuracy.
[0163] Third, the entire processing flow does not require manual setting of a fixed number of windows or compression ratio; it is entirely driven by the characteristics of the data itself, and can adaptively adapt to the pressure change characteristics of different users, different treatment stages, and different activity states. The undetermined pressure value sequence generated after this step has significantly reduced data density and significantly improved information quality, providing a concise and reliable data foundation for all subsequent high-order analysis algorithms, fundamentally ensuring the real-time performance and accuracy of the entire intelligent early warning system.
[0164] S400 performs sliding window processing on the sequence of undetermined pressure values corresponding to RT, setting the abnormal pressure values generated by user activity in each sliding window to empty.
[0165] Furthermore, step S400 includes the following steps:
[0166] S410, Set a sliding window of fixed duration, and slide it along the sequence of undetermined pressure values with a preset step size.
[0167] The controller first sets a fixed-length sliding window, which uses the number of representative pressure values as the unit of measurement, rather than the natural duration. Since the sequence of undetermined pressure values is a sparse sequence generated after adaptive partitioning in step S300, the time intervals between adjacent representative points are not exactly equal, but the sequence itself has been sorted according to the midpoint of the time series, and adjacent indices represent adjacent time intervals.
[0168] In this embodiment, the sliding window length L_window is set to 5 representative pressure values, and the sliding step size step is set to 1 representative pressure value. For example, if the sequence of pressure values to be determined contains 40 representative pressure values, the first window covers indices 1-5, the second window covers indices 2-6, the third window covers indices 3-7, and so on, until the last window covers indices 36-40. This "point-counting" sliding method is completely independent of the non-uniformity of the original time axis and only focuses on the adjacency relationship of the sequence.
[0169] The specific values of window length and step size can be adjusted based on clinical experience: a window that is too small will result in insufficient statistical stability, while a window that is too large will be insensitive to local anomalies; this embodiment uses a 5-point window and a 1-point step size as a typical configuration, achieving a balance between sensitivity and robustness. The controller maintains a current window start pointer in memory, initially pointing to the first element of the sequence of pressure values to be determined. Each slide increments the start pointer by 1 until the window end pointer exceeds the end of the sequence.
[0170] This step establishes a standardized local neighborhood scanning framework for the sequence of pressure values to be determined through a sliding strategy using a fixed-point window and single-point stepping. Compared to sliding windows based on natural duration, this strategy is unaffected by fluctuations in the original sampling frequency or uneven window division, ensuring that each representative pressure value can be evaluated multiple times in its preceding and following neighborhoods. Single-point stepping allows each internal point to have the opportunity to become the center or near-center of multiple windows, thus obtaining sufficient statistical decision opportunities. This design is simple and efficient, with computational complexity linearly related to sequence length, providing a well-structured and fully covered local context for subsequent outlier detection.
[0171] S420, for each sliding window position, calculate the local mean μ and local standard deviation σ of all pressure values within the sliding window.
[0172] For a series of consecutive pressure values covered by the current sliding window, the controller first reads all pressure values within the window and forms a local array. Let the window length be L (L=5 in this embodiment), and the pressure values within the window be sequentially denoted as P1, P2, ..., P...L The controller calculates the arithmetic mean μ of these pressure values and the sample standard deviation σ. The sample standard deviation is used here instead of the population standard deviation to more accurately estimate the population dispersion under small sample conditions. If there are invalid data points marked as null values within the window, special handling is required: Since step S400 is the first execution of anomaly detection, there are currently no null values in the sequence of pressure values to be determined, and all pressure values are valid values; however, in subsequent processing (such as if this step is repeated on the same sequence), the controller must skip the null value positions and only calculate the mean and standard deviation based on the valid pressure values within the current window. If the number of valid values is less than L / 2 (e.g., less than 3), the window is skipped without anomaly detection. For example, for the 5 pressure values [5.21, 5.23, 5.19, 5.25, 5.22] covered by the first window, the mean μ = 5.22, and the standard deviation σ ≈ 0.023.
[0173] This step calculates the local mean and local standard deviation in real time at each sliding window position, constructing a dynamic statistical benchmark reflecting the "normal fluctuation range" of that local neighborhood. This benchmark relies entirely on the distribution characteristics of the data within the window itself, rather than a pre-set global threshold, thus adaptively adapting to the slow drift of pressure levels over time. As the user's skin tension gradually increases due to treatment progress, the mean within the window increases accordingly, and the standard deviation reflects the normal range of variation at the current level; conversely, the opposite is also true. This local dynamic benchmark is the core premise for distinguishing between "normal fluctuations" and "abnormal outliers," avoiding the systematic misjudgments that occur when pressure levels change with the fixed threshold method.
[0174] S430, for any pressure value PQ within the window, determine whether PQ meets the following abnormal condition: |PQ-μ|>K×σ, where K is a preset sensitivity coefficient.
[0175] After obtaining the local mean μ and local standard deviation σ of the current window, the controller iterates through each pressure value PQ within the window (including window edge points and center points) and calculates its absolute deviation from the local mean |PQ-μ|. This deviation is compared with K times the local standard deviation, where K is a preset sensitivity coefficient, typically K=3.0 in this embodiment. If |PQ-μ|>3.0×σ, the pressure value PQ is determined to be an outlier; otherwise, it is determined to be a normal value.
[0176] The K value is set based on the 3σ principle in statistics: under the assumption of normal distribution, approximately 99.7% of normal data points should fall within the mean ± 3σ range, and points outside this range are highly likely to be abnormal perturbations. Considering that skin pressure data is not strictly normally distributed, the K value can be fine-tuned within the range of 2.5 to 4.0 based on clinical validation; this embodiment uses 3.0 as the baseline value. It should be noted that the same pressure value may be covered by multiple sliding windows, and it will be judged once in each window. For example, for a pressure value of 5.40, in the first window (mean 5.22, standard deviation 0.023), the deviation 0.18 > 3 × 0.023 = 0.069, and it is judged as abnormal; but in another window (mean 5.35, standard deviation 0.040), the deviation 0.05 < 3 × 0.040 = 0.12, and it is judged as normal. As long as any window judges it as abnormal, the value is finally marked.
[0177] This step employs a local outlier detection criterion based on the 3σ principle, applying the well-established statistical principle of low-probability events to the detection of abnormal skin pressure values. Compared to the fixed threshold method, this method has the following significant advantages: First, the detection threshold (K×σ) adaptively scales with the local fluctuation amplitude. During periods of stable pressure, σ is smaller, resulting in a strict threshold that can sensitively capture minute anomalies; during periods of fluctuating pressure, σ is larger, allowing for a more relaxed threshold, avoiding misjudging normal physiological fluctuations as abnormalities. Second, the K value, as the only adjustable parameter, has a clear physical meaning and is intuitive to adjust, allowing clinicians to easily adjust it according to the sensitivity needs of different users and different treatment stages. Third, the mechanism of accepting multiple windows for cross-judgment of the same data point ensures that no outliers are missed while avoiding misjudgments caused by the boundary effect of a single window.
[0178] S440, if PQ meets the abnormal conditions, then PQ is determined to be an abnormal pressure value caused by user activity, and PQ is marked in the sequence and set to null, while retaining the temporal position of PQ in the sequence.
[0179] When any pressure value PQ is determined to satisfy the condition |PQ-μ|>K×σ in any sliding window, the controller immediately performs a marking operation on that pressure value. Specifically, the controller does not physically delete the data point from the sequence of undetermined pressure values, nor does it move the position of subsequent data. Instead, it replaces the pressure value stored at that position with a special null value identifier (NULL). At the same time, the time index of that position (i.e., the midpoint of the time series corresponding to the pressure value) remains unchanged, and the total length of the sequence also remains unchanged. This "null in place" operation ensures the structural integrity of the sequence. For example, if the original sequence of undetermined pressure values is [5.21,5.23,5.40,5.25,5.22,5.24,…], after determining that 5.40 at index 3 is abnormal, the sequence is updated to [5.21,5.23,NULL,5.25,5.22,5.24,…]. When subsequent sliding windows process this position, they need to skip the null value and perform statistical calculations. After all sliding windows have been traversed, the controller outputs a sequence of undetermined pressure values containing several null value identifiers. In this sequence, normal pressure values remain unchanged, abnormal pressure values have been cleared, but the timing skeleton is completely preserved.
[0180] This step handles outliers by leaving them empty in their original positions rather than deleting them, which has significant technical implications. First, preserving the temporal position keeps the sequence's timeline index unchanged, allowing subsequent interpolation algorithms to accurately identify "which moment's data is missing," thus enabling proper recovery at the correct spatiotemporal location. Second, maintaining the sequence length avoids problems such as misaligned window indices and difficulties aligning adjacent sequences caused by deletion operations. Third, the null value identifier clearly distinguishes between "valid data" and "removed outliers," providing a clear basis for subsequent processing steps. Fourth, this operation is completely reversible—if a subsequent algorithm determines that a null value should not have been removed, the original value can still be restored through a reset operation. This design balances the proactiveness of outlier detection with the flexibility of correction.
[0181] S500 uses a preset interpolation algorithm to interpolate the positions where the pressure value is empty, and obtains the target pressure value sequence corresponding to RT.
[0182] Furthermore, step S500 includes the following steps:
[0183] S510, sequentially traverse the sequence of pressure values to be determined, and identify the positions of all pressure values marked as null values.
[0184] After completing the sliding window anomaly detection and null value marking in step S400, the controller obtains a sequence of undetermined pressure values containing several null value identifiers (NULL). The length of this sequence is N (e.g., N=40), where each position either stores a valid pressure value (floating-point number) or a special null value identifier. Starting from the first position of the sequence, the controller sequentially visits each element in ascending index order, checking the data type or special flag bit of that element. When encountering a position marked as null, the controller records the index number of that position and adds it to a temporary null value position list. This list records all the missing positions that need to be corrected in this interpolation process. For example, if the undetermined pressure value sequence is: [5.21, 5.23, NULL, 5.25, 5.22, NULL, 5.24, 5.26, ...], the controller generates a null value position list after traversing it: [3, 6]. This step does not modify any data; it only completes the detection and index registration of missing positions.
[0185] S520, for each null value position, searches forward and backward for the two nearest effective pressure values, which are used as the interpolation start and end points respectively.
[0186] The controller iterates through the list of null value locations generated in step S510, processing each null value location index idx. First, starting from idx-1, it scans the sequence forward (to the left) to find the first non-null valid pressure value. If found, it records the location index pre_idx and its corresponding pressure value P_pre; this location is the interpolation start point. Second, starting from idx+1, it scans the sequence backward (to the right) to find the first non-null valid pressure value. If found, it records the location index post_idx and its corresponding pressure value P_post; this location is the interpolation end point. During the search process, the controller needs to handle two boundary cases: ① When the null value location is at the beginning of the sequence (e.g., idx=1), no valid value is found forward, resulting in a missing interpolation start point; ② When the null value location is at the end of the sequence (e.g., idx=N), no valid value is found backward, resulting in a missing interpolation end point. For these two boundary cases, this step employs different processing strategies: If the interpolation start point is missing, the first valid value found backward is used as the constant filling reference, i.e., P_pre = P_post, and the null value position is marked as "header constant filling"; if the interpolation end point is missing, the first valid value found forward is used as the constant filling reference, i.e., P_post = P_pre, and the null value position is marked as "tail constant filling". If valid values exist before and after the null value position, the start and end points are recorded normally. For example, for the null value idx=3, if a valid value of 5.23 is found forward at index 2 and a valid value of 5.25 is found backward at index 4, then the interpolation start point is (2, 5.23) and the interpolation end point is (4, 5.25). For the null value idx=6, if subsequent indices 7 and 8 are both null, and a valid value is not found until index 9, then the interpolation end point is the pressure value of index 9.
[0187] This step employs a bidirectional nearest neighbor search strategy to determine the most relevant and nearest reference point pair for each missing location. Compared to global interpolation or fixed interval interpolation, this method fully utilizes the local continuity of pressure signals over time: the effective value closest to the missing location has the most similar physiological state, environmental conditions, and treatment process, and is therefore the most valuable reference. Specialized handling of boundary cases ensures that missing data at both ends of the sequence can be reasonably repaired, avoiding sequence truncation or data waste caused by boundary effects. Clearly defining the start and end points provides clear and definite endpoint conditions for subsequently establishing a linear interpolation model, fundamentally guaranteeing the scientific validity and rationality of the entire interpolation algorithm.
[0188] S530, based on the pressure values and timestamps corresponding to the interpolation start point and interpolation end point, calculate the average pressure change rate per unit time, and establish a linear interpolation model based on the pressure change rate.
[0189] For the missing positions where the interpolation start and end points have been successfully obtained, the controller first needs to determine the corresponding time coordinates of the start and end points. Each valid pressure value in the sequence of pressure values to be determined is associated with a midpoint position in the time series (see step S350). This position can be the index number of the original sampling point or the absolute time offset (unit: seconds) relative to the start point of the time period. Let the time coordinate of the interpolation start point be t_pre, and the pressure value be P_pre; let the time coordinate of the interpolation end point be t_post, and the pressure value be P_post. The controller calculates the time interval Δt = t_post - t_pre (unit: seconds or number of sampling points) between the two points, and the pressure difference ΔP = P_post - P_pre. The average pressure change rate per unit time, rate = ΔP / Δt, is physically the slope of the linear change of the pressure value with time, and its unit is "Newtons / second" or "pressure value / sampling point".
[0190] Based on this rate of change, the controller establishes a linear interpolation model, mathematically expressed as: P(t) = P_pre + rate × (t - t_pre), where t is the time coordinate of the position to be interpolated. This model assumes that the pressure value changes linearly and continuously with time between the interpolation start and end points, and the reasonable estimate for the missing position should fall on this straight line connecting the two ends. For the case of constant value filling at the head or tail, since the start and end points have the same pressure value (P_pre = P_post), rate = 0, and the linear interpolation model degenerates into a constant function P(t) = P_pre, meaning all missing positions are filled with the same constant value. For example, for a null value idx=3, if t_pre=2.5 minutes (corresponding to index 2), P_pre=5.23N, t_post=3.5 minutes (corresponding to index 4), P_post=5.25N, then Δt=1.0 minutes, ΔP=0.02N, rate=0.02N / minute, and the linear interpolation model is P(t)=5.23+0.02×(t-2.5).
[0191] This step quantifies the objective law of continuous pressure change in the physical world into a precise mathematical expression by calculating the average rate of change between effective values and constructing a linear interpolation model. It respects the trend information of the pressure signal on the time axis—when pressure is rising, the gap position is assigned an estimate higher than the starting point; when pressure is falling, the gap position is assigned an estimate lower than the starting point, thus fully preserving the increasing and decreasing trends of the original sequence. The rate of change parameter has clear physiological significance, reflecting the rate of change of tension during skin stretching, and clinicians can indirectly assess the speed of the stretching process through this parameter.
[0192] S540, using the linear interpolation model, calculate the interpolation pressure value at the time point corresponding to the null value position, in order to replace the null value at the corresponding position.
[0193] For the currently processed null value position, the controller obtains the corresponding time coordinate t_idx (also from the midpoint of the time series recorded in step S350). This t_idx is substituted into the linear interpolation model P(t) = P_pre + rate × (t - t_pre) established in step S530 to calculate the interpolated pressure value P_interp. If the null value position belongs to the case of constant filling at the head or tail, then P_interp is directly equal to P_pre (or P_post). After calculation, the controller replaces the NULL identifier stored at the null value position in the undetermined pressure value sequence with the calculated P_interp. For example, for the null value idx = 3, its time coordinate t = 3.0 minutes (corresponding to the midpoint position of index 3), substituted into the model P(t) = 5.23 + 0.02 × (3.0 - 2.5) = 5.23 + 0.01 = 5.24N, then the value of index 3 in the sequence is updated from NULL to 5.24. When multiple consecutive null values constitute a null value segment, the controller processes each null value position within that segment sequentially. Each null value position uses the same set of start and end points, but because their respective time coordinates t are different, the calculated interpolation pressure values are also different, thus forming a smooth linear transition sequence between the start and end points. For example, if indices 6, 7, and 8 are all null values, the start point is index 5 (t=4.5, P=5.22), and the end point is index 9 (t=7.5, P=5.28), then the interpolation value for index 6 (t=5.5) is 5.24, the interpolation value for index 7 (t=6.5) is 5.26, and the interpolation value for index 8 (t=7.0) is 5.27, forming an arithmetic progression sequence.
[0194] S550 will output the target pressure value sequence after interpolation processing of all null value positions.
[0195] The controller repeats steps S520 to S540 until all positions in the null value position list recorded in step S510 have been processed. At this point, there are no more null value identifiers in the sequence of pending pressure values, and each position stores a valid floating-point pressure value.
[0196] The above steps, using a gap interpolation method based on the local linear assumption, achieve complete restoration of the stress sequence after removing activity interference. This is a crucial data reconstruction step in the entire intelligent early warning system. Compared to alternatives such as directly discarding gap data, using global mean to fill gaps, or employing complex machine learning models for interpolation, this step offers the following substantial improvements: First, it fully utilizes the linear variation characteristics of stress signals on short timescales, constructing a local interpolation model using the most recent effective values as anchors. This ensures the physiological rationality of the interpolation results while avoiding over-smoothing or introducing spurious fluctuations. Second, specialized handling of boundary cases makes this method equally effective for gaps at the beginning and end of the sequence, eliminating the need for truncation of the original data and fully preserving all temporal information for each time period. Third, the linear interpolation model is computationally simple and has clear physical meaning, making it perfectly suitable for the real-time computing environment of embedded controllers, requiring no additional hardware support or cloud computing resources. Fourth, the interpolation process is completely reversible and traceable, providing data traceability for clinical review and algorithm optimization. The target pressure value sequence P_target output after this step achieves an optimal balance in three dimensions: temporal integrity, trend fidelity, and anti-interference capability. This provides a clean, continuous, and reliable data source for subsequent similarity calculation, temperature drift identification, and abnormal stretch state determination, fundamentally ensuring the robust operation of the entire intelligent monitoring method in complex clinical environments.
[0197] S600: Obtain the similarity between target pressure value sequences corresponding to any two adjacent preset historical time periods, and obtain a similarity list.
[0198] Furthermore, step S600 includes the following steps:
[0199] S610, the target pressure value sequences corresponding to any two adjacent historical time periods are respectively denoted as the first sequence A and the second sequence B.
[0200] After completing step S500, the controller has generated a corresponding target pressure value sequence P_target for each preset historical time period. These sequences are stored in the buffer in chronological order, and each sequence is associated with a unique time period identifier (such as T1, T2, T3, etc.). This step retrieves each pair of adjacent sequences in turn, using adjacent time periods as the pairing unit.
[0201] S620, normalizes A and B;
[0202] Because users' absolute stress levels may change slowly over different historical periods due to treatment progress (like the gradual compression of a spring), directly comparing the original stress values would lead to an underestimation of similarity due to mean shift. This step uses a min-max normalization method to independently normalize sequences A and B. For example, sequence A is [5.2, 5.3, 5.4, 5.3], and after normalization, it becomes [0, 0.5, 1, 0.5]; sequence B is [5.8, 5.9, 6.0, 5.9], and after normalization, it also becomes [0, 0.5, 1, 0.5]. The normalization operation is only used for similarity calculation and does not change the stored values of the original sequences, nor does it affect subsequent analyses.
[0203] S630, based on the dynamic time warping algorithm, calculates the optimal matching path and cumulative distance Dist_DTW between A and B.
[0204] Dynamic Time Warping (DTW) is a sequence similarity metric that allows for non-linear scaling of the time axis, making it particularly suitable for sequences of unequal length or with local phase shifts. This step executes the DTW algorithm on the normalized sequences A_norm (length n) and B_norm (length m). First, an n x m cumulative distance matrix D is constructed, where each element D[i][j] represents the optimal alignment cumulative distance between A_norm[0..i] and B_norm[0..j].
[0205] Initialize D[0][0] = |A_norm[0] - B_norm[0]|. Then, traverse the matrix in row-major order, and for each position (i,j), calculate according to the following recursive formula:
[0206] D[i][j]=|A_norm[i]-B_norm[j]|+min(D[i-1][j],D[i][j-1],D[i-1][j-1]);
[0207] Where D[i-1][j] corresponds to A_i aligned to B_j-1 (vertical expansion), D[i][j-1] corresponds to A_i-1 aligned to B_j (horizontal expansion), and D[i-1][j-1] corresponds to A_i-1 aligned to B_j-1 (diagonal alignment).
[0208] Special handling is required at the matrix boundaries: when i=0 and j>0, D[0][j]=|A[0]-B[j]|+D[0][j-1]; when j=0 and i>0, D[i][0]=|A[i]-B[0]|+D[i-1][0]. After traversal, the element D[n-1][m-1] in the lower right corner of the matrix is the optimal cumulative distance Dist_DTW between the two sequences. The smaller this distance value, the smaller the morphological difference between the two sequences under the condition of allowing time axis stretching. At the same time, by backtracking the path from D[n-1][m-1] to D[0][0], the optimal matching path can be obtained, and the correspondence between each point of A and B can be recorded. For example, if the length of A is 35 and the length of B is 38, the DTW path may present a point of A corresponding to two consecutive points of B (time axis stretching) or two consecutive points of A corresponding to one point of B (time axis compression), so as to achieve the best alignment of waveform peaks and valleys.
[0209] In this embodiment, since step S300 uses adaptive window partitioning, the number of representative pressure values in adjacent time periods may differ. Traditional methods require inputs of equal length, while DTW naturally supports comparisons of sequences of unequal length. User breathing rhythms and minor postural adjustments may cause slight shifts in the peak time of the pressure waveform. DTW can match these shifts through non-linear alignment of the time axis, avoiding underestimation of similarity due to misalignment. The cumulative distance Dist_DTW has a clear physical meaning, namely the sum of the absolute differences of corresponding points after alignment, and can be directly used for subsequent similarity conversion. Although the DTW algorithm has a certain computational complexity, the sequence length is usually between 30 and 60 points, making it perfectly feasible to run in real time on an embedded controller.
[0210] S640, Based on Dist_DTW, determine the similarity between A and B: Sim = 1 / (1 + Dist_DTW).
[0211] Dist_DTW is a non-negative real number, ranging from [0, +∞). Dist_DTW = 0 indicates that two sequences are perfectly aligned and identical point-by-point, allowing for time axis scaling. A larger Dist_DTW indicates greater morphological differences between the sequences. For ease of clinical understanding and subsequent threshold setting, this step converts the cumulative distance into a similarity index within the [0, 1] interval. The conversion formula is: Sim = 1 / (1 + Dist_DTW). This function has the following properties: ① Monotonically decreasing – the larger Dist_DTW is, the smaller Sim is; ② Bounded – Sim∈(0,1]; ③ Normalization – when Dist_DTW=0, Sim=1, indicating perfect similarity; when Dist_DTW approaches infinity, Sim approaches 0, indicating extreme dissimilarity. For example, if Dist_DTW=0.5, then Sim=1 / 1.5≈0.667; if Dist_DTW=1.2, then Sim=1 / 2.2≈0.455; if Dist_DTW=0, then Sim=1. This transformation does not change the relative magnitude of similarity, but only maps the distance space to an intuitive similarity space.
[0212] S650, The calculated similarities are arranged in chronological order according to historical time periods to generate the similarity list.
[0213] The controller processes each pair of adjacent historical time periods (T1-T2, T2-T3, T3-T4, ...) sequentially, obtaining a similarity value Sim_i for each pair. These similarity values naturally correspond in chronological order: Sim_1 corresponds to the similarity between T1 and T2, and Sim_2 corresponds to the similarity between T2 and T3. The controller stores these similarity values sequentially into a one-dimensional array, with array indices ranging from 1 to M-1, forming a similarity list.
[0214] S700 determines whether there are any abnormalities in the user's skin stretched by the skin stretching closure device based on the difference between two adjacent similarities in the similarity list.
[0215] Furthermore, step S700 includes the following steps:
[0216] S710, traverse the similarity list, calculate the absolute difference between each item in the similarity list and the previous item, and obtain the similarity difference sequence.
[0217] This step performs a first-order difference operation on the list. Starting from the second element of the list (index 2), calculate the absolute difference between the current element and the previous element.
[0218] S720, calculate the average value μ_diff and standard deviation σ_diff of the N most recent similarity differences in the similarity difference sequence; where N is the preset observation window size.
[0219] The controller maintains a fixed-length sliding observation window that operates on the similarity difference sequence L_diff. The window size N is a preset parameter, typically ranging from 5 to 10; this embodiment uses N=6 as a typical configuration. This window always covers the latest N difference data in L_diff.
[0220] S730, obtain the offset Z_score=(Δ_latest-μ_diff) / σ_diff between the latest similarity difference Δ_latest and μ_diff.
[0221] The controller extracts the latest (last) difference from the similarity difference sequence L_diff, denoted as Δ_latest. This value represents the magnitude of change between the two most recent similarities. Z_score is a dimensionless statistic that indicates the degree to which the current difference deviates from the recent average level, measured in recent standard deviations. For example, if μ_diff=0.0317, σ_diff=0.0113, and Δ_latest=0.13, then Z_score=(0.13-0.0317) / 0.0113≈8.70, indicating that the current difference deviates from the mean by approximately 8.7 times the standard deviation, which is a highly significant anomalous signal.
[0222] When calculating Z_score, two special cases need to be considered: ① If σ_diff = 0, meaning all differences within the observation window are exactly the same, Z_score cannot be calculated (division by zero error). This situation usually occurs in extremely short time windows or when the data is severely smoothed. The controller can set σ_diff to a very small positive number (such as 0.001) or directly determine that there is no anomaly (because no fluctuation means no sudden change). ② If there are fewer than N valid data points within the observation window, Z_score is not calculated temporarily, and data accumulation is allowed.
[0223] Instead of comparing the user's condition over the past few days to an abstract "normal value," this method of anomaly measurement, which uses the user's own condition as a reference and standard deviation as a scale, fundamentally solves the fundamental deficiency of traditional fixed threshold methods in adapting to individual differences and changes in disease course.
[0224] S740, if Z_score > T_alert, then it is determined that there is an abnormality in the user's skin stretched by the skin stretching closure device; otherwise, it is determined that there is no abnormality in the user's skin stretched by the skin stretching closure device; T_alert is a preset abnormality judgment threshold.
[0225] T_alert is an empirical threshold, typically ranging from 2.5 to 4.0. In this embodiment, T_alert=3.0 is used as the baseline value. This threshold is set based on the 3σ principle in statistics: under the assumption of normal distribution, the probability of a single observation value exceeding the mean ± 3σ range is approximately 0.3%, which is a low-probability event and usually indicates a significant change in the system state.
[0226] This threshold can be fine-tuned according to the clinical preferences of different medical institutions and the sensitivity needs of different users (e.g., it can be lowered to 2.5 for pediatric users and maintained at 3.0 for elderly users), and has good clinical acceptability.
[0227] In this embodiment, the above steps have the following beneficial effects:
[0228] Instead of relying on any preset "normal stress value" or "normal similarity" absolute threshold, the Z-score uses the user's own recent fluctuation characteristics as a reference benchmark. This design perfectly solves the problem of individual differences that are widespread in clinical practice—some users have large baseline fluctuations (high σ_diff), while others have small baseline fluctuations (low σ_diff). The Z-score normalizes the fluctuation amplitude by dividing by σ_diff, making "3 times the standard deviation" have equivalent abnormal significance across different users.
[0229] The similarity difference, the "first derivative" of pressure waveform morphology changes, is far more sensitive to abnormal conditions than the absolute pressure value or the absolute similarity value itself. In the early stages of skin ischemia, infection, or excessive stretching, subtle distortions often appear first in the pressure waveform morphology. At this time, the absolute pressure value may still be within the normal range, but the similarity between adjacent time periods has already begun to decrease, leading to an increase in the similarity difference. This step can capture this signal at a very early stage of abnormal conditions (even before clinical manifestations appear), gaining a valuable time window for clinical intervention.
[0230] Z-score is a statistically significant indicator with universal applicability. Healthcare professionals do not need to delve into the technical details of DTW or spectral analysis; they only need to understand the simple rule that "a score above 3 is abnormal." Simultaneously, the system records μ-diff and σ-diff, which are presented retrospectively, allowing doctors to intuitively see that "the user's previous fluctuation range was 0.03, and this time it jumped to 0.13," thereby quickly establishing clinical trust.
[0231] If an abnormality is detected in the S800, a warning will be issued through the controller.
[0232] When step S700 determines that an abnormal tension state exists, the controller immediately triggers an early warning mechanism. This is implemented at three levels: First, at the local device level, the controller drives a buzzer via GPIO ports to emit different frequencies of alert sounds (e.g., a rapid double short beep for an abnormality, a continuous long beep for a severe abnormality), while simultaneously controlling LED indicators to provide visual cues with specific colors (e.g., yellow for a warning, red for a severe abnormality) and flashing frequencies. Second, at the user interface level, if the controller is connected to a display screen, an early warning pop-up window appears on the screen, displaying the specific abnormality type (e.g., "Sudden change in pressure pattern, please check skin condition"), the time of occurrence, a summary of relevant pressure data, and suggested handling measures. Finally, at the remote communication level, if the controller is equipped with a wireless communication module (e.g., Wi-Fi, Bluetooth, or 4G), the early warning information is sent to the nurse station monitoring system or the mobile terminal of medical staff via protocols such as MQTT and HTTP. The information includes the user identifier, bed number, abnormality determination time, recent pressure trend graph, and similarity change curve. All early warning events are recorded in the local log, including timestamps, trigger conditions, and abnormality determination parameters, for subsequent review and analysis.
[0233] This step transforms the aforementioned analysis and judgment results into clear, multimodal early warning signals, achieving an effective closed loop from data monitoring to clinical intervention. Through a multi-level early warning mechanism combining local audio-visual alerts, screen pop-ups, and remote push notifications, it ensures that medical staff can be informed of abnormal conditions immediately, whether at the user's bedside or at the nurses' station.
[0234] Furthermore, although the steps of the method in this disclosure are described in a specific order in the accompanying drawings, this does not require or imply that the steps must be performed in that specific order, or that all the steps shown must be performed to achieve the desired result. Additional or alternative steps may be omitted, multiple steps may be combined into one step, and / or a step may be broken down into multiple steps.
[0235] While specific embodiments of the invention have been described in detail by way of examples, those skilled in the art should understand that the examples are for illustrative purposes only and are not intended to limit the scope of the invention. Those skilled in the art should also understand that various modifications can be made to the embodiments without departing from the scope and spirit of the invention.
Claims
1. A method for controlling a skin traction device, characterized in that, The method includes the following steps: Q100: After the skin tension closure device is adjusted and the user is in the expected stable state, the baseline pressure value sequence within a preset time period is collected, and the statistical characteristics of the baseline pressure value sequence are used as the baseline pressure level L_base. Q200, in subsequent continuous monitoring, acquires the target pressure value sequence corresponding to each preset historical time period; the target pressure value sequence is obtained by sequentially filtering, aggregating, removing outliers and interpolating the initial pressure value sequence; Q300: Compare the target pressure value sequence P_target for the current preset historical time period with L_base to determine the overall pressure level L_current of P_target; Q400, if the pressure value of P_target starts from a stable level and drifts unidirectionally and continuously over time until it reaches another stable level, then the drift process is marked as the temperature influence stage. Q500, for pressure data marked as being within the temperature-affected phase, based on the difference between the baseline pressure level L_base and the stable pressure level before and after drift, the pressure value at the corresponding position in P_target is compensated and shifted to eliminate the overall pressure level shift caused by temperature, thus obtaining the corrected target pressure value sequence P_target_corrected. Q600: For data in the non-temperature-affected phase, P_target is directly used as P_target_corrected; Q700 determines whether the user's skin has an abnormal stretching state based on the similarity between P_target_corrected in adjacent preset historical time periods; Q800 will issue a warning if there is an abnormal tension state.
2. The control method for the skin traction device according to claim 1, characterized in that, Step Q300 includes the following steps: Q310, divide the target pressure value sequence P_target into M consecutive segments of equal length; where M≥3; Q320, calculate the arithmetic mean of the pressure values of each segment to obtain the mean values of M segments; Q330, obtain the standard deviation σ_seg of the mean of M segments and the preset stability threshold σ_th; Q340, if σ_seg≤σ_th, then the arithmetic mean of all pressure values of P_target is determined as the overall pressure level L_current; Q350, if σ_seg>σ_th, then the median of the mean of the M segments is determined as the overall pressure level L_current.
3. The control method for the skin traction device according to claim 1, characterized in that, Step Q400 includes the following steps: Q410, use a sliding window to traverse P_target and obtain the standard deviation of the data in each sliding window; Q420: If the standard deviation of N consecutive sliding windows is lower than the preset stability threshold σ_stable, then the N consecutive sliding windows are determined as a stable level segment, and the start time, end time and average pressure value of the stable level segment are recorded. Q430, if all of the following conditions are met between two adjacent stable horizontal segments, then the data between two adjacent stable horizontal segments is determined as a candidate temperature drift segment: The absolute value of the difference |ΔP| between the average pressure value P_start of the previous stable level segment and the average pressure value P_end of the next stable level segment is greater than the preset minimum drift amplitude threshold ΔP_min; From P_start to P_end, the direction of pressure value change remains consistent; The duration of the drift process, T_drift, is greater than the preset minimum duration, T_min, and less than the preset maximum duration, T_max. Q440, if the coefficient of determination R corresponding to the data within the candidate temperature drift range is... 2 Greater than the preset continuity threshold R 2 If _thresh is selected, the candidate temperature drift segment is determined to be the temperature influence stage, and the start time, end time, start pressure level, and end pressure level of the temperature influence stage are recorded.
4. The control method for the skin traction device according to claim 1, characterized in that, Step Q500 includes the following steps: Q510, obtain the initial stable pressure level P_s and the final stable pressure level P_e of the temperature influence stage; Q520, based on P_s and P_e, determine the total pressure offset ΔP_total=P_e-P_s; Q530, if |P_s-L_base|≤|P_e-L_base|, then determine the target value of pressure correction for the temperature-affected stage as P_target=P_s; otherwise, determine P_target=L_base. Q540, taking the start time of the temperature influence phase as zero point and the total duration of the temperature influence phase as T, construct a linear correction function f(t)=(P_target-P_s)×(t / T)-ΔP_total×(t / T); where t is the time offset corresponding to any data point within the temperature influence phase; Q550, for any pressure data point PY and its corresponding time offset t during the temperature influence phase. Y Calculate the corrected pressure value P_corrected_Y = PY + f(t) Y ); thus, the corrected target pressure value sequence P_target_corrected is obtained.
5. The control method for the skin traction device according to claim 1, characterized in that, Step Q700 includes the following steps: Q710: Obtain the similarity between target pressure value sequences corresponding to any two adjacent preset historical time periods, and obtain a similarity list; Q720, based on the difference between two adjacent similarities in the similarity list, determine whether the user's skin stretched by the skin stretching closure device has an abnormal stretching state.
6. The control method for the skin traction device according to claim 1, characterized in that, Step Q710 includes the following steps: Q711, denote the target pressure value sequences corresponding to any two adjacent historical time periods as the first sequence A and the second sequence B, respectively; Q712, normalize A and B; Q713, Calculate the optimal matching path and cumulative distance Dist_DTW between A and B based on the dynamic time warping algorithm; Q714, Based on Dist_DTW, determine the similarity between A and B: Sim = 1 / (1 + Dist_DTW); Q715. Arrange the calculated similarities in chronological order according to historical time periods to generate the similarity list.
7. The control method for the skin traction device according to claim 1, characterized in that, The statistical characteristic of the reference pressure value sequence is the arithmetic mean of the reference pressure value sequence.
Citation Information
Patent Citations
A cable-type skin tension closure device
CN110292405B