Hackaday Prize Entry: Open Source Patient Monitor

Vital sign monitors are usually found in developed countries; they just cost too much for less affluent communities to afford. The HealthyPi project aims to change that by developing an inexpensive but accurate monitor using a Raspberry Pi, a custom hat studded with sensors, and a touch screen. The resulting monitor could be used by medical professionals as well as students and private researchers.

[Ashwin K Whitchurch] and his team created HealthyPi, a Raspberry Pi hat that includes an AFE4490 chip serving as the pulse oximeter front end, an analog to digital converter that interprets the ECG and respiration data, and a MAX30205 body temperature sensor. The hat has its own microcontroller, a ATSAMD21 Cortex M0+ that can also be loaded with the Arduino Zero bootloader.

This project is capable of monitoring a patient’s pulse, respiration, body temperature, and all the other vital signs made measure d by other ‘medical-grade’ vital sign monitors at a fraction of the cost. It’s a democratizing technology, and [Ashwin] already has some working hardware available on Crowd Supply.

Learn more about HealthyPi at the project page or download the code from GitHub.

24 thoughts on “Hackaday Prize Entry: Open Source Patient Monitor

    1. While not 100% open source, it is still an open source project as it will allow the community to replicate and improve it. Besides, it is probably not too hard to port it other Linux SBC.

    2. Yes, Raspberry Pi is not open source. But as sonofusion82 has pointed out, it’s only the HealthyPi that is open-source and is our product. Also, you do not need a Raspberry Pi only to use the HealthyPi. We’re ready if anybody wants to port this to a Beagleboard.

  1. One of the screenshots on the linked site shows space for reporting blood pressure. Can anyone see how this device can do that? SpO2 is easy enough, however blood pressure requires mechanical components – is it going to solve this problem by repurposing a commercial device or os there some other plan for this?

    1. Not sure if their device actually measures blood pressure without mechanical compression but the following could be possible.

      There are a couple ways to determine blood pressure without mechanical compression non-invasively. The most popular method is called pulse wave transient time whereby you time the duration it takes for a pulse to propagate along a certain distance and determine the resistance of the vessel. The idea behind it goes that stiffer arteries propagate a pulse much faster than less stiff ones. Initiation of propagation can be timed using an ECG to find the QRS complex and the pulse arrival can be derived using a pulse-ox.

      Now this method has a couple of pitfalls with the most apparent being that lots of other things can cause vessels to become stiffer such as diabetes in the form of calcification. Other things such as the multitude of arteritis diseases as well as aortic valves problems can also contribute. YMMV.

      1. We have looking into it where i work (technically our customer was, but we build the hardware for them) but earlier SpO2-based efforts have proven to be inaccurate. Perhaps a third wavelength would be needed, to determine viscosity of the blood.Or perhaps an ultrasonic transducer would be a better approach.

    2. I believe it can now be done using IR pulse monitors. Instead of just looking for a trigger of IR absorption corresponding to more blood under the skin (a pulse) it looks at the shape of the pulse curve to judge the amount of blood (pressure). It seems it would still only be relative to the rest of the recordings without regular mechanical calibration though. But still good for some diagnostic purposes. Another variation was supposed to be able to monitor blood oxygen, which presumably further alters the IR absorption.

      I believe there was also someone who had worked out a proprietary way of using it to detect internal bleeding too. But I don’t follow it too closely.

    3. slincolne, thank you for your interest. For BP, we have given the option to interface an external BP module. Unfortunately, all of those commercial OEM modules (all of them based on mechanical concepts only) are all completely closed, so we decided not to include one with this.

      We are aware of other non-pump-based BP measurement such as Pulse transit time and others, but none of these are available to use for real, precise measurements and none are acceptable medically. If any of you know any other method that we can try out, we’re ready.

  2. The mechanical components for BP measurement are rather simple.

    Small pressure pump
    Pressure Transducer
    Solenoid valve.
    Over pressure valve.

    Typically the solenoid valve is normally open so that I event of power failure it fails open to relieve any pressure in the cuff.

    The tricky bit is the algorithm for determining the diastolic and systolic readings from the measured mean arterial pressure.

    1. A first order approximation is good enough for making clinical medical decisions for systemic blood pressures. As the heart rate increases, the diastolic component will contribute less than the systolic component. For heart rate of around 60bpm the equation MAP = 1/3*systolic + 2/3*diastolic is good enough. If you want a precise reading then going invasively is the gold standard and you won’t need surrogate measurements.

      1. toby, do you think we can try an accurate, open source version of a mechanical NIBP module? The reason why we did not venture into developing that part was our lack of mechanical knowledge and that all the commercial OEM modules comes as a “Black Box”

        1. I think it would worthwhile to go for an open source version to complete your offerings. Unfortunately an external mechanical occlusion approach would probably be the best for determining blood pressure given current circumstances as other methods are either non-ideal or are still suffering from market acceptance. Algorithms for determining accurate blood pressure readings from oscillometric are indeed proprietary but perhaps the below paper can help. As an aside, your group could entertain an alternative means of detection such as PPG waveform instead of oscillometric as it has shown promise in terms of accuracy, immunity to specific pathology such as Takayasu’s syndrome (pulseless disease), and certain patient conditions such as with a continuous LVAD. Maybe even come up with your own version of continuous noninvasive arterial blood pressure measurement (CNAP) would be cool.


    2. I have always assumed the auto-bp machines just measured between the bounce of pressure in the cuff to start and then end, you see this at the needle-gauge on manual cuffs too though we either feel for a pulse to begin at radial (bp/palp) in noisy field environments or listen for the pulsing foosh sound to start and end with a stethescope over the artery below the inflatable cuff. The foosh sound is the pressure where the heartbeat pulse of blood can get past the pressure of the cuff, systolic BP, the end of the foosh noise is when even the resting pressure, or diastolic BP can push past the inflated cuff pressure.

      So not 100% sure how most or all BP machines and bedside monitors do it, but a mic over the artery attached the air cuff to listen for the pulsed flow audio to start and end should work as well as using a stethescope no? Well within the DSP capacity of a PI and using the otherwise unused audio-in side of the sound chip.

  3. The first thing to think about when collecting data is:

    What decisions will be based upon this data collection?

    If the answer is “Life / Death decisions” then you will likely need a lot of other defense software and hardware measures. See UL/CSA/EN 60601 and EN 61508 / UL1998 for starters and do an FMEA on the hardware components.

    What happens when X component / software routine fails?

    1. A lot of the expense of medical devices in the developed world seems to come from extensive testing, redundancy, and legal CYA. In the less developed world where the “quality” devices are not available, some chance of failure is more likely to be accepted, especially for a device that monitors patient status but isn’t itself a life support device. It would also help if device failure was not mistakable for healthy, at which point old school examination would be the rule to validate the measurements.

      1. The thing about patient monitors is that medical decisions are based on them regardless if it is part of a life support device or not. If the monitor reads a patient’s vitals as out of parameter then something must be done regardless if it was actually true or not (false positive). To not react would be medical malpractice. To always regard the device as untrustworthy and thus require manual checking means that the device is a waste of time and money as it adds nothing because no tests were done in the first place to characterize its sensitivity/specificity.

        Some chance of failure is always present regardless of how many tests a device goes through. However, who makes the decision to accept the chance of failure such that it becomes universally applied? Even further, how does one enforce that the device’s chance of failure is equal to or less than the established accepted level? That requires testing. Having a device with an arbitrary chance of failure is not good at all as it again leads to the assumption that the device will always be wrong and needing to always be double-checked.

      2. From what I have actually seen in a hospital in the developing world any information is better than none and the staff will periodically cross check devices to ensure that they are giving sane data, then the devices serve to fill the gaps between rounds. In fact because they don’t trust old or cheap gear completely they are less likely to make the mistake I have seen in an expensive private hospital in the first world where they assumed that the data was correct when it wasn’t and did not treat the patient appropriately until somebody’s intuition got listened to and things were cross checked. In that cast it was oxygen levels and fortunately there was no damage done, but it could have gone horribly wrong.

        1. Sci, you’re damn right. We consider this just a step in the right direction. Hopefully, this would be a continuing project. Our goal by making this open-source was to give developers what they need to get started. If you have the money to spend for certification, testing and compliance, our licenses allow anyone to take this and commercialize it.

  4. If this is the same “Toby” as in the past HAD comments, I’d be super surprised. But…Toby is right. But for 3rd world countries, this isn’t that. In many places in Africa there is no such thing as a o2 monitor. It’s not up to western standards, but it’s a step.

  5. Medicsl devices fail regularly irrespective of the manufacturer.

    Cracked solder joints
    Failed capacitors
    Blown FETS
    Software issues

    Then there’s the mechanical failures

    But best of all are operator errors …

  6. “Open-Source” and “Patient-Monitor” are two word that DO NOT go together in-practice today. Why? It’s simple: Greedy Trial Lawyers that will SUE you for anything that happens, whether it’s your fault as the developer or not. Yeah, try and put all sorts of disclaimers etc. on your design. It won’t work. In the developed world (U.S. especially), the Trial Lawyers will come after you anyway and bankrupt you even before the Court system has a chance to rule. You have no choice but to capitulate.

    On the other-hand, this project looks WONDERFUL to someone like me that lives in the developing world. So keep it up! Just be careful where you let this thing physically shows up – which is impossible because it is Open-Soure – you have NO control where it ends up. That’s dangerous in a corrupt world of Lawyers.

  7. I have a question. How does the AFE4490 compare to the MAX30100? These are probaby the biggest two integrated solutions out there but no one provides a clear explanation for choosing between the two. The MAX30100 provides the LED and AFE support. Whereas the AFE4490 is just an AFE. The AFE looks like a better choice if you want to test different mechanical setups such as between reflective and transmissive pulse oximetry. Or deciding between different LED Photodiode components (wavelength, brightness, and physical distance between the two). Does anyone have other insight as to why the MAX30100 isnt being used?

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.