A decision support software system for sleep disorder identification
By integrating clustering modules and recommendation modules in the server system, and using the health data of sensor devices to identify the clustering of sleep disorders, the problem of difficulty in effectively identifying and solving sleep disorders in the prior art is solved, and the accurate identification of sleep disorders is achieved and effective recommendations improve sleep quality and reduce related costs.
Patent Information
- Application Number
- CN201980085223.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-07-29
- Filing Date
- 2019-10-22
- Publication Date
- 2025-02-14
- Estimated Expiration
- 2039-10-22
AI Technical Summary
The prior art is difficult to effectively identify and solve sleep disorders, resulting in increased health problems and economic costs.
By integrating clustering modules and recommendation modules in the server system, using health data from sensor devices, clustering of the most closely related sleep disorder user data is identified and sleep disorder identification and recommendation based on these clusters is generated.
Accurate identification and effective recommendation of sleep disorders is achieved, the quality of sleep is improved, and related health and economic costs are reduced.
Smart Images

Figure CN113383395B_ABST
Abstract
Description
Technical Field
[0001] This disclosure generally relates to decision support software systems and methods for sleep disorder identification. Background Technology
[0002] Many people have difficulty falling asleep or maintaining sleep according to the proper sleep cycle.
[0003] Individuals with untreated sleep disorders are considered to be at higher risk of developing physical health problems such as high blood pressure, heart disease, diabetes, stroke, obesity, and weakened immunity. Furthermore, sleep disorders have been linked to mental health issues such as depression and anxiety.
[0004] Sleep disorders also naturally lead to fatigue, which is widely understood to negatively impact alertness, cognitive function, and the ability to stay awake. Fatigue is therefore identified as a major contributor to occupational accident risk, particularly for the more than 1.4 million Australians or 15 million Americans who work shifts. On average, at least one Australian will die every day from falling asleep at the wheel due to sleep deprivation.
[0005] The economic costs of sleep disorders and sleep deprivation are also substantial. It is estimated that the cost of sleep deprivation in Australia during the 2016 / 2017 financial year alone exceeded A$66 billion, including costs to the healthcare system, lost productivity, and welfare costs.
[0006] There are many reasons for sleep difficulties. However, five of the most common sleep disorders are: insomnia, snoring / obstructive sleep apnea, delayed sleep-wake phase disorder, chronic sleep restriction, and shift work disorder.
[0007] Insomnia is a sleep disorder characterized by difficulty falling asleep or maintaining sleep. Between 10% and 30% of adults experience insomnia at any given point in time, and up to 50% of adults will have insomnia problems within a given year. Of those, approximately 6% will have insomnia not attributable to another underlying problem and lasting longer than a month. Insomnia can broadly take two forms: sleep onset insomnia and sleep maintenance insomnia. Sleep onset insomnia describes difficulty falling asleep at bedtime, while sleep maintenance insomnia involves frequent and / or prolonged nighttime awakenings totaling more than 30 minutes throughout the night. Both forms are primarily caused by maladaptive learning and regulatory processes, and particularly in cases of sleep onset insomnia and circadian rhythm dysregulation.
[0008] Obstructive sleep apnea is caused by complete or partial obstruction of the upper airway and is characterized by recurrent episodes of shallow or paused breathing during sleep. Obstructive sleep apnea often causes excessive daytime sleepiness and may involve short periods of sleep during daytime activities. Obstructive sleep apnea is often accompanied by snoring, which is known to cause sleep deprivation for sufferers and those around them.
[0009] Delayed sleep phase disorder (DSPD) is a chronic dysregulation of a person's circadian rhythm and affects sleep timing, peak alertness cycles, core body temperature rhythms, and hormonal and other diurnal cycles. Individuals with DPD are thought to have circadian rhythms significantly longer than 24 hours. Therefore, the effects of DPD on those attempting to follow a 24-hour schedule have been compared to those of constant jet lag.
[0010] Chronic sleep restriction (also known as sleep deprivation) is a persistent state of not getting enough sleep. In addition to fatigue, the physiological effects of sleep restriction can include: confusion, memory loss, depression, headache, increased blood pressure, increased risk of diabetes, and weakened immunity.
[0011] Shift work disorder presents symptoms similar to insomnia or excessive sleepiness and occurs as a result of transient work schedules. Shift work requires workers to attempt sleep at biologically inappropriate times of the day. Those with shift work disorder are unable to get sleep at these times. While a typical shift worker may get, for example, 6.5 hours of sleep over a 24-hour cycle, those with shift work disorder will report getting significantly less sleep.
[0012] Leveraging the relatively widespread availability of sensor devices used to track health data (such as fitness trackers based on smartwatches and smartphones), a wealth of relevant data can be used to aid in the identification of sleep disorders and to evaluate recommendations for addressing those disorders. Because sensor devices can be used by users for extended periods, a vast amount of relevant information can be available for analysis. Furthermore, the availability of information from a larger number of users of sensor devices presents an opportunity to correlate data across a large number of users to better identify sleep disorders and develop more effective recommendations.
[0013] Any discussion of documents, actions, materials, equipment, articles of manufacture, etc., included in this specification should not be construed as an admission that any or all of these elements form part of the prior art or are common general knowledge in the field relating to this disclosure, as they exist prior to the priority date of each claim of this application.
[0014] Throughout this specification, the word “comprising”, or variations thereof such as “including” or “containing”, shall be understood to imply the inclusion of the described element, whole or step, or combination of element, whole or step, but does not exclude any other element, whole or step, or combination of element, whole or step. Summary of the Invention
[0015] Some embodiments relate to a computer-implemented method for cluster-based recommendation generation regarding sleep disorders, the method comprising:
[0016] The server system sends query program code to the client device, wherein the query program code can be executed by the client device to cause the client device to send an encoded response and one or more response objects to the server system.
[0017] The server system receives the one or more response objects from the client device and determines the response encoded in the one or more response objects and other responses;
[0018] The clustering module of the server system identifies one or more clusters of sleep disorder user data that are most closely related to the determined response and the determined additional responses.
[0019] The server system's recommendation module identifies sleep disorders based on determined responses, other determined responses, and one or more identified clusters.
[0020] The recommendation module generates one or more recommendations based on the identified sleep disorder, the determined response, other determined responses, and one or more identified clusters; and
[0021] The server system encodes one or more generated recommendations in a recommendation object and makes the recommendation object accessible to the client device.
[0022] The query program code may include a query object and one or more other query objects; the response may be a response to the query object; the other response may be a response to a subset of the one or more other query objects; and the subset of the one or more other query objects may be determined based on the response object.
[0023] The determination of a subset of the one or more additional query objects may be performed by the server system. Alternatively, the determination of a subset of the one or more additional query objects may be performed by the client device.
[0024] At least one of the one or more additional query objects may be directed to the sensor, and at least one of the one or more response objects includes health data from the sensor. The health data may include one or more of the following: cardiac activity measurements, physical activity measurements, blood pressure measurements, respiratory activity measurements, heart rate data, movement data, breath sound data, or respiratory rate data.
[0025] The recommendation module can also identify one or more secondary sleep disorders based on the determined response, other determined responses, and one or more identified clusters.
[0026] The clustering module can perform clustering based on any of the following: similarity learning, distance metric, feature vector comparison, or agglomerative clustering.
[0027] At least one of the one or more response objects may include free text, and the natural language processing module of the server system is configured to process the free text to determine the input of the recommendation module.
[0028] The method may further include:
[0029] Receive feedback input regarding the one or more recommendations via the client device;
[0030] The recommendation model of the recommendation module is reconfigured to take into account the received feedback input.
[0031] Some embodiments relate to a computer-implemented method for cluster-based sleep disorder-related recommendation prioritization, the method comprising: a server system sending query program code to a client device, wherein the query program code is executable by the client device to cause the client device to send an encoded response and one or more response objects, and other responses, to the server system;
[0032] The server system receives the one or more response objects from the client device and determines the response encoded in the one or more response objects and other responses;
[0033] The clustering module of the server system identifies one or more clusters of sleep disorder user data that are most closely related to the determined response and the determined additional responses.
[0034] The server system's recommendation module identifies sleep disorders based on determined responses, other determined responses, and one or more identified clusters.
[0035] The recommendation module generates one or more recommendations based on the identified sleep disorder, the determined response, other determined responses, and one or more identified clusters; and
[0036] The priority of each of the one or more recommendations is determined based on the following: one or more clusters identified in the sleep disorder user data;
[0037] The server system encodes one or more prioritized recommendations into a recommendation object and makes the recommendation object accessible to the client device.
[0038] The query program code may include a query object and one or more other query objects; the response may be a response to the query object; the other response may be a response to a subset of the one or more other query objects; and the subset of the one or more other query objects may be determined based on the response object.
[0039] The determination of a subset of one or more additional query objects can be performed by the server system. Conversely, the determination of a subset of the one or more additional query objects can be performed by the client device.
[0040] At least one of the one or more additional query objects may be directed to the sensor, and at least one of the one or more response objects includes health data from the sensor. The health data may include one or more of the following: cardiac activity measurements, physical activity measurements, blood pressure measurements, respiratory activity measurements, heart rate data, movement data, breath sound data, or respiratory rate data.
[0041] The identified sleep disorder can be a primary sleep disorder, and the recommendation module can also identify one or more secondary sleep disorders based on the determined response, the determined additional response, and the identified one or more clusters.
[0042] The clustering module can perform clustering based on any of the following: similarity learning, distance metric, feature vector comparison, or agglomerative clustering.
[0043] At least one of the one or more response objects may include free text, and the natural language processing module of the server system is configured to process the free text to determine the input of the recommendation module.
[0044] The method may further include:
[0045] Receive feedback input regarding the one or more recommendations via the client device;
[0046] The recommendation model of the recommendation module is reconfigured to take into account the received feedback input.
[0047] Some embodiments relate to a computer-implemented method for revising recommendations related to sleep disorders based on adhesion, the method comprising:
[0048] The server system sends query program code to the client device, wherein the query program code can be executed by the client device to cause the client device to send an encoded response and one or more response objects to the server system.
[0049] The server system receives the one or more response objects from the client device and determines the response encoded in the one or more response objects and additional responses, wherein at least one of the additional responses includes health data from a sensor associated with a user of the client device;
[0050] The server system's recommendation module identifies sleep disorders based on the determined responses and other determined responses.
[0051] The recommendation module generates one or more recommendations based on the identified sleep disorder, the determined response, and other determined responses; and
[0052] One or more adhesion metrics are determined based on a comparison between the generated one or more recommendations and the health data;
[0053] The recommendation module generates one or more revised recommendations based on the one or more adhesion metrics; and
[0054] The server system encodes one or more generated revised recommendations in a recommendation object and makes the recommendation object accessible to the client device.
[0055] The query program code may include a query object and one or more other query objects; the response may be a response to the query object; the other response may be a response to a subset of the one or more other query objects; and the subset of the one or more other query objects may be determined based on the response object.
[0056] The determination of a subset of one or more additional query objects can be performed by the server system. Conversely, the determination of a subset of one or more additional query objects can be performed by the client device.
[0057] The health data may include one or more of the following: cardiac activity measurement data, physical activity measurement data, blood pressure measurement data, respiratory activity measurement data, heart rate data, movement data, breath sound data, or respiratory rate data.
[0058] The recommendation module can also identify one or more secondary sleep disorders based on the determined response and other determined responses.
[0059] The method may also include the following steps:
[0060] The clustering module of the server system identifies one or more clusters of sleep disorder user data that are most closely related to the identified one or more adhesion metrics; and
[0061] The generation of one or more revised recommendations is also based on one or more clusters identified from sleep disorder user data.
[0062] The clustering module can perform clustering based on any of the following: similarity learning, distance metric, feature vector comparison, or agglomerative clustering.
[0063] At least one of the one or more response objects may include free text, and the natural language processing module of the server system is configured to process the free text to determine the input of the recommendation module.
[0064] The method may further include:
[0065] Receive feedback input regarding the one or more recommendations via the client device;
[0066] The recommendation model of the recommendation module is reconfigured to take into account the received feedback input.
[0067] The one or more adhesion metrics may include one or more of the following: total sleep time, bedtime regularity, bedtime or sleep hygiene measures.
[0068] Some embodiments relate to a computer-implemented method for determining sleep disorder recommendations and quality of life metrics:
[0069] The server system sends query program code to the client device, wherein the query program code can be executed by the client device to cause the client device to send an encoded response and one or more response objects to the server system.
[0070] The server system receives one or more response objects from the client device and determines responses encoded in the one or more response objects and additional responses, wherein at least one response object includes health data from sensors associated with a user of the client device;
[0071] The server system's recommendation module identifies sleep disorders based on the determined responses and other determined responses.
[0072] The recommendation module generates one or more recommendations based on the identified sleep disorder, the determined response, and other determined responses;
[0073] One or more quality of life metrics are determined based on the identified response or other responses or the user's health data; and
[0074] The server system encodes one or more generated recommendations and one or more quality of life metrics in a recommendation object and makes the recommendation object accessible to the client device.
[0075] The method may further include: the clustering module of the server system identifying one or more clusters of sleep disorder user data most closely related to the determined one or more quality of life metrics; and the generation of one or more recommendations may also be based on the identified one or more clusters of sleep disorder user data.
[0076] The clustering module can also be configured to determine the rate of change of each quality of life metric for each of the determined one or more recommendations.
[0077] The query program code may include a query object and one or more other query objects; the response may be a response to the query object; the other response may be a response to a subset of the one or more other query objects; and the subset of the one or more other query objects may be determined based on the response object.
[0078] The determination of a subset of one or more additional query objects can be performed by the server system. Conversely, the determination of a subset of one or more additional query objects can be performed by the client device.
[0079] The health data may include one or more of the following: cardiac activity measurement data, physical activity measurement data, blood pressure measurement data, respiratory activity measurement data, heart rate data, movement data, breath sound data, or respiratory rate data.
[0080] The recommendation module can also identify one or more secondary sleep disorders based on the determined response and other determined responses.
[0081] The clustering module can perform clustering based on any of the following: similarity learning, distance metric, feature vector comparison, or agglomerative clustering.
[0082] At least one of the one or more response objects may include free text, and the natural language processing module of the server system is configured to process the free text to determine the input of the recommendation module.
[0083] The method may further include:
[0084] Receive feedback input regarding the one or more recommendations via the client device;
[0085] The recommendation model of the recommendation module is reconfigured to take into account the received feedback input.
[0086] Some embodiments relate to a computer-implemented method for generating branch-based recommendations regarding sleep disorders, the method comprising:
[0087] The server system sends a query object to the client device;
[0088] The server system receives a response object from the client device in response to the query object and determines the response encoded in the response object;
[0089] The server system sends another query object to the client device based on the determined response;
[0090] The server system receives one or more additional response objects from the client device;
[0091] The server system determines an additional response encoded in one or more additional response objects;
[0092] The first recommendation branch of the server system's recommendation module determines a first set of recommendations based on the determined response and another determined response.
[0093] The server system receives one or more data objects, including health data from sensors associated with the user of the client device;
[0094] The second recommendation branch of the recommendation module determines a second set of recommendations based on one or more data objects including the health data; and
[0095] The server system encodes the generated first and second sets of recommendations into recommendation objects and makes the recommendation objects accessible to the client device.
[0096] The method may further include determining the priority of each recommendation in the first and second sets of recommendations.
[0097] The query object and at least one of the one or more other query objects can be directed to a sensor associated with the user of the client device, and at least one of the one or more response objects includes health data from the sensor.
[0098] The health data may include one or more of the following: cardiac activity measurement data, physical activity measurement data, blood pressure measurement data, respiratory activity measurement data, heart rate data, movement data, breath sound data, or respiratory rate data.
[0099] The recommendation module can also identify one or more primary sleep disorders and one or more secondary sleep disorders based at least on the determined response and other determined responses.
[0100] At least one of the one or more response objects may include free text, and the natural language processing module of the server system is configured to process the free text to determine the input of the recommendation module.
[0101] The method may further include:
[0102] Receive feedback input regarding the one or more recommendations via the client device;
[0103] The recommendation model of the recommendation module is reconfigured to take into account the received feedback input.
[0104] Some embodiments relate to a computer-implemented method for cluster-based recommendation-based regulation of sleep disorders, the method comprising:
[0105] The server system sends query program code to the client device, wherein the query program code can be executed by the client device to cause the client device to send one or more response objects of encoded response to the server system;
[0106] The server system receives the one or more response objects from the client device and determines the response encoded in the one or more response objects and other responses;
[0107] The clustering module of the server system identifies one or more clusters of sleep disorder user data that are most closely related to the determined response;
[0108] The recommendation module of the server system identifies sleep disorders based on the determined response and one or more identified clusters;
[0109] The recommendation module generates one or more recommendations based on the identified sleep disorder, the determined response, and one or more identified clusters;
[0110] The server system sends additional query program code to the client device, wherein the additional query program code can be executed by the client device to cause the client device to send one or more additional response objects encoding additional responses to the server system;
[0111] The clustering module of the server system revises one or more identified clusters of sleep disorder user data based on the determined additional responses;
[0112] The server system's recommendation module revises the identified sleep disorders based on additional determined responses and revised identified clusters (one or more).
[0113] The recommendation module generates one or more revised recommendations based on the revised identified sleep disorders, the determined additional responses, and the revised identified one or more clusters;
[0114] The server system encodes one or more generated revised recommendations in a recommendation object and makes the recommendation object accessible to the client device.
[0115] At least a portion of the additional query procedure code may be directed to a sensor associated with the user of the client device, and at least one of the one or more additional response objects includes health data from the sensor. The health data may include one or more of the following: cardiac activity measurements, physical activity measurements, blood pressure measurements, respiratory activity measurements, heart rate data, movement data, breath sound data, or respiratory rate data.
[0116] The recommendation module can also identify one or more secondary sleep disorders based on the determined response, one or more identified clusters, and / or revised one or more identified clusters.
[0117] The clustering module can perform clustering based on any of the following: similarity learning, distance metric, feature vector comparison, or agglomerative clustering.
[0118] At least one of the one or more response objects may include free text, and the natural language processing module of the server system is configured to process the free text to determine the input of the recommendation module.
[0119] The method may further include:
[0120] Receive feedback input regarding the one or more recommendations via a client device;
[0121] The recommendation model of the recommendation module is reconfigured to take into account the received feedback input.
[0122] Some embodiments relate to a system for processing information about sleep disorders, the system including a server system comprising:
[0123] One or more processors;
[0124] A memory accessible by the one or more processors, the memory storing executable program instructions to implement the methods of any of the embodiments described above or herein.
[0125] Some embodiments relate to a computer-readable medium storing computer-executable instructions that, when executed, direct one or more computers to perform the methods of any of the embodiments described above or herein. Attached Figure Description
[0126] Figure 1 This is a block diagram of a decision support system for sleep disorders;
[0127] Figure 2 This is a flowchart for determining recommended methods for sleep disorders;
[0128] Figure 3 This is a flowchart of a method for determining recommendations regarding sleep disorders by taking sensor data into account;
[0129] Figure 4 This is a flowchart of a method for determining recommendations on sleep disorders by relying on more than one recommendation branch;
[0130] Figure 5 This is a flowchart illustrating a method for determining recommendations regarding sleep disorders by considering quality of life metrics;
[0131] Figures 6A to 6D These are example screenshots of client device applications based on some embodiments; and
[0132] Figure 7 This is a schematic diagram of a part of a decision support system according to some embodiments. Detailed Implementation
[0133] The embodiments generally relate to decision support systems and methods for sleep disorder identification. Some embodiments rely on information from sensor devices (such as fitness or health-related sensor devices) to provide improved identification of sleep disorders or more relevant recommendations. After providing a specific user with indications of sleep disorders and related recommendations, some embodiments maintain tracking to maintain user engagement or connection to the recommendations and evaluate the effectiveness of previously provided recommendations. Some embodiments identify user clusters based on available information about the user and rely on the identified clusters to provide a specific user with improved indications of sleep disorders and related recommendations. Some embodiments rely on user feedback regarding their recommendations and subsequent changes in the user's quality of life to provide improved recommendations.
[0134] Figure 1 This is a block diagram of a decision support system 100 according to some embodiments. The decision support system 100 includes a server system 110 that implements a server-side portion of decision support software 121. A client computing device 170 implements a client-side portion of the decision support software. More than one client computing device 170 can interact with the server system 110 to form part of the decision support system 100. In some embodiments, a client sensor device 160 may also form part of the decision support system 100. In some embodiments, the client computing device 170 may include a sensor data storage 178. The sensor data storage 178 may store data generated by the client sensor device 160 and / or sensors 180 that are part of the client computing device 170. For example, sensor 180 may be or include an audio sensor or a health data tracking sensor that collects information about the health data of an end user. For example, client sensor device 160 may be or include a health or sleep-related sensor or a fitness tracker. Client sensor device 160 may be, for example, a smartwatch that tracks an individual's health data over time.
[0135] For example, health data may include one or more of the following: cardiac activity measurements, physical activity measurements, blood pressure measurements, or respiratory activity measurements, or other longitudinal biometrics (i.e., collected over a period of days, weeks, or months). Cardiac activity measurements may include, for example, measurements of heart rate, measurements of the heart's electrical activity, or measurements of changes in heart volume. Physical activity measurements may include measurements of physical activity, such as distance traveled, steps taken, and / or calories burned. Respiratory activity measurements may include, for example, measurements of respiratory rate per minute or changes in lung volume.
[0136] Client computing device 170 may be an end-user computing device, such as, for example, a laptop computer, tablet computer, PC, or smartphone. Client computing device 170 includes a processor 172 and memory 174. Client device application 176 is implemented within memory 174, which allows the end user to interact with decision support software 121. Client device application 176 may include dedicated native application software (referred to as an "app") or a browser application that executes on client computing device 170. Client computing device 170 also includes a display 182, which enables information to be displayed to the end user, and in some embodiments, allows the end user to input responses.
[0137] System server 110 implements the client portion of decision support system 100 through various software modules implemented in memory 120. Server system 110 includes processor 140 and network interface 142.
[0138] Various modules implemented in server system 110 include, for example: a clustering module 122 that performs clustering information; a recommendation module 124 that performs information-based recommendation generation; a branch management module 126 that performs management information processing according to some embodiments; a connection tracking module 128 that performs tracking of the connection between end users and decision-making and support software; a sensor device data integration module 132 that specifically processes information generated by sensors or associated devices maintained by end users, such as client sensor device 160 or client computing device 170; a quality of life measurement module 134 that determines quality of life measurements based on available information; a recommendation prioritization module 136 that performs prioritization of recommendations generated by recommendation module 124; and an NLP module 138 that performs natural language processing to derive information from natural language data. Recommendation module 124 may include one or more models or branches for generating recommendations or for identifying sleep problems based on input. Some of the models or branches may rely on information in database 190 to generate recommendations or identify sleep problems.
[0139] Network interface 142 may include software or hardware, or a combination of software and hardware, enabling server system 110 to communicate with multiple client computing devices 170 and multiple client sensor devices 160. Database 190 may also form part of decision support system 100 and may perform functions as a repository for information collected by server system 110 and metrics and disturbances generated by server system 110. Database 190 may include a conventional relational database or NoSQL database implemented on a separate server system. In some embodiments, database 190 may be implemented within server system 110. In some embodiments, server system 110 may be implemented on one or more virtual servers that are available as part of a cloud implementation. Similarly, in some embodiments, database 190 may be implemented as part of a cloud service implementation.
[0140] Database 190 includes user data on sleep disorders for individuals and groups. Sleep disorder user data may include data collected from sensors regarding sleep patterns or other health-related data that enables inference about sleep quality. Sleep disorder user data may also include information specific to sleep disorders and the efficiency of recommendations and treatments for individuals. Sleep disorder user data can provide a group of user data suitable for clustering, wherein individual sleep disorder user data can be assigned to one or more predetermined clusters based on one or more sleep disorders, sleep patterns, or attributes based on sleep behavior. In some embodiments, user data related to user demographics may be used to assign users to one or more clusters based on the demographics of all users. For example, demographic user data may include: age, gender, education level, income level, marital status, and occupation.
[0141] Each cluster can represent a group of individuals sharing some common sleep disorder-related attributes or data. Sleep disorder user data in database 190 can be used as a dataset for clustering any new sleep disorder user data not previously stored in database 190. As the sample of sleep disorder user data maintained in database 190 grows over time, the planned clusters can be revised to take into account new sleep disorder user data received in database 190. Revisions to the planned clusters may include, for example: identifying new clusters, merging existing clusters, and / or reassigning existing sleep disorder user data to different clusters. Clustering can be performed using clustering techniques, including one or more of the following: similarity learning, distance metrics, eigenvector comparison, k-means, density-based expectation maximization, average moving average, or agglomerative clustering techniques.
[0142] Network 150 may include at least a portion of one or more networks having one or more nodes, said one or more nodes transmitting, receiving, forwarding, generating, buffering, storing, routing, converting, processing, or combinations thereof one or more messages, packets, signals, or combinations thereof. Network 150 may include one or more of the following: wireless networks, wired networks, the Internet, intranets, public networks, packet-switched networks, circuit-switched networks, ad hoc networks, infrastructure networks, public switched telephone networks (PSTN), wired networks, cellular networks, satellite networks, fiber optic networks, or combinations thereof.
[0143] Figure 2 The illustration shows a method 200 according to some embodiments, illustrating some of the steps implemented by decision support software 121. At step 210 of method 200, server system 110 sends query program code to client computing device 170. Query object 210 may include an encoded instruction or query requesting information or a response regarding an instruction or query from client computing device 170. After receiving the query object with the encoded instruction, client computing device 170 may display the instruction to an end user via client device application 176. The end user may provide a response to the instruction via client device application 176. The response may be encoded into a response object by client device application 176 before being sent to server system 110 via network 150.
[0144] At step 220, server system 110 receives an encoded response object from client computing device 170 via network 150. In some embodiments, optional steps 222, 225, and 228 may be performed. Step 222 includes processing the response received by recommendation module 124 at step 220 to determine a first sleep disorder. At step 225, one or more first clusters of sleep disorder user data may be identified by clustering module 122. At step 228, one or more first recommendations may be determined by recommendation module 124 based on the determined first sleep disorder and the identified first clusters. Optional steps 222, 225, and 228 depend only on the response object received at step 220 to perform the necessary information processing.
[0145] At step 230, decision support software 121 may receive additional response objects from client computing device 170. In some embodiments, the query program code sent at step 210 may include a query object and one or more additional query objects. In some embodiments, the response received via response object 220 may determine a subset of additional query objects to be presented via client computing device to receive additional response objects (in response to the subset of additional query objects). The subset of additional query objects may include fewer than all possible additional query objects stored in database 190. The determination of the subset of query objects to be presented may occur on server system 110. Alternatively, the determination of the subset of query objects to be presented may occur on client device 170. In practice, the determination of the subset of query objects may provide the advantage of making method 200 more efficient by potentially shortening its scope.
[0146] The pace of the iterative process implemented through steps 210 to 230 can be accelerated by shortening the process (so that only the most relevant query objects are sent to client device 170) and increasing the frequency of the entire method 200 (e.g., daily instead of weekly). Convergence of the optimally ranked list of recommendations can be accelerated by leveraging the large user base added to the use of decision support system 100. Examples of relevant query objects could include questions from patients experiencing treatment for primary sleep apnea, including instructions regarding subjective and objective sleep latencies (if the patient has a sleep tracking device).
[0147] When considering the most relevant query objects for a given sleep disorder or treatment, it is also possible to include some redundancy to ensure that the information provided by the response objects is as reliable as possible. For example, if sleep duration is an important metric for determining the effectiveness of treatment, we can choose to ask for: 1) subjective sleep duration and 2) bedtime and wake-up time. The latter can be used by the decision support software 121 as a control for the reliability of the answer to question 1 (e.g., a subjective sleep duration of 6 hours may not correspond to subjective bedtime / wake-up time at midnight and 4 a.m., respectively).
[0148] At step 240, the decision support software 121 processes the response object received at step 220 to determine sleep problems based on the coded information in the response object. The determination of primary sleep problems and one or more secondary sleep problems is performed by the recommendation module 124. The numerical value or relevance of each identified sleep disorder can be calculated by the decision support software 121, allowing for a relative ranking of each identified sleep disorder in terms of relevance. The recommendation module 124 may invoke other modules of the decision support software 121, depending on the various embodiments of the decision support software 121. In embodiments where step 222 is performed, the sleep disorder or problem identified at step 240 may be a revised sleep disorder or problem based on additional query objects sent at step 230.
[0149] In some embodiments, an optional step 245 may be performed to identify one or more revised clusters of sleep disorder user data. This step may involve revising one or more first clusters identified at step 225.
[0150] At step 250, recommendation module 124 determines recommendations for solving the identified primary and secondary sleep problems based on the identified primary and secondary sleep problems. Recommendation module 124 can perform operations based on various computational methods to identify primary and secondary sleep problems and make recommendations, such as decision trees (especially random forest decision trees), support vector machines, artificial neural networks, sleep problem identification and recommendation generation models, or other artificial intelligence-based computational models.
[0151] At step 260, decision support software 121 sends recommendation objects to client computing device 170. Recommendation objects include coded recommendations generated by recommendation module 124 for the end user of client computing device 170. Client device application 176 processes the coded recommendations and displays the recommendations of the recommendation objects received by client computing device 170 to the end user. Recommendation module 124 may use any and all available data or information about the current user, including but not limited to: subjective data, responses to clinical validation surveys about sleep, responses to additionally sent query objects, predicted sleep states of the user based on remaining information, and objective data, including numerical metadata about when, how, and how long the user began completing the response process or a specific part of the response process, the date and time of the user's response, and the user's time zone and country.
[0152] In some embodiments, the query code sent at step 210 may include a query target based on the Insomnia Severity Index (ISI) or the alternative Pittsburgh Sleep Quality Index (PSQI) questionnaire. In some embodiments, the query code sent at step 210 may include a query target, for example, based on a shift work disorder questionnaire. In some embodiments, the query code sent at step 210 may include a query target based on the OSA-50 screening questionnaire, the Berlin questionnaire, the STOP-BANG questionnaire, the Karolinska Sleep Scale (KSS) questionnaire, the Stanford Sleep Scale questionnaire, the Flinders Fatigue Scale questionnaire, and / or the Fatigue Severity Scale questionnaire.
[0153] Figure 3 This is a flowchart of a method 300 implemented by decision support system 100 to process sensor data objects received from client sensor device 160 or client computing device 170. At step 310, server system 110 receives the client sensor data object via network 150. The client sensor data object includes encoded client sensor data sensed by either client sensor device 160 or sensor 180 regarding an end user within a specific (predetermined or predefined) time period.
[0154] At step 320, the decision support software 121 optionally determines or estimates the end user's adhesion, compliance, or engagement with the recommendations based on the received sensor data object. The recommendations providing a benchmark for the assessment of adhesion or engagement may have been previously generated by the decision support software 121, for example, using the method of flowchart 200. Determining adhesion may include, for example, comparing coded sensor data in the sensor data object with expected sensor data based on previously generated recommendations. In some embodiments, adhesion may be determined by comparison with a default recommendation criterion. The determination of adhesion may be performed by the engagement tracking module 128.
[0155] The determination of deviations from adhesion or bonding can be assessed through quantification procedures or by recommending deviations, including numerical differences between user behaviors and recommendations determined at step 250. Non-limiting examples of factors used in determining deviations include: differences in total sleep time, regularity of bedtime or wake-up time, bedtime and sleep hygiene.
[0156] By way of example, the factors used to determine bias can be determined based on one or more sub-factors, as described below. Total sleep time variance includes the difference between the observed total and the recommended total, the derivative of the observed total (since treatment), and the variance of the observed total over a historical window. Bedtime regularity includes the difference between the observed bedtime and the recommended bedtime, and the variability (variance) of bedtime over a historical window. Bedtime includes the difference between the observed total and the recommended total, the derivative of the observed total (since treatment), and the variance of the observed total over a historical window. Sleep hygiene includes the difference between observed device avoidance and recommended device avoidance, and exercise and activity avoidance within certain thresholds of the time before sleep. The determination of bias, adhesion, or engagement can also consider data related to the above parameters collected over time.
[0157] At step 330, based on the received sensor data object, clustering of users from a predetermined set or group of users to which the end user belongs can be performed. Once the user provides one or more responses to the query object, data associated with that user is stored in database 190, and then the user is associated with one or more clusters using clustering module 122. Step 330 is performed by clustering module 122. At step 340, decision support software 121 then determines a revised recommendation based on the identified cluster to which the end user belongs. The revised recommendation may be a recommendation that presents the greatest statistical significance regarding the cluster to which a particular end user has been identified. In some embodiments, the revised recommendation may also be based on the adhesion to previous recommendations for the end user determined at step 320. Step 340 may be performed by recommendation module 124.
[0158] Each pre-defined cluster of users can represent a group of related users exhibiting some form of similarity regarding sleep-related behaviors or metrics. An example of pre-defined clustering is a cluster or group of people found to have significantly high weekly work hours and very short sleep durations. A recommendation for users associated with that pre-defined cluster could be related to better work-life balance.
[0159] In some embodiments, step 340 may include calculating the correlation between information received from the response object received at step 220 and information received from sensor 160 or 180. This allows for the assessment of the relationship or difference between the perception of a particular sleep metric and the obtained sensor data representing that sleep metric. The correlation calculation may occur for a single user, a subset of users, or an entire group of users. Depending on the sleep disorder under consideration, the calculated correlation may have specific significance. For example, insomnia is most often characterized by a mismatch between an individual's actual sleep duration and perceived sleep duration. For users with insomnia problems, for example, the correlation between the response object conveying sleep duration and the sensor data conveying sleep duration will be lower than expected.
[0160] The recommendation module 124 can combine information obtained from received client sensor device data objects and any received query response objects to form an initial representation of the user (e.g., which may take the form of a feature vector). Similar information, along with information about which users selected which options or recommendations (and their effectiveness) to address the identified sleep problem, is used to represent all users of the decision support system 100.
[0161] Unsupervised machine learning, similarity learning, distance metrics, and / or other feature vector comparison techniques can be used to determine clusters or subsets of users most similar to the current user. For example, vector quantization algorithms, or comparisons based on Euclidean distance, or comparisons based on cosine similarity can be used to cluster users based on feature vectors.
[0162] Based on the similarity determined by clustering module 122, recommendation module 124 generates initial sleep program suggestions or recommendation groups. These recommendations can be sent to the client computing device 170 associated with the user. The user can then have the opportunity to give thumbs-up / thumbs-down type feedback on the recommendations, click links to view programs on other parts of the body, read reviews and feedback from other users, and read the reasons why these recommendations have been presented to him / her, etc.
[0163] In some embodiments, at step 360, the recommendation module 124 may receive updated information about the user in the form of responses from subsequent query objects or updated client sensor device data, which may form the basis for revising or updating the recommendations.
[0164] Regarding steps 260 and 360 of flowcharts 200 and 300 respectively, recommendation module 124 records interaction parameters between the user and the data objects presented to the user via client computing device 170. For example, recommendation module 124 may record any of the following: the time spent viewing each recommendation, whether the user clicked on a specific recommendation, and whether the user indicated agreement (thumbs up) or disagreement (thumbs down) for a specific recommendation. Recommendation module 124 may also make determinations based on user behavior, including, for example, revision responses to initial or additional queries and revision predictions of sleep states.
[0165] In some embodiments, method 300 may be performed by a user to share results or logs from consumer or medical sensors commonly used by the patient, such as client sensor device 160 or sensor 180. Signals and response objects are analyzed to derive obedience, stickiness, and similarity quantifiers. This information may optionally be integrated with signals from response objects obtained at step 220 and / or from clusters of users similar (according to a given metric) to the target user. The clustering process may utilize existing and preceding groups of users added to the decision support system 100.
[0166] The compliance / adhesion or similarity quantifier is integrated with the results of the recommendation determined at step 250 to readjust (if necessary) the initial recommendation that may lead to a modification of the recommendation (e.g., to identify additional comorbidities).
[0167] Some examples of adhesion or engagement quantizers include: the time difference between recommended bedtime and actual bedtime, the time difference between recommended sleep duration and actual sleep duration, the difference between recommended physical activity and actual physical activity, and the time of day during which physical activity is performed. The adhesion or engagement quantizer can be determined by the received response determined at step 240. In some embodiments, the adhesion or engagement quantizer can be determined by information from the sensor device data object received at step 310.
[0168] Some embodiments may include optional step 350, which includes prioritizing revised recommendations. Based on previously identified primary and secondary sleep problems, more than one revised recommendation may be generated for a specific end user. Different recommendations may have different levels of effectiveness, for example, depending on specific characteristics of the end user, the cluster to which the user belongs, or the user's recommendation stickiness level. For example, recommendation prioritization module 136 may consider the user's stickiness level, the identified cluster to which the user belongs, and the primary and secondary sleep problems of the user identified as prioritizing recommendations generated by recommendation module 124. At step 360, decision support software 121 may encode the generated recommendations into recommendation data objects. The encoded recommendation data objects are transmitted to client device 170 via network 150. For example, the end user may access the encoded recommendations through client device application 176.
[0169] Figure 4 This is a flowchart of a method 400 for sleep disorder identification and recommendation generation implemented by decision support software 121. At step 402, a query object is sent to client device 170. For example, the query object may include coded instructions to request information from client computing device 170 in response to the instructions. At step 404, a response object may be received by server system 110 from client device 170 in response to the query object sent at step 402. Based on the received response object, at step 406, recommendation module 124 may identify potential primary and secondary sleep problems. At step 408, recommendation module 124 may determine recommendations based on the identified primary and secondary sleep problems. This determination of recommendations at step 408 may be performed through a first information processing branch implemented by recommendation module 124.
[0170] At step 410, server system 110 may receive a client sensor device data object from client device 170 or sensor 160, or a combination of both. At step 412, a second recommendation branch may be used to determine a recommendation in response to the client sensor data object received at step 410. The second recommendation branch is logically independent of the first information processing branch and thus represents an independent method of processing information. The second recommendation branch also processes information received from client sensor device 160 or sensor 180, or both. This is in contrast to the first recommendation branch, which depends on the response object received at step 404.
[0171] Optional step 414 can be performed by priority module 136 to prioritize recommendations generated by the first recommendation branch and the second recommendation branch. At step 416, decision support software 121 encodes the recommendations in recommendation objects and sends the recommendation objects to client computing device 170.
[0172] In some embodiments, optional step 418 may be performed to receive a feedback object from client device 170. The feedback object may include end-user feedback regarding a specific recommendation provided to the end-user, and may include an indication of the relevance or suitability of the generated recommendation. For example, the feedback may be positive or negative. At another optional step 420, in some embodiments, based on the received feedback, a first or second recommendation branch may be updated to reflect the suitability or relevance of the generated recommendation.
[0173] Method 400 performs sleep problem identification or classification using at least two (optionally three, four, or more) recommended branches, each running a separate classification algorithm, and subsequently utilizes combinations of such branches in some embodiments to perform real-time automatic retraining of the relevant machine learning components without offline intervention. All branches receive the same response object data; however, only one branch may further utilize additional data generated by available sensors.
[0174] There exists a branch based on at least one response object, which provides a classification or indication of the user's sleep problems that is configured to closely follow the assessment of a typical internist.
[0175] There exists a recommendation branch based on at least one "data fusion," such as the recommendation branch in step 412, which uses machine learning techniques to identify sleep problems and / or the ability to predict sleep problem formation based on the connections between different response objects and sensor data. The advantage of this multi-branch architecture is that it provides the ability to classify or recommend sleep disorders in a manner similar to clinically validated classifications. Because higher resolution and longitudinal data become available, and because the feature set used by the classification system is optimized, such classifications or recommendations can maintain their temporal clinical relevance.
[0176] In some embodiments, the determination at step 412 may take into account the response received at step 440. The first and second recommendation branches may utilize a large amount of existing and previous user data in database 190 to learn patterns in the data corresponding to each individual's sleep problems and each combination of sleep problems. The second recommendation branch may generate different classification groups for primary and secondary sleep problems compared to the first recommendation branch.
[0177] If no sleep problem is identified by any of the recommendation branches for a given user, the collected data can be used to assess whether the user is at risk to form any of the sleep problems identified by the system. A risk level threshold is determined by the recommendation prioritization module 136, and if the risk level exceeds a certain threshold, those results can be displayed and returned to the user.
[0178] At step 414, the classifications from steps 408 and 412 are processed by recommendation prioritization module 136 to determine which sleep problem classifications are most likely more relevant and in what order they are determined to display a final set of primary and secondary sleep problems to the user, along with relevant recommendations. The user then has the option to provide feedback on the recommendations at step 418. If the user provides feedback, in step 420 the feedback can be used to update the machine learning model implemented by the recommendation branches, so that recommendation prioritization module 124 and / or recommendation prioritization module 136 can more accurately classify one or more sleep disorders of the patient. For example, if a particular recommendation receives consent from a large number of users belonging to a particular cluster, that particular recommendation can be given a higher priority than the remainder of recommendations for all current and future users belonging to the cluster. In some embodiments, modifiable weights may exist associated with the first and second recommendation branches.
[0179] Figure 5 This is a flowchart of a method 500 for sleep disorder identification and recommendation that partially relies on the determination of quality of life metrics. At step 510, server system 110 receives a client sensor device data object. Based on the received client sensor device data object, at step 520, quality of life metric module 134 determines the quality of life metric of the end user received from the client sensor device data object received at step 510.
[0180] Client-side sensor device data objects can be received periodically to measure the impact of previously presented recommendations on the user's quality of life. Clusters of consumers or users with similar sensor data, response objects from users obtained in step 220, and models regarding how sleep affects QoL are input into QoL measurement module 128 to generate a metric on how sleep affects the user's QoL.
[0181] For each monitored QoL metric, the QoL metric module 128 maintains a log of change history to track changes and change rates during the action period. Information about the change rate can play a significant role in assessing a user's progress.
[0182] In some embodiments, the QoL measurement module 128 can identify users and clustering metrics regarding how sleep affects QoL. For example, clustering metrics can include an overall metric calculated for clustering of identified users. Clustering metrics can help users compare their QoL and sleep quality with remaining users in similar situations. For example, the QoL measurement module 128 can provide specific metrics via a display 182 of the client computing device 170, such as the number of people with a "m" number of conditions "n" following treatment "o" to address their sleep problems and seeing a "p%" improvement in their weight loss.
[0183] People-oriented metrics toward QoL goals are only valuable as a means to help users maintain compliance with recommendations. As users improve and become aware of changes in their QoL metrics, compliance becomes easier for them, as they understand how sleep plays a broader role in their lives and provides reliable measurement results for goals beyond simply improving sleep metrics.
[0184] Figure 5 The process described can be iteratively repeated to quantify the impact of sleep disorder management on quality of life in order to improve users’ compliance and motivation in addressing their sleep problems.
[0185] At step 530, clustering module 122 identifies the cluster of users to which a particular end user belongs, for example, based on received client sensor device data objects. In some embodiments, clustering module 122 may also identify user clusters based on a quality of life metric determined at step 520.
[0186] At step 540, recommendation module 124 determines recommendations for the end user based on the determined quality of life metrics and the identified cluster to which the end user belongs. In some embodiments, optional step 550 may also be performed, involving estimating the rate of change for each quality of life metric based on the implementation of each recommendation. At step 560, server system 110 sends the recommendations determined at step 540 to client computing device 170. Optionally, step 560 may also include transmitting to client computing device 170 the estimated rate of change for each quality of life metric estimated at step 550.
[0187] In some embodiments, any part or all of the steps of each of methods 200, 300, 400, or 500 may be performed on the client device. For example, in some embodiments, step 230 may be performed on the client device, wherein, as part of step 210, the client device receives additional program code relating to an additional query object, and the client device may verify the response object and the additional response object before sending it to the server system 110.
[0188] The objects mentioned in this specification may include data packets, executable code, or interface calls that can be transmitted over a communication network. Objects may include coded information or groups or segments of executable code that can be executed by a computing device to interact with the contents of the object.
[0189] Figure 6A , Figure 6B , Figure 6C and Figure 6D This is an example screenshot displayed on the monitor 182 of the client computing device 170. Figure 6AThis is an example screenshot display 610 showing a representation of identified sleep problems for an end user. Area 612 of display 610 represents a grading scale for the risk level of a specific sleep disorder. Risk level indicators 614 in area 612 indicate the end user's risk level relative to the identified sleep disorder. For example, the different displayed risk levels could be low, medium, or high. Display 610 may also include selectable icons 618 that allow for further insights and recommended displays regarding the specific sleep disorder identified in display 610.
[0190] Figure 6B Screenshot 620 shows an example interface display 620 at the client computing device 170, which allows an end user to provide feedback input regarding one or more identified sleep disorders on the display 620. In some embodiments, feedback input can be provided for each identified sleep disorder by clicking the thumb up or thumb down icon 616. Once the user has specified their feedback input at the client computing device 170, for example using the selectable thumb up or thumb down icon 616, the user can click the submit button 620 to submit the feedback input.
[0191] Figure 6C and Figure 6D Screenshots 630 and 640 illustrate an interface displaying recommendations for identified sleep disorders for the end user. The interface, as shown in screenshots 630 and 640, also includes a selectable marker icon 632. The selectable marker icon 632 allows the end user to subscribe to specific recommendations or provide feedback to the decision support system 100 regarding specific recommendations. The selection of such marker icons via the client computing device 170 is recorded by the decision support software 121.
[0192] Some embodiments described herein relate to objective, systematic, and easily accessible methods for identifying certain sleep disorders. A related method is described in jointly owned Australian provisional patent application US 2018904007, the contents of which are incorporated herein by reference in their entirety. Furthermore, the described methods and systems are unaffected by the background knowledge, biases, and emotional states of human medical practitioners who may rely on the methods and systems described in the embodiments. That is, the described methods allow assessments of sleep disorders to be performed in a systematic and objective manner with minimal or no chance of overlooking relevant screening problems or potential diagnoses, regardless of human error or subjectivity.
[0193] A portion of the method according to the embodiments can be implemented as a computer application, and other portions of the method can be implemented as a server, thereby allowing the method to execute on various devices, including desktop or laptop computers. Alternatively, a portion of the method can be implemented as a smartphone or tablet-based application, which would enable the method to execute virtually anywhere and at any time. A portion of the method can also be implemented as a web-based application via a hosted service provider, thereby allowing the method to execute on any suitable device with internet access. The method will now be illustrated with respect to a preferred web-based application.
[0194] In some embodiments, users must log in to the web-based decision support software 121 using a username and password. Upon initial login, users may be asked for details such as age, gender, and location for data collection and analysis purposes. After logging into the decision support software 121, users are directed to a series of welcome pages before being guided to the recommendation module 124. By providing a login page, users can re-access the decision support software 121 without having to re-enter certain details, and gain access with prior instructions and sleep diary input, as discussed further below.
[0195] It is anticipated that the decision support system 100 will allow users to receive instructions regarding sleep disorders as quickly and simply as possible. In today's fast-paced society, people are heavily reliant on receiving information without having to provide unnecessary details or answer repetitive questions. Therefore, overly lengthy or detailed methods risk causing users to abandon the approach halfway. The decision support system 100 is thus designed to dynamically select instructions or questions to present to the user based on responses to previous instructions or questions, thereby ultimately reducing the number of instructions or questions the user must respond to.
[0196] To illustrate this method in the simplest way, the decision support system 100 can arrange instructions or questions to initially present screening-type questions that enable the decision support system 100 to immediately reduce a specific sleep disorder. As a very simple example, the decision support software 121 can generate a display asking the user whether they perform shift work. If the user answers "yes," the decision support software 121 will generate a display presenting additional questions exploring the nature of shift work. If the user answers "no," the decision support software 121 can reduce shift work as a question and move to another line to ask.
[0197] Figure 7 The illustration shows some portions 700 of a decision support system 100 according to some embodiments. Figure 7In the Decision Support System 100 topic, it is divided into three areas: the "Entry" 1 or welcome page, the "Decision Tree" 2 page which presents the query object, and the "Information / Feedback" page 3. These areas will now be discussed in turn.
[0198] Within the entry or welcome page, users are greeted by an interface to the decision support system 100 and receive explanations of available options, including instructions determined by the system 100 for specific sleep disorders relevant to the user. Users may also be presented with standard disclaimers explaining the issues, making it unsuitable for those with serious medical conditions, including lung or heart disease, asthma, or severe depression or anxiety, as indicated by the decision support software 121. User information can also be extracted, for example, by evaluating cookies present on the client computing device 170. Such information may include the user's location and their web browsing and search history. This information can be used by the decision support system 100 for broader statistical analysis and, where applicable, can be used to assist in formulating instructions regarding sleep disorders. As an example, if a user's research history shows they have recently studied snoring, this information can assist the decision support system 100 in determining which issues should be presented to the user. Alternatively, the user's location can be used in broader epidemiological studies.
[0199] The next stage of the entry area allows the application to actually screen users with serious medical conditions. The page can then ask the user if they currently have:
[0200] a) Under the care of an internist specializing in depression and / or anxiety,
[0201] b) Taking prescription medications that may induce drowsiness, or
[0202] c) Experience an unpleasant leg sensation that causes a pushing force to move his or her legs, primarily at night.
[0203] If the user answers any of these questions with "yes", the decision support system 100 may guide the user to seek medical attention and leave the application, or otherwise present further disclaimers that encourage the user to seek medical attention and allow the user to continue using the application on that basis.
[0204] Once a user has navigated through the "Exclusions" page, they can be directed to the next page, which asks for their primary reason for visiting the website. In this example, the user may not actually be requesting or seeking instructions regarding a sleep disorder, but rather seeking general information about certain sleep disorders. If so, the application could allow the user to bypass the questionnaire, or the "decision tree" area of the decision support system 100, and direct them to an information page about the specific sleep disorder. Similarly, a user might simply want to utilize the sleep diary feature of website 4 (see...). Figure 7 In this case, the app will bypass the sleep disorder instructions and sleep disorder information page and direct the user to the sleep diary feature.
[0205] exist Figure 7 Among the alternative options shown, the "Main Reasons for Visiting" page could be presented as part of the website's welcome message, allowing users to obtain general information about sleep disorders without having to go through disclaimers or exclusion agreements.
[0206] If a user seeks guidance on sleep disorders, they are directed to a demographic page where they can ask questions to receive basic demographic details. The information sought may include the user's age, gender, occupation, how many hours they work per week, and whether they have a bed partner or roommate. Figure 7 Among the alternatives shown, information related to basic demographics can be sought out and obtained as part of the "entry" area, such as as part of the "exclusions" page, thereby reducing the number of pages accessed by the user.
[0207] Other demographic information sought could include whether the user works shift work. If the user answers "yes" to the question, the application can then ask additional instructions or questions that allow the person to elaborate on how many shifts the person has worked in the past month, and what types of shifts the person has worked (e.g., morning, afternoon, night, or extended duration).
[0208] Instructions or questions can be presented in multiple selection formats. For example, an instruction or question might ask a user how many shifts they have worked in the past month. If the user answers "yes," additional questions seeking details about the extent of their shift work could be presented.
[0209] Once basic demographic information about the user has been obtained, the decision support system 100 can guide the user to the next page where potential sleep problems are identified and ranked. The questions asked may, for example, involve whether the user:
[0210] a) Having difficulty falling asleep, staying asleep, or waking up too early;
[0211] b) Experiencing drowsiness that affects daily work or family life;
[0212] c) Snoring that disturbs the sleep of the user or others;
[0213] d) Being disturbed by the snoring of a partner or roommate.
[0214] When answering these questions, users can be asked to rate their problems on a scale from, for example, 1 to 10. This allows users to quantify the effect or severity of a particular problem. The user's response will determine whether additional questions are asked about the specific problem and will be used to form a diagnosis for the user. Having the user quantify his or her problem in this way also helps the application assess the severity of a particular issue. For example, this method can help the application differentiate between mild snoring, heavy snoring, or obstructive sleep apnea.
[0215] Additional instructions or questions raised at this stage may include:
[0216] a) How much sleep does the user get within a 24-hour cycle;
[0217] b) What time do users usually go to bed?
[0218] c) How long the user is awake during their main sleep cycle before finally waking up (i.e., getting out of bed); and
[0219] d) How many times does the user typically wake up during their main sleep cycle?
[0220] To determine the impact of work or shift work on sleep patterns, you can ask questions like the following regarding weekends:
[0221] a) How much sleep do users get on weekends?
[0222] b) What time do users usually go to bed on weekends?
[0223] c) On weekends, how long during the main sleep cycle a user spends before finally waking up is they unable to sleep; and
[0224] d) How many times do users typically wake up during their main sleep cycle on weekends?
[0225] Regarding the issue of continuing shift work, the decision support software 121 can ask additional questions that allow the person to provide details, such as how many shifts the person worked in the previous month, and what type of shifts the person has worked (e.g., morning, afternoon, night, or extended duration).
[0226] Considering the above, the decision support system 100 can then pose instructions or questions related to sleep habits, behaviors, and the environment. Specifically, the application can initially ask the user how frequently they participate in the following:
[0227] a) Exercise between going to bed;
[0228] b) Working or studying, or sending or receiving emails, before going to bed;
[0229] c) "Bright light" activities before bedtime (such as using a computer or smartphone). These instructions or questions can again be presented as multiple choices, allowing the user to select, for example, "often," "sometimes," "rarely," and "never." Such questions can be asked because, for example, it is known that bright light before sleep can delay the release of melatonin (the sleep-inducing hormone). Similarly, certain activities that can cause stress, anxiety, or excitement may cause sleep difficulties.
[0230] More specific instructions or questions related to the sleep environment may include whether the user is engaged in any of the following activities: watching TV, reading, eating or drinking, studying, checking social media, or worrying.
[0231] The decision support system 100 can also issue instructions or questions to determine whether a user goes to bed or wakes up at different times of the day. The decision support system 100 can thus determine, for example, whether the user has a habitual sleep pattern with regular wake-up times. The decision support system 100 can also issue instructions or questions to determine whether the user regularly naps, or more specifically, whether the user regularly naps for more than two hours. Responses to such questions can help identify disruptions to stable circadian rhythms or self-regulating sleep drives.
[0232] The decision support system 100 can also issue instructions or questions regarding bed and bedroom conditions. For example, the application can ask the user if their bedroom is uncomfortable due to: being too bright, too stuffy, too hot or cold, or too noisy. Similarly, the decision support system 100 can ask the user if their bed is uncomfortable due to: too many blankets, uncomfortable pillows, or an uncomfortable mattress. Additionally, the application can ask the user if they have pets in the bedroom at night.
[0233] The decision support system 100 can also consider the user's smoking and drinking habits. For example, the decision support system 100 can ask the user whether and how often they will drink caffeinated or alcoholic beverages, or smoke. The application can also ask when, for example, the user will drink his or her last caffeinated beverage before going to bed. Alcohol consumption negatively impacts sleep quality and may contribute to sleep disorders such as insomnia and obstructive sleep apnea. Caffeine is known to temporarily increase alertness and may cause difficulty falling asleep. Similarly, nicotine is a stimulant that may cause difficulty falling asleep.
[0234] The decision support system 100 can also assess the impact of any sleep difficulties on the user. Instructions or questions may be posed regarding whether the user's sleep difficulties affect their quality of life or interfere with daily activities or function. The decision support system 100 may also pose instructions or questions to determine how satisfied the user is with their sleep patterns.
[0235] The decision support system 100 can issue additional instructions or questions to determine how fatigue causes or affects the user. The user can be asked to evaluate their agreement, for example:
[0236] a) Motivation is affected when users are fatigued;
[0237] b) Exercise causes him or her fatigue;
[0238] c) Fatigue interferes with his or her bodily functions; or
[0239] d) Fatigue interferes with his or her family or social life.
[0240] As described above, the decision support system 100 can issue instructions or questions to determine how likely a user is to fall asleep during normal daytime activities, such as: sitting and reading, watching television, riding in a car as a passenger, or sitting quietly after lunch. These questions can be asked of the user to rate the likelihood on a scale from impossible to very likely.
[0241] The decision support system 100 can also ask instructions or questions that partially relate to whether the user has a delayed sleep-wake phase disorder. Therefore, the decision support system 100 can ask the user whether:
[0242] a) Having difficulty falling asleep, such as at the desired bedtime;
[0243] b) Falls asleep easily, even if he or she stays up very late; and
[0244] c) Can fall asleep easily.
[0245] The decision support system 100 can also ask questions about whether the user snores / sleep apnea. To understand whether any weight-related questions apply, since obesity is a major risk factor, for example, for obstructive sleep apnea, the decision support system 100 can ask the user to provide his or her height and weight. The decision support system 100 can allow the user to provide responses to these questions in a free-form manner (by typing in height and weight values). The application can also ask questions about breathing and snoring, such as whether:
[0246] a) The user's snoring has disturbed anyone;
[0247] b) Anyone who witnessed the user stopping breathing during sleep;
[0248] c) The user is currently receiving treatment for hypertension;
[0249] d) Snoring primarily concerns the user's snoring when sleeping on their back; and
[0250] e) The user's nose is usually or often blocked.
[0251] These instructions or questions can be presented as multiple choices, allowing users to select between "yes", "uncertain", and "no".
[0252] a) Other issues centered on snoring may include:
[0253] b) How often does the user snore (e.g., every night, most nights, some nights, or very rarely);
[0254] c) How often the user snores (e.g., all night, most of the night, some of the night, or very little); and
[0255] d) How loud is the snoring (e.g., can be heard throughout the house, can be heard in the bedroom, or can be heard very little).
[0256] As discussed earlier, in order to reduce the number of instructions or questions posed to the user, the decision support system 100 will determine whether to ask questions based on the user's response to previous questions. For example, if the user instructs that he or she does not snore early on, questions about the degree or impact of snoring can be avoided later. Similarly, if the user initially instructs that he or she does not drink caffeinated beverages or smoke, questions about the degree of these activities can be avoided.
[0257] As previously described, the application can present instructions or questions in a manner that enables use of free-form responses (e.g., as fully formed sentences). Natural language processing techniques implemented by the NLP module 138 can then be used to identify keywords, emotions, or other meanings to inform the user of an initial assessment of sleep disorders and / or the selection of questions to be asked. The NLP module 138 can be trained on pre-annotated corpus data related to the topic of sleep and sleep problems. For example, natural language processing can be used to identify references or terms related to snoring and thus present further and more detailed instructions or questions related to snoring as part of a questionnaire. The NLP module 138 can receive free-form text or free text entered via the client device 170 as input. The NLP module can also provide keywords, emotions, or other signals as output to the recommendation module 124.
[0258] In a sense, the decision support system 100 can also visually present instructions or questions, requiring the user to interact with an image in response to a question. The user may be presented with instructions asking when he or she goes to bed and when he or she gets up. In response to the question, the user can click on a clock displayed on monitor 182 as part of a query sent by server system 110. This method has the advantage of keeping the instructions or questions varied to avoid the user losing interest. Furthermore, it can prevent users from making typographical errors, as the response selected by the user can be clearly displayed to allow the user to identify when he or she made an error. Additionally, the decision support system 100 can prevent the user from responding with illogical responses, such as by preventing the user from responding that he or she gets up before actually going to bed. Furthermore, the graphical representation allows for the simple communication of other information, such as how long the user spends in bed after answering an illustrative question.
[0259] When receiving responses to questions such as those mentioned above, the decision support system 100 should have sufficient information to indicate whether the user has a specific sleep disorder, such as insomnia (including sleep onset insomnia and sleep maintenance insomnia), snoring / obstructive sleep apnea, delayed sleep-wake phase disorder, chronic sleep restriction, and shift work disorder. Furthermore, as Figure 7 As shown and depending on the questions raised, the decision support system 100 may be adapted to provide instructions on poor sleep habits, jet lag, restless legs syndrome, periodic limb movement disorder, or other problems such as bruxism.
[0260] When presenting indications of a sleep disorder, decision support software 121 can weight and factorize certain user responses to calculate a score for a specific disorder. For example, to diagnose snoring / obstructive sleep apnea, the application can add a predetermined number of factor points X (e.g., 3), where it determines that the user is overweight. Similarly, decision support system 100 can add a further X factor points, where it determines that the user wakes up occasionally because of his or her snoring, or a further X+Y (e.g., 3+2=5) factor points, where it determines that the user wakes up regularly because of his or her snoring. This cumulative score can then be used, for example, to determine whether the user has a mild, moderate, or severe snoring / obstructive sleep apnea problem, depending on whether the cumulative score reaches certain thresholds.
[0261] Depending on the user's response, the decision support system 100 may indicate that the user has more than one sleep disorder. In such a case, the decision support system 100 may prioritize one disorder over another, such that one disorder is identified as a primary disorder and one or more secondary disorders are also identified. The ranking of sleep disorders may depend on the comparison points for each disorder as discussed above and / or may depend on the relative health impact of the disorder. For example, snoring / obstructive sleep apnea may be given a higher priority than shift work disorder because it presents a higher risk of associated health problems.
[0262] The decision support system 100, according to some embodiments, was studied and validated by the inventors. Specifically, the decision support system 100 was used by 250 participants to compare diagnoses and / or recommendations proposed by the application with those provided by sleep experts. Among those 250 participants, the primary sleep disorder indications provided by the decision support system 100 were consistent with the sleep expert's primary diagnosis 81% of the time. This is considered as accurate as a diagnosis provided by a typical medical practitioner. Therefore, the decision support system 100 can be used as a diagnostic tool to assist in the diagnosis of sleep disorders.
[0263] Depending on the sleep disorder indication presented to the user, the decision support system 100 may also present the user with information related to the relevant disorder, as well as options for management. For example, if the user has obstructive sleep apnea, the decision support system 100 may explain that obstructive sleep apnea is caused by airway obstruction during sleep due to relaxation of the tongue and airway muscles, and recommend that the user explore management options such as: weight loss, reducing alcohol consumption, quitting smoking, using oral protection posture modification devices or other oral appliances, or a continuous positive airway pressure ("CPAP") device.
[0264] Alternatively, the decision support system 100 can recommend appointments with medical practitioners to the user after presenting a diagnosis. For this purpose, the decision support system 100 can provide the user with a list of nearby medical practitioners with the necessary expertise in sleep disorders. If the user chooses to process the appointment, the analysis from the decision support system 100 can be forwarded to the relevant medical practitioner to assist the user.
[0265] Additionally, it should be envisioned that the decision support system 100 can be used by the "first contact" or primary care medical practitioner to support the diagnosis made by that medical practitioner and avoid him or her needing to refer the problem to another sleep specialist.
[0266] After the analysis is completed through the decision support system 100, the user can be asked if he or she wants to maintain a sleep diary. The sleep diary will allow the user to record information such as:
[0267] a) What time do users go to bed and wake up each day?
[0268] b) Whether the user wakes up during his or her main sleep cycle, how often he or she wakes up, and how long he or she stays awake;
[0269] c) Whether the user experiences any snoring, and the degree of any such snoring;
[0270] d) Does the user experience fatigue that affects their daytime activities?
[0271] e) Whether the user falls asleep during the day, and for how long;
[0272] The sleep diary may also include information obtained from the client sensor device 160, such as "FitBit". TM Or "Apple iWatch" TM Data obtained from sleep monitoring devices can be received and recorded as part of a sleep diary. For example, if the wearable client sensor device 160 is Fitbit... TM Wearable devices allow applications to automatically obtain sleep data by collecting (and communicating with) the device's API protocol (and one or more of its associated applications). This avoids the need for users to manually complete at least part of a sleep diary.
[0273] Data obtained from sleep diaries or directly from client-side sensor devices and their associated applications can be used to validate or adjust instructions provided based on responses to commands or questionnaires. For example, if a user experiences snoring and falling asleep during the day, it can help validate instructions for obstructive sleep apnea. This information can then be used to improve the accuracy of other assessments by the decision support software 121. Furthermore, if the data is provided before completing the commands or questionnaire, it can be used to reduce the number of commands or questions that need to be presented as part of the questionnaire. That is, if the user maintains a sleep diary or uses a sleep monitoring device before completing the questionnaire, information can be extracted to reduce the number of questions that need to be presented to the user during the questionnaire. For example, the user may not need to answer questions about how much sleep he or she averages each night, what time he or she goes to bed and wakes up, and how often and for how long the user wakes up during the night.
[0274] Furthermore, it should be anticipated that external factors assessable while a user completes a questionnaire can be considered when assessing and presenting instructions regarding sleep disorders. For example, the decision support system 100 can record the time spent answering specific instructions or questions. Delays in answering questions or questions on a particular topic can inform the user whether they are unsure of an answer. This can then inform the user of the weight given to a specific answer when generating a diagnosis.
[0275] Furthermore, data obtained from the application can be used in additional epidemiological studies. As a simple example, data from the application can demonstrate that individuals of a specific age, sex, country or city, or occupation are more likely to have specific sleep disorders. This information can then be used, for example, to explore preventative measures or to aid in the diagnosis of other patients.
[0276] To improve the accuracy of future indications regarding sleep disorders, users of decision support system 100 can be invited to provide feedback in the form of comments or evaluations. In the event of negative feedback, it can be suggested that decision support system 100 may have provided inappropriate indications regarding sleep disorders, which can then be used to update the recommendation model of recommendation module 124.
[0277] Some embodiments include methods for improving indications of sleep disorders by utilizing machine learning. In particular, machine learning allows for the evaluation and improvement of indications of sleep disorders over time.
[0278] Machine learning encompasses algorithms and techniques that autonomously train models or branches to make instructions or evaluations. Methods for modifying instructions or evaluations can include supervised learning, where relevant algorithms are implemented via recommendation module 124, recommendation prioritization module 136, or NLP module 138, for example, by training on paradigms of inputs (e.g., sleep disorder-related data or health data) and corresponding outputs (e.g., sleep disorder instructions or recommendations). With sufficient data and training, the model can then be used, for example, to improve the quality or accuracy of instructions regarding sleep disorders. Given a response to a previously posed instruction or question, this type of machine learning or similar can be used to determine which instruction or question is the best option to pose next. Additionally, decision support system 100 can determine where a user might have answered a previous question inaccurately based on relevance obtained from previous users of the application. If this occurs, decision support system 100 can pose a similar question again to confirm the user's understanding or provide a response provided by a user with lower body weight.
[0279] Suitable machine learning techniques may include, for example:
[0280] a) Artificial neural networks - such networks act like small artificial brains and provide the benefit of flexibility in applications.
[0281] b) Bayesian networks - These networks are well-suited for learning relationships between different features and for using domain knowledge that utilizes these relationships.
[0282] c) Bayesian kernel methods (such as Gaussian processes) can quantify the uncertainty of the predictions made and identify what training paradigms are required to improve such inaccuracies.
[0283] d) Reinforcement learning – This is a field of machine learning where strategies (such as what treatment to recommend to someone with a given sleep disorder) improve over time through repeated trials. This type of machine learning will, for example, allow treatment recommendations to improve over time as the system learns more about what people like, and can be accomplished to understand and predict treatment preferences for different kinds of users.
[0284] Those skilled in the art will understand that modifications can be made without departing from the spirit and scope of the invention. Therefore, the embodiments and / or examples described herein should be considered illustrative rather than restrictive.
Claims
1. A computer-implemented method for clustering-based recommendation generation regarding sleep disorders, the method comprising: The server system sends a query program code to a client device, wherein the query program code is executable by the client device to cause the client device to send one or more response objects encoding the response and the further response to the server system; The server system receives the one or more response objects from the client device and determines the response and the further response encoded in the one or more response objects; a clustering module of the server system identifying one or more clusters of sleep disorder user data that most closely relate to the determined response and the determined additional response, wherein each of the one or more clusters represents a group of users that exhibit similarities with respect to sleep-related behaviors or metrics; a recommendation module of the server system identifying a sleep disorder based on the determined response, the determined additional responses, and the identified one or more clusters; The recommendation module generates one or more recommendations based on the identified sleep disorder, the determined response, the determined additional response, and the identified one or more clusters; and The server system encodes the generated one or more recommendations in a recommendation object and makes the recommendation object accessible to the client device.
2. The method according to claim 1, wherein: The recommendation module also determines a priority for each of the one or more recommendations based on the identified one or more clusters of sleep disorder user data, and wherein the encoding by the server system includes encoding the generated one or more prioritized recommendations in a recommendation object.
3. The method according to any one of claims 1 to 2, wherein: The query program code includes a query object and one or more additional query objects; The response is a response to the query object; The additional responses are responses to a subset of the one or more additional query objects; and The subset of the one or more additional query objects is determined based on the response object.
4. The method according to claim 3, wherein: The determining of the subset of the one or more further query objects is performed by the server system.
5. The method according to claim 3, wherein: The determining of the subset of the one or more additional query objects is performed by the client device.
6. The method according to claim 3, wherein: At least one of the one or more additional query objects is directed to a sensor, and at least one of the one or more response objects includes health data from the sensor.
7. The method according to claim 6, wherein: The health data includes one or more of the following: cardiac activity measurement data, body activity measurement data, blood pressure measurement data, respiratory activity measurement data, heart rate data, movement data, respiratory sound data or respiratory rate data.
8. The method according to any one of claims 1, 2, 4, 5, 6 and 7, wherein: The recommendation module also identifies one or more secondary sleep disorders based on the determined response, the determined additional responses, and the identified one or more clusters.
9. The method according to any one of claims 1, 2, 4, 5, 6 and 7, wherein: The clustering module performs clustering based on any of the following: similarity learning, distance metric, feature vector comparison, or agglomerative clustering.
10. The method according to any one of claims 1, 2, 4, 5, 6 and 7, wherein: At least one of the one or more response objects includes free text, and the natural language processing module of the server system is configured to process the free text to determine input to the recommendation module.
11. The method according to any one of claims 1, 2, 4, 5, 6 and 7, further comprising: receiving, via the client device, feedback input regarding the one or more recommendations; The recommendation model of the recommendation module is reconfigured to take into account the received feedback input.
Citation Information
Patent Citations
Methods of Identifying Sleep & Waking Patterns and Uses
US20110218454A1
System and method for sleep disorder diagnosis and treatment
US20150073289A1