Accessible Home Vital Signs Monitoring System

2006-2007 National Student Design Competition

26 April 2007

Group Members: Katherine Avakian, Matt Bardwell,

Kevin Wallof, Michael Giese

Group Advisor: Dr. Farzan Aminian

 

 

 

 

 

 

 

 

 

 

Abstract:

 

The scope of the project is to design and construct an accessible home vital signs monitoring system which is non-invasive, accessible, safe, and accurate. The purpose of this report is present on all aspects of the project. This covers the initial research stage, ordering of parts, construction of the case, coding for the project, and final human testing.  The average difference between the basis obtained from the clinic and the test runs for weight was 0.5 lbs.  The average difference for blood oxygen level was 0.8% within a range of 95-99%, all normal.  All patients’ heart rates were within the specified range of 60-100 beats per minute.  There is room for improvement in a few places with regard to the functionality and usability of the device. Rubber feet should be added to the base of the device and more audio support should be added to aid the hard of hearing when data is being collected, allowing them to know that the device is still working.


 

Executive Summary:
 

The project proposed by the RERC on AMI 2006-2007 National Student Design Competition is the design and construction of a home vital signs monitoring system.  The system is to be designed in such a way that it is affordable and easy to use.  For this project, the device will measure weight, blood pressure, heart rate, and blood oxygen (Sp02) level.  Weight, blood pressure, and heart rate can all be measured manually and compared against the electronic read-outs for accuracy during testing and evaluation.  The project must also take into consideration the accessible/universal design principles as provided by RERC on AMI, and the prototype must meet a budget of $2000. 

The group will use three modules from Nonin, ColinTek, and A&D Medical to measure the four vital signs.  That data will be coordinated by a small computer, also known as our host device. 

The user interface includes an interactive display, three color coded buttons with Braille labels, and laptop speakers. Twenty characters can be displayed on each of the screen’s four lines. The characters are large and easy to read. Buttons were constructed for the front of the case using an old computer mouse.  Buttons allow the user to interact with the system. Laptop speakers are used to produce the audio output and are mounted behind screens above the display and buttons.

The case for all the computer and medical modules is made from plastic.  It was made to conceal all internal components of the monitoring system without looking like a medical device.  The external case is made from white, opaque plastic while the inside case (not seen) is clear to allow for easier construction.  The display, buttons, and speakers are mounted on the front face of the case which is slanted for accessibility.

Of the three measuring modules, only the blood pressure cuff was modified.  The cuff was altered to allow for one-handed operation without interfering with the functionality.          

When testing patients, the two most important factors were safety and accuracy.  The safety of the device is directly tied to the safety of the individual modules.  Each module was chosen to uphold the safety of our project and users.  The safety information was provided by each company that manufactured them.  The testing was conducted in the Trinity University Clinic with the supervision of the nursing staff.  Three different disabilities were simulated by the volunteers, as predetermined by the group members.  The volunteers were instructed to simulate the disability to the best of their ability.

Much of this project relies on the code which controls all of the devices, the computer itself (via the operating system), and the human interface (speakers, display, and buttons).  The code was written in the C++ programming language and runs in a Linux operating system autonomously upon startup.

The average difference between the basis obtained from the clinic and the test runs for weight was 0.5 lbs.  The average difference for blood oxygen level was 0.8% within a range of 95-99%, all normal.  All patients’ heart rates were within the specified range of 60-100 beats per minute.  Blood pressure data was not taken due to a sudden failure of the blood pressure module before testing began. 

There are recommendations for future work.  These vary from adding rubber feet to the bottom of the case, to optimizing the startup process and reworking some of the code to all for better usability during testing.

 

 

Table of Contents

Introduction                                                                                                                             1

Procedure                                                                                                                               1

            Hardware Alternatives                                                                                                 1

                        Non-Invasive Blood Pressure                                                                          1

                                    ColinTek M2600                                                                                 2

                                    Cas Medical ND and NE                                                                     2

                                    SunTech Medical Advantage and Advantage mini                                 3

                        Pulse Oximetry                                                                                                 4

                                    OEM III: Nonin Medical                                                                      4

                             OEM601: Dolphin Medical                                                                  5

                        Body Weight                                                                                                    6

                                    LifeSource UC-321 Body Weight Scales from A&D Medical               6

                                    S6600 High Capacity Scale                                                                  6

                        Host Device                                                                                                     6

                                    Modular Processing Unit Option                                                           6

                                                Processor Board Alternatives                                                    6

                                      Multiplexor Alternatives                                                             7

                                                PC Speaker Alternatives                                                           8

                                    Mini-ITX Integrated Processing Unit / Small Computer Option              9

            Summary of Hardware Alternatives                                                                               10

Programming the Host Device                                                                                       10

Encasing the Hardware                                                                                                 12

                        User Interface                                                                                                   12

LCD Screen                                                                                         12

Buttons                                                                                                 12

Speakers                                                                                              13

Plastic Housing                                                                                                 13

Blood Pressure Cuff Modifications                                                                    14

Testing Procedure for Volunteers                                                                                  14

Results of Testing                                                                                                                      15

            Numerical Results                                                                                                         15

            Level of Difficulty Results                                                                                              15

Budget and Scheduling                                                                                                             16

Conclusions and Recommendations                                                                                          16

References                                                                                                                               18

Appendix A: Programming Flowchart I                                                                                     19

Appendix B: Programming Flowchart II                                                                                    20

 

 


 

1.     Introduction

 

RERC on AMI is an organization dedicated to improving or creating new medical instrumentation technologies universally accessible to all people.  As health care tasks previously preformed only in medical facilities are being shifted to homes, medical devices must be accessible to patients and easy to operate.  The project proposed by RERC on AMI is to complete the design and construction of a home vital signs monitoring system [1].  The system is to be designed in such a way that it is affordable and easy to use.  Safety of the patients is of primary importance in considering prospective design alternatives.  The device is for use by the patient and/or his personal assistant in the home, but also must be able to report to a remote healthcare facility over the internet.  Out of six possible vital signs, the device must be able to measure at least four [1].  For this project, the device will measure weight, blood pressure, heart rate, and blood oxygen (Sp02) level [1].  The table below indicates the accuracies that we expect for the device. 

 

Table 1: Desired Accuracies for Vital Signs Measurement

Blood Oxygen Level

(+/-) 2% within range of 70-100%

Pulse Rate

(+/-) 3 bpm

Blood Pressure

(+/-) 3 mm Hg

Body Weight

(+/-) .1 lb

 

Each of the different vital signs must be measured by one easily operated system.  Weight, blood pressure, and heart rate can all be measured manually and compared against the electronic read-outs for accuracy during testing and evaluation.  Blood oxygen level will be slightly harder to test and might need to be compared against a calibrated oximeter that is known to be functioning correctly.  Accessibility, ease of use, and suitability for home use will all be measured on a qualitative basis by the users of the device during testing.

As part of the competition requirements, we will create a website that will contain a final project report (limited to 25 pages in length), detailed photos, and a video clip of our functional device. Our device must address the needs of our hypothetical clients: Mat, Sani, Dolores, and Tyler.  Each client possesses a different disability or injury. The project must also take into consideration the accessible/universal design principles as provided by RERC on AMI, and the prototype must meet a budget of $2000. 

 

2. Procedure

 

The first part of the project entails generating and selecting hardware alternatives.  Once the desired hardware alternatives are selected, programming the host device and developing an acceptable casing system may begin.  Also, a test procedure must be developed and implemented upon completion of the system.  This section will lay out the hardware alternatives, give an explanation of the programming of the system, and an explanation of the test procedure.

 

2.1 Hardware Alternatives

 

2.1.1 Non-Invasive Blood Pressure (NIBP)

 

Patient blood pressure and heart rate will be measured by an internal non-invasive blood pressure module or NIBP. Five modules from three separate companies will be considered and compared: the M2600 from ColinTek, the NE and ND from CAS Medical, and the Advantage and Advantage Mini from SunTech Medical.

 

2.1.1.1 ColinTek M2600

 

The M2600 from ColinTek measures adult, pediatric, and neonatal (infant) pulse rate and systolic, diastolic, and mean arterial pressures. Table 1 below shows the measurement ranges for the M2600.

 

Table 2: Measurement Ranges for the ColinTek M2600

 

Adult-Pediatric

Neonatal

Pulse Rate (bmp)

40-200

40-240

Systolic Pressure(mmHg)

60-250

40-120

Diastolic Pressure (mmHg)

40-200

20-90

Mean Arterial Pressure (mmHg)

45-235

30-100

 

The M2600 meets the design specifications for pulse rate measurement accuracy with a ± 2 bpm or 2% of a specific reading, whichever is greater. Accuracy for blood pressure measurements meet or exceed AAMI Sp-10, 1992 standards for blood pressure, however, the specific number is not provided.

The M2600 may operate on a +12V DC power supply or a +6V DC power supply. This allows for some flexibility in the overall design. The system also has several choices for communication including TTL and RS232 serial at baud rates of 1200, 4800, 9600, and 19200. Since the group desires to use the standard baud rate of 9600, the M2600 meets the design specifications.

The module offers several modes of measurement: manual, long-term automatic, short term automatic, smart inflation, and smart measurement. For safety, the M2600 has two independent solid-state dynamic linear deflation pressure transducers with deflation rate based on pulse rate.

Dimensions for the M2600 are 2.36in×1.57in×3.78in with a weight of 0.47 lb. The development kit includes the M2600 module, power supply, RS232 cable, documentation, terminal emulator (for the computer), cuff, and sample scripts (for writing C Program coding for a host device to operate the M2600). The development kit costs $500.

Overall, the ColinTek M2600 meets all of our design constraints and offers an extensive development kit with excellent customer service from ColinTek located in San Antonio. The price for the development kit is within budget and corresponds to the price of other similar modules and development kits. This places the M2600 as one of the top choices for our NIBP.

 

2.1.1.2 CAS Medical ND and NE

           

The ND and NE have only a few differences in their design which include: size, cost, power supply and power consumption. The ND is smaller, has a sleep mode, has more input voltage options, and has the ability to monitor neonatal pulse rate and blood pressure. The NE may also monitor neonatal pulse rate and blood pressure, but the ability is optional on the NE instead of being standard like the ND.

Like the ColinTek M2600, the CAS Medical ND and NE both measure pulse rate and systolic, diastolic, and mean arterial pressures. The ND and NE both have the same measurement ranges shown in Table 2.

 

Table 3: Measurement Ranges for the CAS Medical ND and NE

 

Adult-Pediatric - Neonatal

Pulse Rate (bmp)

30-240

Systolic Pressure(mmHg)

30-255

Diastolic Pressure (mmHg)

15-220

Mean Arterial Pressure (mmHg)

20-235

 

Measurement accuracy for the ND and NE are ± 2bpm or ±2%, whichever is greater, for pulse rate and ± 5 mmHg with a standard deviation of ≤8 mmHg for blood pressure. Like the ColinTek M2600, both modules meet or exceed AAMI Sp-10, 1992 standards for blood pressure accuracy. These measurement accuracies fit the design constraints.

6V DC and 12V DC power supplies are available on both the ND and NE modules with an additional 5V DC option on the ND module. The system has several choices for communication including TTL and RS232 serial at factory selectable baud rates of 1200, 4800, and 9600 to fit our design constrictions.

The ND and NE offer several modes of measurement including manual automatic, STAT (repeated measurements for 5 minutes with a 5 second pause in-between each measurement), and a test mode that provides continuous display of system pressure. The ND and NE both have redundant microprocessors for safety purposes and both meet medical electrical equipment standards for safety (IEC 60601-1 and IEC 60601-2-30).

Dimensions for the ND are 2.5in×3.1in×1in with a weight of 0.25 lb. Dimensions for the NE are 2.7in×4.1in×1.3in with a weight of 0.31 lb The development kit for both the ND and NE includes the module, RS232 cable, PC software, cuff and hose. The development kit costs $450 for the NE and $520 for the ND.

Like the ColinTek M2600, the CAS Medical ND and DE meet all of the design constraints and offer a suitable development kit with excellent customer service from CAS Medical. Although not located in San Antonio like ColinTek, CAS Medical representative for the ND and NE modules, Jo Nagle, was very helpful and interested in our application. The price for the modules and development kit are within budget and correspond to the price of other similar modules and development kits. This company makes the designer sign a non-disclosure agreement with CAS Medical to purchase the module. It was difficult to get Trinity University to sign the agreement, so it was decided that modules would not be purchased from CAS Medical.

 

2.1.1.3 SunTech Medical Advantage and Advantage mini

 

The Advantage and Advantage Mini from SunTech Medical measure adult, pediatric, and neonatal pulse rate and blood pressure. Information for these devices was hard to obtain due to difficulty communicating with OEM customer service representatives. The minimal information that has been gathered on the Advantage and Advantage Mini show a lower pulse rate accuracy and measurement range than other modules being considered with operating voltages of +5.3V DC and +14.5V DC which appear to be non-standard for the application and would be difficult to work with. Although the Advantage and Advantage Mini meet most of the other design constraints, the device is inferior in accuracy and customer service in comparison with other modules and companies being considered. The development kit is priced at $500, so there is no financial benefit in using the Advantage or Advantage Mini over the ColinTek M2600 or the CAS Medical NE. For these reasons, using the Advantage or Advantage Mini within the overall system has been ruled out.

After reflecting upon the best alternative from those previously listed for the NIBP, it was decided that the ColinTek NIBP would best meet the needs of the design group and the budget that was allocated to the design group by RERC on AMI.  ColinTek meets all the design specifications required by the design group and is more convenient as both the design group and company are located in the same city, San Antonio.

 

2.1.2 Pulse Oximetry

           

The group has decided to measure Sp02 levels using an internal oximetry module.  The module is ideal for integration into a larger system.  Two modules from two leading companies in the field of pulse oximetry will be considered:  The OEM III Module from Nonin Medical and the OEM601 from Dolphin Medical.

 

2.1.2.1 OEM III: Nonin Medical

           

This module measures Sp02 levels in the range of 70-100%.  The accuracy of the device is ± 2% within this range.  The measurement accuracy meets the design specifications for the system.  The module also measures heart rate as well with an accuracy of 3 bpm.  This accuracy meets the design specifications, but the modules being investigated for non-invasive blood pressure (NIBP) measurement provide heart rate at an accuracy of 2 bpm for each measurement.  Therefore, the NIBP module should be used to obtain heart or pulse rate from the patient. 

To maintain power standardization it is desirable that the oximetry module operate at 5 volts input voltage.  The OEM III has operation options of 3.3 V and 5 V input voltage with corresponding power draws of 29 mW and 45 mW meeting the desired input voltage.  The power draw for both input voltages is low which conserves energy.  Conserving energy is one way to help reduce the environmental impact of the device.  A module with a lower power draw makes the overall system more environmentally friendly. 

Also, the module meets the communications specifications for a RS232 serial port output type with a baud rate of 9600.  RS232 serial communication output toggles between -12 V and + 12 V.  The module output itself actually toggles back and forth between 0 and +5 V (meaning the output is TTL), but the module development kit contains options for converting the TTL communication output to RS232.  The development kit for the module has three different data formats to choose from.  All contain Sp02 and heart rate measurements.  The second format has signal averaging options and the third has signal averaging options and the pulse waveform.  There is no change in price from format to format.

This module’s ideal use is for integration into a larger medical system.  Nonin’s development kit comes with the 8000AA sensor.  The first sensor is free of charge with the purchase of the development kit.  The development kit also includes an interface board, a 9 V battery, an interface cable, and OEM demonstration software for the computer.  The setup for the development kit is seen in Figure 1. 

The development kit with shipping costs a total of $300.  Each 8000AA sensor purchased after the first costs $165 by itself and $115 as part of a development kit. 

Figure 1: Development Kit Instructions [2]

 

2.1.2.2  OEM601: Dolphin Medical

           

The dolphin OEM module measures Sp02 and heart rate in the same range and with the same accuracy as that of the Nonin OEM module.  Both modules meet measurement specifications for the system.  The input voltage for the OEM601 is +5 volts with power consumption anywhere from .5-.7 W.  The OEM601 consumes significantly more power than the Nonin module.  Increased power consumption not only is less environmentally friendly but increases costs to the patient or healthcare provider in paying for the system.  Both modules’ power consumption is relatively low, but the principle is that increased power consumption of a single component is a drawback to the device when integration into a larger system is being considered.

The module itself communicates data in asynchronous TTL signals at a baud rate of 19200.  This baud rate exceeds what is needed for the design.   Blood oxygen levels, pulse rate, bar graph intensity proportional to AC/DC ratio, graphical display of Photo-Plethysmogram, and sensor status information are all provided from the module.  The module has the option of being controlled by the host through a set of C source codes as well. 

Like Nonin, Dolphin medical does provide a development kit with their module as well as Nonin.  Dolphin supplies an interface board and development software for the PC.  They do not, however, provide a sensor in the development kit.  The cost for one development kit at Dolphin medical is $799.  After examining both modules, it is clear that the OEM III from Nonin is a more plausible alternative.  The Nonin module is smaller, consumes less power, comes with a more extensive development kit, and is much less expensive.  The OEM III from Nonin is capable of fitting within the budget for the project, while the Dolphin OEM601 would put the final design over budget.  The RERC group will proceed with the OEM III Module to measure blood oxygen levels.

 

2.1.3 Measurement of Body Weight

 

2.1.3.1 LifeSource UC-321 Body Weight Scales from A&D Medical

 

            This scale comes with an RS232 cable to connect directly to the host device.  The readability of the system is .1 lb, which is within the group’s desired accuracy for body weight.  The maximum capacity of the device is 450 lb, which is well over anything that the design group expects to encounter while the system is in use.  The scale is battery operated and has an expected life of three years.  The total cost including shipping comes to $210.75.

 

2.1.3.2 S6600 High Capacity Scale

 

            This scale comes with RS232 connectivity as well, but the capacity is higher at 660 lb.  The readability of the scale is .2 lb, which exceeds our desired accuracy for body weight measurement.  The scale has a variety of different features which make this scale state of the art for home scales, yet they are superfluous to the needs of the group.  The total price without shipping would be $210.00, which makes this scale more expensive than the one from A&D Medical. 

 

            After comparing the two scale alternatives, it was decided that the best alternative was the UC-321 Scale from A&D Medical.

 

2.1.4 Host Device

 

2.1.4.1 Modular Processing Unit Option

 

Note this option contains multiple components that each have alternatives of their own.

This option combines a processing board with a multiplexer to account for multiple inputs from the vital signs modules and a speaker option to audibly alert the patients to the results of the readings taken.

 

2.1.4.1.1 Processor Board Alternatives:

 

            The processor board needs to have a C programmable microprocessor and contain at least 5 serial ports (4 inputs from the modules measuring different vital signs and 1 output to the computer).  Each serial port should be of the RS232 format with a 9600 baud rate.  The C programming language is used to designate different measurement times for each module and to ensure that any error made during any particular measurement is communicated to the patient. 

 

1. Innovative Integration Option

One option to meet the specifications just described is to combine the SBC6713e board from Innovative Integration, Inc. with two of their DIO Omnibus modules.  This combination would give the required five RS232 serial ports and provide a 300 MHz floating DSP (micro-processor) that is C/C++ programmable.  The SBC6713e has many applications: embedded control, remote data acquisition, industrial test and measurement, and OEM instrumentation.  The board contains 600 Kgates to implement custom logic gates.  The Omnibus modules each have 2 RS232 ports and are used mostly for digital I/O testing.  However, each DIO module is $400 and the SBC6713e is $2,790.00.  The processor board by itself is $790.00 over budget and therefore cannot be used in this system implementation.

 

2. Rabbit Semiconductor LP3500 Fox

The LP3500 Fox is a low-power single-board computer with 27 built in analog and digital I/O. It fulfils all of our design specifications when used with a serial multiplexer and optional serial flash memory. The LP3500 Fox has 6 serial ports (1 RS485, 3 RS 232, 2 TTL). The board operates on less than 20mA and between 3 and 30 V DC. It has a 7.4 MHZ microprocessor with up to 512K each of flash and SRAM memory. The board comes with Dynamic C, a C-programming compiler, and an extensive library of drivers. It also comes with demo software. The board measures 3.65in×2.6in×0.45in and costs $200 from Digi-Key.

 

2.1.4.1.2 Multiplexer Alternatives:

 

            The scope of our project states that the design must be able to measure multiple vital signs in the overall system. With the multitude of processor boards that the group is considering there is a limited number of serial inputs and outputs that the different modules are able to connect and transmit data over. In order to integrate the three modules into the overall system the signals of each measurement module need to be connected in such a way that the transmission of data can occur between each device at a specified time interval. The solution to this problem is to use a serial based hub, switch or multiplexer. The group is considering two modules from Olimex, the PIC-I/O and PIC-P28 boards.

 

1. PIC-I/O: Olimex

This module takes multiple RS232 inputs and relays them as a single RS232 output which can then be connected to either a personal computer or, in the case of this design project, the processing board which will handle data acquisition. From the data acquisition unit, a command must be sent to and interpreted by the PIC-I/O board in order to activate a specific input and output channel, i.e. a measurement module. The PIC-I/O board needs to be programmed in such a fashion to interpret these commands correctly and accurately. The code for this type of operation is included with the purchase of the device within its provided documentation. Also, a program is included which interfaces the device with the computer in order to compile and transmit code at variable baud rates between the computer and the device. This multiplexing device meets the overall design goal of the multiplexer module.

The power specification for the overall system is to maintain all input voltages at 5V. However, for this multiplexer implementation, the power jack on the module needs to be connected to a 12V power supply. This voltage does not meet the design specifications for power, but this can be overcome by a simple power transformer. This could draw more power from the 120V AC wall socket, which advertently consumes more energy, making the overall system less economically and environmentally feasible as time progresses.

           

2. PIC-28: Olimex in conjunction with PIC18F1220: Microchip

The Olimex PIC-28 has a protoboard-type interfacing area where wires can be directly connected to pins on the multiplexing chip. When used in conjunction with the PIC18F1220 chip, the user can download specific sets of instructions which can direct the data signals depending on particular needs of the overall system. Both software and coding are available for download either off of the Olimex and microchip sites or other easily found third party sites.

This development board has a voltage setting jumper which allows the user to select one of two operational settings, either 3.3V or 5V. This is considerably less troublesome than the PIC-I/O implementation previously mentioned in the lower operation voltages, as this will provide less of a power draw from the 120V AC wall socket. Although this implementation will require more time and thought it is considerably more advantageous and easier to adapt to changes in overall usability.

 

2.1.4.1.3 PC Speaker Alternatives:

 

In looking for a way to produce sound based on different conditions of the patients, a couple of different ways are worth considering.  A simple, economical solution to the problem is to reuse equipment already present in the design.  A computer is needed to publish information from the patient’s site to the doctor over the Internet.  In a computer there already exist the main components of voice module system.  In a computer there is a central processing unit, memory, and usually a built in speaker.  This is a nearly free (to the cost of the project) solution that gives ultimate customization to all aspects of the design.  There are two different ways to use the computer as a speaker module, pre-recorded and text-to-speech.

 

1. PC speaker (recorded)

In a pre-recorded system, the group members, or a third party, would record into the system memory a set of responses to different conditions.  The number and size of responses are only limited by the size of the hard drive in the computer.  This is a huge advantage to other systems.  The pre-recorded option is helpful for this project because it allows for the medical system to sound very natural and helpful, but it takes up much hard drive space on the machine.

 

2. PC speaker (text-to-speech)

Using the same computer, the task can be accomplished in with less hard drive space by using a text-to-speech program.  In this system, the responses would be pre-typed into the system and a program would analyze the text and attempt to reproduce it over the speaker.  This system would be good for conserving system hard drive space, but might be more intensive on the processor.  This is a result of the text-to-speech program having to compute the desired output to the speakers.  This system would not be good for some because it will sound very robot-like and unnatural.

 

3. Programmable Voice Module

The final option is a programmable voice module. This is a small device that would work for our project away from the computer.  This would offer a distinct advantage over the other system by using fewer resources.  There is an initial cost involved in this system but it is outweighed by the advantages involved in using this device.  The module has a preset number of outputs.  This number depends on the type and length of output.  There are some predefined sirens, but the user can program outputs using an onboard microphone.  The speaker is also on board and the module runs on power provided by other devices in the system. 

 

The final choice between these three options depends on the final design of the project.  If the group decides on a modular approach to the design problem, then the programmable voice module would be a better choice.  However, if the computer is a major part of the design, then it makes more sense to simply use hardware that is already available. 

 

 

2.1.4.2 Mini-ITX Integrated Processing Unit / Small Computer Option

 

The mini-ITX computer system idea was introduced in order to take the many parts that were accumulating in the overall design and simplify them into a smaller, easier to organize unit.  Each of the different modules that were being added was custom, seldom used in field applications.  Logically, the use of a processing board and programming for it in a known programming language lead to the realization that a simple computer was being created, so why not look into using a computer to do the job instead? In fact, many of the devices that were already being considered could be eliminated from the overall system altogether, simplifying the complexity of the hardware portion of the project and eliminating some cost. 

In order have a properly functioning processing and control unit for the system, some basic components are needed. First and foremost is the motherboard, the VIA EPIA ML8000A, which contains a PCI slot, one 184pin DDR 266 (PC 2100) memory slot, onboard audio and video chipsets, two USB ports, one serial port and one parallel port. This motherboard includes a VIA C3 processor onboard, which is extremely powerful for the applications that this design project encompasses. However, the motherboard is still a cheaper option than the separate processing boards found and is capable of more duties that this project calls for, such as “multiplexing” serial inputs via the PCI expansion slot, audio playback and display. The VIA EPIA ML8000A is priced at $106.99 and the best choice for this design.

Memory to be included on the motherboard was thoroughly researched and compared, with a 256MB Kingston Value RAM dimm topping the list because of a great price, $30.99, and a company that is well respected and a recognized leader in the memory marketplace.

The method of storage for the data acquisition, comparison, and processing programs is split between using a USB Flash Drive and a notebook hard drive. Both of these options are viable for the design project, as the USB Flash drive is considerably smaller and generates less heat, while the notebook hard drive provides reliability and increased storage space. For a reasonable comparison, the Samsung MP0201H 20GB Notebook Hard Drive is priced at $29.99 compared to the OCZ Rally 1GB USB Flash Drive priced at $23.99. For a very small difference in price, twenty times more storage capability and improved system compatibility (as some distributions of Linux have less than desirable USB interface driver support) severely outweigh the space and heat generation issues produced by the notebook hard drive.

 In place of the serial multiplexer, a four port serial PCI card can be added to the PCI expansion slot on the motherboard in order to provide enough connections for the current number of measurement modules, expanding the capacity to 5 separate measurement module connections. The four port serial PCI card in interest is provided by StarTech and is listed as selling for $46.99. This is a slight yet considerable savings over the multiplexer options highlighted previously.

An LCD display is capable of operation through the parallel port provided by the motherboard. This display is a green background, black text, 20x4 characters Display Kit available online through mini-itx.com at a price of $47. This option is considerably less expensive than the display option that was looked at for the processing board setup, which is TTL based, and consequently more expensive, in the range of $150.

In addition, the computer has Ethernet access for remote file storage of patient data and supports manual start/stop entry from a programmable key-pad through USB or serial PS/2, options that were previously considered hard to design for and costly, by measure of time, money or both.

Overall the small computer option addresses every aspect of the design project in a simple and elegant way. This design implementation will be the direction the group will pursue.

  

2.1.5 Summary of Hardware Alternatives

 

From the given alternatives, the group will pursue the Mini-ITX Integrated Processing Unit / Small Computer Option.  The OEM III from Nonin Medical will be used to measure blood oxygen levels.  The group will use the NIBP from ColinTek, and it will use the UC-321 Body Weight Scale from A&D Medical.

 

2.2 Programming the Host Device

 

The host device program controls all functionality of the individual modules.  The program was written in the C++ language and runs in a Linux operating system.

Proceeding proper startup script functionality, the vital signs monitoring system initializes a custom-made program, intuitively named program.cpp. Within the include section, many standard and non-standard libraries alike are added to enhance the operational ability and functionality of the overall system. Among the collection of #include statements is the library which points to the highly modified file of serial.cpp.

The file serial.cpp contains the major functions which interact over serial communication, which include the 20x4 LCD character display, the pulse oximetry module / pulse oximeter device, the precision scale, and the non-invasive blood pressure module / blood pressure cuff. The functions, LCD_Init(), SPO2_Init(), SCALE_Init(), and BP_Init() are all responsible for initializing all of the devices on the proper serial ports with correct baud rates on a per device basis. This is a major accomplishment over using the built-in linux command of xxd, which restricted our access to specific port ranges that the device needed to communicate over as well as presented a steep learning curve that the group couldn’t overcome easily. The addition of the device initializations effectively eliminated the frequent communication errors the system experienced.

Serial.cpp also contains the functions that are inherently responsible for communicating over the serial connections. The function LCD_Write() accepts input values that correlate to the appropriate serial port location for the LCD display, the line number that the textual output should be displayed upon, and the text that is desired to appear on the display. The output of this function serves to concatenate coding within program.cpp by shortening the coding involved to print a desired message to the LCD display with only one line of code. The function LCD_Clear() is self-explanatory, as it clears the screen by printing four consecutive lines of null characters, or spaces, to the display.

The pulse oximetry data collecting function SPO2_Get() receives input values that correspond to the proper serial port location for the pulse oximetry module and integer pointers that are responsible for storing the collected data in a predictable position or address in memory. Also, within serial.cpp, the function responsible for getting data serially from the scale, SCALE_Get(), only needs an input that is associated with the serial port location of the device. A structure named SCALE_Val was created to aid in returning the vast amount of differing data to the main program, program.cpp, in a straight forward fashion without using pointers. Using the developed structure, three different values are recorded in memory to be accessed in an array format at a later instance. The last of the data collecting functions, BP_Get(), has not been written yet due to the unfortunate failure of one of the circuit boards associated with the hardware that the device needs in order to communicate serially. This should be finished by the competition deadline and is the only aspect of coding that is left beyond optimization and debugging after the clinical tests have been concluded.

The last function included within serial.cpp, getMouseRaw(), is responsible for setting the right port location for the modified PS/2 mouse connection. When called upon, the function is responsible for reading button presses on the front of the device, which, in turn, assigns a numerical value to each button press according to prescribed logic, returning a value of true or false.

Coming back to program.cpp, there is an expansive function prototype section of the code responsible for declaring the behavior of each function. More prototype / function pairs will be added to the program after clinical testing is completed in order to account for lapses in instruction and to clarify use of the overall system.

Entering into the function main(), the serial devices are initialized by calling DEVICE_Init(). A successful elimination of LCD display discrepancies is implemented by opening and closing the serial port that the LCD is connected to once before opening all of the devices on the appropriate serial ports. Next, the welcome screen is displayed by executing MENU_Welcome(), which uses LCD_Clear() and LCD_Write() found within serial.cpp to clear the screen of all text and then overlay the welcome message on the display. A system command is used to route a message through festival, a text-to-speech program, to the speakers where it can be heard by the user.

The welcome screen and dialog is followed by the declaration of a boolean variable menu_sel which is set equal to the output of MENU_scale(). The function MENU_scale() behaves very similar to the welcome menu function, but references the getMouseRaw() function contained within serial.cpp to determine a button press, [YES] or [NO], on the outer surface of the system. The [YES] button returns a value of false, letting the system know that the user is ready to receive instructions on the measurement that needs to be taken and waits for the measurement to be completed. The [NO] button returns a boolean value of true, which corresponds to skipping the measurement via the function MENU_Skip(). If the [YES] button is pressed down, the menu system takes the user through a series of informational screens with accompanying audio, instructing the patient on movements to be made and buttons to be pressed. After the patient is told to stand on the scale, the program executes to function M_scale() which is responsible for returning a numerical value for the weight  of the user. The function M_scale() initializes a variable, scalevals, of the SCALE_Val type to the returned value of SCALE_Get, found in serial.cpp. M_scale() then creates a character array based on the corresponding status signals received from the scale. These arrays are then printed to the screen and spoken audibly for the user to both see and hear. Currently, after the weight measurement is provided to the user, the system automatically proceeds to the pulse oximetry menu instead of telling the user that s/he can step off of the scale and resume a sitting position. Adding an instructional cue would clear up confusion on the user’s end and would make transition from weight measurement to the pulse oximetry menu more fluid.

After the final weight measurement screen and dialog have completed, menu_sel is given the value that is output from MENU_spo2(). The function MENU_spo2() tells the user that the system will be measuring his/her blood oxygen level and heart rate, prompting him/her to respond with a press of the [YES] or [NO] button. Similar to the weight measurement menu, if the [NO] button is selected, the MENU_Skip() function will be called, skipping the measurement sequence entirely. By pressing the [YES] button the system will proceed to the M_spo2() function, which will collect and analyze data from the pulse oximetry device. M_spo2() initializes fourteen separate variables and displays Printout #1 on the screen before doing any time averaging and computational work.

 

Printout samples for pulse oximetry data display.

 

Valid Reading: No                                     Valid Reading: Yes

Heart Rate: NA                                        Heart Rate: 68

Blood/Oxygen: NA                                   Blood/Oxygen: 98%

                                               

Printout #1                                              Printout #2

 

The data display for the pulse oximetry reading is in real-time, updated each clock cycle, or roughly once a second. Printout #2 is an example of a valid measurement and corresponding values that are expected. Within the for loop of M_spo2() the data is first compared to a known list of values that correspond to valid measurements. If the measurements are not valid, Printout #1 is displayed. However, if the measurements do fall into the valid measurement range, then the data is printed to the screen. It is important to note that since on average the first 10 valid measurements are abnormally high, they are discarded. The remaining measurement period of ten seconds is completed and the results averaged over this time period. Average heart rate and average blood oxygen level are reported to the patient via audible cue and as well as displayed on the screen.

Following the completion of the pulse oximetry measurement, program.cpp sets the value of boolean variable menu_sel to the returned value from the function MENU_bp(). MENU_bp() prompts the user to press the [YES] button when they are ready or to press [NO] if s/he would like to skip the measurement. MENU_Skip() is activated when [NO] is pressed just like the previous menu system responses. If the [YES] button is pressed, the program executes the function M_bp() which has yet to be written, due to the module circuitry becoming damaged. However, this function will be vastly different from the other two measurement function when it is completed because not only does the serial communication have to be received from the device, but data also needs to be sent to the device. Values will be read into a character or integer array and the last fifteen indexes will be analyzed for the appropriate data. The display will not contain a real-time display like that of M_spo2(), but will give an overall reading similar to the averaged results of M_spo2() and the displayed value of M_scale().

Finally, after all measurements have been taken the system writes the collected data to a file and stores it. Currently rsync is properly configured. However, along with programming for the blood pressure module and debugging the troublesome aspects of the code brought forth by the clinical testing, this functionality will be added. After rsync commences, DEVICE_Stop() closes all serial connections and the system thanks the user. It is the responsibility of the patient to turn off the device using the power button.

 

2.3  Casing

 

2.3.1 User Interface

           

The user interface includes a 5.12 x 2.48 inch LCD display (4 x 1.5 viewing area), three color coded buttons, and a set of laptop speakers.

 

2.3.1.1 LCD Display

           

The LCD display is connected to the host device through RS-232. It displays prompts for the user to act upon and outputs measurement results.

The display, purchased from Crystalfontz Liquid Crystal Displays, displays white letters on a blue background. Several color options for this model are available on the company’s website. White lettering with a blue background was chosen because it is clear and easy to read and does not strain the eyes after long periods of looking at it. The display has an adjustable backlight so that it may be easily seen in dim lighting conditions.

Twenty characters can be displayed on each of the display’s four lines. The characters are large and easy to read with a 7.3mm character height.

           

2.3.1.2 Buttons

 

From left to right, the first button is a red “No” button, the second is a green “Yes” button, and the third is a blue “Power” button. The power button is connected to the motherboard and Nonin module through two cables and sends the computer a signal to properly shut down and power off the system and Nonin module. The yes and no buttons are wired into the circuitry of an old computer mouse (where the original buttons were) and therefore connected to the computer through the PS/2 port. The button actuators (the part that you push with your finger) are each 1 inch by 2 inches in size and have brail printed on them to allow for easy access and use by those with disabilities.

The button actuators were constructed in the department machine shop and are made out of colored plastic and plexi-glass that was glued together to achieve the desired thickness. The actuators are fitted to temporary on buttons purchased from Intertex Electronics. Shallow groves matching the shape of the buttons were cut into the actuators so that they could be securely glued to the buttons. The groves help prevent the likelihood of an actuator accidentally snapping off of the button.

            The buttons and mouse electronics are mounted to a wood panel that is in turn mounted to the user interface panel of the plastic housing.

 

2.3.1.3 Speakers

           

To conserve space, laptop speakers are used to produce the audio output. The speakers were pulled from an old Dell laptop belonging to the Heat Pipe group. An RCA audio jack was soldered to the speaker wires to replace the original motherboard connector unique to the laptop.

 

2.3.2 Plastic Housing

 

The system casing is made of molded and cut ¼ inch plastic. As can be seen in Figure 2 below, the display and buttons are arranged on a tilted front panel to allow easy viewing of the display and easy access to the buttons. Two screened-over holes on the front panel allow for the speakers to be heard. The power supply, mother board, modules and other related computer components are mounted on an interior J-shaped piece of ¼ inch plastic. The system power cable comes out of the top of the back (the power supply is placed at the top to allow for proper airflow and cooling), the Ethernet and scale cables come out of the left side, and the SpO2 sensor and blood pressure cuff come out of the right side of the case.

 

Figure 2: System Case

 

            Both the encasement you see above and the interior J-shape (not seen) were manufactured by Allied Plastics. Allied Plastics was only able to cut the holes in the front panel because of the limitations of their equipment. The square holes for the scale, Ethernet, power supply cable, and SpO2 probe were cut by drilling a hole in the plastic and then using a Dremmel tool to cut it into a square shape. The holes for the power supply vent and blood pressure hose were cut using a drill. Modules and computer components were mounted to the interior J-shape by drilling holes in the plastic and then using screws to hold them in place.

 

2.3.3 Blood Pressure Cuff Modifications

           

A D-ring was sewn onto one end of the blood pressure cuff and the soft Velcro side was reversed (sewn in the exact same place on the opposite side of the cuff) to allow the user to put on the cuff using only one hand. The D-ring was made out of aluminum rod, bent into the desired shape.

 

2.4 Testing Procedure for Volunteers

           

The final phase of testing should be the most informative for improvement of the system.  Once approval is obtained from the Trinity Institutional Review Board to begin testing on humans, the group will recruit volunteers who will record their own vital signs using the fully assembled prototype.  The Review Board will most likely be concerned with the electrocution of volunteers.  The current and voltage that will be dangerous comes out of the wall at 120 V.  The only component that will draw from a wall outlet will be the power supply which supplies power to the rest of the components.  The safety of our prototype is directly connected to the safety of the power supply which is guaranteed by the manufacturer.  There are additional reasons why testing should be safe, and they are as follows:  The blood pressure cuff is plastic, ensuring that no electric current can travel to the volunteer when taking blood pressure.  There are no metal components in the oximeter probe, and the oximeter system will be battery operated at a voltage that will not provide enough current to harm the volunteer.  Finally, it is difficult to create a closed path while a patient is on the scale. 

            Each volunteer will be brought to the clinic on campus where testing will be performed.  The volunteer will sign a consensus form stating that he or she is willing to participate in the testing of the device.  There is also a parental consensus form for children brought in for testing.  The volunteer will then be read instructions on how to operate the prototype and will be allowed to ask any questions in regard to the system’s operation.  Once all questions are asked and the volunteer feels as though he or she understands the instructions, testing will begin.

            The volunteer will simulate one of the three disabled conditions that our system must accommodate.  To simulate blindness, the patient will be given goggles that impair vision.  Part of our design includes the use of Braille on controls and the casing of the monitoring system, but the group cannot expect volunteers to understand how to read Braille.  If the group is able to find a person with blindness that reads Braille and is willing to test the device, then the feedback given will be considered with utmost importance.  However, the design group will assume that a person with blindness has the capability to read or learn how to read Braille.  For paralysis of the right side, the volunteer will simply not be allowed to use his or her right arm to operate the prototype.  And finally, earplugs will be given to a volunteer to simulate deafness and the volunteer will not be allowed to use their hands due to severe arthritis.  This person in this condition will have the aid of a child because the competition states that the real patient has this advantage.  There will be no less than four volunteers per disability, giving a total of at least nine test subjects.  The many test subjects ensure that enough feedback is given to improve the prototype.

            Each volunteer will take all four of the vital signs that the prototype is capable of measuring.  Once each vital sign is taken, the volunteer will fill out a form commenting on the ease of measuring each vital sign.  The volunteer will also make any recommendations that he or she can for improvement.  Once all testing is complete, then the design group will read over each commentary and discuss the possibilities of prototype improvement given the remaining budget available. 

 

 

3. Results of Testing

 

The results of the test fall into two different sections.  The first are the numerical results.  They are the results used to check if the system is providing vital signs that are reasonable.  The next results have to do with the level of difficulty of using the system.  These results are based largely on the testimonies of the volunteers, which are found in the answers to the questions handed out at the end of a test run.

 

3.1 Numerical Results

 

There are a total of twenty three measurements for each vital sign from testing.  One would think that there would be twenty four measurements with twelve tests (two test runs a piece) but one volunteer arrived late and was only tested once.  Also, there are no numerical results for blood pressure because the blood pressure cuff broke directly before testing.  The design group is currently investigating how it may be repaired.  The group ensured with blood pressure that the patient could successfully attach and detach the blood pressure cuff.  Otherwise the results were encouraging.  The average difference between the basis obtained from the clinic and the test runs for weight was 0.5 lbs.  This difference is negligible.  The average difference for blood oxygen level was 0.8% within a range of 95-99%.  All volunteers had normal blood oxygen levels.  Heart rate fluctuates so much from measurement to measurement that the group ensured that all measurements registered a heart rate within the normal range of 60-100 bpm.  All patients fell within this range.

 

3.2 Level of Difficulty Results

 

3.2.1 Blindness

 

A total of five subjects simulated blindness for the testing procedure.  All subjects for all testing circled a level of difficulty for each step in taking their vital signs.  The scale was from one to five, one being very easy and five being very difficult.  Three volunteers commented that they had no difficulty in performing the necessary steps to record their vital signs.  They marked either one or two on their exit questionnaires.  One subject commented there moderate difficulty hearing their results read to them.  And one subject commented there was difficulty (fours and fives on the questionnaire scale) in finding and using the measurement devices (scale, oximetry sensor, and blood pressure cuff). 

 

3.2.2 Paralysis of the Right Side

 

Five subjects simulated this condition as well, which entailed them not having use of their right arm.  Three subjects commented no difficulty in using the equipment.  Two subjects commented that they had great difficulty attaching the oximetry sensor and the blood pressure cuff to the arm that was supposed to be paralyzed.

 

3.2.3 Deafness and Severe Arthritis

 

The original plan was to test four times for each disabled condition.  However, finding four children to assist in the testing proved difficult, and the group was only able to test twice for this condition.  However, both ten year old children who used the system commented that they had no difficulty in using the system.

 

 

 

3.2.4 Is the System Learnable?

 

All volunteers commented on the second questionnaire given to them that the system was either so easy to use that there was not a need for a second test, or that with repetition the level of difficulty of each step would decrease very quickly.  

 

4. Budget and Scheduling

 

4.1 Budget

 

The RERC on AMI design competition provided $2000 funding to be used on parts and expenses for the design and construction of the prototype.  A stipulation of this budget was that outside funding could not be used.  Below, Table 4 gives the cost of the various parts purchased for the prototype

 

Table 4: Cost of Parts

Company

Part

Cost

ColinTek

Blood Pressure Monitor