Upload
jasmin-parrish
View
212
Download
0
Embed Size (px)
Citation preview
Design of a System that Transfers Ventilator Information
to the Internet
Lauren Sims
Advisor: Dr. Bill Walsh
Background
Mechanical neonatal respirators play an important role….
Ensuring adequate respiration in infants is difficult– involuntary mechanism
– the tongue is proportionally larger than in an adult
– trachea is very flexible (easy to kink)
– lungs have proportionally less volume and compliance
– large head/body ratio requires care to maximize airway
Ensuring adequate respiration is very important– primary cause of cardiac arrest is respiratory failure
– risk of long term (i.e., brain) damage from abnormal breathing
Typical Flow Time Waveform
This Flow Time Waveform is from a full term infant. The lungs are essentially normal. The normal decelerating flow time waveform consists of the following:
*Rapid rise to peak inspiratory flow with the initiation of inspiration.
*Inspiratory flow decays rapidly to baseline and smoothly transitions to expiratory flow. The decay becomes exponential as it approaches the baseline.
*Rapid rise to peak expiratory flow.
*Exponential decay of expiratory flow back to baseline.
Background
.... but careful monitoring of respiration is not efficient !
Respirator has a built in monitoring system, but...– screen is local to respirator
– controls are local to respirator
– requires dedicated personnel presence at all times
Respirator also has the capability for remote monitoring– built-in data collection via internal microprocessor
– built-in RS-232C data transmission capability
– built-in software command set for microprocessor data retrieval
Remote monitoring capability is currently unused
Siemens SV300 Servo Ventilator
My Project
Investigate the possibility of moving monitoring function to the web
– Is it possible to get at performance data via the serial port?
– Is it possible to post the data to a web page on a server?
– Would web enabled monitoring bring better care or lower costs?
Results
Good performance data is available on the SV300 via an RS-232 interface.....
– Curve
– Trend
– Alarm
– Breath
– Settings
– Technical (battery state, etc.)
.... but RS-232 is difficult and code is computer Operating System dependent.
('ServoVentilator 300/300A ReferenceManual', Siemens-Elema AB, 1997).
Some Parameters and Scaling FactorsChannels 00-99: Basic
• Airway Flow 5V/l/s
• Insp. Tidal Volume 5V/L
• Airway Pressure 50mV/cm H2O
• Exp. Tidal Volume 5V/L
• O2 Concentration 50mV/%
• Barometric Press. 4.883 V/Bar
• Aux Code 4.883 mV/bit
• Pause Pressure 50mV/cm H2O
• Resp. Rate calc 50mV/breaths/minute
• Peak Pressure 50mv/cm H2O
• Exp. Minute vol. 0.2V/l/min
• Airway pressure 50mV/cm H2O
• CI Battery Voltage 1mV/mV
• End exp. Pressure 100mV/cm H2O
Channels 100-199: Extended
• Airway Flow and Pressure• AUX Channels 1-8• CI battery voltage• Measured & CMV frequency• Exp/Insp Tidal Volume and minute volume• Peak Pressure• O2 concentration• Barometric & Gas supply pres. (air, O2) • Inspiration and pause times• Alarm Reset/2 min off & option• SIMV frequency• PEEP, set; Pressure limits, set• Exp. Minute vol; upper/lower alarm limit• Ventilation mode, Set• Valve slots 1-3, binary codes• Alarms: apnea, power failure, mode switch error,
Mains failure, overrange, CI internal communication error, O2 concentration levels, gas supply, battery, etc.
Results• An example RS-232 communications program for DOS is available.
– printed in the ventilator technical manual
– around 1200 lines of 'C' code
– uses the Greenleaf CommLib version 3.2 'C' libraries for DOS ($400)
– has some 'C' functions that are peculiar to DOS compiler ($400) (e.g., delay(), kbhit(), getch(), itoa(), etc.)
• I am trying to port this code to Linux (with help).– linux is free
– linux has a C compiler (also free)
– I have access to a free serial library for Linux (serial.c)
– linux has equivalent function calls (i.e., usleep() instead of delay())
– linux has a built-in web server
Results
• I have obtained a unix serial library ([email protected])
• I have typed in all of the example 'C' code from the manual
(see: <http://www.virtualdave.com/~lauren/bme272>)
• I am working on porting the example code to unix (linux); i.e., replacing all the DOS Greenleaf library calls in the example code (e.g., asigetc(), aisputc(), etc.) with unix serial calls (e.g. IO_Read(), IO_Write, etc.) with Prof. J. M. Fitzpatrick.
• Only three functions left to port over (asigets_timed(), asigetc_timed() and isrxempty()) which are all similar
• Should have a RS-232 communication executable by Wednesday, April 4
Resources Needed
• I need access to an SV300 ventilator to test/debug (weekend?)
• I need a laptop that I can install linux on for testing/debugging
Future Work
• Once communications are established and access to the data from the respirator is obtained, it shouldn't be too hard to pipe the data to a web page and serve it.
• Finalize poster presentation for April 11th.