Detecting airflow obstruction with machine learning models
By integrating a machine learning model into a spirometer, the system analyzes patients' respiratory data and automatically detects airflow obstruction, overcoming the difficulty of requiring professional assistance in existing technologies and enabling convenient diagnosis of airflow obstruction at home.
Patent Information
- Application Number
- CN202580010452.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-01-24
- Filing Date
- 2025-01-24
- Publication Date
- 2026-08-25
AI Technical Summary
In existing technologies, the lung capacity test for detecting airflow obstruction requires the assistance of doctors or professionals, and is difficult and time-consuming for patients with respiratory diseases, making it impossible for them to perform effective testing at home.
A system including a spirometer and computing devices is used to analyze patients' respiratory data using machine learning models, generate flow and volume curves, and classify them into normal breathing or airflow obstruction based on the training dataset. It can automatically detect airflow obstruction without the need for professional intervention.
It enables accurate detection of airflow obstruction without professional supervision, simplifies the detection process, and is applicable to the diagnosis of respiratory diseases such as chronic obstructive pulmonary disease, improving the convenience and feasibility of detection.
Smart Images

Figure CN122641435A_ABST
Abstract
Description
[0001] Cross-references to related applications
[0002] This application claims the benefit and priority of U.S. Provisional Application No. 63 / 624,562, entitled “Detecting Airflow Obstruction Utilizing a Machine Learning Model,” filed January 24, 2024, which is incorporated herein by reference in its entirety. Background Technology
[0003] Airflow obstruction is detected using spirometry. Typically, the patient is instructed to exhale forcefully and for as long as possible into the spirometer tube after a maximal inhalation. Multiple tests are required to ensure a consistent maximum level is achieved each time. Performing forced exhalation spirometry can be quite difficult and time-consuming for patients with respiratory conditions. Furthermore, spirometry is usually not performed at home by patients, as successful testing often requires significant guidance or assistance from a healthcare professional. Summary of the Invention
[0004] Embodiments of this disclosure relate to detecting airflow obstruction in a patient using spirometry without the assistance of a physician or other medical professional. According to one embodiment (as one example), a system for measuring respiration is provided, comprising a spirometer configured to acquire regular breathing data from a patient; at least one computing device executing an application that, when executed, causes the at least one computing device to at least: generate flow rate and volume rate curves based on the patient's breathing data. The flow rate and volume rate curves represent airflow during the patient's breathing over a specified time period. The flow rate and / or volume rate curves can be classified as either normal breathing or airflow obstruction breathing based on at least one machine learning model trained using a training dataset.
[0005] In some aspects, the training dataset includes multiple training flow rate and volume curves. These multiple training flow rate and volume curves are classified into normal breathing and / or airflow obstruction breathing, respectively. The training flow rate and volume curves are time series of flow rate and volume data. The application can generate an alert in response to classifying the flow rate and / or volume curve as airflow obstruction breathing.
[0006] In some respects, the application classifies flow and / or volume curves, at least in part, based on a machine learning model trained using the training dataset. Both flow and / or volume curves can be used to classify normal breathing and airflow obstruction. The training flow and volume curves are time series of flow and volume data. The machine learning model utilizes a one-dimensional (1D) time series classification task to detect the presence of airflow obstruction. The application can further enable the at least one computing device to classify flow curves as having more or less airflow obstruction than previous flow and / or volume curves associated with the patient. In some instances, the machine learning model uses a multi-dimensional time series classification task when flow and volume curves are used as input. A feature extraction process can compute various features from each of these sequences to train or build a classifier.
[0007] According to one embodiment (as one example), a method is provided, comprising the steps of: capturing respiratory data from a patient via a sensor of a spirometer; and generating a flow rate curve and / or volume curve by a computing device of the spirometer, at least in part, based on the patient's respiratory data. The flow rate curve and / or volume curve represents the airflow during the patient's breathing over a specified time period. The flow rate curve and / or volume curve can be classified as either normal breathing or airflow obstruction breathing based on at least one machine learning model trained using a training dataset.
[0008] In some respects, the training dataset includes multiple training flow rate curves and / or volume curves. These training flow rate curves and / or volume curves are classified as normal breathing or airflow obstruction breathing, respectively.
[0009] In some respects, the application generates an alert in response to classifying flow rate and / or volume curves as airflow obstruction during breathing. The application is at least in part based on a machine learning model trained using that training dataset to classify the flow rate and / or volume curves. This machine learning model utilizes a one-dimensional (1D) time series classification task to detect the presence of airflow obstruction. In some instances, when flow rate and volume curves are used as input, the machine learning model uses a multi-dimensional time series classification task. A feature extraction process can compute various features from each of these sequences to train or build a classifier.
[0010] In some respects, the application further enables at least one computing device to classify flow and / or volume curves as having more or less airflow obstruction than previous flow and / or volume curves associated with the patient.
[0011] In some aspects, the method involves the application obtaining confirmation that the flow rate curve and / or volume curve is classified as either normal breathing or airflow obstruction breathing. In response to obtaining this confirmation, the application adds the flow rate curve and / or volume curve with the classification to the training dataset.
[0012] According to one embodiment (as one example), a spirometer is provided, the spirometer comprising: a sensor configured to measure the breathing of a patient through a mouthpiece; a computing device including a processor and a memory; and an application that, when executed by the processor, causes the computing device to at least: capture the patient's breathing data using the sensor; determine a flow rate curve and / or volume curve of the regular breathing data. The flow rate curve and / or volume curve includes a characterization of airflow during the patient's breathing over a specified time period; and at least in part based on a machine learning model, determine a breathing classification of the flow rate curve and / or volume curve, the breathing classification being normal breathing or airflow obstruction breathing.
[0013] In some respects, the application enables the computing device to present respiratory classifications, at least on the spirometer's display, when executed by the processor. The machine learning model can be stored in memory in a serialized format.
[0014] Other systems, methods, features, and advantages of this disclosure will be apparent to those skilled in the art upon review of the following figures and detailed description. It is intended that all such additional systems, methods, features, and advantages be included within the scope of this disclosure and protected by the appended claims.
[0015] Furthermore, all optional and preferred features and modifications of the described embodiments can be used in all aspects of the disclosure taught herein. Moreover, the various features of the dependent claims and all optional and preferred features and modifications of the described embodiments can be combined and interchanged with each other. Attached Figure Description
[0016] Many aspects of this disclosure can be better understood with reference to the following accompanying drawings. The components in the drawings are not necessarily drawn to scale, but rather the emphasis is on clearly illustrating the principles of this disclosure. Furthermore, in the drawings, reference numerals denote corresponding parts throughout several views.
[0017] Figure 1 Examples of flow curves according to various embodiments of this disclosure are shown.
[0018] Figure 2 Example network environments according to various embodiments of this disclosure are shown.
[0019] Figure 3This is a flowchart illustrating an example of a method according to an example of this disclosure.
[0020] Figure 4 This is a confusion matrix showing an example of experimental results based on an example of this disclosure. Detailed Implementation
[0021] This article discloses various examples involving the detection of airflow obstruction in patients without the use of spirometry assisted by a physician or professional. Detection of airflow obstruction can facilitate the diagnosis of chronic obstructive pulmonary disease (COPD) and other respiratory conditions that can be detected based on analysis of a patient's breathing. One criterion for diagnosing COPD is a low forced expiratory volume in one second to forced vital capacity (FEV1 / FVC) ratio, defined using the lower limit of normal (LLN), which is the 5th percentile of the normal population.
[0022] Examples of this disclosure relate to a method for quantifying lung diseases (such as COPD) based on an analysis of cheyne-Stokes or regular breathing over a specific time period in a patient. In some instances, the specific time period can range from 10 to 120 seconds. The analysis of a patient's breathing can be based on an analysis of regular breathing from a specific time period, such as a time period of 10 to 120 seconds or other suitable time periods. The basic premise is that even during regular breathing, individuals with airflow obstruction may have different breathing patterns during their expiratory phase, making it possible to distinguish them from normal controls.
[0023] Figure 1 Examples of flow and volume curves that can be recorded by a device according to an example of this disclosure are shown. Exemplary flow curves can be captured by instructing a patient to regularly breathe into a spirometer device over a period of time, such as 10 to 120 seconds or other suitable time intervals. Flow and / or volume curves can be analyzed using machine learning processes. In one example, logistic regression analysis can be used to identify flow and / or volume curves indicating airflow obstruction in a patient. In other examples, boosting, regression analysis, support vector machine algorithms, gradient boosting decision trees, 1D convolutional neural networks, transformer-based architectures, or any other machine learning analysis can be used to identify airflow obstruction in a patient. In the illustration, flow and / or volume curves marked in red can be identified by examples of this disclosure as indicating airflow obstruction and potentially indicating COPD. Flow and / or volume curves marked in green can be identified as normal breathing patterns or breathing patterns that do not indicate COPD. In some instances, machine learning processes can label indeterminate flow and / or volume curves for follow-up by physicians or other healthcare professionals.
[0024] Figure 1 The sample flow rate and / or volume curves recorded and shown illustrate the breathing patterns of 16 participants. All values of the lower limit of normal (LLN) were adjusted for age, sex, ethnicity, and height. On these flow records, a machine learning process can utilize a one-dimensional (1D) time series classification task to detect the presence of airflow obstruction. In some instances, when flow rate and volume curves are used as input, the machine learning model uses a multi-dimensional time series classification task. A feature extraction process can compute various features from each of these sequences to train or build a classifier. In other instances, two-dimensional graphs of flow rate or volume versus time can be used as input to the machine learning process. The machine learning process can be trained on datasets that include flow rate (and / or volume curves) for airflow obstruction and flow rate (and / or volume curves) for normal breathing. By utilizing a machine learning process based on analysis of a patient's normal breathing over a period of time, airflow obstruction can be effectively detected without requiring real-time guidance or monitoring by a physician or medical professional when the patient is using a spirometer. Conversely, patients can use a spirometer and provide a breath sample (e.g., a breath sample in the range of 10 to 120 seconds) without medical supervision.
[0025] Next reference Figure 2 Example implementations according to embodiments of the present disclosure are shown. Figure 2 The image shows a network environment 200 according to various embodiments. The network environment 200 may include a computing environment 203 and a spirometer 100, which can communicate with each other via a network 206.
[0026] Network 206 may include a wide area network (WAN), a local area network (LAN), a personal area network (PAN), or a combination thereof. These networks may include wired or wireless components, or a combination thereof. Wired networks may include Ethernet, cable networks, fiber optic networks, and telephone networks such as dial-up networks, Digital Subscriber Line (DSL), and Integrated Services Digital Network (ISDN) networks. Wireless networks may include cellular networks, satellite networks, and IEEE 802.11 wireless networks (i.e., Wi-Fi). ® ), BLUETOOTH ® Networks, microwave transmission networks, and other networks that rely on radio broadcasting. Network 206 may also include combinations of two or more types of networks 206. Examples of networks 206 may include the Internet, intranets, extranets, virtual private networks (VPNs), and similar networks.
[0027] The spirometer 100 may include a device for measuring the volume of air inhaled and exhaled by a patient's lungs. The spirometer 100 may acquire respiratory data from the patient over a period of time (such as 10 to 120 seconds, two minutes, or longer) and provide a flow pattern characterizing the patient's breathing over the specified time period. The respiratory data may include the flow rate or volume of air inhaled and exhaled by the patient over a period of time. The spirometer 100 may include a mouthpiece, sensor 103, controller 106, display 109, network interface 112, and other suitable components. The mouthpiece may be a device location for the patient to position around them. The mouthpiece may receive the patient's inhalation or exhalation. Sensor 103 may represent one or more sensors used to measure respiratory parameters of a patient breathing into the device. For example, sensor 103 may include a flow sensor, pressure sensor, and other suitable sensors. For example, a pressure sensor (e.g., a differential pressure sensor) may be used to convert airflow through a restrictor into an electrical signal (e.g., an analog signal, a digital signal, etc.).
[0028] The controller 106 may represent a computing device, processor, microcontroller, or other suitable processing device. The controller 106 may be used to execute one or more applications to control the operation of the spirometer 100, such as initiating measurements of user data (e.g., patient data), communicating with the computing environment 203, determining airflow obstruction diagnoses, displaying data (e.g., airflow obstruction diagnoses, instructions to improve measurements, etc.), and other suitable functions.
[0029] Display 109 may be a liquid crystal display (LCD), a gas plasma-based flat panel display, an organic light-emitting diode (OLED) display, an electrophoretic ink (“E-ink”) display, a foldable OLED display, or other types of display devices. In some cases, display 109 may be a component of spirometer 100, or may be connected to spirometer 100 via a wired or wireless connection.
[0030] Network interface 112 enables spirometer 100 to provide flow patterns to computing environment 203 via network 206 for use in airflow obstruction analysis as described herein. Network interface 112 may be a data communication transceiver communicating according to one or more wired or wireless communication protocols. In some embodiments, spirometer 100 may be connected to a computing device, allowing an application executed by the computing device to provide the patient's flow patterns to computing environment 203 via network 206.
[0031] The spirometer 100 can be configured to execute various applications, such as device application 115 or other applications. Device application 115 can execute within the spirometer 100 to access network content provided by computing environment 203 or other servers, thereby presenting a user interface on display 109. For this purpose, device application 115 may include a browser, a dedicated application, or other executable file, and the user interface may include web pages, application screens, or other user mechanisms for obtaining user input. The spirometer 100 can also be configured to execute applications other than device application 115, such as browser applications, social networking applications, health-related applications, or other applications.
[0032] Computing environment 203 may include one or more computing devices, which may include processors, memory, and / or network interfaces. For example, a computing device may be configured to perform computations on behalf of other computing devices or applications. As another example, such a computing device may host and / or provide content to other computing devices in response to requests for content. As another example, such a computing device may be a central computing device installed in a vehicle. Furthermore, computing environment 203 may employ multiple computing devices, which may be arranged in one or more server groups, computer groups, or other arrangements. Such computing devices may reside in a single device or may be distributed across many different geographical locations. For example, computing environment 203 may include multiple computing devices that together may include hosted computing resources, grid computing resources, or any other distributed computing arrangement. In some cases, computing environment 203 may correspond to elastic computing resources, where the capacity of allocated processing, networking, storage, or other computing-related resources may vary over time.
[0033] Various applications or other functions can be executed in computing environment 203. Components executing on computing environment 203 include airflow obstruction detection application 209, as well as other applications, services, processes, systems, engines, or functions not discussed in detail herein.
[0034] The airflow obstruction detection application 209 can be executed to perform various actions. The airflow obstruction detection application 209 can detect airflow obstruction or potential COPD conditions in a patient based on analysis of flow curves (and / or volume curves) provided by a spirometer 100 associated with the patient. The airflow obstruction detection application 209 can utilize a machine learning algorithm trained using a training dataset that includes training flow patterns from both healthy patients and patients with airflow obstruction.
[0035] When a potential airflow obstruction is detected based on analysis of flow and / or volume curves associated with a patient's breathing, the airflow obstruction detection application 209 can alert the patient, doctor, or other healthcare professional. The patient can then be referred for further analysis or treatment of the potential airflow obstruction.
[0036] In one instance, the airflow obstruction detection application 209 can preprocess respiratory data from the spirometer 100 to generate flow rate and / or volume curves for analysis. In another instance, the airflow obstruction detection application 209 can obtain respiratory data from a patient's spirometer 100 and recreate curves for analysis using flow-time information. The raw flow signal can be detrended and scaled. A straight line can be fitted to the raw signal (to find drift) and subtracted from it (to detrend). The mean of the signal can then be subtracted, and the result divided by the range of recorded values (maximum - minimum). Other preprocessing procedures can also be used to obtain and process respiratory data from the patient-associated spirometer 100 to generate flow rate and / or volume curves characterizing the respiratory data.
[0037] The airflow obstruction detection application 209 can utilize a machine learning process employing a one-dimensional (1D) time series classification task to detect the presence of airflow obstruction. The machine learning process can be trained on a dataset including airflow obstruction flow curves (and / or volume curves) and normal breathing flow curves (and / or volume curves). For example, the airflow obstruction detection application 209 can generate and utilize a convolutional neural network (CNN) or transformer to classify the flow curves and / or volume curves obtained from the spirometer 100 as obstructed or normal. The neural network can be trained using a training dataset as described herein.
[0038] Various types of data are stored in a data storage area 212 accessible to the computing environment 203. Data storage area 212 can represent multiple data storage areas 212, which may include relational or non-relational databases, such as object-oriented databases, hierarchical databases, hash tables, or similar key-value data storage areas, as well as other data storage applications or data structures. Furthermore, combinations of these databases, data storage applications, and / or data structures can be used together to provide a single logical data storage area. The data stored in data storage area 212 is associated with the operation of various application or functional entities described below. This data may include training data 215, user data 217, and potentially other data.
[0039] Training data 215 represents data that can be used to train the machine learning process utilized by the airflow obstruction detection application 209. Training data 215 may include training flow curves 224 (and / or volume curves) representing previous flow curves (and / or volume curves) obtained from other patients. Training flow curves 224 can be anonymized and labeled as obstructed or normal. Using a sufficiently large training dataset 215, the airflow obstruction detection application 209 can be trained to identify normal and obstructed flow curves.
[0040] Data storage area 212 may also include user data 217. User data 217 may represent data obtained from spirometer 100 for analysis by airflow obstruction detection application 209. In one instance, user data 217 may include flow rate curve 227 (and / or volume curve). Flow rate curve 227 may be generated by airflow obstruction detection application 209 according to the preprocessing procedure described above. Flow rate curve 227 may be generated from respiratory data obtained from one or more spirometers 100. In some instances, spirometer 100 may preprocess respiratory data from a patient to generate flow rate curve 227 for analysis by airflow obstruction detection application 209.
[0041] In some implementations, once the training flow curve 224 (and / or volume curve) is obtained and stored as user data 217 in data storage area 212, the airflow obstruction detection application 209 can store a specific flow curve 227 (and / or volume curve) as a training flow curve 224 to further train and optimize the neural network or other machine learning algorithm that identifies the normal or airflow obstruction training flow curve 224. In one instance, the representation of a specific flow curve 227 can be confirmed by a doctor or other user before it is stored as a training flow curve.
[0042] The airflow obstruction detection application 209 can also store the user's training flow curve 224 (and / or volume curve) for disease monitoring and disease progression tracking purposes. For example, the airflow obstruction detection application 209 can analyze a specific flow curve 224 relative to previously obtained flow curves 224 of users who have been identified as having airflow obstruction to provide an indication of how the airflow obstruction is improving or worsening.
[0043] Next reference Figure 3 The flowchart illustrates an example of how an airflow obstruction detection application 209 can operate according to various embodiments of the present disclosure. Figure 3 The flowchart can illustrate a method according to an example of this disclosure.
[0044] First, at step 301, the airflow obstruction detection application 209 can obtain one or more flow curves 227 (and / or volume curves) from the spirometer 100 corresponding to the patient. The flow curves 227 can be generated based on respiratory data captured by the spirometer 100 during the patient's normal breathing period (such as a time range of 10 to 120 seconds or a suitable time period) within a specified time period. It should be understood that other specified time periods can be used to capture the patient's flow curves 227.
[0045] At step 303, the airflow obstruction detection application 209 can perform automated time-series feature extraction. Automated time-series feature extraction can be performed by a neural network (e.g., a convolutional neural network) trained using the flow curve 227. In some instances, power spectrum analysis, regular time-series features, gradient boosting decision trees, and other suitable machine learning methods are used.
[0046] In some instances, automated time series feature extraction is the process of transforming raw data into numerical features that can be efficiently processed by machine learning algorithms while preserving information from the original data. Therefore, automated time series feature extraction can generate more information-rich datasets suitable for classification. After the feature extraction dataset has been generated, it can be passed to the model training phase, where machine learning algorithms can be executed to generate a machine learning model. Machine learning algorithms can be executed to learn patterns and make predictions based on one or more target variables to generate the machine learning model. The machine learning model may include one or more equations or algorithms learned from the feature extraction dataset, and selected parameters (e.g., model parameters, hyperparameters). From step 303, the airflow obstruction detection application 209 can proceed in parallel or sequentially to steps 305 and 306.
[0047] At step 305, the airflow obstruction detection application 209 can perform airflow obstruction diagnosis. As described above, the airflow obstruction detection application 209 can utilize a machine learning algorithm trained using the flow curve 227 to detect or classify the flow curve 227 corresponding to normal breathing or airflow obstruction. In some instances, when airflow obstruction is detected based on the analysis of the flow curve 227, the airflow obstruction detection application 209 can issue an alert to the patient, doctor, or another user. Furthermore, at step 227, the airflow obstruction detection application 209 can seek validation of its classification of the flow curve 227 as normal or airflow obstruction.
[0048] At step 306, the airflow obstruction detection application 209 can monitor the changes in flow curve 227 over time based on the user's history of flow curves corresponding to the patient and stored as user data 217. In one instance, the airflow obstruction detection application 209 can determine whether the user's airflow obstruction is better or worse than the user's historical airflow obstruction. This determination can be made by classifying the degree of obstruction based on the analysis of flow curve 227.
[0049] From step 305 or 306, the process can proceed to step 309, where the neural network or other machine learning model utilized by the airflow obstruction detection application 209 can be further trained based on the flow curve 227 obtained at step 301 and the classification of the flow curve 227 performed at step 303. Once classified by the airflow obstruction detection application 209 and / or verified by a doctor or other user, the flow curve 227 obtained from the patient-associated spirometer 100 can be added to the training flow curve 224 and used to further train the model utilized by the airflow obstruction detection application 209 to improve the model's accuracy in classifying normal breathing patterns and airflow obstruction breathing patterns.
[0050] Next reference Figure 4 The diagram shows a graph illustrating experimental results according to one embodiment of the present disclosure.
[0051] Next reference Figure 5 The flowchart shows an example of the operation of a part of the device application 115. Figure 5 The flowchart only provides examples of many different types of functional arrangements that can be used to implement the depicted portion of device application 115. Alternatively, Figure 5 The flowchart can be viewed as an instance of elements depicting a method implemented within the network environment 200.
[0052] In some instances, the spirometer 100 may store a trained machine learning model from the airflow obstruction detection application 209. The device application 115 may execute or use the trained machine learning model to determine or generate respiratory classifications (e.g., classifications from the patient's flow and / or volume profiles).
[0053] Starting at box 501, the device application 115 can capture respiratory data by inducing measurements of a patient's breathing. The patient can place their mouth over the mouthpiece of the spirometer 100. The patient can breathe into the mouthpiece for a predetermined amount of time. Measurements of breathing can be collected as respiratory data.
[0054] In some instances, device application 115 can identify errors in respiratory data captured from a patient. For example, device application 115 can identify error types at least in part based on respiratory data, and device application 115 can determine recommended patient instructions at least in part based on error types. For example, device application 115 can identify incomplete inspiration errors at least in part based on respiratory data, flow rate curves (and / or volume curves), and / or machine learning models trained to identify errors in respiratory data.
[0055] In response, the device application 115 can display recommended patient instructions in the user interface via the display 109 to fill the patient's lungs with deeper breaths. Other errors that can be identified may include hesitation when blowing into the mouthpiece, a poor initial breathing impact, coughing during testing, and other appropriate errors. Therefore, if an error is detected, the device application 115 can display recommended instructions for correcting the error and prompts for restarting breathing into the mouthpiece to capture additional breathing data.
[0056] In box 504, device application 115 may determine flow rate and / or volume rate curves based at least in part on respiratory data. Respiratory data may include the measured volume of exhaled air that changes over time during a patient's forced breathing. Thus, in some instances, device application 115 may determine the volume of exhaled air that changes over time during a patient's forced breathing. Device application 115 may essentially plot the airflow rate (flow rate) relative to the total volume of exhaled air (volume), which can create a visual representation of the rate at which air is expelled from the lungs. In this instance, the patient may be instructed to take a deep breath and then forcefully exhale as much air as possible into the mouthpiece, while one or more sensors 103 of spirometer 100 measure or record the changing volume and calculate the corresponding flow rate at each time point, producing a characterization curve on a display.
[0057] A flow rate profile (and / or volume profile) is a graphical representation of airflow during a patient's breathing, showing how the airflow rate changes over time during inspiration and expiration. Flow rate profiles can provide a visual depiction of a patient's breathing mechanisms and can be used to identify potential breathing problems.
[0058] In some instances, device application 115 can identify errors in the flow profile (and / or volume profile) determined from the patient. For example, device application 115 can identify the error type at least in part based on the flow profile, and device application 115 can determine recommended patient instructions at least in part based on the error type. For example, device application 115 can identify incomplete inspiration errors at least in part based on respiratory data, flow profiles, and / or machine learning models trained to identify errors in respiratory data.
[0059] In response, the device application 115 can display recommended patient instructions for filling the patient's lungs with deeper breaths. Other errors that can be identified may include hesitation when blowing into the mouthpiece, a poor initial breathing impact, coughing during testing, and other appropriate errors. Therefore, if an error is detected, the device application 115 can display recommended instructions for correcting the error and prompts for restarting breathing into the mouthpiece to capture additional breathing data.
[0060] In box 507, device application 115 can determine a respiratory classification at least in part based on flow rate curves (and / or volume curves). In some instances, device application 115 can execute a trained machine learning model to classify the flow rate curves and / or respiratory data. Therefore, device application 115 can be input with flow rate curves, respiratory data, patient data, and / or other suitable machine learning parameters. The machine learning model can be executed like a software function or executable file. After generating a respiratory classification, the machine learning model can return the respiratory classification to device application 115.
[0061] In box 510, device application 115 can display respiratory classifications to a display 109 associated with the spirometer via a user interface. Furthermore, device application 115 can transfer respiratory classifications and associated data (e.g., respiratory data, flow rate curves, volume curves, etc.) to computing environment 203 (e.g., airflow obstruction detection application 209) for storage in user data 217 (e.g., user profiles, user accounts, etc.). In some instances, airflow obstruction detection application 209 can validate respiratory classifications because it may have a more accurate machine learning model. Device application 115 can then proceed to the end.
[0062] The term "substantially" implies a deviation in descriptive terms that does not negatively impact the intended purpose. Descriptive terms are implicitly understood to be modified by the word "substantially," even if the term is not explicitly modified by the word "substantially."
[0063] The various software components discussed earlier are stored in the memory of the respective computing device and are executable by the processor of the respective computing device. In this regard, the term "executable" means a program file in a form that can ultimately be run by the processor. Instances of executable programs can be compiled programs that can be translated into machine code in a format that can be loaded into the random access portion of memory and run by the processor, source code that can be expressed in a suitable format, such as object code that can be loaded into the random access portion of memory and executed by the processor, or source code that can be interpreted by another executable program to generate instructions in the random access portion of memory that will be executed by the processor. Executable programs can be stored in any part or component of memory, including random access memory (RAM), read-only memory (ROM), hard disk drives, solid-state drives, universal serial bus (USB) flash drives, memory cards, optical discs (such as CDs or DVDs), floppy disks, magnetic tapes, or other storage components.
[0064] Memory includes both volatile and non-volatile memory, as well as data storage components. Volatile components are those that do not retain data values after power is turned off. Non-volatile components are those that retain data after power is turned off. Therefore, memory can include random access memory (RAM), read-only memory (ROM), hard disk drives, solid-state drives, USB flash drives, memory cards accessed via memory card readers, floppy disks accessed via associated floppy disk drives, optical disks accessed via optical disk drives, magnetic tapes accessed via suitable magnetic tape drives, or other memory components, or any combination of two or more of these memory components. Additionally, RAM can include static random access memory (SRAM), dynamic random access memory (DRAM), or magnetic random access memory (MRAM), and other such devices. ROM can include programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or other similar storage devices.
[0065] While the applications and systems described herein can be implemented in software or by code executed by the general-purpose hardware discussed above, alternatively, they can also be implemented in dedicated hardware or a combination of software / general-purpose hardware and dedicated hardware. If implemented in dedicated hardware, each can be implemented as a circuit or state machine employing any one or more of a variety of techniques. These techniques can include, but are not limited to: discrete logic circuits with logic gates for implementing various logical functions upon application of one or more data signals; application-specific integrated circuits (ASICs) with appropriate logic gates; field-programmable gate arrays (FPGAs); embedded boards or other components with embedded processors and microcontrollers, etc. Such techniques are generally well known to those skilled in the art and therefore are not described in detail herein.
[0066] This flowchart illustrates the functionality and operation of partial implementations of various embodiments of this disclosure. If implemented in software, each block may represent a module, code segment, or portion of code comprising program instructions that implement the specified logical function. The program instructions may be embodied in source code or machine code, the source code comprising human-readable statements written in a programming language, and the machine code comprising numerical instructions recognizable by a suitable execution system, such as a processor in a computer system. Machine code can be derived from source code through various processes. For example, machine code can be generated from source code using a compiler before the corresponding application is executed. As another example, machine code can be generated from source code while being executed by an interpreter. Other methods may also be used. If implemented in hardware, each block may represent a circuit or multiple interconnected circuits to implement one or more specified logical functions.
[0067] Although the flowchart illustrates a specific execution order, it should be understood that the execution order may differ from the depicted order. For example, the execution order of two or more blocks may be scrambled relative to the shown order. Furthermore, two or more blocks shown consecutively may execute simultaneously or partially simultaneously. Additionally, in some embodiments, one or more blocks shown in the flowchart may be skipped or omitted. Moreover, any number of counters, state variables, warning signals, or messages may be added to the logic flow described herein for purposes such as enhancing utility, accounting, performance measurement, or providing troubleshooting assistance. It should be understood that all such variations are within the scope of this disclosure.
[0068] Furthermore, any logic or application program including software or code described herein can be embodied in any non-transitory computer-readable medium for use by or in conjunction with an instruction execution system such as a processor in a computer system or other system. In this sense, the logic can include statements comprising instructions and statements that can be obtained from the computer-readable medium and executed by the instruction execution system. In the context of this disclosure, "computer-readable medium" can be any medium that can contain, store, or maintain the logic or application program described herein for use by or in conjunction with an instruction execution system. Furthermore, a collection of distributed computer-readable media located across multiple computing devices (e.g., a storage area network or a distributed or clustered file system or database) can also be collectively referred to as a single non-transitory computer-readable medium.
[0069] Computer-readable media can include any of a variety of physical media, such as magnetic media, optical media, or semiconductor media. More specific examples of suitable computer-readable media include, but are not limited to, magnetic magnetic disks, magnetic hard disks, memory cards, solid-state drives, USB flash drives, or optical discs. Furthermore, computer-readable media can be random access memory (RAM), including static random access memory (SRAM) and dynamic random access memory (DRAM), or magnetic random access memory (MRAM). Additionally, computer-readable media can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or other types of storage devices.
[0070] Furthermore, any logic or application described herein can be implemented and constructed in various ways. For example, one or more applications described herein can be implemented as modules or components of a single application. Additionally, one or more applications described herein can execute in shared or separate computing devices or combinations thereof. For example, multiple applications described herein can execute in the same computing device, or in multiple computing devices within the same computing environment 203.
[0071] Unless otherwise specifically stated, disjunctive language such as the phrase “at least one of X, Y, or Z” is understood in conjunction with the context in which it is used to generally represent items, terms, etc., as X, Y, or Z, or any combination thereof (e.g., X; Y; Z; X or Y; X or Z; Y or Z; X, Y, or Z, etc.). Therefore, such disjunctive language is generally not intended and should not imply that certain implementations require at least one of X, at least one of Y, or at least one of Z to each be present.
[0072] It should be emphasized that the above embodiments of this disclosure are merely possible examples of implementations set forth for the purpose of clearly understanding the principles of this disclosure. Many variations and modifications can be made to the above embodiments without departing substantially from the spirit and principles of this disclosure. All such modifications and variations are intended to be included herein, within the scope of this disclosure, and protected by the appended claims.
[0073] The following terms will describe in detail various embodiments of this disclosure. While some embodiments of this disclosure are described below, other embodiments of this disclosure are also set forth above.
[0074] It should be understood that ratios, concentrations, amounts, and other numerical data may be expressed in range format herein. It should be understood that such range format is used for convenience and brevity, and therefore should be interpreted flexibly to include not only the numerical values explicitly stated as the limits of the range, but also all individual numerical values or subranges covering the range, as if each numerical value and subrange were explicitly stated. For example, a concentration range of “about 0.1% to about 5%” should be interpreted to include not only the explicitly stated concentration of about 0.1% to about 5%, but also the individual concentrations within the indicated range (e.g., 1%, 2%, 3%, and 4%) and subranges (e.g., 0.5%, 1.1%, 2.2%, 3.3%, and 4.4%). The term “about” may include conventional rounding based on the significant figures of the numerical value. Furthermore, the phrase “about 'x' to 'y'” includes “about 'x' to about 'y'”.
[0075] In addition to the foregoing, various embodiments of this disclosure also include, but are not limited to, the embodiments set forth in the following clauses.
[0076] Clause 1 - A system for measuring respiration, the system comprising: a spirometer configured to acquire respiratory data from a patient; at least one computing device executing an application that, when executed, causes the at least one computing device to at least: generate a flow rate curve (and / or volume curve) based on the patient's respiratory data, the flow rate curve comprising a representation of the patient's normal breathing during a specified time period; and classify the flow rate curve as either normal breathing or airflow obstruction breathing based on at least one machine learning model trained using a training dataset.
[0077] Clause 2 - The system according to Clause 1, wherein the training dataset comprises multiple training flow curves, the multiple training flow curves comprising flow curves or volume curves respectively classified as normal breathing or airflow obstruction breathing.
[0078] Clause 3 - A system according to Clause 1 or 2, wherein the application generates an alarm in response to classifying the flow curve as airflow obstruction breathing.
[0079] Clause 4 - A system according to any one of Clauses 1 to 3, wherein the application classifies the traffic curves based at least in part on a machine learning model trained using the training dataset.
[0080] Clause 5 - A system pursuant to any one of Clauses 1 to 4, wherein the machine learning model utilizes a one-dimensional (1D) time series classification task to detect the presence of airflow obstruction.
[0081] Clause 6 - A system according to any one of Clauses 1 to 5, wherein the application further enables the at least one computing device to classify the flow curve as having more or less airflow obstruction than a previous flow curve associated with the patient.
[0082] Clause 7 - A system according to any one of Clauses 1 to 6, wherein the application obtains confirmation that the flow curve is classified as either normal breathing or airflow obstruction breathing.
[0083] Clause 8 - The system described in Clause 7, wherein in response to receiving the confirmation, the application adds the traffic curve with classification to the training dataset.
[0084] Clause 9 - A method comprising: capturing respiratory data from a patient by a sensor of a spirometer; generating a flow rate curve (and / or volume curve) based at least in part on the patient's respiratory data by a computing device of the spirometer, the flow rate curve comprising a characterization of airflow during the patient's breathing over a specified time period; and classifying the flow rate curve as either normal breathing or airflow obstruction breathing by the computing device based on at least one machine learning model trained using a training dataset.
[0085] Item 10 - The method according to Item 9, wherein the training dataset comprises a plurality of training flow curves, the plurality of training flow curves comprising flow curves or volume curves respectively classified as normal breathing or airflow obstruction breathing.
[0086] Clause 11 - The method described in Clause 9 or 10, wherein the application generates an alarm in response to classifying the flow curve as airflow obstruction breathing.
[0087] Clause 12 - The method according to any one of Clauses 9 to 11, wherein the application classifies the traffic curve based at least in part on a machine learning model trained using the training dataset.
[0088] Clause 13 - The method described in Clause 12, wherein the machine learning model utilizes a one-dimensional (1D) time series classification task to detect the presence of airflow obstruction.
[0089] Clause 14 - The method according to Clause 9, wherein the application further enables the at least one computing device to classify the flow curve as having more or less airflow obstruction than a previous flow curve associated with the patient.
[0090] Clause 15 - The method described in Clause 9, wherein the application obtains confirmation that the flow curve is classified as either normal breathing or airflow obstruction breathing.
[0091] Clause 16 - The method according to Clause 15, wherein in response to receiving the confirmation, the application adds the traffic curve with classification to the training dataset.
[0092] Clause 17 - A spirometer comprising: a mouthpiece; a sensor configured to measure the breathing of a patient through the mouthpiece; a computing device including a processor and a memory; and an application program that, when executed by the processor, causes the computing device to at least: capture respiratory data of a patient using the sensor; determine a flow rate profile (and / or volume profile) of the respiratory data, the flow rate profile comprising a characterization of airflow during the patient's breathing over a specified time period; and determine a respiratory classification of the flow rate profile, at least in part, based on a machine learning model, the respiratory classification being normal breathing or airflow obstruction breathing.
[0093] Clause 18 - The spirometer as described in Clause 17, wherein the application, when executed by the processor, causes the computing device to at least: present the respiratory classification in the display of the spirometer.
[0094] Clause 19 - A spirometer as described in Clause 17 or 18, wherein the machine learning model is stored in the memory in a serialized format.
[0095] Clause 20 - A spirometer according to any one of Clauses 17 to 19, wherein the application, when executed by the processor, causes the computing device to generate an alarm at least: at least in part based on the respiratory classification being determined to be the airflow obstruction breathing.
Claims
1. A system for measuring respiration, the system comprising: A spirometer configured to acquire respiratory data from a patient; At least one computing device, the at least one computing device executing an application, the application, when executed, causes the at least one computing device to at least: A flow rate curve is generated based on the patient's respiratory data, the flow rate curve including a characterization of the airflow during the patient's breathing within a specified time period; and Based on at least one machine learning model trained using a training dataset, the flow curve is classified as either normal breathing or airflow obstruction breathing.
2. The system according to claim 1, wherein the training dataset includes multiple training flow curves, the multiple training flow curves including flow curves or volume curves respectively classified as normal breathing or airflow obstruction breathing.
3. The system of claim 1, wherein the application generates an alarm in response to classifying the flow curve as airflow obstruction breathing.
4. The system of claim 1, wherein the application classifies the traffic curves at least in part based on a machine learning model trained using the training dataset.
5. The system of claim 4, wherein the machine learning model utilizes a one-dimensional (1D) time series classification task to detect the presence of airflow obstruction.
6. The system of claim 1, wherein the application further enables the at least one computing device to classify the flow curve as having more or less airflow obstruction than a previous flow curve associated with the patient.
7. The system of claim 1, wherein the application obtains confirmation that the flow curve is classified as either normal breathing or airflow obstruction breathing.
8. The system of claim 7, wherein in response to receiving the confirmation, the application adds the traffic curve with classification to the training dataset.
9. A method, the method comprising: Breathing data from the patient is captured by the sensor in the spirometer; The spirometer's computing device generates a flow curve based at least in part on the patient's respiratory data, the flow curve comprising a characterization of airflow during the patient's breathing over a specified time period; as well as The computing device classifies the flow curve into either normal breathing or airflow obstruction breathing based on at least one machine learning model trained using a training dataset.
10. The method of claim 9, wherein the training dataset comprises a plurality of training flow curves, the plurality of training flow curves comprising flow curves or volume curves respectively classified as normal breathing or airflow obstruction breathing.
11. The method of claim 9, wherein the application generates an alarm in response to classifying the flow curve as airflow obstruction breathing.
12. The method of claim 9, wherein the application classifies the traffic curve based at least in part on a machine learning model trained using the training dataset.
13. The method of claim 12, wherein the machine learning model utilizes a one-dimensional (1D) time series classification task to detect the presence of airflow obstruction.
14. The method of claim 9, wherein the application further causes the at least one computing device to classify the flow curve as having more or less airflow obstruction than a previous flow curve associated with the patient.
15. The method of claim 9, wherein the application obtains confirmation that the flow curve is classified as either normal breathing or airflow obstruction breathing.
16. The method of claim 15, wherein in response to receiving the confirmation, the application adds the traffic curve with classification to the training dataset.
17. A spirometer, the spirometer comprising: A sensor configured to measure the breathing of a patient through a mouthpiece; A computing device, the computing device including a processor and memory; An application, when executed by the processor, causes the computing device to at least: The sensor is used to capture the patient's respiratory data; Determine the flow rate profile of the respiratory data, the flow rate profile comprising a characterization of airflow during the patient's breathing within a specified time period; and The breathing classification of the flow curve is determined, at least in part, based on a machine learning model, and the breathing classification is either normal breathing or airflow obstruction breathing.
18. The spirometer of claim 17, wherein the application, when executed by the processor, causes the computing device to at least: The respiratory classification is displayed on the spirometer's screen.
19. The spirometer of claim 17, wherein the machine learning model is stored in the memory in a serialized format.
20. The spirometer of claim 17, wherein the application, when executed by the processor, causes the computing device to at least: An alarm is generated, at least in part, based on the respiratory classification, which determines the breathing as airflow obstruction.