I. Obermiller and S. I. Ahamed 7 5 4 3 2 1 0 Professional opinion Sleep center diagnosis At home diagnosis Minor sleeping disorder Major sleeping disorder Figure 5: Graph of user response. At home Sleep center Either one Figure 6: Chart of preference for home monitoring or sleep center. multiple incoming motes, receiving data throughout the day from a cell phone or internet source, and sending collected data to the doctor for review. Because very few computers or handheld devices implement the ZigBee wireless protocol, a node must be plugged into the handheld device or computer via a USB port. That node then relays all of the information from the incoming nodes by UART to the base. The interpretation module is responsible for identifying outlying data, for example if a sensor falls oﬀ during the night, or becomes disconnected the data will not be included in calculations, but it will still be stored for future reference. The interpretation module is also important because it computes and stores data results as it is collected. For instance, every day the module will calculate averages, maxes, and minimums, and store this data so that it does not have to be calculated again when the user wants to run longer, more detailed reports. A separate storage module is necessary because it must decide where exactly to store the collected information. Because the system is collecting data all night for up to many months at a time, the amount of space needed can easily Have Suspect Do not know Do not have Figure 7: Chart of the participant’s knowledge of their own conditions. exceed the memory on a small handheld device. Normal computer should have little problem storing the data, however in both cases the storage module will utilize data compression techniques to remove statistical redundancy and eﬃciently store data in the smallest possible space. The display and interaction module is visible in the screenshots in Figure 3. Every morning when a user awakes she has the option to look at a daily assessment of the last night’s sleep. Figure 3(a) shows this function, where the program assigns a sleep quality score based on the collected data. Screenshot 3(a) also shows how the daytime activities aﬀected sleep and a summary of the entire page. The results of the screenshot are simulated to develop such a score would require extensive processing of the data which we have not developed yet. However, it is possible for a doctor to receive a week’s worth of data and then send the patient the information listed in screenshots 3(a) and 3(b). The doctor would make the observations using his own judgment, and when the data is sent to the base it informs the user that a new assessment has been delivered. This would eﬀectively allow a doctor to make a remote diagnosis, and if the condition is severe enough the diagnosis could be done in person as well. Screenshots 3(c) and 3(d) are fully implemented, as they rely on collected data. The summary section in 3(d) is implemented using a predeﬁned set of threshold values that take into account the users long-term and short-term average scores. Screenshot 3(c) displays the program’s simple, iconic, point-and-click interface (or one style tap, in this case). Also, in screenshot A the large numbers allow a user to quickly identify how well they slept according to the sensors and what factors during the day inﬂuenced their sleep at night. The numbers themselves are clickable, leading to the in-depth assessment found in screenshot 3(b). 6. IMPLEMENTATION We have partially implemented the aforementioned hard- ware and software architecture of PATHOS. The ﬂow of data can be seen in Figure 4. The sensor node collects data and sends it over the radio; the base receives and processes the data for sending to the server, which in turn stores it in a database.