Detecting airflow obstruction utilizing a machine learning model
A spirometer system with a machine learning model analyzes breathing patterns to detect airflow obstruction, addressing the challenges of patient difficulty and professional assistance in spirometry, enabling convenient and accurate home diagnosis.
Patent Information
- Application Number
- PCT/US2025/012862
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-01-24
- Filing Date
- 2025-01-24
- Publication Date
- 2025-07-31
AI Technical Summary
Spirometry tests for detecting airflow obstruction are difficult for patients with respiratory diseases and require significant coaching or assistance from medical professionals, making them time-consuming and impractical for home use.
A spirometer system utilizing a machine learning model to analyze flow and volume curves from regular breathing patterns over a specified time period, classifying them as normal or airflow obstructed, without real-time coaching or supervision.
Enables efficient and accurate detection of airflow obstruction, facilitating home-based diagnosis of conditions like COPD, reducing the need for professional assistance and improving patient convenience.
Smart Images

Figure US2025012862_31072025_PF_FP_ABST
Abstract
Description
DETECTING AIRFLOW OBSTRUCTION UTILIZING A MACHINE LEARNING MODELCROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of and priority to U.S. Provisional Application No. 63 / 624,562, entitled “Detecting Airflow Obstruction Utilizing a Machine Learning Model, and filed on 1 / 24 / 2024, which is hereby incorporated herein by reference in its entirety.BACKGROUND
[0002] Airflow obstruction is detected using spirometry. In general, patients are instructed to forcefully breathe out after a maximal inhalation into a spirometer tube as hard as they can and for as long as they can. Multiple efforts are needed to ensure that the efforts were consistently maximal. Performing spirometry with forced exhalation maneuver is quite difficult for patients with respiratory diseases and is timeconsuming. Additionally, spirometry tests are typically not performed by the patient at home because a successful test often requires a significant amount of coaching or assistance from a medical professional.SUMMARY
[0003] Embodiments of the present disclosure are related to detection of airflow obstruction in patients with the use of spirometry and without assistance by a doctor or other medical professionals. According to one embodiment, among others, a system for measuring respiration is provided comprising a spirometer configured to obtain regular breathing data from a patient; at least one computing device executing an application, the application, when executed, causing the at least one computing device to at least: generate a flow curve and volume curve based upon breathing dataof the patient. The flow curve and volume curve comprises a characterization of air flow during breathing of the patient over a specified time period. The flow curve and / or the volume curves can be classified as one of normal breathing or airflow obstructed breathing based upon at least one machine learning model trained using a training data set.
[0004] In some aspects, the training data set comprises a plurality of training flow curves and volume curves. The plurality of training flow curves and volume curves are respectively classified as normal breathing and / or airflow obstructed breathing. The training flow curves and volume curves are a time series of flow and volume data. The application can generate an alert in response to classifying the flow and / or volume curve at airflow obstructed breathing.
[0005] In some aspects, the application classifies the flow curve and / or volume curve based at least in part upon a machine learning model that is trained using the training data set. Both flow curves and / or volume curves can be used to classify normal breathing and air-obstruction breathing. The training flow curves and volume curves are a time series of flow and volume data. The machine learning model utilizes one-dimensional (1 D) time series classification tasks to detect the presence of airflow obstruction. The application can further cause the at least one computing device to classify the flow curve as more airflow obstructed or less airflow obstructed than a previous flow curve and / or previous volume curve associated with the patient. In some examples, the machine learning model uses multi-dimensional time series classification tasks when flow and volume curves are used as input. Feature extraction process can compute various features from each of these sequences to train or build a classifier.
[0006] According to one embodiment, among others, a method is provided comprising the steps of capturing, by a sensor of a spirometer, breathing data from a patient; generating, by a computing device of the spirometer, a flow curve and / or volume curve based at least in part on the breathing data of the patient. The flow curve and / or volume curve comprise a characterization of air flow during breathing of the patient over a specified time period. The flow curve and / or volume curve can be classified as one of normal breathing or airflow obstructed breathing based upon at least one machine learning model trained using a training data set.
[0007] In some aspects, the training data set comprises a plurality of training flow curves and / or volume curves. The training flow curves and / or volume curves are respectively classified as normal breathing or airflow obstructed breathing.
[0008] In some aspects, the application generates an alert in response to classifying the flow curve and / or volume curve at airflow obstructed breathing. The application classifies the flow curve and / or volume curve based at least in part upon a machine learning model that is trained using the training data set. The machine learning model utilizes one-dimensional (1 D) time series classification tasks to detect the presence of airflow obstruction. In some examples, the machine learning model uses multidimensional time series classification tasks when flow and volume curves are used as input. Feature extraction process can compute various features from each of these sequences to train or build a classifier.
[0009] In some aspects, the application further causes the at least one computing device to classify the flow curve and / or volume curve as more airflow obstructed or less airflow obstructed than a previous flow curve and / or volume curve associated with the patient.
[0010] In some aspects, the method involves the application obtaining a confirmation of a classification of the flow curve and / or volume curve as one of normal breathing or airflow obstructed breathing. In response to obtaining the confirmation, the application adds the flow curve and / or volume curve with the classification to the training data set.
[0011] According to one embodiment, among others, a spirometer is provided comprising a sensor configured to measure a respiration of a patient breathing through a mouthpiece; a computing device comprising a processor and memory; an application, when executed by the processor, causes the computing device to at least capture breathing data of a patient using the sensor; determine a flow curve and / or a volume curve of the regular breathing data. The flow curve and / or volume curve comprise a characterization of air flow during breathing of the patient over a specified time period; and determine a breathing classification for the flow curve and / or volume curve based at least in part on a machine learning model, the breathing classification being a normal breathing or airflow obstructed breathing.
[0012] In some aspects, the application, when executed by the processor, causes the computing device to at least: render the breathing classification in a display of the spirometer. The machine learning model can be stored in the memory in a serialized format.
[0013] Other systems, methods, features, and advantages of the present disclosure will be or become apparent to one with skill in the art upon examination of the following drawings and detailed description. It is intended that all such additional systems, methods, features, and advantages be included within this description, be within the scope of the present disclosure, and be protected by the accompanying claims.
[0014] In addition, all optional and preferred features and modifications of the described embodiments are usable in all aspects of the disclosure taught herein. Furthermore, the individual features of the dependent claims, as well as all optional and preferred features and modifications of the described embodiments are combinable and interchangeable with one another.BRIEF DESCRIPTION OF THE DRAWINGS
[0015] Many aspects of the present disclosure can be better understood with reference to the following drawings. The components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. Moreover, in the drawings, reference numerals designate corresponding parts throughout the several views.
[0016] FIG. 1 illustrates an example of flow curves in accordance with various embodiments of the present disclosure.
[0017] FIG. 2 illustrates an example networked environment in accordance with various embodiments of the present disclosure.
[0018] FIG. 3 is a flowchart illustrating an example of a method according to examples of the present disclosure.
[0019] FIG. 4 is a confusion matrix illustrating one example of experimental results according to examples of the present disclosure.DETAILED DESCRIPTION
[0020] Disclosed herein are various examples related to detection of airflow obstruction in patients without the use of spirometry assisted by a doctor or professional. Airflow obstruction can be detected to facilitate diagnoses of chronicobstructive pulmonary disease (COPD) and other respiratory conditions that can be detected based upon an analysis of a patient’s breathing. One standard for diagnosing COPD is the demonstration of a low ratio of the forced expiratory volume in 1 second to the forced vital capacity (FEVi / FVC), defined using the lower limit of normal (LLN), which is the 5th percentile of a normal population.
[0021] Examples of the disclosure involve a method for quantifying lung disease such as COPD based upon an analysis of a specific time of period of tidal or regular breathing of the patient. In some examples, the specific time of period can be in a range from 10 to 120 seconds. The analysis of the patient’s breathing can be based upon an analysis of regular breaths from a particular time period, such as a from 10 to 120 seconds time period or other suitable time periods. The underlying premise is that even on regular breathing, individuals with airflow obstruction can have differences in their breathing patterns in the expiratory phase such that they can be differentiated from normal controls.
[0022] FIG. 1 illustrates example flow curves and volume curves that can be recorded by a device according to examples of the disclosure. The illustrative flow curves can be captured by asking a patient to breathe regularly into a spirometer device for a period of time such as 10-120 seconds or other suitable time periods. The flow curves and / or volume curves can be analyzed by a machine learning process. In one example, a logistic regression analysis can be utilized to identify flow curves and / or volume curve that are indicative of an airflow obstruction in the patient. In other examples, boosting, regression analysis, a support vector machine algorithm, gradient boosting decision trees, 1 D convolutional neural networks, transformer-based architecture, or any other machine learning analysis can be utilized to identify airflow obstruction in the patient. In the illustration, flow curves and / or volume curves that aremarked red can be identified by examples of the disclosure as indicative of airflow obstruction and potentially indicative of COPD. Flow curves and / or volume curves that are marked green can be identified as normal breathing patterns, or breathing patterns that are not indicative of COPD. In some examples, the machine learning process can flag uncertain flow curves and / or volume curves for follow-up by a doctor or other medical professional.
[0023] The sample flow curves and / or volume curves recorded and shown in FIG.1 illustrate breathing patterns for 16 participants. All values of lower limit of normal (LLN) are be adjusted for age, sex, race, and height. On these flow recordings, a machine learning process can utilize one-dimensional (1 D) time series classification tasks to detect the presence of airflow obstruction. In some examples, the machine learning model uses multidimensional time series classification tasks when flow and volume curves are used as input. Feature extraction process can compute various features from each of these sequences to train or build a classifier. In other examples, a two-dimensional plot of flow or volume vs time can be utilized as an input into the machine learning process. The machine learning process can be trained on data sets that include airflow-obstructed flow curves (and / or volume curves) and normal breathing flow curves (and / or volume curves). By utilizing a machine learning process that is based upon an analysis of a patient’s normal breathing for a period of time, airflow obstruction can be efficiently detected without requiring the patient to be coached or monitored in real-time by a doctor or medical professional while using the spirometer. Instead, the patient can utilize the spirometer without doctor supervision and provide a breathing sample (e.g., a breathing sample in a range from 10-120 seconds).
[0024] Referring next to FIG. 2, shown is an example implementation according to embodiments of the disclosure. In FIG. 2, shown is a network environment 200 according to various embodiments. The network environment 200 can include a computing environment 203, and a spirometer 100, which can be in data communication with each other via a network 206.
[0025] The network 206 can include wide area networks (WANs), local area networks (LANs), personal area networks (PANs), or a combination thereof. These networks can include wired or wireless components or a combination thereof. Wired networks can include Ethernet networks, cable networks, fiber optic networks, and telephone networks such as dial-up, digital subscriber line (DSL), and integrated services digital network (ISDN) networks. Wireless networks can include cellular networks, satellite networks, Institute of Electrical and Electronic Engineers (IEEE) 802.11 wireless networks ( / .e., WI-FI®), BLUETOOTH® networks, microwave transmission networks, as well as other networks relying on radio broadcasts. The network 206 can also include a combination of two or more networks 206. Examples of networks 206 can include the Internet, intranets, extranets, virtual private networks (VPNs), and similar networks.
[0019] The spirometer 100 can comprise a device that measures the volume of air inspired and expired by a patient’s lungs. The spirometer 100 can obtain breathing data from a patient over a period of time, such as for 10-120 seconds, two or more minutes, and provide a flow pattern characterizing the breathing of the patent over a specified period of time. The breathing data can comprise flow or volume air inspired and expired by the patient over a time period. The spirometer 100 can include a mouthpiece, a sensor 103, a controller 106, a display 109, a network interface 112, and other suitable components. The mouthpiece can be an apparatus location for thepatient to position their around . The mouthpiece can receive an inhale or exhale of breath from the patient. The sensor 103 can represent one or more sensors that are used to measure respiratory parameters for a patient breathing into the apparatus. For example, the sensor 103 can include a flow sensor, a pressure sensor, and other suitable sensors. For instance, a pressure sensor (e.g., a differential pressure sensor) can be used to convert an airflow across a restriction into an electrical signal (e.g., an analog signal, a digital signal, etc.).
[0020] The controller 106 can represent a computing device, a processor, a microcontroller, and other suitable processing devices. The controller 106 can be used to execute one or more applications for controlling the operations of the spirometer 100, such as initiating the measurement user data (e.g., patient data), communicating with the computing environment 203, determining air flow obstruction diagnoses, displaying data (e.g., air flow obstruction diagnoses, instructions for improved measurements, etc ), and other suitable functionality.
[0021] The display 109 such as liquid crystal displays (LCDs), gas plasma-based flat panel displays, organic light emitting diode (OLED) displays, electrophoretic ink (“E-ink”) displays, foldable OLED displays, or other types of display devices. In some instances, the display 109 can be a component of the spirometer 100 or can be connected to the spirometer 100 through a wired or wireless connection.
[0022] The network interface 112 can enable the spirometer 100 provide the flow pattern via the network 206 to the computing environment 203 for airflow obstruction analysis as is described herein. The network interface 112 can be data communication transceiver that communicates according to one or more wired or wireless communication protocols. In some implementations, the spirometer 100 can be connected to a computing device so that an application executed by the computingdevice can provide a flow pattern of a patient to the computing environment 203 via the network 206.
[0023] The spirometer 100 can be configured to execute various applications such as a device application 115 or other applications. The device application 115 can be executed in the spirometer 100 to access network content served up by the computing environment 203 or other servers, thereby rendering a user interface on the display 109. To this end, the device application 1 15 can include a browser, a dedicated application, or other executable, and the user interface can include a network page, an application screen, or other user mechanism for obtaining user input. The spirometer 100 can be configured to execute applications beyond the device application 115 such as browser applications, social networking applications, health- related applications, or other applications.
[0024] The computing environment 203 can include one or more computing devices that include a processor, a memory, and / or a network interface. For example, the computing devices can be configured to perform computations on behalf of other computing devices or applications. As another example, such computing devices can host and / or provide content to other computing devices in response to requests for content. As another example, such computing devices can be a central computing device installed within a vehicle. Moreover, the computing environment 203 can employ a plurality of computing devices that can be arranged in one or more server banks or computer banks or other arrangements. Such computing devices can be located in a single installation or can be distributed among many different geographical locations. For example, the computing environment 203 can include a plurality of computing devices that together can include a hosted computing resource, a grid computing resource or any other distributed computing arrangement. In some cases,the computing environment 203 can correspond to an elastic computing resource where the allotted capacity of processing, network, storage, or other computing-related resources can vary over time.
[0025] Various applications or otherfunctionality can be executed in the computing environment 203. The components executed on the computing environment 203 include an airflow obstruction detection application 209, and other applications, services, processes, systems, engines, or functionality not discussed in detail herein.
[0026] 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 of a patient based upon an 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 that is trained using a training dataset comprising training flow patterns from healthy patients and patients with airflow obstruction.
[0027] Upon detecting a possible airflow obstruction based upon an analysis of flow curves and / or volume curves associated with a patient’s breathing, the airflow obstruction detection application 209 can alert the patient, a doctor, or other medical professionals. The patient can be referred for further analysis or treatment for the possible airflow obstruction.
[0028] In one example, the airflow obstruction detection application 209 can preprocess breathing data from the spirometer 100 to generate flow curves and / or volume curves for analysis. In one example, the airflow obstruction detection application 209 can obtain breathing data from the spirometer 100 of a patient and utilize flow-time information to recreate the curves for analyses. The original flow signal can be detrended and scaled. A straight line can be fitted to the original signal (to finda drift) and subtracted from it (to detrend it). Then the mean of the signal can be subtracted, and the result is divided by the range of recorded values (max-min). Other preprocessing pipelines can also be utilized to obtain and process breathing data from a spirometer 100 associated with a patient to generate flow curves and / or volume curves characterizing the breathing data.
[0029] The airflow obstruction detection application 209 can utilize a machine learning process that employs one-dimensional (1 D) time series classification tasks to detect the presence of airflow obstruction. The machine learning process can be trained on data sets that include airflow-obstructed flow curves (and / or volume curves) and normal breathing flow curves (and / or volume curves). For example, a convolutional neural network (CNN) or a transformer can be generated and utilized by the airflow obstruction detection application 209 to classify flow curves and / or volume curves obtained from a spirometer 100 as obstructed or normal. The neural network can be trained using a training data set as described herein.
[0030] Various data are stored in a data store 212 that is accessible to the computing environment 203. The data store 212 can be representative of a plurality of data stores 212, which can include relational databases or non-relational databases such as object-oriented databases, hierarchical databases, hash tables, or similar keyvalue data stores, as well as other data storage applications or data structures. Moreover, combinations of these databases, data storage applications, and / or data structures may be used together to provide a single, logical, data store. The data stored in the data store 212 is associated with the operation of the various applications or functional entities described below. This data can include training data 215, user data 217, and potentially other data.
[0031] The training data 215 represents data with which a machine learning process utilized by the airflow obstruction detection application 209 can be trained. The training data 215 can comprise training flow curves 224 (and / or volume curves) that represent prior flow curves (and / or volume curves) btained from other patients. The training flow curves 224 can be anonymized and tagged as obstructed or normal. With a sufficiently large set of training data 215, the airflow obstruction detection application 209 can be trained to identify normal and obstructed flow curves.
[0032] The data store 212 can also comprise user data 217. User data 217 can represent data obtained from a spirometer 100 for analysis by the airflow obstruction detection application 209. In one example, the user data 217 can comprise flow curves 227 (and / or volume curves). The flow curves 227 can be generated by the airflow obstruction detection application 209 according to a pre-processing pipeline as described above. The flow curves 227 can be generated from the breathing data obtained from one or more spirometers 100. In some examples, the spirometer 100 can pre-process breathing data from the patient to generate flow curves 227 for analysis by the airflow obstruction detection application 209.
[0033] In some implementations, once a training flow curve 224 (and / or volume curve) is obtained and stored in the data store 212 as user data 217, the airflow obstruction detection application 209 can store a particular flow curve 227 (and / or volume curve) as a training flow curve 224 to further train and refine the neural network or other machine learning algorithm that identifies normal or airflow obstructed training flow curves 224. In one example, before a flow curve is stored as a training flow curve, the characterization of the particular flow curve 227 can be confirmed by a doctor or other user before being used as a training flow curve 224.
[0026] The airflow obstruction detection application 209 can also store the training flow curves 224 (and / or volume curves) of a user for disease monitoring and disease progression tracking purposes. For example, the airflow obstruction detection application 209 can analyze a particular flow curve 224 relative to a previously obtained flow curve 224 of a user already identified as having an airflow obstruction to provide an indication of how the airflow obstruction is improving or worsening.
[0027] Referring next to FIG. 3, shown is a flowchart illustrating an example of how the airflow obstruction detection application 209 can operate according to various examples of the disclosure. The flowchart of FIG. 3 can illustrate a method according to one example of the disclosure.
[0028] First, at step 301 , the airflow obstruction detection application 209 can obtain one or more flow curves 227 (and / or volume curves) from a spirometer 100 corresponding to a patient. The flow curves 227 can be generated based upon breathing data captured by the spirometer 100 during normal breathing of the patient for a specified time period, such as time period range of 10-120 seconds or suitable time periods. It should be appreciated that other specified time periods can be utilized to capture flow curves 227 of a patient.
[0029] At step 303, the airflow obstruction detection application 209 can perform automated time series feature extraction. The automated time series feature extraction can be performed by a neural network (e.g., convolutional neural network) that is trained using flow curves 227. In some examples, the power spectrum, regular time series features, gradient boosting decision trees, and other suitable machine learning methods.
[0030] In some examples, the automated time series feature extraction is a process of transforming raw data into numerical features which can be efficientlyprocessed by a machine learning algorithm and while preserving the information in the raw data. Thus, the automated time series feature extract can generate a more informative dataset that can be used for classification. After the feature extract dataset has been generated, the feature extract dataset can be passed on to a model training stage wherein a machine learning algorithm can be executed to generate a machine learning model. The machine learning algorithm can be executed to learn patterns and make predictions based on one or more targeted variables for the generation of the machine learning model. The machine learning model can include one or more equations or algorithms learned from the feature extract dataset, selected parameters (e.g., model parameters, hyperparameters). From step 303, the airflow obstruction detection application 209 can proceed in parallel or in series to steps 305 and 306.
[0031] At step 305, the airflow obstruction detection application 209 can perform airflow obstruction diagnosis. As noted above the airflow obstruction detection application 209 can utilize a machine learning algorithm that is trained using flow curves 227 to detect or classify a flow curve 227 corresponding to normal breathing or airflow obstructed. In some examples, upon detecting an airflow obstruction based upon an analysis of the flow curve 227, the airflow obstruction detection application 209 can alert the patient, doctor, or another user. Additionally, at step 227, the airflow obstruction detection application 209 can seek validation of its classification of the flow curve 227 as normal or airflow obstructed.
[0032] At step 306, the airflow obstruction detection application 209 can perform monitoring of changes in the flow curve 227 over time based upon a user history of flow curves corresponding to the patient and stored as user data 217. In one example, the airflow obstruction detection application 209 can determine whether an airflow obstruction of the user is better or worse than a historical airflow obstruction of theuser. The determination can be made by classifying a degree of the obstruction based upon the analysis of the flow curve 227.
[0033] From steps 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 upon the flow curve 227 obtained at step 301 and classification of the flow curve 227 performed at step 303. The flow curves 227 obtained from spirometers 100 associated with patients, once classified by the airflow obstruction detection application 209 and / or verified by a doctor or other user, can be added to training flow curves 224 and used to further train the model utilized by the airflow obstruction detection application 209 to improve the accuracy of the model in classifying normal breathing patterns and airflow obstructed breathing patterns.
[0034] Referring next to FIG. 4, shown is a chart illustrating experimental results according to one embodiment of the disclosure.
[0035] Referring next to FIG. 5, shown is a flowchart that provides one example of the operation of a portion of the device application 115. The flowchart of FIG. 5 provides merely an example of the many different types of functional arrangements that can be employed to implement the operation of the depicted portion of the device application 115. As an alternative, the flowchart of FIG. 5 can be viewed as depicting an example of elements of a method implemented within the network environment 200.
[0036] In some examples, the spirometer 100 can be store a trained machine learning model from the Airflow Obstruction Detection application 209. The device application 115 can execute or use the trained machine learning model to determineor generate breathing classification (e.g. , a classification of a flow curve and / or volume curve from the patient).
[0037] Beginning with block 501 , the device application 1 15 can capture breathing data by cause the measuring of a breath of a patient. The patient can have their mouth on the mouthpiece of the spirometer 100. The patient can beath into the mouthpiece for a predetermined amount of time. The measurements of the breathing can be captured as breathing data.
[0038] In some examples, the device application 115 can identify an error with the breathing data captured from the patients. For example, the device application 115 can identify an error type based at least in part on the breathing data and device application 115 can determine a recommended patient instruction based at least in part on the error type. For example, the device application 115 can identify an error with incomplete inhalation based at least in part on the breathing data, a flow curve (and / or volume curve), and / or a machine learning model trained to identify error with breathing data.
[0039] In response, the device application 115 can display a recommended patient instruction for filling the patient’s lungs by taking a deeper breath in a user interface via a display 109. Other errors that can be identified can include a hesitation in blowing into the mouthpiece, a poor initial breathing blast, a cough during testing, and other suitable errors. As such, if an error is detected, the device application 115 can display a recommended instruction for fixing the error and a prompt to initiate breathing again into the mouthpiece for capturing additional breathing data.
[0040] In block 504, the device application 115 can determine a flow curve and / or volume curves based at least in part on the breathing data. The breathing data can comprise the measured volume of air the patient exhales over time during a forcedbreath. As a result, in some examples, the device application 1 15 can by measuring the volume of air the patient exhales over time during the forced breath. The device application 115 can essentially plot the rate of airflow (flow) against the total volume of air exhaled (volume), which can create a visual representation of how quickly air is expelled from the lungs. In this example, the patient can be instructed to take a deep breath in and then forcefully exhale as much air as possible into the mouthpiece, while one or more sensors 103 of the spirometer 100 measures or records the changing volume and calculates the corresponding flow rate at each point in time, producing a characteristic curve on a display.
[0041] The flow curve (and / or a volume curve) can be a graphical representation of the airflow during a breath of a patient, showing how the rate of air flow changes over time during inhalation and exhalation. The flow curve can provide a visual depiction of the patient's breathing mechanics and can be used to identify potential respiratory issues.
[0042] In some examples, the device application 115 can identify an error with the flow curve (and / or volume curve) determine from the patient. For example, the device application 115 can identify an error type based at least in part on the flow curve and device application 115 can determine a recommended patient instruction based at least in part on the error type. For example, the device application 115 can identify an error with incomplete inhalation based at least in part on the breathing data, a flow curve, and / or a machine learning model trained to identify error with breathing data.
[0043] In response, the device application 115 can display a recommended patient instruction for filling the patient’s lungs by taking a deeper breath. Other errors that can be identified can include a hesitation in blowing into the mouthpiece, a poor initial breathing blast, a cough during testing, and other suitable errors. As such, if an erroris detected, the device application 115 can display a recommended instruction for fixing the error and a prompt to initiate breathing again into the mouthpiece for capturing additional breathing data.
[0044] In block 507, the device application 115 can determine a breathing classification based at least in part on the flow curve (and / or volume curve) . In some examples, the device application 115 can execute a trained machine learning model for classifying flow curves and / or breathing data. As such, the device application 115 can input the flow curve, breathing data, patient data, and / or other suitable machine learning parameters. The machining learning model can be executed like a software function or an executable file. After generating the breathing classification, the machine learning model can return the breathing classification to the device application 1 15.
[0045] In block 510, the device application 1 15 can display the breathing classification to a display 109 associated with the spirometer via a user interface. Additionally, the device application 115 can transmit the breathing classification and associated data (e.g., breathing data, flow curves, volume curves, etc.) to the computing environment 203 (e.g., air flow obstruction detection application 209) for storage in the user data 217 (e.g., a user profile, a user account, etc.). In some examples, the air flow obstruction detection application 209 can verify the breathing classification because the air flow obstruction detection application 209 may have more accurate machine learning models. Then, the device application 115 can proceed to the end.
[0046] The term "substantially" is meant to permit deviations from the descriptive term that don't negatively impact the intended purpose. Descriptive terms are implicitlyunderstood to be modified by the word substantially, even if the term is not explicitly modified by the word substantially.
[0047] A number of software components previously discussed are stored in the memory of the respective computing devices and are executable by the processor of the respective computing devices. In this respect, the term "executable" means a program file that is in a form that can ultimately be run by the processor. Examples of executable programs can be a compiled program that can be translated into machine code in a format that can be loaded into a random-access portion of the memory and run by the processor, source code that can be expressed in proper format such as object code that is capable of being loaded into a random-access portion of the memory and executed by the processor, or source code that can be interpreted by another executable program to generate instructions in a random-access portion of the memory to be executed by the processor. An executable program can be stored in any portion or component of the memory, including random-access memory (RAM), read-only memory (ROM), hard drive, solid-state drive, Universal Serial Bus (USB) flash drive, memory card, optical disc such as compact disc (CD) or digital versatile disc (DVD), floppy disk, magnetic tape, or other memory components.
[0048] The memory includes both volatile and nonvolatile memory and data storage components. Volatile components are those that do not retain data values upon loss of power. Nonvolatile components are those that retain data upon a loss of power. Thus, the memory can include random-access memory (RAM), read-only memory (ROM), hard disk drives, solid-state drives, USB flash drives, memory cards accessed via a memory card reader, floppy disks accessed via an associated floppy disk drive, optical discs accessed via an optical disc drive, magnetic tapes accessed via an appropriate tape drive, or other memory components, or a combination of anytwo or more of these memory components. In addition, the RAM can include static random-access memory (SRAM), dynamic random-access memory (DRAM), or magnetic random-access memory (MRAM) and other such devices. The ROM can include a programmable read-only memory (PROM), an erasable programmable readonly memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or other like memory device.
[0049] Although the applications and systems described herein can be embodied in software or code executed by general purpose hardware as discussed above, as an alternative the same can also be embodied in dedicated hardware or a combination of software / general purpose hardware and dedicated hardware. If embodied in dedicated hardware, each can be implemented as a circuit or state machine that employs any one of ora combination of a number of technologies. These technologies can include, but are not limited to, discrete logic circuits having logic gates for implementing various logic functions upon an application of one or more data signals, application specific integrated circuits (ASICs) having appropriate logic gates, field- programmable gate arrays (FPGAs), embedded boards with embedded processors of microcontrollers, or other components, etc. Such technologies are generally well known by those skilled in the art and, consequently, are not described in detail herein.
[0050] The flowchart shows the functionality and operation of an implementation of portions of the various embodiments of the present disclosure. If embodied in software, each block can represent a module, segment, or portion of code that includes program instructions to implement the specified logical function(s). The program instructions can be embodied in the form of source code that includes human- readable statements written in a programming language or machine code that includes numerical instructions recognizable by a suitable execution system such as aprocessor in a computer system. The machine code can be converted from the source code through various processes. For example, the machine code can be generated from the source code with a compiler prior to execution of the corresponding application. As another example, the machine code can be generated from the source code concurrently with execution with an interpreter. Other approaches can also be used. If embodied in hardware, each block can represent a circuit or a number of interconnected circuits to implement the specified logical function or functions.
[0051] Although the flowchart shows a specific order of execution, it is understood that the order of execution can differ from that which is depicted. For example, the order of execution of two or more blocks can be scrambled relative to the order shown. Also, two or more blocks shown in succession can be executed concurrently or with partial concurrence. Further, in some embodiments, one or more of the blocks shown in the flowchart can be skipped or omitted. In addition, any number of counters, state variables, warning semaphores, or messages might be added to the logical flow described herein, for purposes of enhanced utility, accounting, performance measurement, or providing troubleshooting aids, etc. It is understood that all such variations are within the scope of the present disclosure.
[0052] Also, any logic or application described herein that includes software or code can be embodied in any non-transitory computer-readable medium for use by or in connection with an instruction execution system such as a processor in a computer system or other system. In this sense, the logic can include statements including instructions and declarations that can be fetched from the computer-readable medium and executed by the instruction execution system. In the context of the present disclosure, a "computer-readable medium" can be any medium that can contain, store, or maintain the logic or application described herein for use by or in connection withthe instruction execution system. Moreover, a collection of distributed computer- readable media located across a plurality of computing devices (e.g., storage area networks or distributed or clustered filesystems or databases) may also be collectively considered as a single non-transitory computer-readable medium.
[0053] The computer-readable medium can include any one of many physical media such as magnetic, optical, or semiconductor media. More specific examples of a suitable computer-readable medium would include, but are not limited to, magnetic tapes, magnetic floppy diskettes, magnetic hard drives, memory cards, solid-state drives, USB flash drives, or optical discs. Also, the computer-readable medium can be a random-access memory (RAM) including static random-access memory (SRAM) and dynamic random-access memory (DRAM), or magnetic random-access memory (MRAM). In addition, the computer-readable medium can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or other type of memory device.
[0054] Further, any logic or application described herein can be implemented and structured in a variety of ways. For example, one or more applications described can be implemented as modules or components of a single application. Further, one or more applications described herein can be executed in shared or separate computing devices or a combination thereof. For example, a plurality of the applications described herein can execute in the same computing device, or in multiple computing devices in the same computing environment 203.
[0055] Disjunctive language such as the phrase “at least one of X, Y, orZ,” unless specifically stated otherwise, is understood with the context as used in general to present that an item, term, etc., can be either 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.). Thus, such disjunctive language is not generally intended to, and should not, imply that certain embodiments require at least one of X, at least one of Y, or at least one of Z to each be present.
[0056] It should be emphasized that the above-described embodiments of the present disclosure are merely possible examples of implementations set forth for a clear understanding of the principles of the disclosure. Many variations and modifications can be made to the above-described embodiments without departing substantially from the spirit and principles of the disclosure. All such modifications and variations are intended to be included herein within the scope of this disclosure and protected by the following claims.
[0057] Various embodiments of the present disclosure are described in the following clauses. Although the following clauses describe some embodiments of the present disclosure, other embodiments of the present disclosure are also set forth above.
[0058] It should be noted that ratios, concentrations, amounts, and other numerical data may be expressed herein in a range format. It is to be understood that such a range format is used for convenience and brevity, and thus, should be interpreted in a flexible manner to include not only the numerical values explicitly recited as the limits of the range, but also to include all the individual numerical values or sub-ranges encompassed within that range as if each numerical value and sub-range is explicitly recited. To illustrate, a concentration range of “about 0.1 % to about 5%” should be interpreted to include not only the explicitly recited concentration of about 0.1 % to about 5 %, but also include individual concentrations (e.g., 1 %, 2%, 3%, and 4%) and the sub-ranges (e.g., 0.5%, 1.1 %, 2.2%, 3.3%, and 4.4%) within the indicated range. The term “about” can include traditional rounding according to significant figures ofnumerical values. In addition, the phrase “about ‘x’ to ‘y’” includes “about ‘x’ to about .y,„
[0059] In addition to the forgoing, the various embodiments of the present disclosure include, but are not limited to, the embodiments set forth in the following clauses.
[0060] Clause 1 - A system for measuring respiration, comprising: a spirometer configured to obtain breathing data from a patient; at least one computing device executing an application, the application, when executed, causing the at least one computing device to at least: generate a flow curve (and / or a volume curve) based upon breathing data of the patient, the flow curve comprising a characterization of the normal breathing of the patient over a specified time period; and classify the flow curve as one of normal breathing or airflow obstructed breathing based upon at least one machine learning model trained using a training data set.
[0061] Clause 2 - The system of clause 1 , wherein the training data set comprises a plurality of training flow curves, the plurality of training flow curves comprising flow or volume curves that are respectively classified as normal breathing or airflow obstructed breathing.
[0062] Clause 3 - The system of clause 1 or 2, wherein the application generates an alert in response to classifying the flow curve at airflow obstructed breathing.
[0063] Clause 4 - The system of any of clauses 1-3, wherein the application classifies the flow curve based at least in part upon a machine learning model that is trained using the training data set.
[0064] Clause 5 - The system of any of clauses 1-4, wherein the machine learning model utilizes one-dimensional (1 D) time series classification tasks to detect the presence of airflow obstruction.
[0065] Clause 6 - The system of any of clauses 1 -5, wherein the application further causes the at least one computing device to classify the flow curve as more airflow obstructed or less airflow obstructed than a previous flow curve associated with the patient.
[0066] Clause 7 The system of any of clauses 1 -6, wherein the application obtains a confirmation of a classification of the flow curve as one of normal breathing or airflow obstructed breathing.
[0067] Clause 8- The system of clause 7, wherein in response to obtaining the confirmation, the application adds the flow curve with the classification to the training data set.
[0068] Clause 9 - A method, comprising: capturing, by a sensor of a spirometer, breathing data from a patient; generating, by a computing device of the spirometer, a flow curve (and / or volume curve) based at least in part on the breathing data of the patient, the flow curve comprising a characterization of airflow during breathing of the patient over a specified time period; and classifying, by the computing device, the flow curve as one of normal breathing or airflow obstructed breathing based upon at least one machine learning model trained using a training data set.
[0069] Clause 10 - The method of clause 9, wherein the training data set comprises a plurality of training flow curves, the plurality of training flow curves comprising flow or volume curves that are respectively classified as normal breathing or airflow obstructed breathing.
[0070] Clause 11 - The method of clause 9 or 10, wherein the application generates an alert in response to classifying the flow curve at airflow obstructed breathing.
[0071] Clause 12 - The method of any of clauses 9-11 , wherein the application classifies the flow curve based at least in part upon a machine learning model that is trained using the training data set.
[0072] Clause 13 - The method of clause 12, wherein the machine learning model utilizes one-dimensional (1 D) time series classification tasks to detect the presence of airflow obstruction.
[0073] Clause 14 - The method of clause 9, wherein the application further causes the at least one computing device to classify the flow curve as more airflow obstructed or less airflow obstructed than a previous flow curve associated with the patient.
[0074] Clause 15 - The method of clause 9, wherein the application obtains a confirmation of a classification of the flow curve as one of normal breathing or airflow obstructed breathing.
[0075] Clause 16 - The method of clause 15, wherein in response to obtaining the confirmation, the application adds the flow curve with the classification to the training data set.
[0076] Clause 17 - A spirometer, comprising: a mouthpiece; a sensor configured to measure a respiration of a patient breathing through the mouthpiece; a computing device comprising a processor and memory; an application, when executed by the processor, causes the computing device to at least: capture breathing data of a patient using the sensor; determine a flow curve (and / or a volume curve) of the breathing data, the flow curve comprising a characterization of air flow during breathing of the patient over a specified time period; and determine a breathing classification for the flow curve based at least in part on a machine learning model, the breathing classification being a normal breathing or airflow obstructed breathing.
[0077] Clause 18 - The spirometer of clause 17, wherein the application, when executed by the processor, causes the computing device to at least: render the breathing classification in a display of the spirometer.
[0078] Clause 19 - The spirometer of clause 17 or 18, wherein the machine learning model is stored in the memory in a serialized format.
[0079] Clause 20 - The spirometer of any of clauses 17-19, wherein the application, when executed by the processor, causes the computing device to at least: generate an alert based at least in part on the determination of the breathing classification being the airflow obstructed breathing.
Claims
CLAIMSTherefore, at least the following is claimed:1 . A system for measuring respiration, comprising: a spirometer configured to obtain breathing data from a patient; at least one computing device executing an application, the application, when executed, causing the at least one computing device to at least: generate a flow curve based upon breathing data of the patient, the flow curve comprising a characterization of air flow during breathing of the patient over a specified time period; and classify the flow curve as one of normal breathing or airflow obstructed breathing based upon at least one machine learning model trained using a training data set.
2. The system of claim 1 , wherein the training data set comprises a plurality of training flow curves, the plurality of training flow curves comprising flow or volume curves that are respectively classified as normal breathing or airflow obstructed breathing.
3. The system of claim 1 , wherein the application generates an alert in response to classifying the flow curve at airflow obstructed breathing.
4. The system of claim 1 , wherein the application classifies the flow curve based at least in part upon a machine learning model that is trained using the training data set.
5. The system of claim 4, wherein the machine learning model utilizes onedimensional (1 D) time series classification tasks to detect the presence of airflow obstruction.
6. The system of claim 1 , wherein the application further causes the at least one computing device to classify the flow curve as more airflow obstructed or less airflow obstructed than a previous flow curve associated with the patient.
7. The system of claim 1 , wherein the application obtains a confirmation of a classification of the flow curve as one of normal breathing or airflow obstructed breathing.
8. The system of claim 7, wherein in response to obtaining the confirmation, the application adds the flow curve with the classification to the training data set.
9. A method, comprising: capturing, by a sensor of a spirometer, breathing data from a patient; generating, by a computing device of the spirometer, a flow curve based at least in part on the breathing data of the patient, the flow curve comprising a characterization of air flow during breathing of the patient over a specified time period; and classifying, by the computing device, the flow curve as one of normal breathing or airflow obstructed breathing based upon at least one machine learning model trained using a training data set.
10. The method of claim 9, wherein the training data set comprises a plurality of training flow curves, the plurality of training flow curves comprising flow or volume curves that are respectively classified as normal breathing or airflow obstructed breathing.11 . The method of claim 9, wherein the application generates an alert in response to classifying the flow curve at airflow obstructed breathing.
12. The method of claim 9, wherein the application classifies the flow curve based at least in part upon a machine learning model that is trained using the training data set.
13. The method of claim 12, wherein the machine learning model utilizes onedimensional (1 D) time series classification tasks 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 more airflow obstructed or less airflow obstructed than a previous flow curve associated with the patient.
15. The method of claim 9, wherein the application obtains a confirmation of a classification of the flow curve as one of normal breathing or airflow obstructed breathing.
16. The method of claim 15, wherein in response to obtaining the confirmation, the application adds the flow curve with the classification to the training data set.
17. A spirometer, comprising: a sensor configured to measure a respiration of a patient breathing through a mouthpiece; a computing device comprising a processor and memory; an application, when executed by the processor, causes the computing device to at least: capture breathing data of a patient using the sensor; determine a flow curve of the breathing data, the flow curve comprising a characterization of air flow during breathing of the patient over a specified time period; and determine a breathing classification for the flow curve based at least in part on a machine learning model, the breathing classification being a normal breathing or airflow obstructed breathing.
18. The spirometer of claim 17, wherein the application, when executed by the processor, causes the computing device to at least: render the breathing classification in a display of the spirometer.
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: generate an alert based at least in part on the determination of the breathing classification being the airflow obstructed breathing.
Citation Information
Patent Citations
Portable electronic spirometer
US20030216659A1
System and method for classifying patient's breathing using artificial neural network
US20050256420A1
Spirometer system and methods of data analysis
US20130317379A1
Methods and systems for collecting spirometry data
US20170273597A1
Devices and methods for monitoring physiologic parameters
US20180140252A1