Patent Publication Number: US-2021187221-A1

Title: Methods and apparatus for ventilatory treatment of respiratory disorders

Description:
1 CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation of U.S. patent application Ser. No. 15/559,504, filed Sep. 19, 2017, which is a national phase entry under 35 U.S.C. § 371 of International Application No. PCT/AU2016/050189, filed Mar. 17, 2016, published in English, which claims priority from Australian Provisional Patent Application No. 2015901014, filed Mar. 20, 2015, all of which are incorporated herein by reference. 
    
    
     2 STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT 
     Not Applicable 
     3 THE NAMES OF PARTIES TO A JOINT RESEARCH DEVELOPMENT 
     Not Applicable 
     4 SEQUENCE LISTING 
     Not Applicable 
     5 BACKGROUND OF THE TECHNOLOGY 
     5.1 Field of the Technology 
     The present technology relates to one or more of the detection, diagnosis, treatment, prevention and amelioration of respiratory-related disorders. The present technology also relates to medical devices or apparatus, and their use. 
     5.2 Description of the Related Art 
     5.2.1 Human Respiratory System and its Disorders 
     The respiratory system of the body facilitates gas exchange. The nose and mouth form the entrance to the airways of a patient. 
     The airways include a series of branching tubes, which become narrower, shorter and more numerous as they penetrate deeper into the lung. The prime function of the lung is gas exchange, allowing oxygen to move from the air into the venous blood and carbon dioxide to move out. The trachea divides into right and left main bronchi, which further divide eventually into terminal bronchioles. The bronchi make up the conducting airways, and do not take part in gas exchange. Further divisions of the airways lead to the respiratory bronchioles, and eventually to the alveoli. The alveolated region of the lung is where the gas exchange takes place, and is referred to as the respiratory zone. See “Respiratory Physiology”, by John B. West, Lippincott Williams &amp; Wilkins, 9th edition published 2011. 
     A range of respiratory disorders exist. Certain disorders may be characterised by particular events, e.g. apneas, hypopneas, and hyperpneas. 
     Obstructive Sleep Apnea (OSA), a form of Sleep Disordered Breathing (SDB), is characterized by events including occlusion or obstruction of the upper air passage during sleep. It results from a combination of an abnormally small upper airway and the normal loss of muscle tone in the region of the tongue, soft palate and posterior oropharyngeal wall during sleep. The condition causes the affected patient to stop breathing for periods typically of 30 to 120 seconds in duration, sometimes 200 to 300 times per night. It often causes excessive daytime somnolence, and it may cause cardiovascular disease and brain damage. The syndrome is a common disorder, particularly in middle aged overweight males, although a person affected may have no awareness of the problem. See U.S. Pat. No. 4,944,310 (Sullivan). 
     Cheyne-Stokes Respiration (CSR) is another form of sleep disordered breathing. CSR is a disorder of a patient&#39;s respiratory controller in which there are rhythmic alternating periods of waxing and waning ventilation known as CSR cycles. CSR is characterised by repetitive de-oxygenation and re-oxygenation of the arterial blood. It is possible that CSR is harmful because of the repetitive hypoxia. In some patients CSR is associated with repetitive arousal from sleep, which causes severe sleep disruption, increased sympathetic activity, and increased afterload. See U.S. Pat. No. 6,532,959 (Berthon-Jones). 
     Respiratory Failure is an umbrella term for respiratory disorders in which patients are unable to ventilate enough to balance the CO2 in their blood if their metabolic activity rises much above rest. Respiratory failure encompasses all of the following conditions. 
     Obesity Hyperventilation Syndrome (OHS) is defined as the combination of severe obesity and awake chronic hypercapnia, in the absence of other known causes for hypoventilation. Symptoms include dyspnea, morning headache and excessive daytime sleepiness. 
     Chronic Obstructive Pulmonary Disease (COPD) encompasses any of a group of lower airway diseases that have certain characteristics in common. These include increased resistance to air movement, extended expiratory phase of respiration, and loss of the normal elasticity of the lung. Examples of COPD are emphysema and chronic bronchitis. COPD is caused by chronic tobacco smoking (primary risk factor), occupational exposures, air pollution and genetic factors. Symptoms include: dyspnea on exertion, chronic cough and sputum production. 
     Neuromuscular Disease (NMD) is a broad term that encompasses many diseases and ailments that impair the functioning of the muscles either directly via intrinsic muscle pathology, or indirectly via nerve pathology. Some NMD patients are characterised by progressive muscular impairment leading to loss of ambulation, being wheelchair-bound, swallowing difficulties, respiratory muscle weakness and, eventually, death from respiratory failure. Neuromuscular disorders can be divided into rapidly progressive and slowly progressive: (i) Rapidly progressive disorders: Characterised by muscle impairment that worsens over months and results in death within a few years (e.g. Amyotrophic lateral sclerosis (ALS) and Duchenne muscular dystrophy (DMD) in teenagers); (ii) Variable or slowly progressive disorders: Characterised by muscle impairment that worsens over years and only mildly reduces life expectancy (e.g. Limb girdle, Facioscapulohumeral and Myotonic muscular dystrophy). Symptoms of respiratory failure in NMD include: increasing generalised weakness, dysphagia, dyspnea on exertion and at rest, fatigue, sleepiness, morning headache, and difficulties with concentration and mood changes. 
     Chest wall disorders are a group of thoracic deformities that result in inefficient coupling between the respiratory muscles and the thoracic cage. The disorders are usually characterised by a restrictive defect and share the potential of long term hypercapnic respiratory failure. Scoliosis and/or kyphoscoliosis may cause severe respiratory failure. Symptoms of respiratory failure include: dyspnea on exertion, peripheral oedema, orthopnea, repeated chest infections, morning headaches, fatigue, poor sleep quality and loss of appetite. 
     A range of therapies have been used to treat or ameliorate such conditions. Furthermore, otherwise healthy individuals may take advantage of such therapies to prevent respiratory disorders from arising. However, these have a number of shortcomings. 
     5.2.2 Therapies 
     Continuous Positive Airway Pressure (CPAP) therapy has been used to treat Obstructive Sleep Apnea (OSA). The mechanism of action is that continuous positive airway pressure acts as a pneumatic splint and may prevent upper airway occlusion, such as by pushing the soft palate and tongue forward and away from the posterior oropharyngeal wall. Treatment of OSA by CPAP therapy may be voluntary, and hence patients may elect not to comply with therapy if they find devices used to provide such therapy one or more of: uncomfortable, difficult to use, expensive and aesthetically unappealing. 
     Non-invasive ventilation (NIV) provides ventilatory support to a patient through the upper airways to assist the patient breathing and/or maintain adequate oxygen levels in the body by doing some or all of the work of breathing. The ventilatory support is provided via a non-invasive patient interface. NIV has been used to treat CSR and respiratory failure, in forms such as OHS, COPD, NMD, and Chest Wall disorders. In some forms, the comfort and effectiveness of these therapies may be improved. 
     Patients receiving non-invasive ventilation, particularly when asleep and/or under sedation, are often subject to upper airway instability and collapse, as in OSA. Such instability and collapse can compromise the effectiveness of the ventilation therapy by reducing or even nullifying the pressure actually reaching the lungs from the ventilator. 
     The upper airway can be stabilised by maintaining a positive base pressure, referred to herein as the EPAP, upon which ventilatory assistance is superimposed. An insufficient EPAP permits upper airway collapse, while an excessive EPAP may fully stabilise the upper airway but negatively impact on comfort, promote mask leak, or pose cardiovascular complications. The task of choosing an EPAP that is sufficient to generally maintain upper airway stability across the range of sleep states, posture, level of sedation, and progression of disease while avoiding negative side-effects (a task known as EPAP titration) is a significant challenge even for experienced clinicians with the benefit of a full polysomnographic (PSG) study. An appropriately titrated EPAP is a balance between extremes, not necessarily one that prevents all obstructive events. While NIV enjoys growing usage globally, only a fraction of patients are administered NIV with the benefit of a PSG study to titrate the EPAP. In more acute environments, historically there is limited awareness of the effects of sleep and sedation on the efficacy of non-invasive ventilation. 
     There is therefore a significant need for NIV therapies capable of automatically adjusting the EPAP (i.e. performing “EPAP auto-titration”) in dynamic response to the changing condition of an NIV patient&#39;s upper airway. 
     5.2.3 Treatment Systems 
     These therapies may be provided by a treatment system or device. Such systems and devices may also be used to diagnose a condition without treating it. 
     A treatment system may comprise a Respiratory Pressure Therapy Device (RPT device), an air circuit, a humidifier, a patient interface, and data management. 
     5.2.3.1 Patient Interface 
     A patient interface may be used to interface respiratory equipment to its wearer, for example by providing a flow of air to an entrance to the airways. The flow of air may be provided via a mask to the nose and/or mouth, a tube to the mouth or a tracheostomy tube to the trachea of a patient. Depending upon the therapy to be applied, the patient interface may form a seal, e.g., with a region of the patient&#39;s face, to facilitate the delivery of gas at a pressure at sufficient variance with ambient pressure to effect therapy, e.g., at a positive pressure of about 10 cmH 2 O relative to ambient pressure. For other forms of therapy, such as the delivery of oxygen, the patient interface may not include a seal sufficient to facilitate delivery to the airways of a supply of gas at a positive pressure of about 10 cmH 2 O. 
     5.2.3.2 Respiratory Pressure Therapy (RPT) Device 
     Air pressure generators are known in a range of applications, e.g. industrial-scale ventilation systems. However, air pressure generators for medical applications have particular requirements not fulfilled by more generalised air pressure generators, such as the reliability, size and weight requirements of medical devices. In addition, even devices designed for medical treatment may suffer from shortcomings, pertaining to one or more of: comfort, noise, ease of use, efficacy, size, weight, manufacturability, cost, and reliability. 
     One known RPT device used for treating sleep disordered breathing is the S9 Sleep Therapy System, manufactured by ResMed Limited. Another example of an RPT device is a ventilator. Ventilators such as the ResMed Stellar™ Series of Adult and Paediatric Ventilators may provide support for invasive and non-invasive non-dependent ventilation for a range of patients for treating a number of conditions such as but not limited to NMD, OHS and COPD. 
     The ResMed Elisée™ 150 ventilator and ResMed VS III™ ventilator may provide support for invasive and non-invasive dependent ventilation suitable for adult or paediatric patients for treating a number of conditions. These ventilators provide volumetric and barometric ventilation modes with a single or double limb circuit. RPT devices typically comprise a pressure generator, such as a motor-driven blower or a compressed gas reservoir, and are configured to supply a flow of air to the airway of a patient. In some cases, the flow of air may be supplied to the airway of the patient at positive pressure. The outlet of the RPT device is connected via an air circuit to a patient interface such as those described above. 
     5.2.3.3 Humidifier 
     Delivery of a flow of air without humidification may cause drying of airways. The use of a humidifier with an RPT device and the patient interface produces humidified gas that minimizes drying of the nasal mucosa and increases patient airway comfort. In addition in cooler climates, warm air applied generally to the face area in and about the patient interface is more comfortable than cold air. A range of artificial humidification devices and systems are known, however they may not fulfil the specialised requirements of a medical humidifier. 
     6 BRIEF SUMMARY OF THE TECHNOLOGY 
     The present technology is directed towards providing medical devices used in the diagnosis, amelioration, treatment, or prevention of respiratory disorders having one or more of improved comfort, cost, efficacy, ease of use and manufacturability. 
     A first aspect of the present technology relates to apparatus used in the diagnosis, amelioration, treatment or prevention of a respiratory disorder. 
     Another aspect of the present technology relates to methods used in the diagnosis, amelioration, treatment or prevention of a respiratory disorder. 
     The present technology comprises methods and apparatus for ventilatory therapy for respiratory disorders that automatically titrate a base pressure of the ventilation to maintain upper airway stability such that the applied ventilatory assistance can reach the lungs of the patient. The auto-titration increases the base pressure by an amount generally proportional to the severity of detected apneas and/or episodes of flow limitation, and decreases the base pressure toward a minimum value in the absence of such episodes. 
     In one form of the present technology, the amount of increase of the base pressure due to flow limitation is dependent on a measure of current ventilation. The amount of increase may be discounted as the current ventilation exceeds an expected normal ventilation. Alternatively, or in addition, the amount of increase may be amplified as the current ventilation falls below the expected normal ventilation. In particular, the amount of amplification may be dependent on a recent detected persistence of flow-limited significant hypoventilation. 
     In one form of the present technology, the amount of increase of the base pressure due to a detected apnea is weighted by the estimated amount of leak flow during the apnea. The amount of increase may alternatively, or also, be weighted by an amount of ventilation above an expected normal ventilation during the apnea. 
     In one form of the present technology, apneas are detected with hysteresis, such that a further criterion different from the criteria whose satisfaction caused an apnea to be started needs to be satisfied to end the apnea. 
     In one form of the present technology, episodes where leak flow rate has been mismodelled such that a coincident apnea is masked by the erroneous estimate of patient respiratory flow rate are detected and treated as apneas. 
     In one form of the present technology, a measure of flow limitation of an inspiratory waveform is detected by computing a degree of similarity of the inspiratory waveform to each of plural stereotypical flow-limited inspiratory waveforms, and taking the maximum of the degrees of similarity. The degrees of similarity may be computed from features extracted from a central part of the inspiratory waveform. 
     One form of the present technology includes apparatus for treating a respiratory disorder in a patient. The apparatus may include a pressure generator configured to supply a flow of air at positive pressure to an airway of the patient through a patient interface. The apparatus may include a sensor configured to generate a signal representative of respiratory flow rate of the patient. The apparatus may include a controller. The controller may be configured to control the pressure generator to provide to the patient interface a ventilation therapy having a base pressure. The controller may be configured to compute a measure of ventilation of the patient from the signal representative of respiratory flow rate. The controller may be configured to compute a measure of flow limitation from an inspiratory portion of the respiratory flow rate signal. The controller may be configured to compute a ratio of the measure of ventilation and an expected normal ventilation. The controller may be configured to adjust a set point for the base pressure of the ventilation therapy based on the measure of flow limitation. The adjustment may further depend on a comparison between the ratio and a relative ventilation threshold that increases as the measure of flow limitation increases. 
     One form of the present technology includes apparatus for treating a respiratory disorder in a patient. The apparatus may include a pressure generator configured to supply a flow of air at positive pressure to an airway of the patient through a patient interface. The apparatus may include a sensor configured to generate a signal representative of respiratory flow rate of the patient. The apparatus may include a controller. The controller may be configured to control the pressure generator to provide ventilation therapy having a base pressure to the patient interface. The controller may be configured to detect an apnea from the signal representative of respiratory flow rate. The controller may be configured to estimate a leak flow rate during the apnea. The controller may be configured to adjust a set point for the base pressure of the ventilation therapy in response to the apnea based on the estimated leak flow rate during the apnea. 
     One form of the present technology involves a method of treating a respiratory disorder in a patient. The method may include controlling, with a ventilator, a ventilation therapy through a patient interface to the patient, the ventilation therapy having a base pressure. The method may include detecting, in a controller of the ventilator, an apnea from a sensor signal representative of respiratory flow rate of the patient. The method may include estimating a leak flow rate during the apnea. The method may include, in the controller, adjusting a set point for the base pressure of the ventilation therapy in response to the apnea based on the estimate of leak flow rate during the apnea. 
     One form of the present technology includes apparatus for treating a respiratory disorder in a patient. The apparatus may include a pressure generator configured to supply a flow of air at positive pressure to an airway of the patient through a patient interface. The apparatus may include a sensor configured to generate a signal representative of respiratory flow rate of the patient. The apparatus may include a controller. The controller may be configured to control the pressure generator to provide ventilation therapy to the patient, the ventilation therapy having a base pressure. The controller may be configured to detect an apnea from the signal representative of respiratory flow rate. The controller may be configured to compute a measure of ventilation of the patient from the signal representative of respiratory flow rate. The controller may be configured to adjust a set point for the base pressure of the ventilation therapy in response to the apnea based the measure of ventilation during the apnea. 
     One form of the present technology involves a method of treating a respiratory disorder in a patient. The method may include controlling, with a ventilator, a ventilation therapy to the patient through a patient interface, the ventilation therapy having a base pressure. The method may include detecting, in a controller of the ventilator, an apnea from a sensor signal representative of respiratory flow rate of the patient. The method may include computing a measure of ventilation of the patient during the apnea from the signal representative of respiratory flow rate. The method may include adjusting, in the controller of the ventilator, a set point for the base pressure of the ventilation therapy in response to the apnea based the measure of ventilation during the apnea. 
     One form of the present technology includes apparatus for treating a respiratory disorder in a patient. The apparatus may include a pressure generator configured to supply a flow of air at positive pressure to an airway of the patient through a patient interface. The apparatus may include a sensor configured to generate a signal representative of respiratory flow rate of the patient. The apparatus may include a controller. The controller may be configured to control the pressure generator to provide ventilation therapy to the patient interface, the ventilation therapy having a base pressure. The controller may be configured to detect an apnea from the signal representative of respiratory flow rate, wherein the detecting contains hysteresis. The controller may be configured to adjust a set point for the base pressure of the ventilation therapy in response to the detected apnea. 
     One form of the present technology involves a method of treating a respiratory disorder in a patient. The method may include controlling, with a ventilator, a ventilation therapy to the patient through a patient interface, the ventilation therapy having a base pressure. The method may include detecting, in a controller of the ventilator, an apnea from a sensor signal representative of respiratory flow rate of the patient, wherein the detecting contains hysteresis. The method may include adjusting, in the controller, a set point for the base pressure of the ventilation therapy in response to the detected apnea. 
     One form of the present technology includes apparatus for treating a respiratory disorder in a patient. The apparatus may include a pressure generator configured to supply a flow of air at positive pressure to an airway of the patient through a patient interface. The apparatus may include a sensor configured to generate a signal representative of respiratory flow rate of the patient. The apparatus may include a controller. The controller may be configured to control the pressure generator to provide ventilation therapy to the patient, the ventilation therapy having a base pressure. The controller may be configured to estimate a leak flow rate at the patient interface. The controller may be configured to detect a mismodelled leak apnea from the signal representative of respiratory flow rate, the mismodelled leak apnea occurring when an apnea is masked by a deviation of a true leak flow rate from the estimated leak flow rate. The controller may be configured to adjust a set point for the base pressure of the ventilation therapy in response to the detected mismodelled leak apnea. 
     One form of the present technology involves a method of treating a respiratory disorder in a patient. The method may include controlling, with a ventilator, ventilation therapy to the patient through a patient interface, the ventilation therapy having a base pressure. The method may include estimating a leak flow rate at the patient interface. The method may include detecting, in a controller of the ventilator, a mismodelled leak apnea from a signal representative of respiratory flow rate of the patient, the mismodelled leak apnea occurring when an apnea is masked by a deviation of a true leak flow rate from the estimated leak flow rate. The method may include adjusting, in the controller, a set point for the base pressure of the ventilation therapy in response to the detected mismodelled leak apnea. 
     One form of the present technology includes apparatus for treating a respiratory disorder in a patient. The apparatus may include a pressure generator configured to supply a flow of air at positive pressure to an airway of the patient through a patient interface. The apparatus may include a sensor configured to generate a signal representative of respiratory flow rate of the patient. The apparatus may include a controller. The controller may be configured to control the pressure generator to provide ventilation therapy to the patient, the ventilation therapy having a base pressure. The controller may be configured to compute a measure of inspiratory flow limitation from the signal representative of respiratory flow rate. The controller may be configured to adjust a set point for the base pressure of the ventilation therapy dependent on the measure of inspiratory flow limitation. To compute the measure of inspiratory flow limitation the controller may compute a plurality of features of a central part of an inspiratory portion of the respiratory flow rate signal. To compute the measure of inspiratory flow limitation, the controller may compute a plurality of flow limitation variables from the central part features, each flow limitation variable indicating a degree of similarity between an inspiratory portion of the respiratory flow rate signal and a stereotypical flow-limited inspiratory waveform. To compute the measure of inspiratory flow limitation, the controller may compute the measure of inspiratory flow limitation as a maximum of the plurality of flow limitation variables. 
     One form of the present technology involves a method of treating a respiratory disorder in a patient. The method may include controlling, with a ventilator, ventilation therapy to the patient through a patient interface, the ventilation therapy having a base pressure. The method may include computing a measure of inspiratory flow limitation from a signal representative of respiratory flow rate of the patient. The method may include adjusting, in the controller, a set point for the base pressure of the ventilation therapy dependent on the measure of inspiratory flow limitation. The computing may involve: computing a plurality of features of a central part of an inspiratory portion of the signal representative of respiratory flow rate; computing a plurality of flow limitation variables from the central part features, each flow limitation variable indicating a degree of similarity between an inspiratory portion of the signal representative of respiratory flow rate and a stereotypical flow-limited inspiratory waveform; and computing the measure of inspiratory flow limitation as a maximum of the plurality of flow limitation variables. 
     One form of the present technology includes apparatus for treating a respiratory disorder in a patient. The apparatus may include a pressure generator configured to supply a flow of air at positive pressure to an airway of the patient through a patient interface. The apparatus may include a sensor configured to generate a signal representative of respiratory flow rate of the patient. The apparatus may include a controller. The controller may be configured to control the pressure generator to provide ventilation therapy to the patient, the ventilation therapy having a base pressure. The controller may be configured to compute a measure of ventilation of the patient from the signal representative of respiratory flow rate. The controller may be configured to compute a measure of flow limitation from an inspiratory portion of the respiratory flow rate signal. The controller may be configured to adjust a set point for the base pressure of the ventilation therapy based on the measure of flow limitation and on a measure of recent persistent flow-limited significant hypoventilation over multiple breaths. 
     One form of the present technology involves a method of treating a respiratory disorder in a patient. The method may include controlling, with a ventilator, ventilation therapy to the patient through a patient interface, the ventilation therapy having a base pressure. The method may include computing a measure of ventilation of the patient from a sensor signal representative of respiratory flow rate of the patient. The method may include computing, in a controller of the ventilator, a measure of flow limitation from an inspiratory portion of the signal representative of respiratory flow rate. The method may include adjusting, in the controller, a set point for the base pressure of the ventilation therapy based on the measure of flow limitation and on a measure of recent persistent flow-limited significant hypoventilation over multiple breaths. 
     Of course, portions of the aspects may form sub-aspects of the present technology. Also, various ones of the sub-aspects and/or aspects may be combined in various manners and also constitute additional aspects or sub-aspects of the present technology. 
     Other features of the technology will be apparent from consideration of the information contained in the following detailed description, abstract, drawings and claims. 
    
    
     
       7 BRIEF DESCRIPTION OF THE DRAWINGS 
       The present technology is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings, in which like reference numerals refer to similar elements including: 
       7.1 Treatment Systems 
         FIG. 1  shows a system including a patient  1000  wearing a patient interface  3000 , in the form of a full-face mask, receiving a supply of air at positive pressure from an RPT device  4000 . Air from the RPT device is humidified in a humidifier  5000 , and passes along an air circuit  4170  to the patient  1000 . 
       7.2 Respiratory System and Facial Anatomy 
         FIG. 2  shows an overview of a human respiratory system including the nasal and oral cavities, the larynx, vocal folds, oesophagus, trachea, bronchus, lung, alveolar sacs, heart and diaphragm. 
       7.3 Patient Interface 
         FIG. 3  shows a patient interface in the form of a nasal mask in accordance with one form of the present technology. 
       7.4 RPT Device 
         FIG. 4A  shows an RPT device in accordance with one form of the present technology. 
         FIG. 4B  is a schematic diagram of the pneumatic path of an RPT device in accordance with one form of the present technology. The directions of upstream and downstream are indicated. 
         FIG. 4C  is a schematic diagram of the electrical components of an RPT device in accordance with one form of the present technology. 
         FIG. 4D  is a schematic diagram of the algorithms implemented in an RPT device in accordance with one form of the present technology. 
       7.5 Humidifier 
         FIG. 5A  shows an isometric view of a humidifier in accordance with one form of the present technology. 
         FIG. 5B  shows an isometric view of a humidifier in accordance with one form of the present technology, showing a humidifier reservoir  5110  removed from the humidifier reservoir dock  5130 . 
       7.6 Breathing Waveforms 
         FIG. 6A  shows a model typical respiratory flow rate waveform of a person while sleeping. The horizontal axis is time, and the vertical axis is respiratory flow rate. While the parameter values may vary, a typical breath may have the following approximate values: tidal volume, Vt, 0.5L, inspiratory time, Ti, 1.6 s, peak inspiratory flow rate, Qpeak, 0.4 L/s, expiratory time, Te, 2.4 s, peak expiratory flow rate, Qpeak, −0.5 L/s. The total duration of the breath, Ttot, is about 4 s. The person typically breathes at a rate of about 15 breaths per minute (BPM), with Ventilation, Vent, about 7.5 L/minute. A typical duty cycle, the ratio of Ti to Ttot is about 40%. 
         FIG. 6B  shows a scaled inspiratory portion of a respiratory flow rate waveform where the patient is experiencing an example of “classical flatness” inspiratory flow limitation. 
         FIG. 6C  shows a scaled inspiratory portion of a respiratory flow rate waveform where the patient is experiencing an example of “chair-shaped” (late flatness) inspiratory flow limitation. 
         FIG. 6D  shows a scaled inspiratory portion of a respiratory flow rate waveform where the patient is experiencing an example of “reverse chair” (early flatness) inspiratory flow limitation. 
         FIG. 6E  shows a scaled inspiratory portion of a respiratory flow rate waveform where the patient is experiencing an example of “M-shaped” inspiratory flow limitation. 
         FIG. 6F  shows a scaled inspiratory portion of a respiratory flow rate waveform where the patient is experiencing an example of severely “M-shaped” inspiratory flow limitation. 
       7.7 EPAP Auto-Titration 
         FIG. 7A  is a flow chart illustrating a method that may be used to implement the inspiratory flow limitation determination algorithm of  FIG. 4D . 
         FIG. 7B  is a flow chart illustrating a method that may be used to implement the central part feature computation step of  FIG. 7A . 
         FIG. 7C  is a flow chart illustrating a method that may be used to implement the flow limitation fuzzy truth variable computation step of  FIG. 7A . 
         FIG. 7D  is a flow chart illustrating a method that may be used to implement one of the flow limitation fuzzy truth variable computation steps of  FIG. 7C . 
         FIG. 7E  is a flow chart illustrating a method that may be used to implement the late flatness fuzzy truth variable computation step of  FIG. 7A . 
         FIG. 7F  is a flow chart illustrating a method that may be used to implement the M-shape detection algorithm of  FIG. 4D . 
         FIG. 7G  is a flow chart illustrating a method that may be used to implement the apnea detection algorithm of  FIG. 4D . 
         FIG. 7H  is a flow chart illustrating a method that may be used to implement the mismodelled leak apnea detection algorithm of  FIG. 4D . 
         FIG. 8A  is a flow chart illustrating a method of auto-titrating the EPAP value that may be implemented by the therapy parameter determination algorithm of  FIG. 4D . 
         FIG. 8B  is a flow chart illustrating a method that may be used to implement the “Shape Doctor” step of the EPAP-auto-titration method of  FIG. 8A . 
         FIG. 8C  is a flow chart illustrating a method that may be used to implement one step of the method of  FIG. 8B . 
         FIG. 8D  is a flow chart illustrating a method that may be used to implement another step of the method of  FIG. 8B . 
         FIG. 8E  is a flow chart illustrating a method that may be used to implement the “Apnea Doctor” step of the EPAP-auto-titration method of  FIG. 8A . 
         FIG. 8F  is a flow chart illustrating a method that may be used to implement the apnea processing step of the method of  FIG. 8E . 
         FIG. 8G  is a flow chart illustrating a method that may be used to implement a step of the EPAP-auto-titration method of  FIG. 8A . 
         FIG. 9  contains graphs illustrating an example of the behaviour of the EPAP auto-titration method of  FIG. 8A . 
     
    
    
     8 DETAILED DESCRIPTION OF EXAMPLES OF THE TECHNOLOGY 
     Before the present technology is described in further detail, it is to be understood that the technology is not limited to the particular examples described herein, which may vary. It is also to be understood that the terminology used in this disclosure is for the purpose of describing only the particular examples discussed herein, and is not intended to be limiting. 
     The following description is provided in relation to various examples which may share one or more common characteristics and/or features. It is to be understood that one or more features of any one example may be combinable with one or more features of another example or other examples. In addition, any single feature or combination of features in any of the examples may constitute a further example. 
     8.1 Therapy 
     In one form, the present technology comprises a method for treating a respiratory disorder comprising the step of applying positive pressure to the entrance of the airways of a patient  1000 . 
     In certain examples of the present technology, a supply of air at positive pressure is provided to the nasal passages of the patient via one or both nares. 
     8.2 Treatment Systems 
     In one form, the present technology comprises an apparatus or device for treating a respiratory disorder. The apparatus or device may comprise an RPT device  4000  for supplying pressurised air to the patient  1000  via an air circuit  4170  to a patient interface  3000 . 
     8.3 Patient Interface 
     A non-invasive patient interface  3000  in accordance with one aspect of the present technology comprises the following functional aspects: a seal-forming structure  3100 , a plenum chamber  3200 , a positioning and stabilising structure  3300 , a vent  3400 , one form of connection port  3600  for connection to air circuit  4170 , and a forehead support  3700 . In some forms a functional aspect may be provided by one or more physical components. In some forms, one physical component may provide one or more functional aspects. In use the seal-forming structure  3100  is arranged to surround an entrance to the airways of the patient so as to facilitate the supply of air at positive pressure to the airways. 
     8.4 RPT Device 
     An RPT device  4000  in accordance with one aspect of the present technology comprises mechanical and pneumatic components  4100 , electrical components  4200  and is configured to execute one or more algorithms  4300 . The RPT device may have an external housing  4010 , formed in two parts, an upper portion  4012  and a lower portion  4014 . Furthermore, the external housing  4010  may include one or more panel(s)  4015 . The RPT device  4000  comprises a chassis  4016  that supports one or more internal components of the RPT device  4000 . The RPT device  4000  may include a handle  4018 . 
     The pneumatic path of the RPT device  4000  may comprise one or more air path items, e.g., an inlet air filter  4112 , an inlet muffler  4122 , a pressure generator  4140  capable of supplying air at positive pressure (e.g., a blower  4142 ), an outlet muffler  4124  and one or more transducers  4270 , such as pressure sensors  4272  and flow rate sensors  4274 . 
     One or more of the air path items may be located within a removable unitary structure which will be referred to as a pneumatic block  4020 . The pneumatic block  4020  may be located within the external housing  4010 . In one form a pneumatic block  4020  is supported by, or formed as part of the chassis  4016 . 
     The RPT device  4000  may have an electrical power supply  4210 , one or more input devices  4220 , a central controller  4230 , a therapy device controller  4240 , a pressure generator  4140 , one or more protection circuits  4250 , memory  4260 , transducers  4270 , data communication interface  4280  and one or more output devices  4290 . Electrical components  4200  may be mounted on a single Printed Circuit Board Assembly (PCBA)  4202 . In an alternative form, the RPT device  4000  may include more than one PCBA  4202 . 
     8.4.1 RPT Device Mechanical &amp; Pneumatic Components 
     An RPT device may comprise one or more of the following components in an integral unit. In an alternative form, one or more of the following components may be located as respective separate units. 
     8.4.1.1 Air Filter(s) 
     An RPT device in accordance with one form of the present technology may include an air filter  4110 , or a plurality of air filters  4110 . 
     In one form, an inlet air filter  4112  is located at the beginning of the pneumatic path upstream of a pressure generator  4140 . 
     In one form, an outlet air filter  4114 , for example an antibacterial filter, is located between an outlet of the pneumatic block  4020  and a patient interface  3000 . 
     8.4.1.2 Muffler(s) 
     In one form of the present technology, an inlet muffler  4122  is located in the pneumatic path upstream of a pressure generator  4140 . 
     In one form of the present technology, an outlet muffler  4124  is located in the pneumatic path between the pressure generator  4140  and a patient interface  3000 . 
     8.4.1.3 Pressure Generator 
     In one form of the present technology, a pressure generator  4140  for producing a flow, or a supply, of air at positive pressure is a controllable blower  4142 . For example the blower  4142  may include a brushless DC motor  4144  with one or more impellers housed in a volute. The blower may be capable of delivering a supply of air, for example at a rate of up to about 120 litres/minute, at a positive pressure in a range from about 4 cmH 2 O to about 20 cmH 2 O, or in other forms up to about 30 cmH 2 O. The blower may be as described in any one of the following patents or patent applications the contents of which are incorporated herein by reference in their entirety: U.S. Pat. Nos. 7,866,944; 8,638,014; 8,636,479; and PCT Patent Application Publication No. WO 2013/020167. 
     The pressure generator  4140  is under the control of the therapy device controller  4240 . 
     In other forms, a pressure generator  4140  may be a piston-driven pump, a pressure regulator connected to a high pressure source (e.g. compressed air reservoir), or a bellows. 
     8.4.1.4 Transducer(s) 
     Transducers may be internal of the RPT device, or external of the RPT device. External transducers may be located for example on or form part of the air circuit, e.g., the patient interface. External transducers may be in the form of non-contact sensors such as a Doppler radar movement sensor that transmit or transfer data to the RPT device. 
     In one form of the present technology, one or more transducers  4270  are located upstream and/or downstream of the pressure generator  4140 . The one or more transducers  4270  may be constructed and arranged to measure properties such as a flow rate, a pressure or a temperature at that point in the pneumatic path. 
     In one form of the present technology, one or more transducers  4270  may be located proximate to the patient interface  3000 . 
     In one form, a signal from a transducer  4270  may be filtered, such as by low-pass, high-pass or band-pass filtering. 
     8.4.1.4.1 Flow Rate Sensor 
     A flow rate sensor  4274  in accordance with the present technology may be based on a differential pressure transducer, for example, an SDP600 Series differential pressure transducer from SENSIRION. 
     In one form, a signal representing a flow rate such as a total flow rate Qt from the flow rate sensor  4274  is received by the central controller  4230 . 
     8.4.1.4.2 Pressure Sensor 
     A pressure sensor  4272  in accordance with the present technology is located in fluid communication with the pneumatic path. An example of a suitable pressure transducer is a sensor from the HONEYWELL ASDX series. An alternative suitable pressure transducer is a sensor from the NPA Series from GENERAL ELECTRIC. 
     In one form, a signal from the pressure sensor  4272  is received by the central controller  4230 . 
     8.4.1.4.3 Motor Speed Transducer 
     In one form of the present technology a motor speed transducer  4276  is used to determine a rotational velocity of the motor  4144  and/or the blower  4142 . A motor speed signal from the motor speed transducer  4276  may be provided to the therapy device controller  4240 . The motor speed transducer  4276  may, for example, be a speed sensor, such as a Hall effect sensor. 
     8.4.1.5 Anti-Spill Back Valve 
     In one form of the present technology, an anti-spill back valve is located between the humidifier  5000  and the pneumatic block  4020 . The anti-spill back valve is constructed and arranged to reduce the risk that water will flow upstream from the humidifier  5000 , for example to the motor  4144 . 
     8.4.1.6 Air Circuit 
     An air circuit  4170  in accordance with an aspect of the present technology is a conduit or a tube constructed and arranged in use to allow a flow of air to travel between two components such as the pneumatic block  4020  and the patient interface  3000 . 
     In particular, the air circuit  4170  may be in fluid connection with the outlet of the pneumatic block and the patient interface. The air circuit may be referred to as an air delivery tube. In some cases there may be separate limbs of the circuit for inhalation and exhalation. In other cases a single limb is used. 
     In some forms, the air circuit  4170  may comprise one or more heating elements configured to heat air in the air circuit, for example to maintain or raise the temperature of the air. The heating element may be in a form of a heated wire circuit, and may comprise one or more transducers, such as temperature sensors. In one form, the heated wire circuit may be helically wound around the axis of the air circuit  4170 . The heating element may be in communication with a controller such as a central controller  4230  or a humidifier controller  5250 . One example of an air circuit  4170  comprising a heated wire circuit is described in United States Patent Application No. US/2011/0023874, which is incorporated herewithin in its entirety by reference. 
     8.4.1.7 Oxygen Delivery 
     In one form of the present technology, supplemental oxygen  4180  is delivered to one or more points in the pneumatic path, such as upstream of the pneumatic block  4020 , to the air circuit  4170  and/or to the patient interface  3000 . 
     8.4.2 RPT Device Electrical Components 
     8.4.2.1 Power Supply 
     A power supply  4210  may be located internal or external of the external housing  4010  of the RPT device  4000 . 
     In one form of the present technology, power supply  4210  provides electrical power to the RPT device  4000  only. In another form of the present technology, power supply  4210  provides electrical power to both RPT device  4000  and humidifier  5000 . 
     8.4.2.2 Input Devices 
     In one form of the present technology, an RPT device  4000  includes one or more input devices  4220  in the form of buttons, switches or dials to allow a person to interact with the device. The buttons, switches or dials may be physical devices, or software devices accessible via a touch screen. The buttons, switches or dials may, in one form, be physically connected to the external housing  4010 , or may, in another form, be in wireless communication with a receiver that is in electrical connection to the central controller  4230 . 
     In one form, the input device  4220  may be constructed and arranged to allow a person to select a value and/or a menu option. 
     8.4.2.3 Central Controller 
     In one form of the present technology, the central controller  4230  is one or a plurality of processors suitable to control an RPT device  4000 . 
     Suitable processors may include an x86 INTEL processor, a processor based on ARM® Cortex®-M processor from ARM Holdings such as an STM32 series microcontroller from ST MICROELECTRONIC. In certain alternative forms of the present technology, a 32-bit RISC CPU, such as an STR9 series microcontroller from ST MICROELECTRONICS or a 16-bit RISC CPU such as a processor from the MSP430 family of microcontrollers, manufactured by TEXAS INSTRUMENTS may also be suitable. 
     In one form of the present technology, the central controller  4230  is a dedicated electronic circuit. 
     In one form, the central controller  4230  is an application-specific integrated circuit. In another form, the central controller  4230  comprises discrete electronic components. 
     The central controller  4230  may be configured to receive input signal(s) from one or more transducers  4270 , and one or more input devices  4220 . 
     The central controller  4230  may be configured to provide output signal(s) to one or more of an output device  4290 , a therapy device controller  4240 , a data communication interface  4280  and humidifier controller  5250 . 
     In some forms of the present technology, the central controller  4230  is configured to implement the one or more methodologies described herein, such as the one or more algorithms  4300  expressed as computer programs stored in a non-transitory computer readable storage medium, such as memory  4260 . In some forms of the present technology, the central controller  4230  may be integrated with an RPT device  4000 . However, in some forms of the present technology, some methodologies may be performed by a remotely located device. For example, the remotely located device may determine control settings for a ventilator or detect respiratory related events by analysis of stored data such as from any of the sensors described herein. 
     8.4.2.4 Clock 
     The RPT device  4000  may include a clock  4232  that is connected to the central controller  4230 . 
     8.4.2.5 Therapy Device Controller 
     In one form of the present technology, therapy device controller  4240  is a therapy control module  4330  that forms part of the algorithms  4300  executed by the central controller  4230 . 
     In one form of the present technology, therapy device controller  4240  is a dedicated motor control integrated circuit. For example, in one form a MC33035 brushless DC motor controller, manufactured by ONSEMI is used. 
     8.4.2.6 Protection Circuits 
     The one or more protection circuits  4250  in accordance with the present technology may comprise an electrical protection circuit, a temperature and/or pressure safety circuit. 
     8.4.2.7 Memory 
     In accordance with one form of the present technology the RPT device  4000  includes memory  4260 , e.g., non-volatile memory. In some forms, memory  4260  may include battery powered static RAM. In some forms, memory  4260  may include volatile RAM. 
     Memory  4260  may be located on the PCBA  4202 . Memory  4260  may be in the form of EEPROM, or NAND flash. 
     Additionally or alternatively, RPT device  4000  includes a removable form of memory  4260 , for example a memory card made in accordance with the Secure Digital (SD) standard. 
     In one form of the present technology, the memory  4260  acts as a non-transitory computer readable storage medium on which is stored computer program instructions expressing the one or more methodologies described herein, such as the one or more algorithms  4300 . 
     8.4.2.8 Data Communication Systems 
     In one form of the present technology, a data communication interface  4280  is provided, and is connected to the central controller  4230 . Data communication interface  4280  may be connectable to a remote external communication network  4282  and/or a local external communication network  4284 . The remote external communication network  4282  may be connectable to a remote external device  4286 . The local external communication network  4284  may be connectable to a local external device  4288 . 
     In one form, data communication interface  4280  is part of the central controller  4230 . In another form, data communication interface  4280  is separate from the central controller  4230 , and may comprise an integrated circuit or a processor. 
     In one form, remote external communication network  4282  is the Internet. The data communication interface  4280  may use wired communication (e.g. via Ethernet, or optical fibre) or a wireless protocol (e.g. CDMA, GSM, LTE) to connect to the Internet. 
     In one form, local external communication network  4284  utilises one or more communication standards, such as Bluetooth, or a consumer infrared protocol. 
     In one form, remote external device  4286  is one or more computers, for example a cluster of networked computers. In one form, remote external device  4286  may be virtual computers, rather than physical computers. In either case, such a remote external device  4286  may be accessible to an appropriately authorised person such as a clinician. 
     The local external device  4288  may be a personal computer, mobile phone, tablet or remote control. 
     8.4.2.9 Output Devices Including Optional Display, Alarms 
     An output device  4290  in accordance with the present technology may take the form of one or more of a visual, audio and haptic unit. A visual display may be a Liquid Crystal Display (LCD) or Light Emitting Diode (LED) display. 
     8.4.2.9.1 Display Driver 
     A display driver  4292  receives as an input the characters, symbols, or images intended for display on the display  4294 , and converts them to commands that cause the display  4294  to display those characters, symbols, or images. 
     8.4.2.9.2 Display 
     A display  4294  is configured to visually display characters, symbols, or images in response to commands received from the display driver  4292 . For example, the display  4294  may be an eight-segment display, in which case the display driver  4292  converts each character or symbol, such as the figure “0”, to eight logical signals indicating whether the eight respective segments are to be activated to display a particular character or symbol. 
     8.4.3 RPT Device Algorithms 
     8.4.3.1 Pre-Processing Module 
     A pre-processing module  4310  in accordance with one form of the present technology receives as an input a signal from a transducer  4270 , for example a flow rate sensor  4274  or pressure sensor  4272 , and performs one or more process steps to calculate one or more output values that will be used as an input to another module, for example a therapy engine module  4320 . 
     In one form of the present technology, the output values include the interface or mask pressure Pm, the respiratory flow rate Qr, and the leak flow rate Ql. 
     In various forms of the present technology, the pre-processing module  4310  comprises one or more of the following algorithms: pressure compensation  4312 , vent flow rate estimation  4314 , leak flow rate estimation  4316 , and respiratory flow rate estimation  4318 . 
     8.4.3.1.1 Pressure Compensation 
     In one form of the present technology, a pressure compensation algorithm  4312  receives as an input a signal indicative of the pressure in the pneumatic path proximal to an outlet of the pneumatic block. The pressure compensation algorithm  4312  estimates the pressure drop through the air circuit  4170  and provides as an output an estimated pressure, Pm, in the patient interface  3000 . 
     8.4.3.1.2 Vent Flow Rate Estimation 
     In one form of the present technology, a vent flow rate estimation algorithm  4314  receives as an input an estimated pressure, Pm, in the patient interface  3000  and estimates a vent flow rate of air, Qv, from a vent  3400  in a patient interface  3000 . 
     8.4.3.1.3 Leak Flow Rate Estimation 
     In one form of the present technology, a leak flow rate estimation algorithm  4316  receives as an input a total flow rate, Qt, and a vent flow rate Qv, and provides as an output an estimate Ql of the leak flow rate. In one form, the leak flow rate estimation algorithm  4316  estimates the leak flow rate Ql by calculating an average of the difference between total flow rate Qt and vent flow rate Qv over a period sufficiently long to include several breathing cycles, e.g. about 10 seconds. 
     In one form, the leak flow rate estimation algorithm  4316  receives as an input a total flow rate Qt, a vent flow rate Qv, and an estimated pressure, Pm, in the patient interface  3000 , and provides as an output a leak flow rate Ql, by calculating a leak conductance, and determining a leak flow rate Ql to be a function of leak conductance and pressure, Pm. Leak conductance is calculated as the quotient of low pass filtered non-vent flow rate equal to the difference between total flow rate Qt and vent flow rate Qv, and low pass filtered square root of pressure Pm, where the low pass filter time constant has a value sufficiently long to include several breathing cycles, e.g. about 10 seconds. The leak flow rate Ql may be estimated as the product of leak conductance and a function of pressure, Pm. 
     8.4.3.1.4 Respiratory Flow Rate Estimation 
     In one form of the present technology, a respiratory flow rate estimation algorithm  4318  receives as an input a total flow rate, Qt, a vent flow rate, Qv, and a leak flow rate, Ql, and estimates a respiratory flow rate of air, Qr, to the patient, by subtracting the vent flow rate Qv and the estimated leak flow rate Ql from the total flow rate Qt. 
     8.4.3.2 Therapy Engine Module 
     In one form of the present technology, a therapy engine module  4320  receives as inputs one or more of a pressure, Pm, in a patient interface  3000 , and a respiratory flow rate of air to a patient, Qr, and provides as an output one or more therapy parameters. 
     In one form of the present technology, a therapy parameter is a treatment pressure Pt. 
     In various forms, the therapy engine module  4320  comprises one or more of the following algorithms: phase determination  4321 , waveform determination  4322 , ventilation determination  4323 , inspiratory flow limitation detection  4324 , apnea detection  4325 , inspiratory M-shape detection  4326 , mismodelled leak apnea detection  4327 , typical recent ventilation determination  4328 , and therapy parameter determination  4329 . 
     8.4.3.2.1 Phase Determination 
     In one form of the present technology, the RPT device  4000  does not determine phase. 
     In one form of the present technology, a phase determination algorithm  4321  receives as an input a signal indicative of respiratory flow rate, Qr, and provides as an output a phase Φ of a current breathing cycle of a patient  1000 . 
     In some forms, known as discrete phase determination, the phase output Φ is a discrete variable. One implementation of discrete phase determination provides a bi-valued phase output Φ with values of either inhalation or exhalation, for example represented as values of 0 and 0.5 revolutions respectively, upon detecting the start of spontaneous inhalation and exhalation respectively. RPT devices  4000  that “trigger” and “cycle” effectively perform discrete phase determination, since the trigger and cycle points are the instants at which the phase changes from exhalation to inhalation and from inhalation to exhalation, respectively. In one implementation of bi-valued phase determination, the phase output Φ is determined to have a discrete value of 0 (thereby “triggering” the RPT device  4000 ) when the respiratory flow rate Qr has a value that exceeds a positive threshold, and a discrete value of 0.5 revolutions (thereby “cycling” the RPT device  4000 ) when a respiratory flow rate Qr has a value that is more negative than a negative threshold. In some implementations, the thresholds may vary with time during a breath according to a threshold function. Such implementations are described in the Patent Cooperation Treaty patent application number PCT/AU2005/000895, published as WO 2006/000017, to ResMed Limited. 
     Another implementation of discrete phase determination provides a tri-valued phase output Φ with a value of one of inhalation, mid-inspiratory pause, and exhalation. 
     In other forms, known as continuous phase determination, the phase output Φ is a continuous variable, for example varying from 0 to 1 revolutions, or 0 to 2π radians. RPT devices  4000  that perform continuous phase determination may trigger and cycle when the continuous phase reaches 0 and 0.5 revolutions, respectively. In one implementation of continuous phase determination, the inspiratory time Ti and the expiratory time Te are first estimated from the respiratory flow rate Qr. The phase Φ is then determined as the half the proportion of the inspiratory time Ti that has elapsed since the previous trigger instant, or 0.5 revolutions plus half the proportion of the expiratory time Te that has elapsed since the previous cycle instant (whichever was more recent). 
     8.4.3.2.2 Waveform Determination 
     In one form of the present technology, the therapy parameter determination algorithm  4329  provides an approximately constant treatment pressure throughout a respiratory cycle of a patient. 
     In other forms of the present technology, the therapy parameter determination algorithm  4329  controls the pressure generator  4140  to provide a treatment pressure Pt that varies throughout a respiratory cycle of a patient according to a waveform template. 
     In one form of the present technology, a waveform determination algorithm  4322  provides a waveform template Π(Φ) with values in the range [0, 1] on the domain of phase values Φ provided by the phase determination algorithm  4321  to be used by the therapy parameter determination algorithm  4329 . 
     In one form, suitable for either discrete or continuously-valued phase, the waveform template Π(Φ) is a square-wave template, having a value of 1 for values of phase up to and including 0.5 revolutions, and a value of 0 for values of phase above 0.5 revolutions. In one form, suitable for continuously-valued phase, the waveform template Π(Φ) comprises two smoothly curved portions, namely a smoothly curved (e.g. raised cosine) rise from 0 to 1 for values of phase up to 0.5 revolutions, and a smoothly curved (e.g. exponential) decay from 1 to 0 for values of phase above 0.5 revolutions. In one form, suitable for continuously-valued phase, the waveform template Π(Φ) is based on a square wave, but with a smooth rise from 0 to 1 for values of phase up to a “rise time” that is substantially less than 0.5 revolutions, and a smooth fall from 1 to 0 for values of phase within a “fall time” after 0.5 revolutions. 
     In some forms of the present technology, the waveform determination algorithm  4322  selects a waveform template Π(Φ) from a library of waveform templates, dependent on a setting of the RPT device  4000 . Each waveform template Π(Φ) in the library may be provided as a lookup table of values H against phase values Φ. In other forms, the waveform determination algorithm  4322  computes a waveform template Π(Φ) “on the fly” using a predetermined functional form, possibly parametrised by one or more parameters (e.g. a rise time and a fall time). The parameters if the functional form may be predetermined or dependent on a current state of the patient  1000 . 
     In some forms of the present technology, suitable for discrete bi-valued phase of either inhalation (Φ=0 revolutions) or exhalation (Φ=0.5 revolutions), the waveform determination algorithm  4322  computes a waveform template H “on the fly” as a function of both discrete phase Φ and time t measured since the most recent trigger instant. In one such form, the waveform determination algorithm  4322  computes the waveform template Π(Φ, t) in two portions (inspiratory and expiratory) as follows: 
     
       
         
           
             
               Π 
                
               
                 ( 
                 
                   Φ 
                   , 
                   t 
                 
                 ) 
               
             
             = 
             
               { 
               
                 
                   
                     
                       
                         
                           
                             Π 
                             i 
                           
                            
                           
                             ( 
                             t 
                             ) 
                           
                         
                          
                         
                             
                         
                         , 
                       
                     
                     
                       
                         Φ 
                         = 
                         0 
                       
                     
                   
                   
                     
                       
                         
                           
                             Π 
                             e 
                           
                            
                           
                             ( 
                             
                               t 
                               - 
                               
                                 T 
                                 i 
                               
                             
                             ) 
                           
                         
                         , 
                       
                     
                     
                       
                         Φ 
                         = 
                         0.5 
                       
                     
                   
                 
                  
                 
                   
                     
                       
                           
                       
                     
                   
                   
                     
                       
                           
                       
                     
                   
                 
               
             
           
         
       
     
     where Π t (t) and Π e (t) are inspiratory and expiratory portions of the waveform template Π(Π, t). In one such form, the inspiratory portion Π i (t) of the waveform template is a smooth rise from 0 to 1 parametrised by a rise time, and the expiratory portion Π e (t) of the waveform template is a smooth fall from 1 to 0 parametrised by a fall time. 
     8.4.3.2.3 Ventilation Determination 
     In one form of the present technology, a ventilation determination algorithm  4323  receives an input a respiratory flow rate Qr, and determines a measure Vent indicative of current patient ventilation. 
     In some implementations, the ventilation determination algorithm  4323  computes Vent as an “instantaneous ventilation” Vint, which is half the absolute value of the respiratory flow rate signal Qr. 
     In some implementations, the ventilation determination algorithm  4323  computes Vent as a “very fast ventilation” VveryFast by filtering the instantaneous ventilation Vint by a low-pass filter such as a fourth order Bessel low-pass filter with a corner frequency of approximately 0.10 Hz. This is equivalent to a time constant of approximately ten seconds. 
     In some implementations, the ventilation determination algorithm  4323  computes a Vent as a “fast ventilation” Vfast by filtering the instantaneous ventilation Vint by a low-pass filter such as a fourth order Bessel low-pass filter with a corner frequency of approximately 0.05 Hz. This is equivalent to a time constant of approximately twenty seconds. 
     In some implementations of the present technology, the ventilation determination algorithm  4323  determines Vent as a measure of alveolar ventilation. Alveolar ventilation is a measure of how much air is actually reaching the gas exchange surfaces of the respiratory system in a given time. Because the respiratory system of the patient includes a significant “anatomical dead space”, i.e. volume in which gas exchange does not take place, the alveolar ventilation is less than the “gross” ventilation values that the above calculations that operate directly on the respiratory flow rate Qr will produce, but is a more accurate measure of the respiratory performance of a patient. 
     In such implementations, the ventilation determination algorithm  4323  may determine the instantaneous alveolar ventilation to be either zero or half the absolute value of the respiratory flow rate Qr. The conditions under which the instantaneous alveolar ventilation is zero are:
         When the respiratory flow rate changes from non-negative to negative, or   When the respiratory flow rate changes from negative to non-negative, and   After the respiratory flow rate has changed sign, for the period during which the absolute value of the integral of the respiratory flow rate Qr is less than the patient&#39;s anatomical dead space volume.       

     The patient&#39;s anatomical dead space volume may be a setting of the RPT device  4000 , set for example by hard-coding during configuration of the RPT device  4000  or by manual entry through the input device  4220 . 
     In some such implementations, the ventilation determination algorithm  4323  may compute Vent as a “very fast alveolar ventilation” and/or a “fast alveolar ventilation” by low-pass filtering the instantaneous alveolar ventilation using the respective low-pass filters described above. 
     In what follows the word “alveolar” is omitted but it may be assumed to be present in some implementations of the therapy engine module  4320 . That is, mentions of “ventilation” and “tidal volume” in the subsequent description may be taken to apply to alveolar ventilation and alveolar tidal volume as well as “gross” ventilation and tidal volume. 
     8.4.3.2.4 Inspiratory Flow Limitation Determination 
     In one form of the present technology, the therapy engine module  4320  executes one or more algorithms to determine the extent of flow limitation, sometimes referred to as partial upper airway obstruction, in the inspiratory portion of the respiratory flow rate waveform (herein sometimes shortened to the “inspiratory waveform”). In one form, the flow limitation determination algorithm  4324  receives as an input a respiratory flow rate signal Qr and provides as an output a measure of the extent to which each inspiratory waveform exhibits flow limitation. 
     A normal inspiratory waveform is rounded, close to sinusoidal in shape (see  FIG. 6A ). With sufficient upper airway muscle tone (or EPAP), the airway acts essentially as a rigid tube, where flow increases in response to increased breathing effort (or external ventilatory assistance). In some situations (e.g. sleep, sedation) the upper airway may be collapsible, such as in response to sub-atmospheric pressure within it from breathing effort, or even from applied ventilation. This can lead to either full obstruction (apneas), or a phenomenon known as ‘flow limitation’. The term ‘flow limitation’ includes behaviour where increased breathing effort simply induces increased narrowing of the airway, such that inspiratory flow becomes limited at a constant value, independent of effort (“Starling resistor behaviour”). Therefore the inspiratory flow rate curve exhibits a flattened shape (see  FIG. 6B ). 
     In reality, upper airway behaviour is even more complicated, and there is a wide variety of flow shapes that are indicative of upper airway-related inspiratory flow limitation, and an even wider variety in the presence of external ventilatory assistance (see  FIGS. 6C to 6F ). For this reason, the flow limitation determination algorithm  4324  may respond to one or more of the following kinds of inspiratory flow limitation: “classical flatness” (see  FIG. 6B ), “chairness” (see  FIG. 6C ), and “reverse chairness” (see  FIG. 6D ). (“M-shape” (see  FIGS. 6E and 6F ) is dealt with separately, using M-shape detection algorithm  4326 .) 
       FIG. 7A  is a flow chart illustrating a method  7000  that may be used to compute a measure of flow limitation of the inspiratory portion of the respiratory flow rate waveform as part of the inspiratory flow limitation determination algorithm  4324  in one form of the present technology. 
     The method  7000  starts at step  7010 , which computes a number of “central part features” CF 1  to CF 8  based on the central part of the inspiratory waveform, including the central slope, the central deviation, the central concavity, and the extents to which the waveform has a large initial section and a large final section (before and after the central part, approximately). Step  7010  is described in detail below with reference to  FIG. 7B . 
     The next step  7020  combines the central part features CF 1  to CF 8  computed at step  7010  using fuzzy logic to compute a number of flow limitation fuzzy truth variables FL 1  to FL 6  indicating degrees of similarity between the inspiratory waveform and respective stereotypical flow-limited (partially obstructed) inspiratory waveforms. These stereotypes may include: moderately flat, possibly concave; mildly negative slope, indicating high inspiratory resistance; very flat; flat or M-shaped with large initial peak; flattish, possibly with a somewhat negative slope, with a peak in the post-central part; and concave and flattish. Step  7020  is described in detail below with reference to  FIG. 7C . 
     The method  7000  then at step  7030  computes a fuzzy truth variable fuzzyLateFlatness that indicates a degree of “chairness” of the inspiratory waveform, i.e. a combination of early peak, late linearity, and moderate late slope (as illustrated in  FIG. 6C ). Step  7030  is described in detail below with reference to  FIG. 7E . 
     Finally at step  7040 , the computed flow limitation fuzzy truth variables FL 1  to FL 6  (from step  7020 ) and the fuzzy truth variable fuzzyLateFlatness (from step  7030 ) are all combined using a “fuzzy OR” operation to compute a fuzzy truth variable flowLimitation indicating the extent of inspiratory flow limitation. The fuzzy “OR” takes the maximum of the fuzzy truth variables, so the fuzzy truth variable flowLimitation indicates the degree of similarity to the one of the stereotypical flow-limited inspiratory waveforms to which the inspiratory waveform is most similar. 
     By basing the detection of flow limitation primarily on features extracted from the central part of the inspiratory waveform, the method  7000  is more robust to mismodelled leak (see below) than other methods of detecting inspiratory flow limitation. This is because mismodelled leak tends to induce a (usually, though not exclusively) positive offset to the respiratory flow rate signal Qr that is a function of the mask pressure Pm, which tends to be generally constant during the central and later parts of the inspiratory waveform (e.g. once the rise time has passed). The offset to the respiratory flow rate signal Qr induced by mismodelled leak therefore also tends to be constant during the central and later parts of the inspiratory waveform. 
       FIG. 7B  is a flow chart illustrating a method  7100  that may be used to implement step  7010  of the method  7000  in one form of the present technology. The method  7100  receives as parameters a “low fraction” and a “high fraction” of the duration of the inspiratory waveform. The “central part” of the inspiratory waveform used by the method  7100  extends from the low fraction multiplied by the duration of the inspiratory waveform to the high fraction multiplied by the duration of the inspiratory waveform. In one implementation of step  7010 , the “low fraction” passed to the method  7100  is 0.3, and the “high fraction” is 0.85. 
     The method  7100  starts at step  7110 , which constructs a notional “ramp” over the part of the inspiratory waveform before the central part, i.e. the “pre-central” part. The ramp extends from the start point of the inspiratory waveform to the start point of the central part. 
     Step  7120  then computes the amount of respiratory flow above the ramp by summing the difference between the inspiratory waveform and the ramp over the pre-central part. This amount is referred to asflowAboveRampToStartOfCentralPart. 
     The next step  7130  computes the first central part feature (CF 1 ), propnAboveRampToStartOfCentralPart, by dividing flowAboveRampToStartOfCentralPart by the sum of all the inspiratory waveform values. A markedly positive value of propnAboveRampToStartOfCentralPart is generally associated with an early peak of the inspiratory flow waveform. A negative value indicates a very gentle rise of flow to the central part, and is unlikely to be associated with flow limitation or high inspiratory resistance. 
     Step  7140  follows, at which the method  7100  computes the second central part feature (CF 2 ), centralSlope, over the central part. CentralSlope, which represents the slope of a linear approximation to the normalised central part of the inspiratory waveform, may be computed by linear regression of the normalised central part. The normalising factor is the maximum of the mean of the complete inspiratory waveform, and the minimum normalising flow, which is defined in one implementation to be 24 litres/minute. 
     Step  7150  then computes centralFlowsMean, the mean of the normalised central part of the inspiratory waveform. Step  7150  then multiplies centralFlowsMean by the duration of the central part to obtain the third central part feature (CF 3 ), centralPartDurationByFlowsMeanProduct 
     The method  7100  proceeds to step  7160 , which computes the fourth central part feature (CF 4 ), postCentralActualAbovePredicted, a measure of how much the flow rate in the part of the inspiratory waveform after the central part (the post-central part) is above the linear approximation to the central part. Step  7160  computes postCentralActualAbovePredicted by summing the difference between the normalised inspiratory waveform values and the linear approximation extended over the post-central part, and dividing the sum by the duration of the post-central part and the value of centralFlowsMean. (In one implementation, if centralFlowsMean is not positive, postCentralActualAbovePredicted is set to zero.) A negative value of postCentralActualAbovePredicted generally indicates normal breathing, because in partial upper airway obstruction the flow rate is generally greater than or equal to the projection of the central part forward in time, whereas in normal breathing the flow rate after the central part almost always decreases more rapidly than in the central part. Put another way, in normal breathing the flow rate in the central part and the post-central part taken together is generally convex, whereas in flow-limited breathing, the flow rate in the central part taken together with most of the post-central part is generally not convex. 
     The next step  7170  computes the fifth central part feature (CF 5 ), centralDeviation, a measure of the variation of the actual inspiratory waveform values from the linear approximation thereto over the central part. In one implementation of step  7170 , centralDeviation is computed as the square root of the sum of the squares of the difference between the normalised flow rate and the linear approximation thereto (computed from centralFlowsMean and centralSlope), over the central part. A markedly positive value of centralDeviation indicates significant non-linearity in the central part. 
     Finally, at step  7180  the method  7100  computes the sixth central part feature (CF 6 ), centralConcavity, a measure of the concavity of the central part. A positive value of centralConcavity indicates the central part is roughly concave upwards. In one implementation of step  7180 , centralConcavity is computed as a measure of similarity between the normalised, mean-subtracted inspiratory waveform and a V-shaped function over the central part. In one implementation of step  7180 , the measure of similarity is computed as the sum over the central part of the products of the normalised, mean-subtracted inspiratory waveform and the V-shaped function, divided by the autocorrelation of the V-shaped function. Other measures of concavity may also be used at step  7180  to compute centralConcavity, e.g. the curvature of a parabolic approximation to the central part. Another measure of concavity is the inner product of the central part with the second derivative of a Gaussian function with a suitable scaling factor, over a suitable range, e.g. that corresponding to +/−2 standard deviations. This may alternatively be implemented by taking the second derivative of the flow at the centre of the low-pass filtered central part, where the low-pass filtering has been performed by convolution with a Gaussian function, possibly with appropriate windowing. Other low-pass filters may be used, followed by a standard numerical method for calculating the second derivative on the filtered waveform. 
     To compute the seventh and eighth central part features, step  7010  may repeat the method  7100  with a different definition of the central part, i.e. different values of the parameters “low fraction” and “high fraction”. In one such implementation, the “low fraction” for the second iteration of the method  7100  is 0.2, and the “high fraction” is 0.8, both of which are lower than the corresponding fractions defining the central part over which the central part features CF 1  to CF 6  were computed, and which therefore define an earlier portion of the inspiratory waveform. The seventh central part feature (CF 7 ), named ConcaveAndFlattishCentralSlope, is the value of centralSlope returned by step  7140  of the second iteration of the method  7100 . The value of ConcaveAndFlattishCentralSlope is subtly different from the value of centralSlope (CF 2 ) from being computed over an earlier portion of the inspiratory waveform. 
     The eighth central part feature (CF 8 ), named ConcaveAndFlattishCentralConcavity, is the value of centralConcavity returned by step  7180  of the second iteration of the method  7100 . The value of ConcaveAndFlattishCentralConcavity is subtly different from the value of centralConcavity (CF 6 ) from being computed over an earlier portion of the inspiratory waveform. 
     By basing the computation of central part features CF 1  to CF 8  generally on normalised quantities, the method  7100  makes itself more robust to offsets in the inspiratory waveform induced by mismodelled leak. 
       FIG. 7C  is a flow chart illustrating a method  7200  that may be used to implement step  7020  of the method  7000  in one form of the present technology. As mentioned above, step  7020  combines the central part features CF 1  to CF 8  computed at step  7010 , such as by using fuzzy logic, to compute a number of flow limitation fuzzy truth variables FL 1  to FL 6  indicating the similarity of the inspiratory waveform to respective stereotypical flow-limited inspiratory waveforms. 
     Each step  7210  to  7260  operates independently on some subset of the eight central part features CF 1  to CF 8  to compute one of six flow limitation fuzzy truth variables FL 1  to FL 6 . For this reason, steps  7210  to  7260  may be carried out in parallel or any convenient order. 
     Step  7210  computes the flow limitation fuzzy truth variable FL 1 , named flattishMaybeConcave, as the fuzzy AND of three fuzzy truth variables centralSlopeFlattishMaybeConcave, centralDeviationFlattishMaybeConcave, and centralConcavityFlattishMaybeConcave, obtained from the central part features centralSlope (CF 2 ), centralDeviation (CF 5 ) and centralConcavity (CF 6 ) respectively. The three fuzzy truth variables that contribute to flattishMaybeConcave indicate respectively that the central part of the inspiratory waveform is moderately flat (approximately horizontal and reasonably linear) and slightly concave upwards. In one implementation, step  7210  computes centralSlopeFlattishMaybeConcave, centralDeviationFlattishMaybeConcave, and centralConcavityFlattishMaybeConcave as follows: 
     
       
         
           
               
               
               
             
               
                   
                   
               
             
            
               
                   
                   
                 centralSlopeFlattishMaybeConcave = FuzzyMember( 
               
               
                   
                   
                 centralSlope, -0.2, False, -0.1, True, 0.1, True, 0.2, False) 
               
               
                   
                   
                 centralDeviationFlattishMaybeConcave = FuzzyMember( 
               
               
                   
                   
                 centralDeviation, 0.05, True, 0.1, False) 
               
               
                   
                   
                 centralConcavityFlattishMaybeConcave = FuzzyMember( 
               
               
                   
                   
                 centralConcavity, -0.2, False, 0.0, True) 
               
               
                   
                   
               
            
           
         
       
     
     Step  7220  computes the flow limitation fuzzy truth variable FL 2 , named mildNegSlopeHighlnspResistance, from the six central part features CF 1  to CF 6 . The flow limitation fuzzy truth variable mildNegSlopeHighlnspResistance indicates that the inspiratory waveform has mildly negative slope in the central part indicating high inspiratory resistance. 
       FIG. 7D  is a flow chart illustrating a method  7300  that may be used to implement step  7220  of the method  7200  in one form of the present technology. 
     The method  7300  starts at step  7310 , which checks whether the central part feature centralPartDurationByFlowsMeanProduct (CF 3 ) is greater than 0, or the central part feature centralSlope (CF 2 ) is between [−0.6, −0.1]. If not (“N”), the method  7300  proceeds to step  7320 , which sets mildNegSlopeHighlnspResistance to False, because either the central slope is not mildly negative or the central part is too small to be useful. 
     Otherwise (“Y”), the method  7300  commences computing four fuzzy truth variables which will be combined using a fuzzy AND operation to yield mildNegSlopeHighlnspResistance. 
     This computation starts at step  7330 , which computes an intermediate fuzzy truth variable pairIsHigh from the central part feature propnAboveRampToStartOfCentralPart (CF 1 ) such that pairIsHigh goes True as the pre-central part becomes “peakier”. In one implementation, step  7330  computes pairIsHigh as follows: 
     
       
         
           
               
               
               
             
               
                   
                   
               
             
            
               
                   
                   
                 pairIsHigh = FuzzyMember( 
               
               
                   
                   
                  propnAboveRampToStartOfCentralPart, 
               
               
                   
                   
                 0.08, False, 0.12, True) 
               
               
                   
                   
               
            
           
         
       
     
     Step  7340  then computes a slope-dependent deviation threshold from pairIsHigh and centralSlope. In one implementation, step  7340  computes slopeDependentDeviationThreshold as follows: 
     
       
         
           
               
             
               
                   
               
             
            
               
                 slopeDependentDeviationThreshold = 
               
               
                 pairIsHigh*0.08 + (1 - pairIsHigh)*(0.04 + (centralSlope + 0.5) * 0.1) 
               
               
                   
               
            
           
         
       
     
     At the next step  7350 , the method  7300  computes the first of the four fuzzy truth variables that contribute to mildNegSlopeHighlnspResistance, namely centralDeviationLow, using the central part feature centralDeviation (CF 5 ) minus the slope-dependent deviation threshold just computed. The value of centralDeviationLow becomes False as this difference increases. In one implementation, step  7350  computes centralDeviationLow as follows: 
     
       
         
           
               
               
               
             
               
                   
                   
               
             
            
               
                   
                   
                 centralDeviationLow = FuzzyMember( 
               
               
                   
                   
                 centralDeviation - slopeDependentDeviationThreshold, 
               
               
                   
                   
                 0.0, True, 0.01, False 
               
               
                   
                   
                 ) 
               
               
                   
                   
               
            
           
         
       
     
     Step  7360  then computes the second of the four fuzzy truth variables that contribute to mildNegSlopeHighlnspResistance, namely centralConcavityModPositive, from the central part feature centralConcavity (CF 6 ), such that centralConcavityModPositive is true when the concavity of the central part is moderately positive. In one implementation, step  7360  computes centralConcavityModPositive as follows: 
     
       
         
           
               
               
             
               
                   
               
             
            
               
                   
                 centralConcavityModPositive = FuzzyMember( 
               
               
                   
                 centralConcavity, -0.05, False, 0.0, True, 0.3, True, 0.5, False) 
               
               
                   
               
            
           
         
       
     
     The next step  7370  computes the third of the four fuzzy truth variables that contribute to mildNegSlopeHighlnspResistance, namely postCentralActualAbovePredMildNegSlope, from the central part feature postCentralActualAbovePredicted (CF 4 ), such that postCentralActualAbovePredMildNegSlope becomes true as postCentralActualAbovePredicted increases. In one implementation, step  7370  computes postCentralActualAbovePredMildNegSlope as follows: 
     
       
         
           
               
               
             
               
                   
               
             
            
               
                   
                 postCentralActualAbovePredMildNegSlope = FuzzyMember( 
               
               
                   
                 postCentralActualAbovePredicted, -0.4, False, -0.3, True) 
               
               
                   
               
            
           
         
       
     
     Step  7375  follows, at which the method  7300  computes an exponential decay constant exponentialDecayConstant from the central part features centralSlope (CF 2 ) and centralPartDurationByFlowsMeanProduct (CF 3 ). In one implementation, step  7375  computes exponentialDecayConstant as follows: 
     
       
         
           
               
               
               
             
               
                   
                   
               
             
            
               
                   
                   
                 exponentialDecayConstant = 
               
               
                   
                   
                 - centralSlope / centralPartDurationByFlowsMeanProduct 
               
               
                   
                   
               
            
           
         
       
     
     The next step  7380  computes the fourth of the four fuzzy truth variables that contribute to mildNegSlopeHighlnspResistance, namely expDecayConstMildNegSlope, from exponentialDecayConstant. In one implementation, step  7380  computes expDecayConstMildNegSlope as follows: 
     
       
         
           
               
               
               
             
               
                   
                   
               
             
            
               
                   
                   
                 expDecayConstMildNegSlope = FuzzyMember( 
               
               
                   
                   
                 exponentialDecayConstant, -0.4, False, -0.2, True, 0.2,  
               
               
                   
                   
                 True, 0.4, False) 
               
               
                   
                   
               
            
           
         
       
     
     The final step  7390  of the method  7300  computes mildNegSlopeHighlnspResistance as the fuzzy AND of the four fuzzy truth variables centralDeviationLow, mildNegSlopeHighlnspResistance, postCentralActualAbovePredMildNegSlope, and expDecayConstMildNegSlope. 
     Step  7230  computes the flow limitation fuzzy truth variable FL 3 , named veryFlat, as the fuzzy AND of three fuzzy truth variables centralSlopeVeryFlat, centralConcavityVeryFlat, and propnAboveRampToStartOfCentralPartVeryFlat obtained from the central part features centralSlope (CF 2 ), centralConcavity (CF 6 ), and propnAboveRampToStartOfCentralPart (CF 1 ) respectively. The three fuzzy truth variables that contribute to veryFlat indicate respectively that the inspiratory waveform is approximately horizontal and not convex upwards in the central part, and not concave upwards in the pre-central part. In one implementation, step  7230  computes centralSlope VeryFlat, centralConcavityVeryFlat, and propnAboveRampToStartOfCentralPartVeryFlat as follows: 
     
       
         
           
               
               
             
               
                   
               
             
            
               
                   
                 centralSlopeVeryFlat = FuzzyMember( 
               
               
                   
                 centralSlope, -0.1, False, -0.05, True, 0.05, True, 0.1, False) 
               
               
                   
                 centralConcavityVeryFlat = FuzzyMember( 
               
               
                   
                 centralConcavity, -0.1, False, 0.0, True) 
               
               
                   
                 propnAboveRampToStartOfCentralPartVeryFlat = FuzzyMember( 
               
               
                   
                 propnAboveRampToStartOfCentralPart, -0.05, False, 0.0, True) 
               
               
                   
               
            
           
         
       
     
     Step  7240  computes the flow limitation fuzzy truth variable FL 4 , named flatAndLargeInitialPeakMShapes, as the fuzzy AND of three fuzzy truth variables centralSlopeFlatAndLargelnitialPeakMShapes, centralConcavityFlatAndLargelnitialPeakMShapes, and propnAboveRampToStartOfCentralPartFlatAndLargeInitialPeakMShapes, obtained from the central part features centralSlope (CF 2 ), centralConcavity (CF 6 ), and propnAboveRampToStartOfCentralPart (CF 1 ) respectively. The three fuzzy truth variables that contribute to flatAndLargelnitialPeakMShapes indicate respectively that the inspiratory waveform is approximately horizontal or M-shaped in the central part, and has a large initial peak. In one implementation, step  7240  computes centralSlopeFlatAndLargelnitialPeakMShapes, centralConcavityFlatAndLargelnitialPeakMShapes, and propnAboveRampToStartOfCentralPartFlatAndLargelnitialPeakMShapes as follows:
     centralSlopeFlatAndLargelnitialPeakMShapes=FuzzyMember(centralSlope, −0.3, False, −0.2, True, 0.2, True, 0.3, False)   centralConcavityFlatAndLargelnitialPeakMShapes=FuzzyMember(centralConcavity, 0.1, False, 0.3, True)   propnAboveRampToStartOfCentralPartFlatAndLargelnitialPeakMShapes=FuzzyMember(propnAboveRampToStartOfCentralPart, 0.15, False, 0.3, True)   

     Step  7250  computes the flow limitation fuzzy truth variable FL 5 , named flatMNegSlopePostCentralHigh, using the following fuzzy logic operations on three intermediate fuzzy truth variables: 
     
       
         
           
               
               
               
             
               
                   
                   
               
             
            
               
                   
                   
                 flatMNegSlopePostCentralHigh = 
               
               
                   
                   
                 centralDeviationFlatMNegSlopePostCentralHigh AND 
               
               
                   
                   
                 (flatNegSlope OR flatMoreNegSlopeHighPostCentral) 
               
               
                   
                   
               
            
           
         
       
     
     The fuzzy truth variable centralDeviationFlatMNegSlopePostCentralHigh is obtained from the central part feature centralDeviation (CF 5 ) and indicates that the central part of the inspiratory waveform is reasonably linear. In one implementation, step  7250  computes centralDeviationFlatMNegSlopePostCentralHigh as follows: 
     
       
         
           
               
               
             
               
                   
               
             
            
               
                   
                 centralDeviationFlatMNegSlopePostCentralHigh = FuzzyMember( 
               
               
                   
                 centralDeviation, 0.1, True, 0.2, False) 
               
               
                   
               
            
           
         
       
     
     Step  7250  computes the fuzzy truth variable flatNegSlope as the fuzzy AND of two fuzzy truth variables centralSlopeFlatNegSlope and postCentralActualAbovePredFlatNegSlope, obtained from the central part features centralSlope (CF 2 ) and postCentralActualAbovePredicted (CF 4 ) respectively. The two fuzzy truth variables that contribute to flatNegSlope indicate respectively that the inspiratory waveform has a slight negative slope in the central part and is concave up in the post-central part. In one implementation, step  7250  computes centralSlopeFlatNegSlope and postCentralActualAbovePredFlatNegSlope as follows: 
     
       
         
           
               
               
             
               
                   
               
             
            
               
                   
                 centralSlopeFlatNegSlope = FuzzyMember( 
               
               
                   
                 centralSlope, -0.45, False, -0.3, True, 0.1, True, 0.2, False) 
               
               
                   
                 postCentralActualAbovePredFlatNegSlope = FuzzyMember( 
               
               
                   
                 postCentralActualAbovePredicted, 0.0, False, 0.2, True) 
               
               
                   
               
            
           
         
       
     
     Step  7250  computes the fuzzy truth variable flatMoreNegSlopeHighPostCentral as the fuzzy AND of two fuzzy truth variables centralSlopeFlatMoreNegSlopeHighPostCentral and postCentralActualAbovePredFlatMoreNegSlopeHighPostCentral, obtained from the central part features centralSlope (CF 2 ) and postCentralActualAbovePredicted (CF 4 ) respectively. The two fuzzy truth variables that contribute to flatMoreNegSlopeHighPostCentral indicate respectively that the inspiratory waveform has a slightly more negative slope in the central part than flatNegSlope and has a peak in the post-central part. In one implementation, step  7250  computes centralSlopeFlatMoreNegSlopeHighPostCentral and postCentralActualAbovePredFlatMoreNegSlopeHighPostCentral as follows: 
     
       
         
           
               
               
             
               
                   
               
             
            
               
                   
                 centralSlopeFlatMoreNegSlopeHighPostCentral = FuzzyMember( 
               
               
                   
                 centralSlope , -0.55, False, -0.45, True, 0.1, True, 0.2, False) 
               
               
                   
                 postCentralActualAbovePredFlatMoreNegSlopeHighPostCentral = 
               
               
                   
                 FuzzyMember( 
               
               
                   
                 postCentralActualAbovePredicted, 0.2, False, 0.3, True) 
               
               
                   
               
            
           
         
       
     
     The fuzzy truth variable flatMNegSlopePostCentralHigh (FL 5 ) computed by step  7250  indicates that the inspiratory waveform is reasonably linear in the central part and either has a slight negative slope in the central part and is concave up in the post-central part, or has a more negative slope in the central part and has a peak in the post-central part. 
     Step  7260  computes the flow limitation fuzzy truth variable FL 6 , named concaveAndFlattish, as the fuzzy AND of two fuzzy truth variables centralSlopeConcaveAndFlattishFuzzy and centralConcavityConcaveAndFlattishFuzzy, obtained from the central part features centralSlopeConcaveAndFlattish (CF 7 ) and centralConcavityConcaveAndFlattish (CF 8 ) respectively. The two fuzzy truth variables that contribute to concaveAndFlattish indicate respectively that the central part of the inspiratory waveform is approximately horizontal and concave upwards. The flow limitation fuzzy truth variable concaveAndFlattish (FL 6 ) is somewhat different from the first flow limitation fuzzy truth variable flattishMaybeConcave (FL 1 ) on account of its dependence on central part features CF 7  and CF 8  that are computed over a slightly earlier definition of the central part than CF 2  and CF 6 , which contribute to flattishMaybeConcave. That is, concaveAndFlattish indicates a slightly earlier appearance of horizontality and concavity than flattishMaybeConcave. 
     In one implementation, step  7260  computes centralSlopeConcaveAndFlattishFuzzy and centralConcavityConcaveAndFlattishFuzzy as follows: 
     
       
         
           
               
               
             
               
                   
               
             
            
               
                   
                 centralSlopeConcaveAndFlattishFuzzy = FuzzyMember( 
               
               
                   
                 centralSlopeConcaveAndFlattish, 
               
               
                   
                 -0.4, False, -0.2, True, 0.2, True, 0.4, False) 
               
               
                   
                 centralConcavityConcaveAndFlattishFuzzy = FuzzyMember( 
               
               
                   
                 centralConcavityConcaveAndFlattish, 
               
               
                   
                 0.3, False, 0.4, True) 
               
               
                   
               
            
           
         
       
     
       FIG. 7E  is a flow chart illustrating a method  7400  that may be used to implement step  7030  of the method  7000  in one form of the present technology. As mentioned above, step  7030  computes a fuzzy truth variable fuzzyLateFlatness that indicates that indicates a degree of “chairness” of the inspiratory waveform. 
     The method  7400  starts at step  7410 , which checks whether the inspiratory time Ti is greater than an inspiratory time threshold and a typical recent ventilation Vtyp (returned by the typical recent ventilation determination algorithm  4328 , described below) is greater than zero. In one implementation, the inspiratory time threshold is 0.5. If not (“N”), step  7440  sets fuzzyLateFlatness to “fuzzy false”, and the method  7400  concludes. Otherwise (“Y”), step  7420  computes start and end locations of a “late section” of the inspiratory waveform. The aim of step  7420  is to define the late section so as to exclude any early peak in the inspiratory waveform. In one implementation, the late section is defined using rise time and fall time parameters of the pressure waveform template determined by the waveform determination algorithm  4322 . In one such implementation, the start location of the late section is 1.25 multiplied by the rise time, and the end location is one quarter of the fall time back from the end of the inspiratory waveform. Other implementations of step  7420  defining the “late section” may be contemplated. For example, step  7420  may test a section somewhat later than the above-defined “late section” for being a reasonable approximation to a straight line with close to zero gradient, and if this is found, search backward to find the junction of this approximation with the rapid descent from the initial peak, using for example a criterion which is approximately equivalent to a large positive smoothed second derivative at the junction to locate this junction, then consider the late section to start approximately at this junction. This approach is more computationally intensive than the approach previously described. 
     The method  7400  then checks whether the duration of the late section defined at step  7420  is above a minimum fraction of the inspiratory time Ti. In one implementation the minimum fraction is 0.25. If not (“N”), the late section is deemed too short for a reliable analysis, and the method  7400  proceeds to step  7440 , which sets fuzzyLateFlatness to “fuzzy false”, and the method  7400  concludes. Otherwise (“Y”), the next step  7450  computes a normalising factor normFactorTypVent from the typical recent ventilation Vtyp, such that normFactorTyptVent generally increases as Vtyp increases. In one implementation, suitable for when Vtyp is an alveolar ventilation, step  7450  computes normFactorTypVent as Vtyp/4.5. 
     Step  7455  then computes a linear approximation to the inspiratory waveform over the late section. Step  7455  may use linear regression to compute the linear approximation, which is characterised by the mean flow flowMean, the slope flowSlope, and the root mean squared prediction error rootMeanSqFlowPredErr. Step  7455  then computes normalised versions of these three parameters by dividing each by the normalising factor normFactorTypVent: 
     
       
         
           
               
               
             
               
                   
               
             
            
               
                   
                 lateFlowMean = flowMean / normFactorTyp Vent 
               
               
                   
                 lateSlope = flowSlope / normFactorTyp Vent 
               
               
                   
                 lateFlatness = rootMeanSqFlowPredErr / normFactorTyp Vent 
               
               
                   
               
            
           
         
       
     
     “Flatness” here refers to the extent to which the late section resembles a straight line, with no implications about its gradient, and the value of lateFlatness is zero when the late section is actually a straight line. 
     At the next step  7460 , the method  7400  computes a quantity flowAboveLateBeforeLate that indicates by how much the inspiratory waveform before the late section exceeds the back projection of the linear approximation to the late section of the inspiratory waveform computed at step  7455 , i.e. indicates the size of an early peak in the inspiratory waveform. To compute flowAboveLateBeforeLate, the earliest location before the late section at which the respiratory flow rate Qr exceeds the back projection of the linear approximation to the late section is found. The difference between the respiratory flow rate Qr and the linear approximation is then averaged between this location and the start location of the late section. The average is then normalised by the normalising factor normFactorTypVent to obtain flowAboveLateBeforeLate. Step  7460  then computes a fuzzy truth variable flowAboveLateBeforeLateAdequate from the value of flowAboveLateBeforeLate such that flowAboveLateBeforeLateAdequate is fuzzy false until flowAboveLateBeforeLate exceeds a threshold that generally increases with the mean flow rate of the late section lateFlowMean (which was computed at step  7455 ). The effect of the dependence of flowAboveLateBeforeLateAdequate on lateFlowMean is that larger early peaks are required to cause fuzzyLateFlatness to be fuzzy true as the mean flow rate of the late section increases. 
     In one implementation, step  7460  computes flowAboveLateBeforeLateAdequate as follows: 
     
       
         
           
               
               
               
             
               
                   
                   
               
             
            
               
                   
                   
                 flowAboveLateBeforeLateAdequate = FuzzyMember( 
               
               
                   
                   
                 flowAboveLateBeforeLate, 
               
               
                   
                   
                 LOWER_THRESH, False, 
               
               
                   
                   
                 UPPER_THRESH, True 
               
               
                   
                   
                 ) 
               
               
                   
                   
               
            
           
         
       
     
     where LOWER_THRESH and UPPER_THRESH are constant thresholds equal in one implementation to 0.5*lateFlowMean and lateFlowMean respectively. In one implementation, the thresholds have minimum values of 2.25 and 4.5 litres/minute respectively, regardless of the value of lateFlowMean. 
     The method  7400  proceeds to step  7465 , which computes a fuzzy truth variable lateFlatnessFuzzyComp which turns from true to false as lateFlatness increases, i.e. the late section becomes less linear. In one implementation, step  7465  computes lateFlatnessFuzzyComp as follows: 
     
       
         
           
               
               
               
             
               
                   
                   
               
             
            
               
                   
                   
                 lateFlatnessFuzzyComp = FuzzyMember( 
               
               
                   
                   
                 lateFlatness, 
               
               
                   
                   
                 LOWER_FLATNESS_THRESH, True, 
               
               
                   
                   
                 UPPER_FLATNESS_THRESH, False 
               
               
                   
                   
                 ) 
               
               
                   
                   
               
            
           
         
       
     
     where LOWER_FLATNESS_THRESH and UPPER_FLATNESS_THRESH are constant thresholds equal in one implementation to 0.6 and 0.9 respectively. 
     The next step  7470  computes a fuzzy truth variable lateSlopeFuzzyComp that is only true when lateSlope is “moderate”, i.e. within a certain range. That is, large positive or negative values of lateSlope may cause lateSlopeFuzzyComp to be false. In one implementation, step  7470  computes lateSlopeFuzzyComp as follows: 
     
       
         
           
               
               
               
             
               
                   
                   
               
             
            
               
                   
                   
                 lateSlopeFuzzyComp = FuzzyMember( 
               
               
                   
                   
                 lateSlope, 
               
               
                   
                   
                 LOWER_SLOPE_THRESH, False, 
               
               
                   
                   
                 UPPER_SLOPE_THRESH, True, 
               
               
                   
                   
                 6.0, True, 
               
               
                   
                   
                 9.0, False, 
               
               
                   
                   
                 ) 
               
               
                   
                   
               
            
           
         
       
     
     where LOWER_SLOPE_THRESH and UPPER_SLOPE_THRESH are thresholds. In one implementation, the thresholds generally become more negative as lateFlowMean increases, meaning that larger negative slopes are permitted within the definition of “moderate” as the mean flow rate of the late section increases. In one implementation, step  7470  computes LOWER_SLOPE_THRESH and UPPER_SLOPE_THRESH as follows: 
     
       
         
           
               
               
             
               
                   
               
             
            
               
                   
                 LOWER_SLOPE_THRESH = −9.0 − 3* slopeThresholdExtension 
               
               
                   
                  UPPER_SLOPE_THRESH = −6.0 − 3 *slopeThresholdExtension 
               
               
                   
               
            
           
         
       
     
     where slope ThresholdExtension is a real number that decreases from 1 to 0 as lateFlowMean increases. In one implementation, step  7470  computes slope ThresholdExtension as follows: 
     
       
         
           
               
               
               
             
               
                   
                   
               
             
            
               
                   
                   
                 slopeThresholdExtension = FuzzyDeweight( 
               
               
                   
                   
                 lateFlowMean, 
               
               
                   
                   
                 0.6, 1.0, 
               
               
                   
                   
                 0.9, 0.0 
               
               
                   
                   
                 ) 
               
               
                   
                   
               
            
           
         
       
     
     The final step  7475  of the method  7400  computes fuzzyLateFlatness as the fuzzy AND of the fuzzy truth variables flowAboveLateBeforeLateAdequate, lateFlatnessComp, and lateSlopeFuzzyComp computed at steps  7460 ,  7465 , and  7470  respectively. 
     8.4.3.2.5 M-Shape Detection 
     In one form of the present technology, the therapy engine  4320  module executes one or more algorithms to detect “M-shape” in the inspiratory waveform. In one form, the M-shape detection algorithm  4326  receives as an input a respiratory flow rate signal Qr and provides as an output a measure indicative of the extent to which each inspiratory waveform exhibits M-shape. 
     M-shaped inspiratory waveforms with tidal volumes or other breathwise ventilation values not much greater than typical recent values are indicative of flow limitation. Such inspiratory waveforms have a relatively rapid rise and fall and a dip or “notch” in flow approximately in the centre, the dip being due to flow limitation (see  FIGS. 6E and 6F ). At higher tidal volumes or breathwise ventilation values, such waveforms are generally behavioural, i.e. micro-arousals during sleep, or sighs, and are not indicative of flow limitation. 
     To detect M-shaped waveforms, the M-shape detection algorithm  4326  determines the similarity of the inspiratory waveform to a waveform which is broadly M-shaped. 
       FIG. 7F  is a flow chart illustrating a method  7500  that may be used to implement the M-shape detection algorithm  4326  in one form of the present technology. 
     Since the notch may not be at the centre of the inspiratory waveform, the method  7500  attempts to find the location of the notch, and then linearly time-distorts the waveform so that the notch is at the centre of the waveform. To find the notch, the first step  7510  performs a modified convolution of the normalised inspiratory waveform f(t) (wherein the normalisation is division by the mean) with a V-shaped kernel V(t) of length Ti/2, centred on zero, where Ti is the inhalation time: 
     
       
         
           
             
               V 
                
               
                 ( 
                 t 
                 ) 
               
             
             = 
             
               
                 8 
                  
                 
                    
                   
                     t 
                     
                       T 
                       i 
                     
                   
                    
                 
               
               - 
               1 
             
           
         
       
     
     The modified convolution is based on separate convolutions with the left and right halves of the kernel V(t). The left half convolution is calculated as 
     
       
         
           
             
               
                 I 
                 L 
               
                
               
                 ( 
                 τ 
                 ) 
               
             
             = 
             
               
                 
                   ∫ 
                   0 
                 
                 
                   
                     - 
                     
                       T 
                       i 
                     
                   
                   4 
                 
               
                
               
                 
                   V 
                    
                   
                     ( 
                     t 
                     ) 
                   
                 
                  
                 
                   f 
                    
                   
                     ( 
                     
                       t 
                       - 
                       τ 
                     
                     ) 
                   
                 
                  
                 dt 
               
             
           
         
       
     
     and the right half convolution as 
     
       
         
           
             
               
                 I 
                 R 
               
                
               
                 ( 
                 τ 
                 ) 
               
             
             = 
             
               
                 
                   ∫ 
                   
                     
                       T 
                       i 
                     
                     4 
                   
                 
                 0 
               
                
               
                 
                   V 
                    
                   
                     ( 
                     t 
                     ) 
                   
                 
                  
                 
                   f 
                    
                   
                     ( 
                     
                       t 
                       - 
                       τ 
                     
                     ) 
                   
                 
                  
                 dt 
               
             
           
         
       
     
     The modified convolution I(t) is computed as a combination of the left and right half convolutions I L (τ) and I R (τ) such that if either of the left and right half convolutions is zero, the result is zero, regardless of the other quantity, and if both are 1, the result is 1. Thus constrained, the combination of the left and right half convolutions resembles a logical “and” function in some sense, hence is given the name “V-anded convolution”. In one implementation, the combination is a modified geometric mean of the left and right half convolutions: 
     
       
         
           
             
               
                 
                   
                     I 
                      
                     
                       ( 
                       τ 
                       ) 
                     
                   
                   = 
                   
                     { 
                     
                       
                         
                           
                             
                               
                                 
                                   
                                     I 
                                     L 
                                   
                                    
                                   
                                     ( 
                                     τ 
                                     ) 
                                   
                                 
                                  
                                 
                                   
                                     I 
                                     R 
                                   
                                    
                                   
                                     ( 
                                     τ 
                                     ) 
                                   
                                 
                               
                             
                             , 
                           
                         
                         
                           
                             
                               
                                 I 
                                 L 
                               
                                
                               
                                 ( 
                                 τ 
                                 ) 
                               
                             
                             &gt; 
                             
                               0 
                                
                               
                                   
                               
                                
                               and 
                                
                               
                                   
                               
                                
                               
                                 
                                   I 
                                   R 
                                 
                                  
                                 
                                   ( 
                                   τ 
                                   ) 
                                 
                               
                             
                             &gt; 
                             0 
                           
                         
                       
                       
                         
                           0 
                         
                         
                           otherwise 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   1 
                   ) 
                 
               
             
           
         
       
     
     The above constraint provides a condition that the inspiratory waveform to the left of the posited notch is generally increasing leftwards, and that to the right of the notch is generally increasing rightwards. This provides more specificity than simply summing the left and right integrals. In the implementation given in equation (1), the integrals of the product of the time-shifted normalised inspiratory waveform with each half-V must be strictly positive, otherwise the V-anded convolution is zero. This prevents a variety of pathologies, for example, when the part of the inspiratory flow to the left of the centre of the V does not actually increase leftwards, but the integral of the right half of the V waveform is so large that it overwhelms an actually decreasing left half. 
     The V-anded convolution is performed with the position of the centre of the kernel V(t) ranging from Ti/4 to 3Ti/4, thus yielding results for the central half of the inspiratory waveform. 
     Step  7520  finds the location at which the modified convolution I(t) peaks, and if the height of this peak is greater than a threshold, a notch is deemed to exist at the location t notch  of the centre of the kernel V(t) at which this peak is located. In one implementation, the threshold is set to 0.15. 
     If a notch is found by step  7520  (“Y”) at the location t notch , the inspiratory waveform f(t) is then, at step  7530 , time distorted or “symmetrised” so that half the waveform is to the left of t notch  and half is to the right. This operation gives a time-distorted or “symmetrised” version G(t) of the inspiratory waveform f(t): 
     
       
         
           
             
               G 
                
               
                 ( 
                 t 
                 ) 
               
             
             = 
             
               { 
               
                 
                   
                     
                       
                         f 
                          
                         
                           ( 
                           
                             
                               t 
                               
                                 ( 
                                 
                                   T 
                                   2 
                                 
                                 ) 
                               
                             
                              
                             
                               t 
                               
                                 n 
                                  
                                 o 
                                  
                                 t 
                                  
                                 c 
                                  
                                 h 
                               
                             
                           
                           ) 
                         
                       
                       , 
                     
                   
                   
                     
                       t 
                       &lt; 
                       
                         T 
                         2 
                       
                     
                   
                 
                 
                   
                     
                       f 
                        
                       
                         ( 
                         
                           
                             t 
                             
                               n 
                                
                               o 
                                
                               t 
                                
                               c 
                                
                               h 
                             
                           
                           + 
                           
                             
                               ( 
                               
                                 
                                   t 
                                   - 
                                   
                                     T 
                                     2 
                                   
                                 
                                 
                                   T 
                                   2 
                                 
                               
                               ) 
                             
                              
                             
                               ( 
                               
                                 T 
                                 - 
                                 
                                   t 
                                   
                                     n 
                                      
                                     o 
                                      
                                     t 
                                      
                                     c 
                                      
                                     h 
                                   
                                 
                               
                               ) 
                             
                           
                         
                         ) 
                       
                     
                   
                   
                     
                       t 
                       ≥ 
                       
                         T 
                         2 
                       
                     
                   
                 
               
             
           
         
       
     
     If no notch is found at step  7520  (“N”), step  7535  sets G(t) to the inspiratory waveform f(t), since some waveforms that do not exhibit a detectable notch may still have M-shaped flow limitation. 
     To detect M-shaped flow limitation in the symmetrised waveform G(t), first and third sinusoidal harmonic functions of half-width Ti are first defined as 
     
       
         
           
             
               
                 F 
                 1 
               
                
               
                 ( 
                 t 
                 ) 
               
             
             = 
             
               sin 
                
               
                 ( 
                 
                   π 
                    
                   
                     t 
                     
                       T 
                        
                       i 
                     
                   
                 
                 ) 
               
             
           
         
       
       
         
           and 
         
       
       
         
           
             
               
                 F 
                 3 
               
                
               
                 ( 
                 t 
                 ) 
               
             
             = 
             
               sin 
                
               
                 ( 
                 
                   3 
                    
                   π 
                    
                   
                     t 
                     
                       T 
                        
                       i 
                     
                   
                 
                 ) 
               
             
           
         
       
     
     These two harmonic functions are orthogonal on [0, Ti]. For tin [0, Ti], F 3 (t) is broadly similar to an M-shaped inspiratory waveform, and F 1 (t) is broadly similar to a normal inspiratory waveform. Hence the extent to which the symmetrised waveform G(t) resembles F 3 (t) is an indicator of how much the waveform resembles an M. Step  7540  calculates this extent. In one implementation, step  7540  calculates the power in the first harmonic of the symmetrised waveform G(t) as the square of the inner product of the first harmonic function F 1  with the symmetrised waveform G(t), and the power in the third harmonic of the symmetrised waveform G(t) as the square of the inner product of the third harmonic function F 3  with the symmetrised waveform G(t). Both inner products are calculated over the inspiratory interval [0, Ti]. Step  7540  then computes the extent to which the symmetrised waveform G(t) resembles F 3 ( t ) as the ratio M3Ratio of the power in the third harmonic of the symmetrised waveform G(t) to the sum of the powers in the first and third harmonics of the symmetrised waveform G(t): 
     
       
         
           
             
               M 
                
               3 
                
               R 
                
               a 
                
               t 
                
               i 
                
               o 
             
             = 
             
               
                 
                   〈 
                   
                     
                       F 
                       3 
                     
                     , 
                     G 
                   
                   〉 
                 
                 
                   [ 
                   
                     0 
                     , 
                     Ti 
                   
                   ] 
                 
                 2 
               
               
                 
                   
                     〈 
                     
                       
                         F 
                         1 
                       
                       , 
                       G 
                     
                     〉 
                   
                   
                     [ 
                     
                       0 
                       , 
                       Ti 
                     
                     ] 
                   
                   2 
                 
                 + 
                 
                   
                     〈 
                     
                       
                         F 
                         3 
                       
                       , 
                       G 
                     
                     〉 
                   
                   
                     [ 
                     
                       0 
                       , 
                       Ti 
                     
                     ] 
                   
                   2 
                 
               
             
           
         
       
     
     When M3Ratio is large, the inspiratory waveform typically resembles an M. But M3Ratio can also be large if the waveform is very asymmetric, with a much higher mean flow in either the first or second half of the waveform than in the other half. To exclude this possibility, step  7540  also calculates a measure Symm of the symmetry of the inspiratory waveform f(t) about the notch location. In one implementation, step  7540  calculates the third harmonic components of the first and second halves of the symmetrised waveform G(t): 
     
       
         
           
             
               M 
               
                 3 
                  
                 L 
               
             
             = 
             
               
                 〈 
                 
                   
                     F 
                     3 
                   
                   , 
                   G 
                 
                 〉 
               
               
                 [ 
                 
                   0 
                   , 
                   
                     Ti 
                     2 
                   
                 
                 ] 
               
             
           
         
       
       
         
           
             
               M 
               
                 3 
                  
                 R 
               
             
             = 
             
               
                 〈 
                 
                   
                     F 
                     3 
                   
                   , 
                   G 
                 
                 〉 
               
               
                 [ 
                 
                   
                     Ti 
                     2 
                   
                   , 
                   Ti 
                 
                 ] 
               
             
           
         
       
     
     Step  7540  then calculates the measure Symm as the ratio of the lesser of these components to the sum of their absolute values: 
     
       
         
           
             
               S 
                
               y 
                
               m 
                
               m 
             
             = 
             
               
                 min 
                  
                 
                   ( 
                   
                     
                       M 
                       
                         3 
                          
                         L 
                       
                     
                     , 
                     
                       M 
                       
                         3 
                          
                         R 
                       
                     
                   
                   ) 
                 
               
               
                 
                    
                   
                     M 
                     
                       3 
                        
                       L 
                     
                   
                    
                 
                 + 
                 
                    
                   
                     M 
                     
                       3 
                        
                       R 
                     
                   
                    
                 
               
             
           
         
       
     
     Step  7550  then tests whether the measure Symm is less than a low threshold, set in one implementation to 0.3. If so (“Y”), the inspiratory waveform is deemed not to be symmetrically M-shaped, and a quantity M3SymmetryRatio, which is a measure of the extent to which the inspiratory waveform is symmetrically M-shaped, is set equal to zero at step  7560 . Otherwise (“N”), M3SymmetryRatio is set equal to M3Ratio at step  7570 . 
     The final step  7580  computes a variable RxProportion from M3SymmetryRatio so as to generally increase from 0 to 1 as M3SymmetryRatio increases. In one implementation, step  7580  computes RxProportion as follows: 
     
       
         
           
               
               
               
             
               
                   
                   
               
             
            
               
                   
                   
                 RxProportion = FuzzyDeweight( 
               
               
                   
                   
                 M3SymmetryRatio, 
               
               
                   
                   
                 LOWER_M3SYMMETRYRATIO_THRESH, 0.0, 
               
               
                   
                   
                 UPPER_M3SYMMETRYRATIO_THRESH, 1.0 
               
               
                   
                   
                 ) 
               
               
                   
                   
               
            
           
         
       
     
     where LOWER_M3SYMMETRYRATIO_THRESH and UPPER_M3SYMMETRYRATIO_THRESH are constants, equal in one implementation to 0.17 and 0.3 respectively. The variable RxProportion is an indicator in the range [0, 1] of the degree of M-shape of the inspiratory portion of the respiratory flow rate waveform. 
     8.4.3.2.6 Apnea Detection 
     In one form of the present technology, the therapy engine module  4320  executes an apnea detection algorithm  4325  to detect low-ventilation apneas. 
     In one form, the apnea detection algorithm  4325  receives as an input a respiratory flow rate signal Qr and provides as an output a series of events indicating starts and ends of detected apneas. 
       FIG. 7G  is a flow chart illustrating a method  7600  of detecting apneas that may be used to implement the apnea detection algorithm  4325  in one form of the present technology. 
     The method  7600  generally looks for low ventilation in relation to an expected normal ventilation Vnorm. In implementations where there is a target ventilation Vtgt, the expected normal ventilation Vnorm may be the target ventilation Vtgt. In other implementations, e.g. where there is no target ventilation Vtgt, the expected normal ventilation Vnorm may be the typical recent ventilation Vtyp returned by the typical recent ventilation determination algorithm  4328 , described below. 
     Ventilation is measured at two different timescales, one comparable to a breath and one of several breaths&#39; duration, and low ventilation in relation to the expected normal ventilation Vnorm at either timescale indicates an apnea is in progress. The method  7600  contains hysteresis, in that if an apnea has previously been determined to be in progress but neither of the two criteria that indicate an apnea is in progress is true, a further criterion derived from the ventilation relative to expected normal ventilation Vnorm must be true for the apnea to have ended. The hysteresis of the method  7600  gives the method  7600  greater robustness to transient increases in respiratory flow rate than previous methods of detecting apneas. 
     The method  7600  also returns an effective duration for the apnea for treatment purposes. The effective duration of the apnea is by default its absolute duration, that is, the elapsed time between the commencement of the apnea and its termination. However, the effective duration of the apnea may be reduced from its absolute duration by either or both of two separate deweighting factors, one derived from the ventilation relative to the expected normal ventilation Vnorm, and one derived from the estimated leak flow rate Ql during the apnea. The effect of this deweighting is that to the extent that leak is large, and/or the ventilation approaches the expected normal ventilation Vnorm during the apnea, the effective duration of the apnea is shorter than its absolute duration, so the prescribed EPAP increase is less. 
     The method  7600  starts at step  7610 , which computes a short-time ventilation Vshort as the mean over the most recent “short interval” of the instantaneous ventilation Vint returned by the ventilation determination algorithm  4323 . In one implementation, the short interval is two seconds. Step  7610  also computes a “very fast” relative ventilation error veryFastRelVentError as a relative difference between the “very fast ventilation” VveryFast obtained from the ventilation determination algorithm  4323  and the expected normal ventilation Vnorm. Step  7610  computes the very fast relative ventilation error veryFastRelVentError as follows: 
       veryFastRelVentErr=( V veryFast− V norm)/ V norm
 
     The method  7600  then proceeds to check at step  7615  whether the short-time ventilation Vshort is less than or equal to than a low fraction of the expected normal ventilation Vnorm. In one implementation the low fraction is set to 0.2. If so (“Y”), an apnea is detected. If not (“N”), the next step  7620  checks whether veryFastRelVentError is less than or equal to an apnea threshold, equal in one implementation to −0.95. The check at step  7620  is equivalent to determining whether the very fast ventilation VveryFast is less than a small fraction of the expected normal ventilation Vnorm, the small fraction in this case being 0.05. If so (“Y”), an apnea is detected. 
     The method  7600  maintains the current state of apnea as a Boolean indicator inApnea (which is initialised to False at the start of therapy). If either apnea start criterion (tested in steps  7615  and  7620 ) is satisfied (“Y”), the method  7600  checks at step  7630  whether an apnea was already in progress by checking whether inApnea is True. If not (“N”), the next step  7635  issues an Apnea Start event and sets inApnea to True to indicate that the patient  1000  has just entered an apnea. Step  7645  then sets the effective duration of the apnea to zero. The effective duration of the apnea is stored in a variable effectiveApneaDuration that is accumulated as long as the apnea persists. 
     The next step  7670  sets a variable called intVentErrAboveThresh to zero. This variable, which holds a running total of the amount by which the very fast relative ventilation error veryFastRelVentError computed at step  7610  exceeds the apnea threshold, is used to confirm that an apnea has indeed ended if neither of the two apnea start criteria tested at  7615  and  7620  is satisfied. 
     If the check at step  7630  finds that the patient  1000  is already experiencing an apnea (“Y”), the method  7600  proceeds directly to step  7670  to set the running total intVentErrAboveThresh to zero as described above. The method  7600  then proceeds to step  7680  described below. 
     If neither of the apnea start criteria are satisfied (“N” at steps  7615  and  7620 ), the method  7600  checks whether an apnea is already in progress by checking at step  7640  whether inApnea is True. If not (“N”), the method  7600  concludes at step  7655 . Otherwise (“Y”), it is possible that the current apnea has ended. However, as mentioned above, the method  7600  confirms this by proceeding to step  7650  which updates the running total intVentErrAboveThresh by adding the current difference between veryFastRelVentError and the apnea threshold, provided that difference is greater than zero. 
     Step  7660  then checks an apnea end criterion, namely whether the running total intVentErrAboveThresh is greater than a threshold. In one implementation, this threshold is set to 0.15. If the apnea end criterion is satisfied (“Y”), the apnea is ended, so step  7665  issues an Apnea End event and sets inApnea to false. The method  7600  then concludes. 
     If the apnea end criterion is not satisfied, i.e. the running total intVentErrAboveThresh is not greater than the threshold (“N” at step  7660 ), the apnea is still in progress, and the method  7600  proceeds to step  7680  described below. 
     Step  7680  computes a variable apneaTimeWeighting from veryFastRelVentError such that apneaTimeWeighting decreases from 1 to 0 as veryFastRelVentError increases above the apnea threshold. In one implementation, step  7680  computes apneaTimeWeighting as follows: 
     
       
         
           
               
               
               
             
               
                   
                   
               
             
            
               
                   
                   
                 apneaTimeWeighting = FuzzyDeweight( 
               
               
                   
                   
                 veryFastRelVentError, 
               
               
                   
                   
                 APNEA_THRESHOLD, 1.0, 
               
               
                   
                   
                 APNEA_THRESHOLD_PLUS_A_BIT 0.0 
               
               
                   
                   
                 ) 
               
               
                   
                   
               
            
           
         
       
     
     where APNEA_THRESHOLD is the apnea threshold of step  7620  and APNEA_THRESHOLD_PLUS_A_BIT is a threshold that is set slightly higher than APNEA_THRESHOLD, equal in one implementation to APNEA_THRESHOLD+0.05. The variable apneaTimeWeighting is used as a deweighting factor that discounts the contribution of the current time instant to the final effective duration of the apnea. 
     Step  7685  then computes a second deweighting factor deweightingFactor, based on the leak flow rate estimate Ql from the leak flow rate estimation algorithm  4316 . In one implementation, step  7685  computes deweightingFactor such that as the estimated leak flow rate increases, deweightingFactor decreases from 1 to 0. 
     
       
         
           
               
               
               
             
               
                   
                   
               
             
            
               
                   
                   
                 deweightingFactor = FuzzyDeweight( 
               
               
                   
                   
                 Q1, 
               
               
                   
                   
                 LOWER_LEAK_THRESH, 1.0, 
               
               
                   
                   
                 UPPER_LEAK_THRESH, 0.0 
               
               
                   
                   
                 ) 
               
               
                   
                   
               
            
           
         
       
     
     where LOWER_LEAK_THRESH and UPPER_LEAK_THRESH are constants, equal in one implementation to 48 litres/minute and 60 litres/minute respectively. 
     Finally, at step  7690 , the method  7600  updates the effective apnea duration effectiveApneaDuration by incrementing it by the product of the two deweighting factors apneaTimeWeighting and deweightingFactor. The final value of effectiveApneaDuration returned by the apnea detection algorithm  4325  for a completed apnea will be in units of time of duration equal to the apnea detection interval. The apnea detection interval is the reciprocal of the frequency at which the apnea detection algorithm  4325  is executed by the therapy engine module  4320 . 
     8.4.3.2.7 Mismodelled Leak Apnea Detection 
     In one form of the present technology, the therapy engine module  4320  executes a mismodelled leak apnea detection algorithm  4327  to detect mismodelled leak. In one form, the mismodelled leak apnea detection algorithm  4327  receives as an input the respiratory flow rate, Qr, and provides as an output an indicator of the presence of mismodelled leak. 
     Mismodelled leak is the condition that occurs when the true leak flow rate deviates from the leak flow rate estimate Ql computed by the leak flow rate estimation algorithm  4316 . Mismodelled leak causes the estimated respiratory flow rate signal Qr to depart significantly from the true respiratory flow rate by an amount that is generally dependent on the mask pressure Pm. This in turn may cause the estimated respiratory flow rate waveform during a coincident apnea to fail to trigger the apnea detection algorithm  4325 . The apnea is thereby “masked” by the mismodelled leak, such that the apnea detection algorithm  4325  fails to detect the apnea. The aim of the mismodelled leak apnea detection algorithm  4327  is therefore to attempt to detect when mismodelled leak is masking an apnea. 
     In order to determine whether there is mismodelled leak that is masking an apnea, one implementation of the mismodelled leak apnea detection algorithm  4327  calculates the means and standard deviations of the inspiratory and expiratory portions of the respiratory flow rate waveform. The standard deviation from the overall mean in the early part of the expiratory portion is also calculated. If this quantity is significantly larger than the standard deviation of the entire expiratory portion, there is probably an early expiratory increase in flow followed by a decay, which should not happen if the entire estimated respiratory flow rate signal is due to uncompensated leak, and mismodelled leak is therefore deemed not to be present. On the other hand, if the standard deviation of the early part of the expiratory portion is comparable to the standard deviation of the entire expiratory portion, this is likely to be due to mismodelled leak masking an apnea. This detection is confirmed by low standard deviations in both the expiratory portion and the inspiratory portion, since mismodelled leak during an absence of true respiratory flow (an apnea) tends to cause the respiratory flow rate waveform Qr to resemble a square wave, assuming the applied pressure waveform template Π(Φ) is approximately constant for most of the inspiratory portion and the expiratory portion. 
       FIG. 7H  is a flow chart illustrating a method  7700  of detecting mismodelled leak that may be used to implement the mismodelled leak apnea detection algorithm  4327  in one form of the present technology. 
     The method  7700  starts at step  7705 , which checks whether the inspiratory time Ti is greater than an inspiratory time threshold, and the expiratory time Te is greater than an expiratory time threshold. The inspiratory time threshold and the expiratory time threshold are set to fairly short values, in one implementation equal to 0.8 and 1 second respectively. If not (“N”), the method  7700  concludes at step  7710  by returning a False value, i.e. not signalling a mismodelled leak apnea, since the breath is too short to be due to mismodelled leak. 
     Otherwise (“Y”), the next step  7715  filters the respiratory flow rate signal Qr using a low-pass filter, in one implementation a Gaussian filter. Step  7720  then computes the mean values of the inspiratory and expiratory portions of the filtered respiratory flow rate signal. Step  7730  follows, at which the method  7700  computes the standard deviations of the inspiratory and expiratory portions using the mean values computed at step  7730 . Steps  7720  and  7730  may optionally ignore the first and last 0.1 second of the inspiratory portion and the first 0.15 second and the last 0.1 second of the expiratory portion of the filtered respiratory flow rate signal. 
     Step  7740  then computes the standard deviation of the “early part” of the expiratory portion of the filtered respiratory flow rate signal. In one implementation, the early part is defined as having duration equal to the minimum of Te/4 and 2 seconds. Step  7740  may optionally ignore the first 0.15 second of the expiratory portion of the filtered respiratory flow rate signal. 
     The final step  7750  applies a set of mismodelled leak apnea detection rules to any or all of the standard deviations computed at steps  7730  and  7740 , the very fast ventilation VveryFast returned by the ventilation determination algorithm  4323 , and the inspiratory fraction Ti/Ttot. Step  7750  returns a value of True, thus detecting a mismodelled leak apnea, if all the mismodelled leak apnea detection rules are satisfied, and False otherwise. In one implementation, the mismodelled leak apnea detection rules are as follows:
         Standard deviation of the inspiratory portion≤0.04 litres/sec.   Standard deviation of the expiratory portion≤0.03 litres/sec.   Standard deviation of the early part of the expiratory portion≤0.04 litres/sec.   The very fast ventilation VveryFast is less than a threshold ventilation Vthr.   The inspiratory fraction Ti/Ttot is in the range [0.25, 0.5].       

     In implementations where there is a target ventilation Vtgt, the threshold ventilation Vthr may be the target ventilation Vtgt. In other implementations, e.g. where there is no target ventilation Vtgt, the threshold ventilation Vthr may be the typical recent ventilation Vtyp returned by the typical recent ventilation determination algorithm  4328 , described below. 
     8.4.3.2.8 Determination of Typical Recent Ventilation 
     In one form of the present technology, the central controller  4230  takes as input the measure of current ventilation, Vent, and executes a typical recent ventilation determination algorithm  4328  for the determination of a measure Vtyp of typical recent ventilation. 
     The typical recent ventilation Vtyp is a value around which the recent distribution of the measure of current ventilation Vent over some predetermined timescale tends to cluster, that is, a measure of the central tendency of the measure of current ventilation over recent history. In one implementation of the typical recent ventilation determination algorithm  4328 , the recent history is of the order of several minutes. The typical recent ventilation determination algorithm  4328  may use any of the variety of well-known measures of central tendency to determine the typical recent ventilation Vtyp from the measure of current ventilation, Vent, returned by the ventilation determination algorithm  4323 . One such measure is the output of a low-pass filter on the measure of current ventilation Vent, with time constant equal to one hundred seconds. 
     8.4.3.2.9 Determination of Therapy Parameters 
     In some forms of the present technology, the central controller  4230  executes one or more therapy parameter determination algorithms  4329  for the determination of one or more therapy parameters using the values returned by one or more of the other algorithms in the therapy engine module  4320 . 
     In one form of the present technology, the therapy parameter is an instantaneous treatment pressure Pt. In one implementation of this form, the therapy parameter determination algorithm  4329  determines the treatment pressure Pt as follows: 
         Pt=A Π(Φ, t )+ P   0   (2)
 
     where A is the amount of “pressure support”, Π(Φ, t) is the waveform template value (in the range 0 to 1) at the current values Φ of phase and t of time, and P 0  is a base pressure. 
     By determining the treatment pressure Pt using equation (2) and applying it as a set point in the controller  4230  of the RPT device  4000 , the therapy parameter determination algorithm  4329  oscillates the treatment pressure Pt in synchrony with the spontaneous respiratory effort of the patient  1000 . That is, based on the typical waveform templates Π(Φ) described above, the therapy parameter determination algorithm  4329  increases the treatment pressure Pt at the start of, or during, or inspiration and decreases the treatment pressure Pt at the start of, or during, expiration. The (non-negative) pressure support A is the amplitude of the oscillation. 
     If the waveform determination algorithm  4322  provides the waveform template Π(Φ) as a lookup table, the therapy parameter determination algorithm  4329  applies equation (2) by locating the nearest lookup table entry to the current value Φ of phase returned by the phase determination algorithm  4321 , or by interpolation between the two entries straddling the current value Φ of phase. 
     The values of the pressure support A and the base pressure P 0  may be determined by the therapy parameter determination algorithm  4329  depending on the chosen respiratory pressure therapy mode in the manner described below. 
     8.4.3.3 Therapy Control Module 
     Therapy control module  4330  in accordance with one aspect of the present technology receives as inputs the therapy parameters from the therapy parameter determination algorithm  4329  of the therapy engine module  4320 , and controls the pressure generator  4140  to deliver a flow of air in accordance with the therapy parameters. 
     In one form of the present technology, the therapy parameter is a treatment pressure Pt, and the therapy control module  4330  controls the pressure generator  4140  to deliver a flow of air whose mask pressure Pm at the patient interface  3000  is equal to the treatment pressure Pt. 
     8.4.3.4 Detection of Fault Conditions 
     In one form of the present technology, the central controller  4230  executes one or more methods for the detection of fault conditions. The fault conditions detected by the one or more methods may include at least one of the following:
         Power failure (no power, or insufficient power)   Transducer fault detection   Failure to detect the presence of a component   Operating parameters outside recommended ranges (e.g. pressure, flow rate, temperature, PaO 2 )   Failure of a test alarm to generate a detectable alarm signal.       

     Upon detection of the fault condition, the corresponding algorithm signals the presence of the fault by one or more of the following:
         Initiation of an audible, visual &amp;/or kinetic (e.g. vibrating) alarm   Sending a message to an external device   Logging of the incident       

     8.5 Humidifier 
     In one form of the present technology there is provided a humidifier  5000  (e.g. as shown in  FIG. 5A ) to change the absolute humidity of air or gas for delivery to a patient relative to ambient air. Typically, the humidifier  5000  is used to increase the absolute humidity and increase the temperature of the flow of air (relative to ambient air) before delivery to the patient&#39;s airways. 
     The humidifier  5000  may comprise a humidifier reservoir  5110 , a humidifier inlet  5002  to receive a flow of air, and a humidifier outlet  5004  to deliver a humidified flow of air. In some forms, as shown in  FIG. 5A  and  FIG. 5B , an inlet and an outlet of the humidifier reservoir  5110  may be the humidifier inlet  5002  and the humidifier outlet  5004  respectively. The humidifier  5000  may further comprise a humidifier base  5006 , which may be adapted to receive the humidifier reservoir  5110  and comprise a heating element  5240 . 
     8.6 Respiratory Pressure Therapy Modes 
     Various respiratory pressure therapy modes may be implemented by the RPT device  4000  depending on the values of the parameters A and P 0  in the treatment pressure equation (2) used by the therapy parameter determination algorithm  4329  in one form of the present technology. 
     8.6.1 CPAP Therapy 
     In some implementations, the pressure support A is identically zero, so the treatment pressure Pt is identically equal to the base pressure P 0  throughout the respiratory cycle. Such implementations are generally grouped under the heading of CPAP therapy. In such implementations, there is no need for the therapy engine module  4320  to determine phase t or the waveform template Π(t). 
     8.6.2 Ventilation Therapy 
     In other implementations, the value of pressure support A in equation (2) may be positive. Such implementations are known as ventilation therapy. In some forms of ventilation therapy, known as fixed pressure support ventilation therapy, the pressure support A is fixed at a predetermined value, e.g. 10 cmH 2 O. The predetermined pressure support A is a setting of the RPT device  4000 , and may be set for example by hard-coding during configuration of the RPT device  4000  or by manual entry through the input device  4220 . 
     In some forms of ventilation therapy, known as servo-ventilation, the therapy parameter determination algorithm  4329  takes as input the current measure Vent of ventilation and a target value Vtgt of ventilation and repeatedly adjusts the parameters of equation (2) to bring the current measure Vent of ventilation towards the target value Vtgt of ventilation. The target value Vtgt is may be a setting of the RPT device  4000 , set for example by hard-coding during configuration of the RPT device  4000  or by manual entry through the input device  4220 . In a form of servo-ventilation known as adaptive servo-ventilation, the target ventilation Vtgt may be a function (e.g. a near-unity multiple) of the typical recent ventilation Vtyp determined by the typical recent ventilation determination algorithm  4328 . If the ventilation determination algorithm  4323  determines the measure of ventilation Vent as a measure of alveolar ventilation, the target ventilation Vtgt will also be treated as a target alveolar ventilation. 
     In some forms of servo-ventilation, the therapy parameter determination algorithm  4329  applies a control methodology to repeatedly compute the pressure support A so as to bring the current measure Vent of ventilation towards the target ventilation Vtgt. One such control methodology is Proportional-Integral (PI) control. In one implementation of PI control, the pressure support A is computed as: 
         A=G ∫(Vent− Vtgt ) dt   (3)
 
     where G is the gain of the PI control. In some implementations, the gain G is fixed at a predetermined value, such as −0.4 cmH 2 O/(L/min)/sec. In other implementations, the gain G may vary depending on the difference between the current measure Vent of ventilation towards the target ventilation Vtgt. Such implementations are described in the Patent Cooperation Treaty patent application number PCT/AU2004/001651, published as WO 2005/051469, to ResMed Limited. Other servo-ventilation control methodologies that may be applied by the therapy parameter determination algorithm  4329  include proportional (P), proportional-differential (PD), and proportional-integral-differential (PID). 
     The value of the pressure support A computed via equation (3) may be clipped to a range defined as [Amin, Amax]. In such an implementation, the pressure support A may sit by default at the minimum pressure support Amin until the measure of current ventilation Vent falls below the target ventilation Vtgt, at which point A starts increasing, only falling back to Amin when Vent exceeds Vtgt once again. 
     The pressure support limits Amin and Amax are settings of the RPT device  4000 , set for example by hard-coding during configuration of the RPT device  4000  or by manual entry through the input device  4220 . A minimum pressure support Amin of 3 cmH 2 O is of the order of 50% of the pressure support required to perform all the work of breathing of a typical patient in the steady state. A maximum pressure support Amax of 12 cmH 2 O is approximately double the pressure support required to perform all the work of breathing of a typical patient, and therefore sufficient to support the patient&#39;s breathing if they cease making any efforts, but less than a value that would be uncomfortable or dangerous. 
     8.6.2.1 Auto-Titration of the EPAP 
     In ventilation therapy modes, the base pressure P 0  is sometimes referred to as the EPAP. The EPAP may be a constant value that is prescribed or determined via a process known as titration. Such a constant EPAP may be set for example by hard-coding during configuration of the RPT device  4000  or by manual entry through the input device  4220 . This alternative is sometimes referred to as fixed-EPAP ventilation therapy. Titration of the constant EPAP for a given patient may be performed by a clinician with the aid of a PSG study carried out during a titration session. 
     Alternatively, the therapy parameter determination algorithm  4329  may repeatedly compute the EPAP during ventilation therapy. In such implementations, the therapy parameter determination algorithm  4329  repeatedly computes the EPAP as a function of indices or measures of upper airway instability returned by the respective algorithms in the therapy engine module  4320 , such as one or more of inspiratory flow limitation and apnea. Because the repeated computation of the EPAP resembles the manual adjustment of the EPAP by a clinician during titration of the EPAP, this process is also sometimes referred to as auto-titration of the EPAP, and the overall therapy is known as auto-titrating EPAP ventilation therapy, or auto-EPAP ventilation therapy. 
       FIG. 8A  is a flow chart illustrating a method  8000  of auto-titrating the EPAP suitable for use in conjunction with non-invasive ventilation therapy. The method  8000  may be repeatedly implemented as part of the therapy parameter determination algorithm  4329 . 
     The method  8000  auto-titrates the EPAP by maintaining and updating a “desired” EPAP value, which is a target value or set point towards which the actual EPAP is repeatedly adjusted. The desired EPAP is updated depending on the extent of inspiratory flow limitation determined by the inspiratory flow limitation determination algorithm  4324 , M shape determined by the M-shape detection algorithm  4326 , recent apneas detected by the apnea detection algorithm  4325 , and the current EPAP. 
     The method  8000  auto-titrates the EPAP within a range [EPAPmin, EPAPmax]. The EPAP lower and upper limits EPAPmin and EPAPmax are settings of the RPT device  4000 , set for example by hard-coding during configuration of the RPT device  4000  or by manual entry through the input device  4220 . 
     There are interdependencies between the pressure support limits Amax and Amin, the EPAP limits EPAPmin and EPAPmax, and Plimit, where Plimit is an overall maximum pressure deliverable by the RPT device  4000 . These interdependencies may be expressed as 
         EPAP Min+ A Max≤ P limit
 
         EPAP Max+ A min≤ P limit
 
     During auto-EPAP ventilation therapy, pressure support A may be reduced (no lower than Amin) to allow the EPAP to increase to stabilise the upper airway. In other words, first priority is given to maintaining a stable upper airway with an appropriate EPAP, then to providing ventilation therapy. In consequence, at times servo-ventilation with auto-EPAP may not maintain the target ventilation Vtgt because the EPAP is so high that it does not give enough room for the pressure support to maintain the target ventilation Vtgt. 
     The method  8000  starts at step  8010 , which computes an increase ShapeRxIncrease to the EPAP based on abnormal inspiratory waveform shape, specifically the extent of inspiratory flow limitation determined by the inspiratory flow limitation determination algorithm  4324  and M-shape determined by the M-shape detection algorithm  4326 . Step  8010  is referred to as the “Shape Doctor” as its output ShapeRxIncrease is a “prescription” based on the shape of the inspiratory portion of the respiratory flow rate waveform. Step  8010  is described in more detail below with reference to  FIG. 8B . 
     The next step  8020  computes an increase ApneaRxIncrease to the EPAP based on one or more recent apneas detected by the apnea detection algorithm  4325 . Step  8020  is referred to as the “Apnea Doctor” as its output ApneaRxIncrease is a “prescription” based on the severity of the one or more recent apneas. Step  8020  is described in more detail below with reference to  FIG. 8E . 
     Step  8030  follows, at which the EPAP auto-titration method  8000  updates the desired EPAP using the current EPAP value and the increases ShapeRxIncrease and ApneaRxIncrease prescribed by the Shape Doctor (step  8010 ) and the Apnea Doctor (step  8020 ). Step  8030  is described in more detail below with reference to  FIG. 8G . 
     The final step  8040  slews the current EPAP to the desired EPAP at a slew rate of either 1 cmH 2 O per second (for increases in the current EPAP) or −1 cmH 2 O (for decreases in the current EPAP). In one implementation, the current EPAP is not increased during inspiration (i.e. when the phase is between 0 and 0.5), but it may be decreased during inspiration. 
     8.6.2.1.1 Shape Doctor 
       FIG. 8B  is a flow chart illustrating a method  8100  that may be used to implement step  8010  (the “Shape Doctor”) of the method  8000 . 
     The method  8100  starts at step  8105 , which checks whether the expected normal ventilation Vnorm is less than a threshold, in one implementation set to 1 litre/minute. As mentioned above, in implementations of auto-EPAP with a target ventilation Vtgt, such as with servo-ventilation, the expected normal ventilation Vnorm may be the target ventilation Vtgt. In other implementations of auto-EPAP, e.g. with fixed pressure support ventilation, where there is no target ventilation Vtgt, the expected normal ventilation Vnorm may be the typical recent ventilation Vtyp returned by the typical recent ventilation determination algorithm  4328 . If so (“Y”), step  8110  sets ShapeRxIncrease to zero, because such a low value indicates some kind of error condition, and it would be unwise to proceed with calculation of an EPAP increase. 
     Otherwise (“N”), step  8115  computes the current inspiratory and expiratory tidal volumes Vi and Ve from the respiratory flow rate signal Qr. Step  8120  averages the two tidal volumes Vi and Ve to obtain the average tidal volume Vt. The next step  8125  computes the “breathwise ventilation” (in litres/min) by multiplying the average tidal volume Vt by sixty seconds and dividing by the duration Ttot of the current breath. Step  8130  then divides the breathwise ventilation by the expected normal ventilation Vnorm to obtain a (unitless) value for the relative ventilation (relative Ventilation). If relative Ventilation is significantly less than one, the current breath is small in relation to the expected normal ventilation Vnorm, indicating significant breathwise hypoventilation. Step  8135  formalises this relation by computing a variable significantBreathHypoventilation that decreases from 1 to 0 as relative Ventilation increases above a hypoventilation threshold. In one implementation, step  8135  computes significantBreathHypoventilation as follows: 
     
       
         
           
               
               
               
             
               
                   
                   
               
             
            
               
                   
                   
                 significantBreathHypoventilation = FuzzyDeweight( 
               
               
                   
                   
                 relativeVentilation, 
               
               
                   
                   
                 LOWER_HYPOVENT_THRESH, 1.0, 
               
               
                   
                   
                 UPPER_HYPOVENT_THRESH, 0.0 
               
               
                   
                   
                 ) 
               
               
                   
                   
               
            
           
         
       
     
     where LOWER_HYPOVENT_THRESH and UPPER_HYPOVENT_THRESH are constant thresholds, equal in one implementation to 0.2 and 0.8 respectively. 
     Conversely, if relative Ventilation is significantly greater than one, the current breath is large in relation to the expected normal ventilation Vnorm, indicating significant breathwise hyperventilation. 
     At the next step  8140 , the method  8100  computes a variable recentBreathFlowLimitedHypovent from the current and recent values of significantBreathHypoventilation. The general effect of step  8140  is that recentBreathFlowLimitedHypovent is higher when there has been a recent persistence of significant breathwise hypoventilation in conjunction with flow-limited or M-shaped inspiratory waveforms over multiple breaths, rather than just a single-breath instance thereof. Step  8140  will be described in more detail below with reference to  FIG. 8C . 
     The method  8000  continues at step  8145 , which computes a fuzzy truth variable mShapeRxProportion reflecting the (real-valued) M-shape indicator variable RxProportion returned by the M-shape detection algorithm  4326 . In one implementation, step  8145  takes the maximum of RxProportion and 0, in other words puts a floor of 0 under the value of RxProportion. Step  8150  then computes a fuzzy truth variable flowLimitedValue as the “fuzzy OR” of the fuzzy truth variables mShapeRxProportion (indicating the degree of M-shape) and flowLimitation (indicating the degree of flow limitation). 
     The next step  8155  computes a flow limitation threshold flowLimitedThreshold with which flowLimitedValue is to be compared. The flow limitation threshold flowLimitedThreshold is computed from the current value of EPAP in such a way that the flow limitation threshold flowLimitedThreshold increases as the current value of EPAP increases. By this means, the degree of abnormality of inspiratory waveform shape required for the Shape Doctor to prescribe an increase of EPAP increases as EPAP itself increases. In one implementation, step  8155  computes flowLimitedThreshold as follows: 
     
       
         
           
               
               
               
             
               
                   
                   
               
             
            
               
                   
                   
                 flowLimitedThreshold = FuzzyDeweight( 
               
               
                   
                   
                 EPAP, 
               
               
                   
                   
                 LOWER_EPAP_THRESH, 0.0, 
               
               
                   
                   
                 MIDDLE_EPAP_THRESH, 0.3, 
               
               
                   
                   
                 UPPER_EPAP_THRESH, 0.8 
               
               
                   
                   
                 ) 
               
               
                   
                   
               
            
           
         
       
     
     where LOWER_EPAP_THRESH, MIDDLE_EPAP_THRESH, and UPPER_EPAP_THRESH are constant thresholds, equal in one implementation to 14 cmH 2 O, 18 cmH 2 O, and 20 cmH 2 O respectively. 
     The Shape Doctor&#39;s prescribed EPAP increase, ShapeRxIncrease, is set proportional to the amount (if any) by which between flowLimitedValue exceeds flowLimitedThreshold. The increase may be set as a function of one or more multipliers, such as a dynamically computed multiplier. Thus, the method  8100  may first compute any one or more of the following three multipliers on the constant of proportionality, and which may collectively be considered a multiplier. For example, step  8160  computes a base pressure-related multiplier flowLimitedRxMultiplier such that flowLimitedRxMultiplier, and hence the final prescription ShapeRxIncrease, generally decreases as the current EPAP increases. In one implementation, flowLimitedRxMultiplier is computed as follows: 
     
       
         
           
               
               
               
             
               
                   
                   
               
             
            
               
                   
                   
                 flowLimitedRxMultiplier = FuzzyDeweight( 
               
               
                   
                   
                 EPAP, 
               
               
                   
                   
                 LOWER_MULTI_THRESH, 1.0, 
               
               
                   
                   
                 MIDDLE_MULTI_THRESH, 0.7, 
               
               
                   
                   
                 MIDDLE2_MULTI_THRESH, 0.4, 
               
               
                   
                   
                 UPPER_MULTI_THRESH, 0.0, 
               
               
                   
                   
                 ) 
               
               
                   
                   
               
            
           
         
       
     
     where LOWER_MULTI_THRESH, MIDDLE_MULTI_THRESH, MIDDLE2_MULTI_THRESH, and UPPER_MULTI_THRESH are constant thresholds, equal in one implementation to 10 cmH 2 O, 15 cmH 2 O, 19 cmH 2 O, and 20 cmH 2 O respectively. 
     Step  8165  computes a leak-related multiplier leakRxMultiplier such that leakRxMultiplier, and hence the prescription ShapeRxIncrease, generally decreases as the leak flow rate estimate Ql (from the leak flow rate estimation algorithm  4316 ) increases. In one implementation, leakRxMultiplier is computed as follows: 
     
       
         
           
               
               
               
             
               
                   
                   
               
             
            
               
                   
                   
                 leakRxMultiplier = FuzzyDeweight( 
               
               
                   
                   
                 Q1, 
               
               
                   
                   
                 LOWER_LEAK_THRESH, 1.0, 
               
               
                   
                   
                 UPPER_LEAK_THRESH, 0.0 
               
               
                   
                   
                 ) 
               
               
                   
                   
               
            
           
         
       
     
     where LOWER_LEAK_THRESH and UPPER_LEAK_THRESH are constant thresholds, set in one implementation to 30 litres/minute and 60 litres/minute respectively. 
     Step  8170  then computes a ventilation-related multiplier flowLimRxPropRelVent based on the current breathwise ventilation relative to the expected normal ventilation Vnorm (expressed in relative Ventilation, computed at step  8130 ), the amount of flow limitation or M-shape (expressed in flowLimitedValue, computed at step  8150 ), and/or the amount of recent persistent flow-limited significant breathwise hypoventilation (expressed in recentBreathFlowLimitedHypovent, computed at step  8140 ). Step  8170  is described in more detail below with reference to  FIG. 8D . 
     The final step  8175  computes the Shape Doctor&#39;s prescription ShapeRxIncrease by first checking whether flowLimitedValue exceeds flowLimitedThreshold. If not, ShapeRxIncrease is set to zero. Otherwise, step  8175  computes ShapeRxIncrease as follows: 
     
       
         
           
               
               
             
               
                   
               
             
            
               
                   
                 ShapeRxIncrease = (flowLimitedValue − flowLimitedThreshold)* 
               
               
                   
                 flowLimitedRxMultiplier * leakRxMultiplier * 
               
               
                   
                 flowLimRxPropRelVent * EPAP_GAIN 
               
               
                   
               
            
           
         
       
     
     where EPAP_GAIN is a constant. In one implementation, EPAP_GAIN is set to 0.2 cmH 2 O. 
       FIG. 8C  is a flow chart illustrating a method  8200  that may be used to implement step  8140  of the method  8100  that computes a variable named recentBreathFlowLimitedHypovent. As mentioned above, the general effect of step  8140  is that recentBreathFlowLimitedHypovent is higher when there has been a recent persistence of flow-limited or M-shaped significant breathwise hypoventilation over multiple breaths, rather than just a single-breath instance thereof. 
     The method  8200  starts at step  8210 , which computes a variable OHV by multiplying the maximum of the M-shape indicator RxProportion and the flow limitation indicator flowLimitation by significantBreathHypoventilation, which was computed at step  8135 . OHV stands for obstructive (i.e. flow-limited) hypoventilation, of which the value of OHV is indicative for the current breath. Step  8210  stores the value of OHV at a current location in a circular buffer representing a smallish number of recent breaths. In one implementation, the circular buffer contains eight entries. Step  8220  then checks whether the circular buffer is full. If not (“N”), the method  8200  at step  8230  sets recentBreathFlowLimitedHypovent to zero as there is not enough stored information to indicate a recent persistence of flow-limited or M-shaped significant breathwise hypoventilation. Otherwise (“Y”), step  8240  applies adjacency weighting to each entry in the circular buffer. The adjacency weighting is a function of the entry and its predecessor entry in the circular buffer such that the adjacency weighted entry is highest when both entries are approximately equal and close to one. In one implementation, step  8240  computes the adjacency-weighted OHV as 
       adjacencyWeightedOHV=OHV+(1−OHV)*Min(OHV,OHVPrev)
 
     where OHVPrev is the predecessor entry of the current entry OHV in the circular buffer. In other implementations, other functions of OHV and OHVPrev may be used at step  8240 , such as an arithmetic or geometric mean. 
     The next step  8250  of the method  8200  sums the squared values of adjacencyWeightedOHV over the circular buffer. In one implementation, each squared value is weighted by a weight that is highest for the current entry and decreases towards zero as the entries become less recent. In one implementation, the weightings (working backward through the circular buffer) are {1, 0.95, 0.9, 0.8, 0.7, 0.55, 0.4, 0.25}. 
     Finally, step  8260  computes recentBreathFlowLimitedHypovent as the square root of the sum of the (weighted) squared values divided by the sum of the weights used at step  8250  (if used, otherwise divided by the number of squared values). In other words, recentBreathFlowLimitedHypovent is a root mean squared value of the recent adjacency-weighted values of a flow-limited significant hypoventilation indicator (possibly with greatest weight given to the most recent value). 
       FIG. 8D  is a flow chart illustrating a method  8300  that may be used to implement step  8170  of the method  8100 . As mentioned above, the step  8170  computes the ventilation-related multiplier flowLimRxPropRelVent on the final prescription of the Shape Doctor based on the indicator relative Ventilation of the relative size of the current breath, the amount of flow limitation or M-shape (expressed in flowLimitedValue), and the indicator recentBreathFlowLimitedHypovent of the amount of recent persistent flow-limited breathwise hypoventilation. 
     The general effect of step  8170  is that flowLimRxPropRelVent generally has a neutral value of 1 but tends to decrease below 1 as the relative ventilation exceeds a flow limitation threshold that increases with the amount of flow limitation or M-shape. That is, the Shape Doctor&#39;s prescription tends to be discounted if relative hyperventilation is occurring. However, the amount of relative hyperventilation needed to discount the Shape Doctor&#39;s prescription increases as the severity of flow limitation or M-shape increases. If the relative ventilation is significantly less than one, flowLimRxPropRelVent increases, possibly above 1, thereby amplifying the Shape Doctor&#39;s prescription, in general proportion to the indicator recentBreathFlowLimitedHypovent of a recent persistence of flow-limited or M-shaped significant breathwise hypoventilation. 
     The method  8300  starts at step  8310 , which checks whether the value of relative Ventilation (computed at step  8130 ) is greater than or equal to one, i.e. the breathwise ventilation is greater than or equal to the expected normal ventilation Vnorm. If so (“Y”), the method  8300  proceeds to step  8320 , which computes a variable severeFlowLimitation to generally increase from 0 to 1 as the amount of flow limitation or M-shape, expressed in the variable flowLimitedValue, increases. In one implementation, step  8320  computes severeFlowLimitation as follows: 
     
       
         
           
               
               
               
             
               
                   
                   
               
             
            
               
                   
                   
                 severeFlowLimitation = FuzzyDeweight( 
               
               
                   
                   
                 flowLimitedValue, 
               
               
                   
                   
                 LOWER_FL_THRESH, 0.0, 
               
               
                   
                   
                 UPPER_FL_THRESH, 1.0 
               
               
                   
                   
                 ) 
               
               
                   
                   
               
            
           
         
       
     
     where LOWER_FL_THRESH and UPPER_FL_THRESH are constant thresholds, equal in one implementation to 0.7 and 0.9 respectively. 
     The next step  8330  computes lower and upper relative ventilation thresholds lowerRelVentThreshold and upperRelVentThreshold on relative ventilation from the value of severeFlowLimitation computed at step  8320 . The lower and upper relative ventilation thresholds lowerRelVentThreshold and upperRelVentThreshold are at least 1.0 and increase generally proportionally to severeFlowLimitation. In one implementation, step  8330  computes the lower and upper relative ventilation thresholds lowerRelVentThreshold and upperRelVentThreshold from severeFlowLimitation as follows: 
     
       
         
           
               
               
               
             
               
                   
                   
               
             
            
               
                   
                   
                 lowerRelVentThreshold = 1 + 0.7*severeFlowLimitation 
               
               
                   
                   
                 upperRelVentThreshold = 1.5 + 0.7*severeFlowLimitation 
               
               
                   
                   
               
            
           
         
       
     
     Finally, step  8340  computes flowLimRxPropRelVent so as to generally decrease from 1 to 0 as relative Ventilation increases in relation to the lower and upper relative ventilation thresholds lowerRelVentThreshold and upperRelVentThreshold computed at step  8330 . In one implementation, step  8340  computes flowLimRxPropRelVent as follows: 
     
       
         
           
               
               
               
             
               
                   
                   
               
             
            
               
                   
                   
                 flowLimRxPropRelVent = FuzzyDeweight( 
               
               
                   
                   
                 relativeVentilation, 
               
               
                   
                   
                 lowerRelVentThreshold, 1.0, 
               
               
                   
                   
                 upperRelVentThreshold, 0.0 
               
               
                   
                   
                 ) 
               
               
                   
                   
               
            
           
         
       
     
     Returning to step  8310 , if step  8310  found that relative Ventilation was less than 1 (“N”), step  8350  checks whether the current breath is a significant hypoventilation, by checking whether the variable significantBreathHypoventilation, computed at step  8135 , is greater than 0. (In an implementation described above, significantBreathHypoventilation is greater than zero only if relative Ventilation is less than UPPER_HYPOVENT_THRESH). If not (“N”), step  8370  sets flowLimRxPropRelVent to a neutral value of 1.0. Otherwise (“Y”), step  8360  computes flowLimRxPropRelVent to generally increase in proportion to the indicator recentBreathFlowLimitedHypovent of a recent persistence of flow-limited or M-shaped significant breathwise hypoventilation. In one implementation, step  8360  computes flowLimRxPropRelVent as follows: 
       flowLimRxPropRelVent=0.5+2*recentBreathFlowLimitedHypovent 
     The method  8300  then concludes. 
     8.6.2.1.2 Apnea Doctor 
       FIG. 8E  is a flow chart illustrating a method  8400  that may be used to implement step  8020  (the “Apnea Doctor”) of the method  8000 . 
     As mentioned above, the purpose of the Apnea Doctor is to compute a prescribed EPAP increase ApneaRxIncrease based on detected apneas. Two types of apnea are detected: low-ventilation (by the apnea detection algorithm  4325 ), and mismodelled leak (by the mismodelled leak apnea detection algorithm  4327 ). 
     In one implementation, the apnea detection algorithm  4325  and the mismodelled leak apnea detection algorithm  4327  place their respective detected apneas (each characterised by start time, end time, and effective duration) in a single list of pending apneas as soon as they are ended. The low-ventilation apneas detected by the apnea detection algorithm  4325  are non-overlapping in time, but the mismodelled leak apneas detected by the mismodelled leak apnea detection algorithm  4327  may overlap with one or more of the low-ventilation apneas. 
     The method  8400  therefore starts at step  8410  by sorting the list of pending apneas (which may be low-ventilation or mismodelled leak apneas) in ascending order of their start times. The next step  8420  removes any duplicates (i.e. apneas with the same start and end times) from the sorted list of pending apneas. Step  8430  follows, which removes from the sorted list any apneas that have already been processed by the Apnea Doctor. 
     At the next step  8440 , the method  8400  resolves the (possibly overlapping) apneas in the sorted list into non-overlapping apneas. Step  8450  then processes the completed apneas in the sorted, non-overlapping list in ascending order of start time. The processing of an apnea at step  8450  is described in more detail below with reference to  FIG. 8F . The processing of the apneas in the list at step  8450  results in a prescribed EPAP due to apneas, prescribedEPAP. Step  8460  then computes a prescribed EPAP increase due to apneas, ApneaRxIncrease, from prescribedEPAP and the current value of EPAP. In one implementation, step  8460  computes ApneaRxIncrease as follows: 
       ApneaRxIncrease=prescribed EPAP−EPAP −ShapeRxIncrease  (4)
 
     In one implementation, step  8460  clips ApneaRxIncrease below to zero, so that ApneaRxIncrease cannot be negative. In an alternative implementation, step  8460  computes ApneaRxIncrease as follows: 
       ApneaRxIncrease=prescribed EPAP−EPAP   (5)
 
     If step  8460  uses equation (4) to compute ApneaRxIncrease, the effect, when step  8030  computes the desired EPAP as described below, is to increase the desired EPAP by the greater of ApneaRxIncrease and ShapeRxIncrease. If step  8460  uses equation (5) to compute ApneaRxIncrease, the effect, when step  8030  computes the desired EPAP, is to increase the desired EPAP by the sum of ApneaRxIncrease and ShapeRxIncrease. 
     Step  8460  may also use the desired EPAP rather than the current EPAP in equations (4) and (5). 
     The method  8400  then concludes. 
       FIG. 8F  is a flow chart illustrating a method  8500  of processing an apnea that may be used to implement step  8450  of the method  8400 . The output of the method  8500  is a prescribed EPAP increase for the apnea, singleApneaIncrease, that broadly increases with the effective duration of the apnea. 
     One implementation of step  8450  of the method  8400  executes the method  8500  once for each apnea in the list. In this implementation, before the first iteration of the method  8500  to process the first apnea in the list, step  8450  sets the prescribed EPAP due to apneas (the output of step  8450 ), prescribedEPAP, to zero. After each iteration of the method  8500 , step  8450  increments prescribedEPAP by the value of singleApneaIncrease returned by that iteration. 
     The method  8500  starts at step  8510 , which determines whether the effective duration of the apnea is greater than or equal to a duration threshold, equal in one implementation to nine seconds. If not (“N”), the method  8500  ends at step  8590 , which sets the prescribed EPAP increase singleApneaIncrease for the apnea to 0. Otherwise (“Y”), the method  8500  proceeds to step  8520 , which computes a variable called HighApneaRolloffPressure, which is the value to which the method  8500  would increase the current EPAP if the apnea were infinite in effective duration. In one implementation, step  8520  computes HighApneaRolloffPressure as the maximum of EPAPmax+2cmH 2 O, and a minimum value of HighApneaRolloffPressure, a constant which in one implementation is set to 12 cmH 2 O. HighApneaRolloffPressure may therefore be greater than the value of EPAPmax. 
     The next step  8530  computes a rate constant for the approach of the EPAP to the HighApneaRolloffPressure, so as to generally decrease as HighApneaRolloffPressure increases. In one implementation of step  8530 , the rate constant k (in units of s −1 ) is computed as follows: 
         k =(1.333/60)*(10/HighApneaRolloffPressure) 
     Step  8540  follows, at which the method  8500  computes a variable EPAPIncreaseWeightingFactor so as to generally increase from 0 asymptotically towards  1  with the effective duration of the apnea. In one implementation, step  8540  computes EPAPIncreaseWeightingFactor using the rate constant k as follows: 
         EPAP IncreaseWeightingFactor=1−exp(− k *effectiveDuration)
 
     The method  8500  concludes with step  8550 , which computes singleApneaIncrease as the product of EPAPIncreaseWeightingFactor and the difference between HighApneaRolloffPressure and the current value of prescribedEPAP: 
     
       
         
           
               
               
               
             
               
                   
                   
               
             
            
               
                   
                   
                 singleApneaIncrease = EPAPIncreaseWeightingFactor * 
               
               
                   
                   
                 (HighApneaRolloffPressure − prescribedEPAP) 
               
               
                   
                   
               
            
           
         
       
     
       FIG. 8G  is a flow chart illustrating a method  8600  that may be used to implement step  8030  of the method  8000 . As mentioned above, step  8030  updates the desired EPAP using the current EPAP and the EPAP increases ShapeRxIncrease and ApneaRxIncrease prescribed by the Shape Doctor (step  8010 ) and the Apnea Doctor (step  8020 ) respectively. 
     The method  8600  starts at step  8610 , which checks whether ShapeRxIncrease or ApneaRxIncrease is greater than zero. If so (“Y”), step  8620  increases the desired EPAP by the sum of ShapeRxIncrease and ApneaRxIncrease. The next step  8630  then clips the increased desired EPAP to the range [EPAPmin, EPAPmax]. This is to say, step  8630  sets the desired EPAP to the minimum of its incremented value from step  8620  and EPAPmax, and to the maximum of its incremented value from step  8620  and EPAPmin. 
     If step  8610  found that neither the Shape Doctor nor the Apnea Doctor prescribed a positive increase in the EPAP (“N”), the method  8600  exponentially decays the desired EPAP towards EPAPmin. First, a decay factor decayFactor to scale the exponential decay is computed. This computation is done in one of two branches, conditioned on whether the current value of EPAP exceeds EPAPmin by 4 cmH 2 O or less (checked at step  8640 ). If so (“Y”), the step  8650  sets decayFactor to the difference between the current EPAP and EPAPmin. If not (“N”), step  8660  computes decayFactor to rise more slowly as the difference between the current EPAP and EPAPmin increases. In one implementation of step  8660 , the value of decayFactor is computed as follows, where the units of pressure are cmH 2 O: 
       decayFactor=4+0.5*((current  EPAP−EPAP min)−4)
 
     Finally, at step  8670  which follows either step  8660  or step  8650 , the method  8600  reduces the desired EPAP by an amount that is proportional to the value of decayFactor computed at step  8650  or step  8660 : 
       desired  EPAP =desired  EPAP −decayFactor*(1−exp(−timeDiff/timeConstant))
 
     where timeDiff is the time elapsed (in seconds) since the last update of the desired EPAP, and timeConstant is the time constant of the decay, in seconds. In one implementation, timeConstant is 20 minutes*60. 
       FIG. 9  contains a graph  9000  illustrating an example of the behaviour of the EPAP auto-titration method  8000  of  FIG. 8A . The graph  9000  contains an upper trace  9010  of respiratory flow rate Qr and a lower trace  9020  of mask pressure Pm. The flow rate trace  9010  shows an episode  9030  of flow limitation. In response to the episode  9030 , there is an increase  9040  in the EPAP. An arousal  9050 , indicated by large breaths, follows the episode  9030  in the flow rate trace  9010 . Following the arousal  9050  in the flow rate trace  9010  is a second episode  9060  of flow limitation. The episode  9060  results in a second increase  9070  in the EPAP. This second increase  9070  successfully resolves the upper airway obstruction, resulting in an episode  9080  of normal inspiratory waveforms in the flow rate trace  9010 . 
     8.7 Glossary 
     For the purposes of the present technology disclosure, in certain forms of the present technology, one or more of the following definitions may apply. In other forms of the present technology, alternative definitions may apply. 
     8.7.1 General 
     Air: In certain forms of the present technology, air may be taken to mean atmospheric air, and in other forms of the present technology air may be taken to mean some other combination of breathable gases, e.g. atmospheric air enriched with oxygen. 
     Ambient: In certain forms of the present technology, the term ambient will be taken to mean (i) external of the treatment system or patient, and (ii) immediately surrounding the treatment system or patient. 
     For example, ambient humidity with respect to a humidifier may be the humidity of air immediately surrounding the humidifier, e.g. the humidity in the room where a patient is sleeping. Such ambient humidity may be different to the humidity outside the room where a patient is sleeping. 
     In another example, ambient pressure may be the pressure immediately surrounding or external to the body. 
     In certain forms, ambient (e.g., acoustic) noise may be considered to be the background noise level in the room where a patient is located, other than for example, noise generated by an RPT device or emanating from a mask or patient interface. Ambient noise may be generated by sources outside the room. 
     Respiratory Pressure Therapy (RPT): The application of a supply of air to an entrance to the airways at a treatment pressure that is typically positive with respect to atmosphere. 
     Continuous Positive Airway Pressure (CPAP) therapy: Respiratory pressure therapy in which the treatment pressure is approximately constant through a respiratory cycle of a patient. In some forms, the pressure at the entrance to the airways will be slightly higher during exhalation, and slightly lower during inhalation. In some forms, the pressure will vary between different respiratory cycles of the patient, for example, being increased in response to detection of indications of partial upper airway obstruction, and decreased in the absence of indications of partial upper airway obstruction. 
     Patient: A person, whether or not they are suffering from a respiratory disorder. 
     Automatic Positive Airway Pressure (APAP) therapy: CPAP therapy in which the treatment pressure is automatically adjustable, e.g. from breath to breath, between minimum and maximum limits, depending on the presence or absence of indications of SDB events. 
     8.7.2 Aspects of the Respiratory Cycle 
     Apnea: According to some definitions, an apnea is said to have occurred when flow falls below a predetermined threshold for a duration, e.g. 10 seconds. An obstructive apnea will be said to have occurred when, despite patient effort, some obstruction of the airway does not allow air to flow. A central apnea will be said to have occurred when an apnea is detected that is due to a reduction in breathing effort, or the absence of breathing effort, despite the airway being patent. A mixed apnea occurs when a reduction or absence of breathing effort coincides with an obstructed airway. 
     Breathing rate: The rate of spontaneous respiration of a patient, usually measured in breaths per minute. 
     Duty cycle, or inspiratory fraction: The ratio of inspiratory time, Ti, to total breath time, Ttot. 
     Effort (breathing): Breathing effort will be said to be the work done by a spontaneously breathing person attempting to breathe. 
     Expiratory portion of a breathing cycle: The period from the start of expiratory flow to the start of inspiratory flow. 
     Flow limitation: Flow limitation will be taken to be the state of affairs in a patient&#39;s respiration where an increase in effort by the patient does not give rise to a corresponding increase in flow. Where flow limitation occurs during an inspiratory portion of a breathing cycle it may be described as inspiratory flow limitation. Where flow limitation occurs during an expiratory portion of the breathing cycle it may be described as expiratory flow limitation. 
     Types of flow-limited inspiratory waveforms:
         (i) (Classically) Flattened: Having a rise followed by a relatively flat portion, followed by a fall.   (ii) M-shaped: Having two local peaks, one at the early part, and one at the late section, and a relatively flat portion between the two peaks.   (iii) Chair-shaped: Having a single local peak, the peak being at the early part, followed by a relatively flat portion.   (iv) Reverse-chair shaped: Having a relatively flat portion followed by single local peak, the peak being at the late section.       

     Hypopnea: Preferably, a hypopnea will be taken to be a reduction in flow, but not a cessation of flow. In one form, a hypopnea may be said to have occurred when there is a reduction in flow below a threshold rate for a duration. A central hypopnea will be said to have occurred when a hypopnea is detected that is due to a reduction in breathing effort. In one form in adults, either of the following may be regarded as being hypopneas:
         (i) a 30% reduction in patient breathing for at least 10 seconds plus an associated 4% desaturation; or   (ii) a reduction in patient breathing (but less than 50%) for at least 10 seconds, with an associated desaturation of at least 3% or an arousal.       

     Hyperpnea: An increase in flow to a level higher than normal flow rate. 
     Hypoventilation: Hypoventilation is said to occur when the amount of gas exchange taking place over some timescale is below the current requirements of the patient. 
     Hyperventilation: Hyperventilation is said to occur when the amount of gas exchange taking place over some timescale is above the current requirements of the patient. 
     Inspiratory portion of a breathing cycle: The period from the start of inspiratory flow to the start of expiratory flow will be taken to be the inspiratory portion of a breathing cycle. 
     Patency (airway): The degree of the airway being open, or the extent to which the airway is open. A patent airway is open. Airway patency may be quantified, for example with a value of one (1) being patent, and a value of zero (0), being closed (obstructed). 
     Positive End-Expiratory Pressure (PEEP): The pressure above atmosphere in the lungs that exists at the end of expiration. 
     Peak flow rate (Qpeak): The maximum value of flow rate during the inspiratory portion of the respiratory flow rate waveform. 
     Respiratory flow rate, airflow rate, patient airflow rate, respiratory airflow rate (Qr): These synonymous terms may be understood to refer to the RPT device&#39;s estimate of respiratory airflow rate, as opposed to “true respiratory flow” or “true respiratory airflow”, which is the actual respiratory flow rate experienced by the patient, usually expressed in litres per minute. 
     Tidal volume (Vt): The volume of air inhaled or exhaled per breath during normal breathing, when extra effort is not applied. This quantity may be more specifically defined as inspiratory tidal volume (Vi) or expiratory tidal volume (V e). 
     Inhalation Time (Ti): The duration of the inspiratory portion of the respiratory flow rate waveform. 
     Exhalation Time (Te): The duration of the expiratory portion of the respiratory flow rate waveform. 
     Total (breath) Time (Ttot): The total duration between the start of the inspiratory portion of one respiratory flow rate waveform and the start of the inspiratory portion of the following respiratory flow rate waveform. 
     Typical recent ventilation: The value of ventilation around which recent values over some predetermined timescale tend to cluster, that is, a measure of the central tendency of the recent values of ventilation. 
     Upper airway obstruction (UAO): includes both partial and total upper airway obstruction. This may be associated with a state of flow limitation, in which the level of flow increases only slightly or may even decrease as the pressure difference across the upper airway increases (Starling resistor behaviour). 
     Ventilation (Vent): A measure of the total amount of gas being exchanged by the patient&#39;s respiratory system. Measures of ventilation may include one or both of inspiratory and expiratory flow, per unit time. When expressed as a volume per minute, this quantity is often referred to as “minute ventilation”. Minute ventilation is sometimes given simply as a volume, understood to be the volume per minute. 
     8.7.3 RPT Device Parameters 
     Flow rate: The instantaneous volume (or mass) of air delivered per unit time. While flow rate and ventilation have the same dimensions of volume or mass per unit time, flow rate is measured over a much shorter period of time. In some cases, a reference to flow rate will be a reference to a scalar quantity, namely a quantity having magnitude only. In other cases, a reference to flow rate will be a reference to a vector quantity, namely a quantity having both magnitude and direction. Where it is referred to as a signed quantity, a flow rate may be nominally positive for the inspiratory portion of a breathing cycle of a patient, and hence negative for the expiratory portion of the breathing cycle of a patient. Flow rate will be given the symbol Q. ‘Flow rate’ is sometimes shortened to simply ‘flow’. Total flow rate, Qt, is the flow rate of air leaving the RPT device. Vent flow rate, Qv, is the flow rate of air leaving a vent to allow washout of exhaled gases. Leak flow rate, Ql, is the flow rate of leak from a patient interface system. Respiratory flow rate, Qr, is the flow rate of air that is received into the patient&#39;s respiratory system. 
     Leak: The word leak will be taken to be an unintended flow of air. In one example, leak may occur as the result of an incomplete seal between a mask and a patient&#39;s face. In another example leak may occur in a swivel elbow to the ambient. 
     Pressure: Force per unit area. Pressure may be measured in a range of units, including cmH 2 O, g-f/cm 2 , hectopascal (hPa). 1 cmH 2 O is equal to 1 g-f/cm 2  and is approximately 0.98 hPa. In this specification, unless otherwise stated, pressure is given in units of cmH 2 O. The pressure in the patient interface is given the symbol Pm, while the treatment pressure, which represents a target value to be achieved by the mask pressure Pm at the current instant of time, is given the symbol Pt. 
     8.7.4 Terms for Ventilators 
     Backup rate: A parameter of a ventilator that establishes the minimum breathing rate (typically in number of breaths per minute) that the ventilator will deliver to the patient, if not triggered by spontaneous respiratory effort. 
     Cycling: The termination of a ventilator&#39;s inspiratory phase. When a ventilator delivers a breath to a spontaneously breathing patient, at the end of the inspiratory portion of the breathing cycle, the ventilator is said to be cycled to stop delivering the breath. 
     Expiratory positive airway pressure (EPAP): a base pressure, to which a pressure varying within the breath is added to produce the desired mask pressure which the ventilator will attempt to achieve at a given time. 
     End expiratory pressure (EEP): Desired mask pressure which the ventilator will attempt to achieve at the end of the expiratory portion of the breath. If the pressure waveform template Π(Φ) is zero-valued at the end of expiration, i.e. Π(Φ)=0 when Φ=1, the EEP is equal to the EPAP. 
     Inspiratory positive airway pressure (IPAP): Maximum desired mask pressure which the ventilator will attempt to achieve during the inspiratory portion of the breath. 
     Pressure support: A number that is indicative of the increase in pressure during ventilator inspiration over that during ventilator expiration, and generally means the difference in pressure between the maximum value during inspiration and the base pressure (e.g., PS=IPAP−EPAP). In some contexts pressure support means the difference which the ventilator aims to achieve, rather than what it actually achieves. 
     Servo-ventilator: A ventilator that measures patient ventilation, has a target ventilation, and which adjusts the level of pressure support to bring the patient ventilation towards the target ventilation. 
     Spontaneous/Timed (S/T): A mode of a ventilator or other device that attempts to detect the initiation of a breath of a spontaneously breathing patient. If however, the device is unable to detect a breath within a predetermined period of time, the device will automatically initiate delivery of the breath. 
     Swing: Equivalent term to pressure support. 
     Triggering: When a ventilator delivers a breath of air to a spontaneously breathing patient, it is said to be triggered to do so at the initiation of the respiratory portion of the breathing cycle by the patient&#39;s efforts. 
     Ventilator: A mechanical device that provides pressure support to a patient to perform some or all of the work of breathing. 
     8.7.5 Anatomy of the Respiratory System 
     Diaphragm: A sheet of muscle that extends across the bottom of the rib cage. The diaphragm separates the thoracic cavity, containing the heart, lungs and ribs, from the abdominal cavity. As the diaphragm contracts the volume of the thoracic cavity increases and air is drawn into the lungs. 
     Larynx: The larynx, or voice box houses the vocal folds and connects the inferior part of the pharynx (hypopharynx) with the trachea. 
     Lungs: The organs of respiration in humans. The conducting zone of the lungs contains the trachea, the bronchi, the bronchioles, and the terminal bronchioles. The respiratory zone contains the respiratory bronchioles, the alveolar ducts, and the alveoli. 
     Nasal cavity: The nasal cavity (or nasal fossa) is a large air filled space above and behind the nose in the middle of the face. The nasal cavity is divided in two by a vertical fin called the nasal septum. On the sides of the nasal cavity are three horizontal outgrowths called nasal conchae (singular “concha”) or turbinates. To the front of the nasal cavity is the nose, while the back blends, via the choanae, into the nasopharynx. 
     Pharynx: The part of the throat situated immediately inferior to (below) the nasal cavity, and superior to the oesophagus and larynx. The pharynx is conventionally divided into three sections: the nasopharynx (epipharynx) (the nasal part of the pharynx), the oropharynx (mesopharynx) (the oral part of the pharynx), and the laryngopharynx (hypopharynx). 
     8.7.6 Mathematical Terms 
     Fuzzy logic is used in a number of places in this disclosure. The following is used to indicate a fuzzy membership function, which outputs a “fuzzy truth variable” in the range [0, 1], 0 representing “fuzzy false” and 1 representing “fuzzy true”: 
     
       
         
           
               
               
             
               
                   
               
             
            
               
                   
                 FuzzyMember (ActualQuantity, ReferenceQuantity1, 
               
               
                   
                 FuzzyTruthValueAtReferenceQuantity1, ReferenceQuantity2, 
               
               
                   
                 FuzzyTruthValueAtReferenceQuantity2, ... , ReferenceQuantityN, 
               
               
                   
                  FuzzyTruthValueAtReferenceQuantityN ) 
               
               
                   
               
            
           
         
       
     
     A fuzzy membership function is defined as 
     
       
         
           
             
               
                 Fuzzy 
                  
                 Member 
               
                
               
                   
               
                
               
                 ( 
                 
                   x 
                   , 
                   
                     x 
                     1 
                   
                   , 
                   
                     f 
                     1 
                   
                   , 
                   
                     x 
                     2 
                   
                   , 
                   
                     f 
                     2 
                   
                    
                   
                       
                   
                   , 
                   … 
                    
                   
                       
                   
                   , 
                   
                     x 
                     N 
                   
                   , 
                   
                     f 
                     N 
                   
                 
                 ) 
               
             
             = 
             
               
 
             
              
             
               { 
               
                 
                   
                     
                       
                         
                           
                             f 
                             1 
                           
                           , 
                         
                       
                       
                         
                           x 
                           &lt; 
                           
                             x 
                             1 
                           
                         
                       
                     
                     
                       
                         
                           
                             f 
                             N 
                           
                           , 
                         
                       
                       
                         
                           x 
                           ≥ 
                           
                             x 
                             N 
                           
                         
                       
                     
                     
                       
                         
                           
                             
                               Inter 
                                
                               On 
                                
                               Interval 
                             
                              
                             
                                 
                             
                             ( 
                             
                               x 
                               , 
                               
                                 x 
                                 k 
                               
                               , 
                               
                                 f 
                                 k 
                               
                               , 
                               
                                 x 
                                 
                                   k 
                                   + 
                                   1 
                                 
                               
                               , 
                               
                                 f 
                                 
                                   k 
                                   + 
                                   1 
                                 
                               
                             
                             ) 
                           
                            
                           
                               
                           
                           , 
                         
                       
                       
                         
                           
                             x 
                             k 
                           
                           ≤ 
                           x 
                           &lt; 
                           
                             
                               x 
                               
                                 
                                   k 
                                   + 
                                   1 
                                 
                                 , 
                               
                             
                              
                             1 
                           
                           ≤ 
                           k 
                           ≤ 
                           N 
                         
                       
                     
                   
                    
                   
                     
 
                   
                    
                   where 
                    
                   
                     
 
                   
                    
                   
                     
                       Interp 
                        
                       On 
                        
                       Interval 
                     
                      
                     
                       ( 
                       
                         x 
                         , 
                         
                           x 
                           k 
                         
                         , 
                         
                           f 
                           k 
                         
                         , 
                         
                           
                             x 
                             
                               
                                 k 
                                 + 
                                 1 
                               
                               , 
                             
                           
                            
                           
                             f 
                             
                               k 
                               + 
                               1 
                             
                           
                         
                       
                       ) 
                     
                   
                 
                 = 
                 
                   { 
                   
                     
                       
                         
                           
                             
                               
                                 f 
                                 k 
                               
                               + 
                               
                                 
                                   
                                     ( 
                                     
                                       
                                         f 
                                         
                                           k 
                                           + 
                                           1 
                                         
                                       
                                       - 
                                       
                                         f 
                                         k 
                                       
                                     
                                     ) 
                                   
                                    
                                   
                                     ( 
                                     
                                       x 
                                       - 
                                       
                                         x 
                                         k 
                                       
                                     
                                     ) 
                                   
                                 
                                 
                                   
                                     x 
                                     
                                       k 
                                       + 
                                       1 
                                     
                                   
                                   - 
                                   
                                     x 
                                     k 
                                   
                                 
                               
                             
                             , 
                           
                         
                         
                           
                             
                               x 
                               k 
                             
                             ≠ 
                             
                               x 
                               
                                 k 
                                 + 
                                 1 
                               
                             
                           
                         
                       
                       
                         
                           
                             f 
                             k 
                           
                         
                         
                           otherwise 
                         
                       
                     
                     , 
                   
                 
               
             
           
         
       
     
     the f i  are fuzzy truth variables, and x and the x 1  are real numbers. 
     The function “FuzzyDeweight” is defined in the same way as “FuzzyMember”, except that the values f k  are interpreted as real numbers rather than fuzzy truth variables, and the output is also a real number. 
     The “fuzzy OR” of fuzzy truth variables is the maximum of those values; the “fuzzy AND” of fuzzy truth variables is the minimum of these values. These operations on two or more fuzzy truth variables will be indicated by the names FuzzyOr and FuzzyAnd. It is to be understood that other typical definitions of these fuzzy operations would work similarly in the present technology. 
     Exponential decay towards zero with a time that during any period of decay starting at time t=T, the value of the decaying quantity Vis given by 
     
       
         
           
             
               V 
                
               
                 ( 
                 t 
                 ) 
               
             
             = 
             
               
                 V 
                  
                 
                   ( 
                   T 
                   ) 
                 
               
               * 
               
                 exp 
                  
                 
                   ( 
                   
                     - 
                     
                       
                         t 
                         - 
                         T 
                       
                       τ 
                     
                   
                   ) 
                 
               
             
           
         
       
     
     Exponential decay is sometimes parametrised by a rate constant k rather than a time constant τ. A rate constant k gives the same decay function as a time constant τ if k=1/τ. 
     The inner product of two functions f and g on some interval I is defined as 
     
       
         
           
             
               
                 〈 
                 
                   f 
                   , 
                   g 
                 
                 〉 
               
               I 
             
             = 
             
               
                 ∫ 
                 I 
               
                
               
                 
                   f 
                    
                   
                     ( 
                     t 
                     ) 
                   
                 
                  
                 
                   g 
                    
                   
                     ( 
                     t 
                     ) 
                   
                 
                  
                 dt 
               
             
           
         
       
     
     8.8 Other Remarks 
     A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in Patent Office patent files or records, but otherwise reserves all copyright rights whatsoever. 
     Unless the context clearly dictates otherwise and where a range of values is provided, it is understood that each intervening value, to the tenth of the unit of the lower limit, between the upper and lower limit of that range, and any other stated or intervening value in that stated range is encompassed within the technology. The upper and lower limits of these intervening ranges, which may be independently included in the intervening ranges, are also encompassed within the technology, subject to any specifically excluded limit in the stated range. Where the stated range includes one or both of the limits, ranges excluding either or both of those included limits are also included in the technology. 
     Furthermore, where a value or values are stated herein as being implemented as part of the technology, it is understood that such values may be approximated, unless otherwise stated, and such values may be utilized to any suitable significant digit to the extent that a practical technical implementation may permit or require it. 
     Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this technology belongs. Although any methods and materials similar or equivalent to those described herein can also be used in the practice or testing of the present technology, a limited number of the exemplary methods and materials are described herein. 
     When a particular material is identified as being used to construct a component, obvious alternative materials with similar properties may be used as a substitute. Furthermore, unless specified to the contrary, any and all components herein described are understood to be capable of being manufactured and, as such, may be manufactured together or separately. 
     It must be noted that as used herein and in the appended claims, the singular forms “a”, “an”, and “the” include their plural equivalents, unless the context clearly dictates otherwise. 
     All publications mentioned herein are incorporated herein by reference in their entirety to disclose and describe the methods and/or materials which are the subject of those publications. The publications discussed herein are provided solely for their disclosure prior to the filing date of the present application. Nothing herein is to be construed as an admission that the present technology is not entitled to antedate such publication by virtue of prior invention. Further, the dates of publication provided may be different from the actual publication dates, which may need to be independently confirmed. 
     The terms “comprises” and “comprising” should be interpreted as referring to elements, components, or steps in a non-exclusive manner, indicating that the referenced elements, components, or steps may be present, or utilized, or combined with other elements, components, or steps that are not expressly referenced. 
     The subject headings used in the detailed description are included only for the ease of reference of the reader and should not be used to limit the subject matter found throughout the disclosure or the claims. The subject headings should not be used in construing the scope of the claims or the claim limitations. 
     Although the technology herein has been described with reference to particular examples, it is to be understood that these examples are merely illustrative of the principles and applications of the technology. In some instances, the terminology and symbols may imply specific details that are not required to practice the technology. For example, although the terms “first” and “second” (etc.) may be used, unless otherwise specified, they are not intended to indicate any order but may be utilised to distinguish between distinct elements. Furthermore, although process steps in the methodologies may be described or illustrated in an order, such an ordering is not required. Those skilled in the art will recognize that such ordering may be modified and/or aspects thereof may be conducted concurrently or even synchronously. 
     It is therefore to be understood that numerous modifications may be made to the illustrative examples and that other arrangements may be devised without departing from the spirit and scope of the technology. 
     
       
         
           
               
             
               
                   
               
               
                 8.9 REFERENCE LABEL LIST 
               
               
                   
               
             
            
               
                   
               
            
           
           
               
               
               
            
               
                   
                 patient 
                 1000 
               
               
                   
                 non-invasive patient interface 
                 3000 
               
               
                   
                 seal-forming structure 
                 3100 
               
               
                   
                 plenum chamber  
                 3200 
               
               
                   
                 structure 
                 3300 
               
               
                   
                 vent 
                 3400 
               
               
                   
                 connection port 
                 3600 
               
               
                   
                 forehead support 
                 3700 
               
               
                   
                 RPT device 
                 4000 
               
               
                   
                 external housing 
                 4010 
               
               
                   
                 upper portion 
                 4012 
               
               
                   
                 portion 
                 4014 
               
               
                   
                 panel 
                 4015 
               
               
                   
                 chassis 
                 4016 
               
               
                   
                 handle 
                 4018 
               
               
                   
                 pneumatic block 
                 4020 
               
               
                   
                 pneumatic components 
                 4100 
               
               
                   
                 air filter 
                 4110 
               
               
                   
                 inlet air filter 
                 4112 
               
               
                   
                 outlet air filter 
                 4114 
               
               
                   
                 inlet muffler 
                 4122 
               
               
                   
                 outlet muffler 
                 4124 
               
               
                   
                 pressure generator 
                 4140 
               
               
                   
                 controllable blower 
                 4142 
               
               
                   
                 motor 
                 4144 
               
               
                   
                 air circuit 
                 4170 
               
               
                   
                 supplemental oxygen 
                 4180 
               
               
                   
                 electrical components 
                 4200 
               
               
                   
                 Printed Circuit Board Assembly 
                 4202 
               
               
                   
                 power supply  
                 4210 
               
               
                   
                 input devices 
                 4220 
               
               
                   
                 central controller 
                 4230 
               
               
                   
                 clock 
                 4232 
               
               
                   
                 therapy device controller 
                 4240 
               
               
                   
                 protection circuits 
                 4250 
               
               
                   
                 memory 
                 4260 
               
               
                   
                 transducers 
                 4270 
               
               
                   
                 pressure sensor 
                 4272 
               
               
                   
                 flow rate sensor 
                 4274 
               
               
                   
                 motor speed transducer  
                 4276 
               
               
                   
                 data communication interface 
                 4280 
               
               
                   
                 remote external communication network 
                 4282 
               
               
                   
                 local external communication network 
                 4284 
               
               
                   
                 remote external device 
                 4286 
               
               
                   
                 local external device 
                 4288 
               
               
                   
                 output devices 
                 4290 
               
               
                   
                 di splay driver 
                 4292 
               
               
                   
                 di splay 
                 4294 
               
               
                   
                 algorithms 
                 4300 
               
               
                   
                 pre-processing module 
                 4310 
               
               
                   
                 pressure compensation algorithm 
                 4312 
               
               
                   
                 vent flow rate estimation algorithm 
                 4314 
               
               
                   
                 leak flow rate estimation algorithm 
                 4316 
               
               
                   
                 respiratory flow rate estimation algorithm 
                 4318 
               
               
                   
                 therapy engine module 
                 4320 
               
               
                   
                 phase determination algorithm 
                 4321 
               
               
                   
                 waveform determination algorithm  
                 4322 
               
               
                   
                 ventilation determination algorithm 
                 4323 
               
               
                   
                 flow limitation determination algorithm 
                 4324 
               
               
                   
                 apnea detection algorithm 
                 4325 
               
               
                   
                 M-shape detection algorithm 
                 4326 
               
               
                   
                 leak apnea detection algorithm 
                 4327 
               
               
                   
                 typical recent ventilation determination 
                 4328 
               
               
                   
                 algorithm 
                   
               
               
                   
                 therapy parameter determination algorithm 
                 4329 
               
               
                   
                 therapy control module 
                 4330 
               
               
                   
                 humidifier 
                 5000 
               
               
                   
                 humidifier inlet 
                 5002 
               
               
                   
                 humidifier outlet 
                 5004 
               
               
                   
                 humidifier base 
                 5006 
               
               
                   
                 humidifier reservoir 
                 5110 
               
               
                   
                 humidifier reservoir dock 
                 5130 
               
               
                   
                 heating element 
                 5240 
               
               
                   
                 humidifier controller 
                 5250 
               
               
                   
                 method 
                 7000 
               
               
                   
                 step 
                 7010 
               
               
                   
                 step 
                 7020 
               
               
                   
                 step 
                 7030 
               
               
                   
                 step 
                 7040 
               
               
                   
                 method 
                 7100 
               
               
                   
                 step 
                 7110 
               
               
                   
                 step 
                 7120 
               
               
                   
                 step 
                 7130 
               
               
                   
                 step 
                 7140 
               
               
                   
                 step 
                 7150 
               
               
                   
                 step 
                 7160 
               
               
                   
                 step 
                 7170 
               
               
                   
                 step 
                 7180 
               
               
                   
                 method 
                 7200 
               
               
                   
                 step 
                 7210 
               
               
                   
                 step 
                 7220 
               
               
                   
                 step 
                 7230 
               
               
                   
                 step 
                 7240 
               
               
                   
                 step 
                 7250 
               
               
                   
                 step 
                 7260 
               
               
                   
                 method 
                 7300 
               
               
                   
                 step 
                 7310 
               
               
                   
                 step 
                 7320 
               
               
                   
                 step 
                 7330 
               
               
                   
                 step 
                 7340 
               
               
                   
                 step 
                 7350 
               
               
                   
                 step 
                 7360 
               
               
                   
                 step 
                 7370 
               
               
                   
                 step 
                 7375 
               
               
                   
                 step 
                 7380 
               
               
                   
                 step 
                 7390 
               
               
                   
                 method 
                 7400 
               
               
                   
                 step 
                 7410 
               
               
                   
                 step 
                 7420 
               
               
                   
                 step 
                 7440 
               
               
                   
                 step 
                 7450 
               
               
                   
                 step 
                 7455 
               
               
                   
                 step 
                 7460 
               
               
                   
                 step 
                 7465 
               
               
                   
                 step 
                 7470 
               
               
                   
                 step 
                 7475 
               
               
                   
                 method 
                 7500 
               
               
                   
                 step 
                 7510 
               
               
                   
                 step 
                 7520 
               
               
                   
                 step 
                 7530 
               
               
                   
                 step 
                 7535 
               
               
                   
                 step 
                 7540 
               
               
                   
                 step 
                 7550 
               
               
                   
                 step 
                 7560 
               
               
                   
                 step 
                 7570 
               
               
                   
                 step 
                 7580 
               
               
                   
                 method 
                 7600 
               
               
                   
                 step 
                 7610 
               
               
                   
                 step 
                 7615 
               
               
                   
                 step 
                 7620 
               
               
                   
                 step 
                 7630 
               
               
                   
                 step 
                 7635 
               
               
                   
                 step 
                 7640 
               
               
                   
                 step 
                 7645 
               
               
                   
                 step 
                 7650 
               
               
                   
                 step 
                 7655 
               
               
                   
                 step 
                 7660 
               
               
                   
                 step 
                 7665 
               
               
                   
                 step 
                 7670 
               
               
                   
                 step 
                 7680 
               
               
                   
                 step 
                 7685 
               
               
                   
                 step 
                 7690 
               
               
                   
                 method 
                 7700 
               
               
                   
                 step 
                 7705 
               
               
                   
                 step 
                 7710 
               
               
                   
                 step 
                 7715 
               
               
                   
                 step 
                 7720 
               
               
                   
                 step 
                 7730 
               
               
                   
                 step 
                 7740 
               
               
                   
                 step 
                 7750 
               
               
                   
                 method 
                 8000 
               
               
                   
                 step 
                 8010 
               
               
                   
                 step 
                 8020 
               
               
                   
                 step 
                 8030 
               
               
                   
                 step 
                 8040 
               
               
                   
                 method 
                 8100 
               
               
                   
                 step 
                 8105 
               
               
                   
                 step 
                 8110 
               
               
                   
                 step 
                 8115 
               
               
                   
                 step 
                 8120 
               
               
                   
                 step 
                 8125 
               
               
                   
                 step 
                 8130 
               
               
                   
                 step 
                 8135 
               
               
                   
                 step 
                 8140 
               
               
                   
                 step 
                 8145 
               
               
                   
                 step 
                 8150 
               
               
                   
                 step 
                 8155 
               
               
                   
                 step 
                 8160 
               
               
                   
                 step 
                 8165 
               
               
                   
                 step 
                 8170 
               
               
                   
                 step 
                 8175 
               
               
                   
                 method 
                 8200 
               
               
                   
                 step 
                 8210 
               
               
                   
                 step 
                 8220 
               
               
                   
                 step 
                 8230 
               
               
                   
                 step 
                 8240 
               
               
                   
                 step 
                 8250 
               
               
                   
                 step 
                 8260 
               
               
                   
                 method 
                 8300 
               
               
                   
                 step 
                 8310 
               
               
                   
                 step 
                 8320 
               
               
                   
                 step 
                 8330 
               
               
                   
                 step 
                 8340 
               
               
                   
                 step 
                 8350 
               
               
                   
                 step 
                 8360 
               
               
                   
                 step 
                 8370 
               
               
                   
                 method 
                 8400 
               
               
                   
                 step 
                 8410 
               
               
                   
                 step 
                 8420 
               
               
                   
                 step 
                 8430 
               
               
                   
                 step 
                 8440 
               
               
                   
                 step 
                 8450 
               
               
                   
                 step 
                 8460 
               
               
                   
                 method 
                 8500 
               
               
                   
                 step 
                 8510 
               
               
                   
                 step 
                 8520 
               
               
                   
                 step 
                 8530 
               
               
                   
                 step 
                 8540 
               
               
                   
                 step 
                 8550 
               
               
                   
                 step 
                 8590 
               
               
                   
                 method 
                 8600 
               
               
                   
                 step 
                 8610 
               
               
                   
                 step 
                 8620 
               
               
                   
                 step 
                 8630 
               
               
                   
                 step 
                 8640 
               
               
                   
                 step 
                 8650 
               
               
                   
                 step 
                 8660 
               
               
                   
                 step 
                 8670 
               
               
                   
                 graph 
                 9000 
               
               
                   
                 flow rate trace 
                 9010 
               
               
                   
                 trace 
                 9020 
               
               
                   
                 episode 
                 9030 
               
               
                   
                 increase 
                 9040 
               
               
                   
                 arousal 
                 9050 
               
               
                   
                 episode 
                 9060 
               
               
                   
                 increase 
                 9070 
               
               
                   
                 episode 
                 9080