Inspiration

As news first hit about the impact of covid19 in the initial wave of reported cases and how the shortage of ventilators cost lives, the call was sent out to the world for anyone who could make a ventilator to get on the task. The world responded and began developing low cost, emergency ventilators.

All of these ventilators have common requirements and one aspect of that is to enable a monitoring and alert system. Should someone need an emergency ventilator it is not practical to have someone standing next to that person at all times. There needs to be a method to enable remote monitoring and send alerts when the ventilator needs adjusting.

What it does

This project aims to make it extremely easy for anyone developing an emergency ventilator to add remote monitoring and alerts. Ventilators report on common statistics such as Respiratory Rate, Tidal Volume, IE Ratio, PEEP, and PIP. The system allows anyone to quickly register ventilators and submit these statistics to a remote server. Anyone with a web browser can call up the monitoring service and review the current status of a ventilator registered to their account.

If the measurements go out of range the system sounds an alarm and can send emails or text messages. At the same time the monitoring service changes colors to show exactly which measurement needs attention. The alarm can be paused while someone attends to the ventilator to get it back into an acceptable range of values and resumed once the measurements are back in check.

How I built it

Many ventilators use an Arduino based PCB as a controller. There is sample code available so someone can add the necessary code to their Arduino .Ino file and begin sending statistics to the backend system. Very similar code can be added for other types of controllers. The backend can be either cloud based or a local instance. It's an ASP.Net project using VB and an SQL Server database.

Challenges I ran into

Locally the system will work because there is inherent security running a local system that nobody else can access. The cloud based system needs additional security in the form of a secure connection. Certain SMTP email servers work better than others for sending alerts and text messages.

Accomplishments that I'm proud of

The system works. When key ventilator measurements go out of range the system sends the statistics to the monitoring site and an alarm is immediately sounded. The user can pause the alarm, get the ventilator back in check, and then resume the alarm.

What I learned

Emergency ventilators cannot be simple devices that do not have any metrics to show they are operating correctly. There are set requirements that they all need to support. There are many additional statistics required to make the system useful. Those statistics should also display the currently set targeted value. Mentors were extremely helpful in identifying all statistics requirements and the range of possible values for each. A better method for secure communication between ventilator and server was also identified with mentor assistance.

What's next for Monitoring and Alerts System for Emergency Ventilators

Additional features can be added such as the cloud based encryption requirement, adjusting the ranges of acceptable values per ventilator (not every person will fall into a default range), sort the monitoring service by location or narrow down by ventilator, add additional alert types, show a history of statistical values per ventilator, show a more detailed view of statistics per ventilator, and better email/text handling.

Built With

Share this project:

Updates

posted an update

Thank you Mentor @Ramses for the additional clarification on monitoring requirements. We now have targeted default ranges for all statistics. These values will be adjustable for each registered ventilator to accommodate different patients. In addition, it is helpful to see the current value set for each statistic in the ventilator.

RR - 5/35 Vt (adult i suppose) 250 - 1200 Vte and Vti are the same I:E 2:1 / 1:4 PEEP 0-35 PIP 10 / 40 Paw 40 FiO2 0.35/1 Pmean = Paw MVe = MVi 2 /10 Pplat = Paw Pbf = 5/35

Log in or sign up for Devpost to join the conversation.

posted an update

Thank you Derek Young, Oscar Cristobal, and Levi K-Papai for your guidance. Your help is greatly appreciated! The requirements documentation is very informative. It lists must haves as: Alarm at device power off/failure Alarm at Paw exceeded Alarm at PIP and PEEP pressure not achieved Alarm at Tidal Volume not achieved Monitoring must show Tidal Volume, frequency, PEEP, Fi02, ventilation mode, and Paw

In addition, based on your input, all of the following statistics should be included: Airway Pressure (Paw) Percentage Oxygen (Fi02) Mean Pressure (Pmean) Tidal Volume (VT)

  • Inspiratory Tidal Volume (TVi)
  • Expiratory Tidal Volume (TVe) Positive end-expiratory pressure (PEEP) Expiratory Minute Volume (MVe) Inspiratory Minute Volume (MVi) Respiratory Rate (RR) Inspiratory Time (Ti or IE Ratio) Peak inspiratory pressure (PIP or Flow) Plateau Pressure (Pplat) Patient breath frequency (frequency) – in assisted mode Modes – assisted or unassisted

A better method for securely sending data is to use a POST method with URL encoded form parameters. I have found an example which establishes a secure connection by requiring the public key of the site certificate. By posting data including the ventilator ID, the registered encryption key, and the stats the connection will be secure.

I now know what needs to happen. Not sure if I will get to everything in the allotted time for the hackathon but will certainly make progress.

Log in or sign up for Devpost to join the conversation.