joeycastillo / Sensor-Watch

A board replacement for the classic Casio F-91W wristwatch
Other
1.02k stars 210 forks source link

New watch face: Alarm Thermometer #410

Closed Kistelini closed 1 day ago

Kistelini commented 1 week ago

This is heavily based on the temperature readout face. For further description see the header file.

joeycastillo commented 1 day ago

The word “medical” gives me serious pause here, along with the usage description. Even with the disclaimer in the license, there are significant liabilities associated with suggesting that a device could diagnose any kind of medical condition, especially when I cannot guarantee the hardware is capable of such a thing.

I think it’s cool that you’ve done this, but for liability reasons, it’s too great a risk to me personally for this to be part of the main repository.

matheusmoreira commented 23 hours ago

@joeycastillo I share your concern.

When I worked on the pulsometer I carefully avoided the word "medical" or any discussion of the accuracy whatsoever. I actually use it every day at work and it's awesome but the fact remains that without systematic testing no guarantees can be made from a product quality point of view.

Medical thermometers are simple devices but are still Class II medical devices according to the FDA. Unlike the mercury clinical thermometers, the electronic ones are not exempt from 510(k) premarket notification and clearance. And this is just for the USA.

Just in case anyone is curious why a seemingly simple thermometer would be a regulated class II device: the reason is that all measurements have error, which creates uncertainty and therefore risk. Specifically, there is a risk of false positives and false negatives. A false positive is a feverish readout for a normal patient, and a false negative is a normal readout for a feverish patient.

Electronic medical and veterinary thermometer specifications I have evaluated in the past four years always had error margins ≤ ±0.5 ℃. Medical thermometer error usually hovered around ±0.2 ℃.

An error of ±0.2 ℃ looks low but it's actually pretty bad. Assuming a normal distribution and 95% confidence interval, if the device reads 37.5 ℃ then it means there's a 95% chance the true body temperature lies within the [37.1, 37.9] ℃ interval. Even with a regulated, tested and calibrated medical thermometer, you cannot be reasonably certain the patient is feverish in that case. A readout of 38.0 ℃ is better: the confidence interval is [37.6, 38.4] ℃, you are 95% certain the patient's true body temperature is above the typical 37.5 ℃ threshold for fever.

An error of ±0.5 ℃ makes the device much harder to use for medical purposes. A readout of 38.0 ℃ would mean a confidence interval of [37.0, 39.0] ℃, putting that measurement in the same ambiguous category as the 37.5 ℃ ±0.2 ℃ readout. A value of 38.5 ℃ would be needed to be 95% certain the patient is feverish.

Every bit of error potentially delays treatment. This is literally a matter of life or death. For example, criteria for sepsis include body temperature > 38.0 ℃, and early diagnosis and treatment predicts lower mortality.

To make any kind of claim whatsoever regarding the accuracy of the temperature readout, we would need to systematically measure it and compile enough statistics to establish the temperature's standard deviation and confidence interval. We'd also need to account for variability in the parts and manufacturing process.

Even without any medical device ambitions, determining these error margins would be a worthy effort. I'm sure the folks who implemented the watch's temperature compensation functionality would appreciate it. Still, it's unlikely to be reachable with available resources and manpower of an open source project.

Kistelini commented 22 hours ago

@joeycastillo I understand your concern. But I think the functionality is still useful, e.g. to receive a notification when you want to measure the room temperature after the watch has been taken off the wrist. I pushed a new commit and removed all references to this being of medical use. I think the PR didn't update because it's closed. Would you please consider reopening it? Commit is here: https://github.com/joeycastillo/Sensor-Watch/commit/b51da0088588f777ebd8e2efc411a85163f8ad8a