The PolyVent FLOSS Ventilator
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Subtitle |
| |
Title of Series | ||
Number of Parts | 542 | |
Author | ||
License | CC Attribution 2.0 Belgium: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor. | |
Identifiers | 10.5446/62025 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
|
FOSDEM 202383 / 542
2
5
10
14
15
16
22
24
27
29
31
36
43
48
56
63
74
78
83
87
89
95
96
99
104
106
107
117
119
121
122
125
126
128
130
132
134
135
136
141
143
146
148
152
155
157
159
161
165
166
168
170
173
176
180
181
185
191
194
196
197
198
199
206
207
209
210
211
212
216
219
220
227
228
229
231
232
233
236
250
252
256
258
260
263
264
267
271
273
275
276
278
282
286
292
293
298
299
300
302
312
316
321
322
324
339
341
342
343
344
351
352
354
355
356
357
359
369
370
372
373
376
378
379
380
382
383
387
390
394
395
401
405
406
410
411
413
415
416
421
426
430
437
438
440
441
443
444
445
446
448
449
450
451
458
464
468
472
475
476
479
481
493
494
498
499
502
509
513
516
517
520
522
524
525
531
534
535
537
538
541
00:00
Open sourceChainModul <Datentyp>WaveCorrelation and dependenceMathematical analysisKolmogorov complexityComputer hardwareComputerOpen setModule (mathematics)Control flowDissipationMereologyWage labourSoftwarePlastikkarteSmith chartAuthorizationObservational studyFeedbackCASE <Informatik>Interior (topology)Interface (computing)OctahedronDecimalMathematicsPerformance appraisalPrototypeSoftware developerChainVariety (linguistics)Open setMultiplication signSoftwareSpreadsheetAuthorizationRight anglePhysical systemWage labourMereologySoftware engineeringPoint (geometry)Student's t-testView (database)Open sourceSoftware testingCASE <Informatik>Single-precision floating-point formatAnalytic continuationDimensional analysisSet (mathematics)Spring (hydrology)2 (number)Arithmetic progressionKälteerzeugungQuicksortDistanceProcess (computing)Performance appraisalMetropolitan area networkComputer hardwarePlastikkarteNumberProduct (business)FreewareInteractive televisionGame controller
09:35
Computing platformSoftwareStudent's t-testComponent-based software engineeringGoodness of fitComputer animation
10:01
Open setModule (mathematics)Archaeological field surveyMereologyComputer programDependent and independent variablesBasis <Mathematik>Social classSoftwareStudent's t-testMereologyMechanism designQuicksortPersonal identification numberPhysical systemComputing platformStandard deviationAdditionOpen sourceSet (mathematics)Process (computing)PlastikkarteSoftware engineeringWage labourComputerComputer hardwareExtension (kinesiology)Computer programComputer animation
12:47
Physical systemControl flowReading (process)CodeArchitectureComputing platformConfiguration spaceAsynchronous Transfer ModeCoprocessorLoop (music)Inheritance (object-oriented programming)Computer hardwareAbstractionPressureVolumeParameter (computer programming)Set (mathematics)Logical constantData modelMeasurementStandard deviationGame controllerOpen sourceComputer programInterface (computing)WritingBuildingSoftware testingOperations researchElectronic visual displayGraphical user interfaceModule (mathematics)Digital photographyPlastikkarteSlide ruleRight anglePhysical systemVoltmeterMoment (mathematics)Goodness of fitArithmetic progressionSoftwareMechanism designQuicksortStandard deviationComputing platformMultiplication signCASE <Informatik>PressureGame controllerComponent-based software engineeringPlotterDynamical systemDifferent (Kate Ryan album)Flow separationDiagramComputer hardwareSet (mathematics)MereologyGraphical user interfaceComplete metric spaceWeb browserVirtual machinePower (physics)Condition numberOperating systemWhiteboardOpen sourceElectronic visual displayComputer-assisted translationÜberdruckControl systemCodeOnline helpComputer architectureVariety (linguistics)NumberInterface (computing)String (computer science)Asynchronous Transfer ModeConfiguration spaceInternet der DingeUniverse (mathematics)Information privacyVideo gameComputer programAbstractionInheritance (object-oriented programming)Loop (music)Formal languageObject (grammar)Computer animationProgram flowchart
22:29
Computer hardwareAbstractionControl flowPressureLoop (music)Open sourceExecution unitVirtual machineModule (mathematics)WhiteboardGame controllerFreewareSpherical capOpen setStandard deviationSoftwareOpen sourceComputer hardwareSoftwareVirtual machineDevice driverGoodness of fitGame controllerPoint (geometry)Binary imageStandard deviationInterface (computing)Module (mathematics)Event horizonMassDataflowÜberdruckSoftware developerField (computer science)Arithmetic progressionSinc functionComponent-based software engineeringMultiplicationComputer architectureInteractive televisionMeasurementRight anglePhysical systemSoftware repositoryPressureFunctional (mathematics)ComputerAbstractionCASE <Informatik>Computer animation
26:46
Program flowchart
Transcript: English(auto-generated)
00:06
OK. Thank you, everybody, for being here. I know it's the end of the day. It's been a long day. So thank you. I'd like to talk about the PolyVent Free Libre open source ventilator. This is hardware in a little different sense
00:21
than is used in this room. Normally, when you say hardware at this conference, you mean chips and VLSI stuff. But this is an electromechanical hardware device. This talk is co-authored with Dr. Victor Sutrin. Victor, can you raise your hand? And Antal Zajderwick is our chief mechanical engineer for the chassis part.
00:40
If you meet us after the talk, we'll be happy to answer questions for you. And we are trying to recruit software engineers and electrical mechanical engineers to work on the project as well. So I am Robert Reed. I'm the founder of Public Invention, which is a US 501c3 public charity. Our motto is to invent in the public for the public.
01:02
I think this conference will appreciate that we're trying to take the principles of open source software development and apply it not only to chip design, but to actual hardware inventions. So I'd like to create a setting. In the spring of 2020 in the United States,
01:21
so many people had died of COVID-19 so quickly in New York that they had to use refrigerated trucks as temporary morgues for that purpose. At that time, there was a genuine belief that the Western world might need a million mechanical ventilators to try to keep people alive.
01:41
That turned out not to be true, but it wasn't erroneous at the time based on what we knew from the disease progression in northern Italy. What we didn't know at the time was that social distancing and lockdowns would work. And also doctors decided they didn't need to ventilate people as early with COVID
02:02
as they had previously thought. Nonetheless, a very large number of humanitarian engineering teams all over the world attempted to make emergency ventilators to solve this problem. It was kind of a global effort. And Victor and a young man who was 16 at the time
02:21
started working on their own ventilator in the same effort. Now, they started with a bellows-based design. We're going to talk about that. The thing they designed, the polyvent, was specifically designed to talk about fragile supply chains. So it was designed to be constructable
02:41
within a low- and middle-income country. And that's one reason they went with bellows in the initial design. Originally, they weren't necessarily embracing open-source licensing because they didn't know that much about it. And everyone sort of believed, well, we're going to need large firms to make a lot of money. And if you have an open-source license on it,
03:01
they won't want to use your product. Now, how do we know that 100 humanitarian engineering teams started? Because public invention evaluated all of them. So we made a spreadsheet which evaluated all of the open-source ventilators along a wide variety of dimensions here.
03:22
Now, at the time, and still today, what we're trying to do is to create open-source medical devices. That is harder than making open-source hardware, which is harder than making open-source software, which is harder than copywriting text, both from a legal point of view and from an intellectual point of view.
03:40
The cost of development for medical things goes up because you're attempting to produce regulated devices. Now, originally, the polyvent team was attempting to do that. But at that time in the United States, there was an emergency use authorization. So there was a belief that we might not
04:01
need to do all the things that the FDA would normally require. So while this was going on, public invention published the Open Medical Technology Manifesto, which is that open, shareable, repairable medical technology will make us all healthier. The polyvent ventilator is aligned with that.
04:23
And I invite you all to find this and sign it if you agree with it. So the polyvent team began working on a ventilator. And they had some success in lens. And they designed a very extensible system that we're going to talk about.
04:41
But the global pandemic urgency was dissipating by about six months from that spring. So by October of that first year, people were no longer excited about the idea. So the thing that I'm most proud of, perhaps, of this team is that they just kept going and continued to develop the ventilator.
05:02
So at that time, they joined public invention. Basically, in exchange for making it fully open source, public invention began to start paying for parts and manual labor to support the development of the ventilator. It's also the case that I'm mostly a software guy. Another nonprofit, helpful engineering,
05:21
had the VentOS software, which we're going to talk about. And the existing team didn't have any software. So it was a nice alliance. This is their original system. This was a fully functional ventilator. It uses dual bellows here. Bellows can be manufactured with 3D printers. So they can presumably be made in any country was the idea.
05:42
However, there were some problems. The bearings to drive the bellows up and down tended to wear out. And there were some other improvements possible. We started to make those improvements. The big switch we made was to switch to a proportional valve-based system that used pressurized air
06:00
and pressurized oxygen. This was inspired by Smith College in the United States, which is probably the premier women's college in the United States. They had made an award-winning ventilator called the Smith Vent. They stopped. I don't know why, but we continued and have used the same basic technology.
06:22
Now, we already had a spirometer, the VentMon, which was made by public convention. We sort of used that as part of our system. And eventually, we started to redesign for education. So we started with the proportional valve
06:41
on the left, which is a Birkett proportional valve. It was really kind of an engineering mistake because it was larger than what we needed. And the airflow was not as precise as what we needed. The valve on the right is difficult to source. It's made in the United States by IQValve. It's a very precisely controlled proportional valve.
07:01
And like all projects, we learned as we went along. This was what we called the PolyVent 1, even though it's after the bellows module. This was, again, fully functional. And we performed some tests with professors of education and biomedical engineering. And this system worked, but we decided
07:22
to redesign it for education. So while this was going on, the COVID pandemic continues. In India, around this time, there was a terrible, terrible spike of death. Now, this was not due to a lack of ventilators.
07:42
People say it was due to a lack of oxygen. And we have also, public convention, have also worked on an oxygen concentrate. The reason I bring it up is that what we're attempting to do and what many of you are attempting to do in the software that you produce is to make the world better for a lot of people.
08:01
Making open source medical devices is a new way, a new avenue for open source philosophy to make the world better for a very large number of people. It's quite a technical challenge, but that's why we're doing it. So based on educator feedback, we made a lighter single deck
08:20
design. We made a transparent case. We made the inside spacious and modular so that students could look at it and you could also repair it more easily. You didn't have to take the whole thing apart. That is very different than the way professionally designed medical equipment is made. It's not made to be easy to repair. It's not made to be easy to understand.
08:42
So it's quite a departure from what you would see in a normal for-profit sort of made device. We also, Nathaniel did a really good job designing a modular card-based electronic control system.
09:00
And this actually paid off when a second public invention team created a card that we were able to put into the device to control a general purpose alarm device, which we're working on. And that team did that with no interaction with Victor's team, just based on the documentation that we have. So this is the timeline.
09:22
And we've been getting better and better as we go along, like most projects. In October, we did a classroom evaluation with 12 biomedical engineering students at Rice University in Houston, Texas in the United States. This is the device as it stands today. This is the PolyVent 2. That's what the students used.
09:43
As you can see, it actually uses an acrylic case, so you can see all of the components. And I don't have a good layout diagram, but it's laid out in a way where it's physically modular, as well as being electronically modular. The software is 2, of course, because we learned a lot
10:02
from the open source software community on how to do this. So it's now our intention with the PolyVent to continue to eventually make a design basis that can be used for a medical ventilator. But we believe that by infiltrating the research
10:21
and education community, we have a better shot of eventually accomplishing that. So the PolyVent platform right now is for medical and veterinary doctors. But really, it's for biomedical engineering students. Even you can teach business school classes on it. You can certainly do mechanical electrical engineering
10:40
and software engineering. And we consider ourselves firmly part of the emerging discipline of humanitarian engineering. So what we did to make the classroom instructor, I am not a teacher. I'm mostly a computer programmer. We made fake broken parts.
11:01
And we asked the students to turn their backs, and we would install a fake broken part. And then they would attempt to find it. Now, this class that we're taking is, in fact, a troubleshooting class. So it worked rather well. And of the 12 students who were there, they really strongly believed that this would be useful in other universities.
11:22
So it's our hope to sort of sell this at cost, even though it's completely open source. Somebody could make it if they wanted to. All the physical designs, all the software designs are completely open. But making things like this in hardware requires, as one of the gentlemen in the previous talk, a certain amount of tooling
11:42
and so forth. So people like a graduate school may find it easier to pay us $5,000 for one of these, which is sort of the hardware costs are about $2,000. And it takes some labor to put it together. It's kind of the cost for us to make it, rather than build one themselves. But they could. They can build it and modify it themselves
12:02
based on licenses that I'm sure you're all familiar with. So this is kind of a schematic of the design that you saw there physically. And the thing that's most important is Nathaniel did a really good job designing an electronic extensible card system. And this is based on an IEEE standard
12:20
I'm not familiar with. But basically, you plug slots into it, and it exposes pins of the ESP32. So if you have a device that you would like to add to the ventilator, like a humidifier, a nebulizer, a heater, an additional set of instrumentation,
12:40
you can just design a card and stick it in there. And that's what the general purpose alarm device team of public invention did. This is a physical photograph of how those things slide in there. This card right here is a card with a bunch of power transistors which control the solenoid valves which are in the system.
13:03
Because obviously, it takes a certain 24 volts to do that. So now I'd like to talk about software. The software system is called Vent OS. I didn't name it. Really, it's not an operating system. But we kind of think of it that way. It runs on an ESP32.
13:21
And it was created by a different nonprofit, which I'm a board member helpful with engineering. And some other people worked on it, in particular, Ben Coons. Now interestingly, this was forked to make an oxygen concentrator, which we have since quit working on, called the Ox. But that was forked to be used by me for NASA, the US
13:43
National Aeronautics and Space Administration, to make a control system for a high-tech ceramic oxygen generator. So a lot of times, as I'm sure you guys understand, open source code lives even if its initial purpose is not met. If you write good code that's documented with a good license,
14:02
you can use it for some other purpose. And we're trying to do that. In fact, Ben made a number of improvements that really need to come back into Vent OS. And I kind of need a volunteer to help me do that. Because there's always more software work to be done. So the Vent OS architecture, and this is where we're really talking about an embedded system
14:21
that you guys will understand, is a simple Arduino platform compiled with platform I-O. Configuration modes in platform I-O set pre-processed compile time switches, which give us a wide variety of hardware architectures we can compile into, although the polyvent is effectively the only machine on which it really runs today.
14:40
But we could support other architectures. It almost doesn't run on an Arduino Uno because it's too big. But technically, it will run on an Uno. We use an ESP32. We have a pretty good hardware abstraction layer. The basic architecture is what's called a super loop or simple loop architecture. And we believe that's appropriate for a life
15:02
critical medical device like the one that we're designing. So Vent OS claims to be a operating system that is universal. It's a universal platform for mechanical human ventilation.
15:21
How is that possible? Well, it's possible because all ventilators do almost exactly the same thing. They're relatively straightforward. They're simple devices. Simple doesn't mean easy, because if you do something wrong, the patient dies. But they are still relatively simple devices.
15:41
Thank you. In particular, doctors normally want to vary the breaths per minute. As you become sicker, you require more breaths per minute. You hope that doesn't happen. The inhalation time and the exhalation time ratio is varied for the comfort of the patient.
16:01
If you are approaching death, they may have to make that what would be very uncomfortable for a healthy person to try to keep you alive. Pressure-controlled ventilation keeps constant pressure through the inhalation. You want that pressure to be low, because high pressure can cause damage to your lungs.
16:21
But as you approach death, that pressure may have to go up to try to keep you alive. Doctors, I'm not a medical doctor. Victor is a physiologist, not a medical doctor. Clinicians know how to balance these things. It's our desire to give them the power to do that. So basically, you just blow air into the patient's lungs,
16:42
and then you stop, and the lungs deflate on their own. That's the way positive pressure ventilation works. It's simple, but you have to control all these things. So this is sort of a diagram of a universal ventilator.
17:04
All ventilators are sort of the same in this sense. There's an air drive, which produces air in one way or another. And that's the most mechanical system that's part of it. There's a sense module, and ours is completely separated in the sense that we use the VentMon, which is a separate device that we would like to productize.
17:23
It's not really a product. We gave a bunch away, because we had a grant to give them away. But it's basically a spirometer. It measures everything about human breath, and if you connect it to the ventilator, it allows you to see what the ventilator is doing. A controller is what this room would think of as the embedded system.
17:41
That's where VentOS runs. Our interface is we use a internet of things based public data cloud, and we're still working on aspects of the clinical interface. So if we think about philosophy, the Unix way,
18:02
and of course, I didn't write this. This is on Wikipedia. You can find this. Is to write programs that do one thing and do it well, write programs to work together, and write programs to handle text strings because they're a universal interface. This is from the 70s. This is very old philosophy, which has served the world in good stead,
18:22
because Linux and open source software is eating the world. How do you apply the same things to the kind of electromechanical devices that we're building that aren't even chips? They're moving air around. Well, you attempt to do the same thing. You build machines that do one thing and do it well.
18:40
That is not the way Johnson & Johnson would build a ventilator. They would put everything in the same case. But we're not Johnson & Johnson, right? We can do something different. So we make a physically separated device where physical components handle one component at a time, and then they're integrated in a soft way.
19:01
So by using digital control, we make them all sort of roboticizable or controllable by a controller so that we can use them and they can be reused in that way. And then in my experience, instead of handling text strings, the modern way to do this is you handle JSON objects that are communicated either via SBI or I squared C. And that's
19:21
kind of a universal control language that's easy for both programmers and the hardware devices to understand. So how realistic is this? I mean, that's debatable because we're nowhere close to having an FDA-based ventilator at the moment. However, we have done a lot with very little money.
19:42
We built the VentMon, which is kind of our most realized device, because it's much easier than a ventilator, right? VentOS is an existing operating system. PolyVent is a ventilator. I'm very proud that we've defined two data standards based on JSON.
20:00
The public invention respiratory data standard and the public invention respiratory control standard. Now, as you guys, I'm going to come back to this, but as you guys know, progress is often made through defining standards. It's often not very glamorous to do so, but the work of defining the standards is really what allows other people to take your work
20:20
and utilize it in a standard way. In this case, we've done work that has not been recognized. No one else is using these standards yet, but I hope that will change. We tried to build an oxygen concentrator. We sort of stopped working on that, and we also have vent display, which gives a complete dynamic display of breath plots
20:41
and the things that clinicians need to do. So if we map that to our diagram here, what we find is that the device that we're calling the ventilator really could be thought of as an air drive. It's the part that makes the air. We have a separate device. The ventmon, which can be used as a sense module,
21:00
and we have a separate set of programs, which happens to be an IoT-defined public lake and some JavaScript that runs in a browser to do the clinical GUI aspects of the system. We're also designing a general purpose alarm device.
21:21
As I'm sure you understand, in any intensive care unit, thank you, situation, you have to produce alarms when the patient needs care. Now, that can occur because your machine has broken or the battery has failed or you've run out of power or someone has tripped over a hose,
21:42
but then that happens a lot. But it also can occur simply because the patient's condition is deteriorating. In any case, you have to be able to produce a device which can generically alert people to the fact that something has to be done. Our, following the Unix way adopted to hardware,
22:01
our idea is to make a separately packagable device that could be used for a cat door or a burglar alarm or all kinds of other devices in hopes that we can build a community of practice using that, which will strengthen the use for medical alerts, okay?
22:35
So this is the software that I was talking about. This runs in a driver. This is what, a browser,
22:41
this is what is produced by the VentMon. I probably should be showing a video, but this is actually dynamic as the machine breathes or the patient breathes, you're seeing the pressure flow and various events like the measurement of the humidity and temperature, the end of the breath, the beginning of the breath. What you have on the right here is what a doctor in an ICU would typically compute
23:03
about the breath traces, okay? This is not super sophisticated, but the thing that I really like about it is it runs in a browser, so it's distributed generally. And then secondly, the software functionality of doing all this computation is completely separated from the ventilator.
23:21
In most devices, this is built into the panel of the ventilator and cannot be reused in any other way. So because of the things we've been talking about, VentOS can claim to be a universal system
23:42
because it implements a hardware abstraction layer that lets you interface to turbines, fans, in our case proportional valves, bellows, other ways of producing gas. So following the open source methodology,
24:00
it's not so much a machine as an ecosystem. We're trying to build a respiration ecosystem. And so as we've said, we've already seen that one piece of functionality has been added as a PCB that's put into the control module, and that is an SBI interface
24:21
to the general purpose alarm device, which I mentioned previously. So you might say, well, why on earth would we ever have a respiration ecosystem? Well, there's a good reason from kind of a patient point of view, which is all of these devices, which accomplish various medical purposes,
24:43
a ventilator, an O2 concentrator, a bi-level positive pressure airway machine, a CPAP machine, a PAPR, a bag valve mass monitor, all of those essentially need standards of respiration data exchange, which we have developed but nobody else has used,
25:01
and many of them need the same SINCE module that we've been talking about in the vent model. In that sense, if you think of the way open source software has made components that work together really effectively, what we're trying to do is to create hardware and software components integrated,
25:20
which work together as effectively in the realm of human respiration. So in a sense, we're trying to democratize the field of medical respiration and education around it. So open source software has already shown us the way. We're just taking things that were developed by open source software and attempting to apply them to hardware.
25:42
In particular, as I'm sure you guys know, the development of standards, like HTTP, HTML, JSON, et cetera, are absolutely critical to the progress and interaction of multiple components in the embedded architecture world, but open source software more generally.
26:00
We're trying to accomplish the same thing by producing respiration standards. These, of course, exist in GitHub repos. Thank you very much. In short, we've built the most open, extensible ecosystem for a classroom. It's the most open, best documented system.
26:21
I can claim that because I evaluated all of the other ones. There are other open source ventilators, but you cannot find their designs online. So they're not really open. They're just thinking about being open. And that concludes my talk. Thank you very much.