Final SDD
For 80047 ISM 4331
H.I.S. Patient Monitor System
Software Design Description
PMS SDD Final Ver. 4.4
Group 5: H.I.S. Patient Monitor System
Individual SDD work estimations and signature:
Pascal Benoit: 5 % ______
Mike Cormier: 55 % ______
Barry Hom: 40 % ______
For FGCU assignment due 11-18-03
Table of Contents
1. Introduction…………………………………………..……………..….……….….4
1.1 Purpose……………………………….………..………….……………….…..4
1.2 Scope………………………………….……..…………….……………….….4
1.3 Definitions…………………………………..………….………….……….….5
1.4 References…………………………………..…………………….……….…..6
2. Decomposition Description……………………..…..…………..…….………..…..7
2.1 Module Decomposition…………….……………….…………………………7
Figure 2.1.1 Architectural Diagram…..…………………………….……………..7
Figure 2.1.2 Module Diagram……………………………………………………..8
Figure 2.1.3 Class Diagram………………………………………………………..9
2.1.1 Communication Module description….….…..….………………………….9
2.1.2 Display Module description……………..…...…………………..…….10
2.1.3 Options Module description………….….…….……...………….…….10
2.1.4 Main Control Module description………..…….…….…………….…..10
2.2 Concurrent Process Decomposition………….………….…….…….……..……11
Figure 2.2 Module Concurrent Processes…………….………………….…...12
2.2.1 Main Control Module Process description……….………………….…13
2.2.2 Communication Module Process description……..……………….…...13
2.2.3 Alarm Module Process description……………….………….……...….13
2.2.4 Option Module Process description……………….………….…….…..13
Figure 2.3 Data Diagram..………………….….….…………………….…….14
3. Dependency Description..…………………………………..………...……...... 14
3.1 Intermodule Dependencies…..…………………….…..…….…...... 14
3.2 Interprocess Dependencies…………………………….….…..……….…...... 15
Figure 3.3 Data Dependency Diagram……………………………………….15
3.3 Data Dependencies…………………………………….……………..………14
4. Interface Description………………………………..…………….…….....……..15
4.1 Module Interface…….……………………..…………….….………..……...15
4.1.1 Communication Module description…….……..………………..……..15
Figure 4.1.1 Communication Module……………………………….…16
4.1.2 Display Module description……………….………………..………….16
Figure 4.1.2 Main Control Module…………………………………….17
4.1.3 Options Module description………………….….…...…………..……18
Figure 4.1.3 Options Module…………………………………………..19
Figure 4.1.5 Display Module…………………………………………...19
4.2 Process Interface……………………………………………………….…….19
Figure 4.2 Process Interface Diagram………………………………………..20
5 Detailed design………………………..…..……………………………………....20
5.1 Module Detailed Design………..……………………………………………20
5.1.1 Communication Module detail………….………………………………20
5.1.2 Display Module detail…..………………………….….….…….………20
5.1.3 Alarm Module design……………………….…….….…………………21
5.1.4 Main Control Module design..….…………….…………….………...... 21
5.2 Data detailed design……………………………………………………….…..21
5.2.1 Patient Data detail.……………….………………………...……………21
5.2.2 EKG Data detail…………………..……………………………………..21
5.2.3 Pulse Data detail…………………..………………………..………..….21
5.2.4 Body Temperature Data detail……………………..…………….……...21
6 Pseudocode………………………………………………………………………...23
7 Appendices………………………………………………………………………...26
7.1 Appendix #1: Minutes of Meeting #1………………………………………….27
7.2 Appendix #2: Minutes of Meeting #2…………………………………………28
7.3 Appendix #3: SDD Verification and Evaluation……………………………….29
Anomaly List…………………………………………………………………..30
Inspection Anomaly Summary…………………………………………………31
7.4 Appendix #4: SRS Traceability Matrix……………………………………...…32
7.5 Appendix #5: ADC Technical Data……………………………………………34
7.6 Appendix #6: ADC Tester Data………………………………………………..35
1. Introduction
1.1 Purpose
This Software Design Description (SDD) [4] represents the software needed for
the Patient Monitoring System [2]. This SDD gives software design information
for use by the software development team, as well as project managers, system
designers, programmers, testers, and maintainers.
The Patient Monitoring System (PMS) accepts analog measurements converted
to digital signals by a SuperLogics ADC-1 [9] and sent to a Windows 98
computer Com port as specified [10]. The PMS software displays graphical and
numeric representations of the original analog patient sensor outputs.
This SDD shows four G.U.I. designs implemented in Visual Basic 6. However,
the final coding is specified as a Java applet able to run in a browser [2]. The
pseudo code provided in this SDD is done in Java.
This SDD provides entity attribute information from four specified [4] design
views: a decomposition description, a dependency description, an interface
description, and a detail description. These views conform to specifications [4].
1.2 Scope
The Patient Monitor System (PMS) [2] conforms to the specific requirements of
the Digital Hospital and Medical Information System (HIS) [3] for its Real-Time
Patient Monitoring System (PMS) [3]. This software SDD follows international
specifications set by the IEEE standards for SDDs [4].
The PMS [3] accepts existing analog patient monitoring inputs and will output
a graphic display for EKG and six numeric displays for EKG, Oximeter, systolic
blood pressure, diastolic blood pressure, mean blood pressure, and for body
temperature. The PMS will also display text for Patient ID and time of day [3].
The values must be within 3% of actual value and display remotely within 5
seconds. This PMS also provides a standard pulse oximeter graphical display.
1.3 Definitions, acronyms, and abbreviations [1].
1.3.1 AES. Advanced Encryption Standard.
1.3.2 ASP. Application Service Provider.
1.3.3 Diastolic Blood Pressure. The diastolic pressure represents the pressure at which a heart’s aortic valve closes.
1.3.4 DOB. Date of Birth
1.3.5 DSP. Distributed Services Provider.
1.3.6 EKG. An EKG (or ECG) graphically and numerically represents the
difference in signals between two to six heart sensors placed on a patient’s chest. These representations conform to universal standards.
1.3.7 EKG Oscilloscope Monitor. An EKG monitor displays a heart rate
represented by a graphical waveform interpreted from the sensor outputs. The sensor outputs and monitors are usually proprietary and
brand specific, although their displays conform to universal standards.
1.3.8 FAT32. File Allocation Table 32 Bit, a digital encoding standard.
1.3.9 Fps. Frames per second, a reference to video speed.
1.3.10 HIPAA. This is an acronym for the Health Insurance Portability and
Accountability Act of 1996.
1.3.11 H.I.S. Health Information System. This Patient Monitor System
(PMS) is part of the overall Health Information System (HIS). Refer
to 1.4 References [1], page 6.
1.3.12 ISO 8601. A standard format for representing date and time
recommended by the International Organization for Standardization.
1.3.13 JPEG. Joint Photographic Experts Group. This is another digital
image standard.
1.3.14 Non-Digitized Professionals. The H.I.S. SRS [1] specifies NDRs as
health-care providers who have no access to digital records through
lack of hardware, software, or preference to legacy flat file charting
methods.
1.3.15 PMS. The Patient Monitoring System. A “real-time” software
program which displays a digital graphic representation of up to 8
analog patient sensor outputs sent to a computer’s serial COM port
from a SuperLogics ADC-1 analog to digital serial capture device
[3], as specified in the H.I.S. S.R.S. [1]. This SDD describes that
software program (HIS/PMS or PMS).
1.3.16 Pulse Oximeter. An oximeter device represents the percentages of
oxygenated hemoglobin in a bloodstream; a pulse representation.
1.3.17 SDD. Software Design Description. [4].
1.3.18 SDLC. This is an acronym for a Systems Development Life Cycle.
1.3.19 SRS. Software Requirements Specification [5].
1.3.20 Systolic Blood Pressure. The systolic pressure represents the peak pressure in an arterial system.
1.4 References
[1] Alhir, Sinan Si, Learning UML, O’Reilly & Associates, Sebastopol,
California, 2003.
[2] Benoit P., Cormier M., Hom B., Patient Monitor System SRS, Florida
Gulfcoast University, Fort Myers, Fl., October, 2003
[3] Ciliberti J., Hoyt E., Mack B.,and Lewis J., Digital Hospital and Medical
Information System SRS, Florida Gulf Coast University, Fort Myers,
Fl., September, 2002.
[4] IEEE Recommended Practice for Software Design Descriptions,
IEEEE Std. 1016-1998, New York, New York, September 23, 1998.
[5] IEEE Recommended Practice for Software Requirements Specifications,
IEEEE Std. 830-1998, New York, New York, June, 1998.
. [6] Hewlett-Packard, HP Viridia Component Monitoring System User’s
Guide, Hewlett-Packard GmbH, U.S.A., 1998.
[7] Masimo Corporation, Radical Signal Extraction Pulse Oximeter
Operator’s Manual, Irvine, California, 2002.
[8] Quatrani, Terry, Visual Modeling With Rational Rose 2002 And UML,
Addison-Wesley, Pearson Education, Inc., Boston, Maryland, 2003.
[9] SuperLogics, ,
September, 2003.
[10] SuperLogics, ADC/DIG User’s Manual, SuperLogics, Newton, MD,
May, 2001.
2. Decomposition Description
2.1 Module Decomposition
The PMS software will be composed of the I/O information shown below in the
PMS Architecture Diagram, figure 2.1.1; the Module Diagram, figure 2.1.2; and
the Class Diagram, figure 2.1.3.
Figure 2.1.1 Architectural Diagram
Figure 2.1.2 Module Diagram
Figure 2.1.3 Class Diagram
2.1.1 Communication Module description
The Communication Module will be a user interface that saves default
settings to communicate with the ADC-1 data capture device through a
chosen Com port and port speed, using digital commands.
This module will receive digital inputs from the ADC for up to eight
analog devices which are hooked to the ADC data capture device.
This module uses its default timing settings to poll all eight devices in turn.
This module will output data for the eight devices and any error messages
to the Main Control Module.
2.1.2 Display Module description
The Display Module will be an interface used by the Main Control Module.
This module will display the moving graphic diagrams, the numeric values,
and the alarm values for eight possible devices hooked to the ADC device.
The module will flash the display when an Alarm value is reached.
This module receives input from the Main Control Module.
2.1.3 Options Module description
The Options Module will be a possible user interface to implemented at a
later time when the HIS [?] interface requires these capabilities.
Saving and Printing will effectively terminate the data inputs from the ADC
unit and the reliability and need for streaming video is currently being
studied. Use of the Internet for vital patient monitoring is being studied.
2.1.4 Main Control Module description
The Main Control Module is the primary User Interface. This module will
receive inputs from the Communication, Alarm, and Options Modules.
This module outputs to the display module. User selections made to the
Main Control Module will control the functions of the overall PMS [?]
software. The Main Control Module also displays any Error Messages
from the Communication Module or the future Options Module.
2.2 Concurrent Process Decomposition
The PMS software will include the concurrent processes shown on the next page
in the Module Concurrent Processes diagram, Figure 2.2.
Each Module’s Concurrent Processes will be detailed in following sections.
Most user actions are handled by the Main Control Module which outputs to the
Display Module. These two modules are displayed together whenever the PMS
is running. The other Modules are also active, but only displayed when selected.
Status of the Communication Module is displayed in the Main Control Module.
The Communication Module inputs and outputs via the selected COM port to the
ADC device. The ADC device is hooked to the analog patient sensors.
The Communication Module retains the communication settings. This module
passes the ADC sensors’ data and any error messages to the Main Control Module.
Starting and stopping of the Communication Module is done by User Input to
the Main Control Module. The Main Control Module also displays any error
messages from the Communication Module.
The Alarm and Options Modules store their respective settings and output any
User Inputs to the Main Control Module. The Main Control Module flashes
a warning when any Alarm Setting is reached and also resets the alarms from
User Input. The Alarm and Options Module are User Interfaces and Processes.
The Options Module is not active in this iteration of the PMS. The Options
Module will later store settings and the Main Control Module will display separate
forms when the User selects one of the Options.
Figure 2.2 Module Concurrent Processes
2.2.1 Start PMS
The user starts the PMS and adjusts the settings through the Main Control Module on the display. The user can make different selections among communications, alarms, options, starts and stops, and to exit the PMS.
2.2.2 Communications
The Communications Module is adjusted by the user through the Main Control Module. The Communications Module passes the user adjustments to the ADC. The data and error message from the ADC sensors are passed back to the Main Control Module.
2.2.3 Alarms
The Alarms can be adjusted by the user. The alarms are monitored by the Main Control Module. The displays flash a warning when data is passed from the alarms.
2.3 Data Decomposition
The data will be grouped together in the manner in which it is collected or inputted.
A Data diagram, Figure 2.3, is provided on the next page.
2.3.1 Patient Data
Patient Data has the Patient ID (first name and last name), the current date, and the current time. Patient Information is user adjustable.
2.3.2 EKG Data
EKG Data will be collected from disposable electrode sensors.
2.3.3 Pulse Data
Masimo finger sensors will collect pulse information. Pulse data will include pulse oximeter outputs, systolic pressure, diastolic pressure, and mean pressure.
2.3.4 Body Temperature Data
Body Temperature Data will be collected through an alternative sensor. Figure 2.3
Below shows a Data Diagram.
Figure 2.3 Data Diagram
3. Dependency Description
3.1 Intermodule Dependencies
The two modules are the inputs coming from the patient into the H.I.S. and the outputs from the H.I.S. to the display. From the finger sensors, chest sensors, and other alternate sensors, data on the EKG, pulse, and body temperature are sent to the H.I.S. The H.I.S. processes this information and outputs it to a display. The display shows the data in an
understandable and useable form so the user can interpret and understand the data properly.
3.2 Interprocess Dependencies
The main data process occurs in the ADC-1 device in the H.I.S. The Communications Module passes data from the ADC sensors to the Main Control Module, where the data is displayed.
3.3 Data Dependencies
The ADC-1 device depends on data from the patient so it can pass it along to the user.
A Data Dependency diagram, Figure 3.3, is provided below.
Figure 3.3 Data Dependency Diagram
4. Interface Description
4.1 Module Interfaces
4.1.1 Communication Module
The Communication Module will receive digital inputs from the ADC for up to eight analog devices, which are hooked to the ADC data capture device. Figure 4.1.1 shows the Communication Module.
Figure 4.1.1 Communications Module
4.1.2 Main Control Module
The Main Control Module has the main controls and does the main data processing. Figure 4.1.2 below shows the Main Control Module.
The Main Control Module is a user interface that will receive inputs from the Communications and Options Modules.
Figure 4.1.2 Main Control Module
4.1.3 Options Module
Options Module will be implemented at a later time. A proposed interface is shown
below in Figure 4.1.3.
Figure 4.1.3 Options Module
4.1.4 Display Module
The Display Module is the graphical screen that is at the center of Main Control Module. Figure 4.1.4 shows the Display Module.
Figure 4.1.4 Display Module
4.2 Process Interface
A Process Interface Diagram, Figure 4.2, is provided below.
1
Figure 4.2 Process Interface Diagram
5. Detailed Design
5.1 Module Detailed Design
5.1.1 Communication Module
The Communication Module will receive all the Patient Sensors data (EKG Graphical, EKG Numeric, Systolic BP Numeric, Diastolic BP Numeric, Mean BP Numeric, Body Temp Numeric, and Oximeter Numeric) through the ADC.
5.1.2 Display Module
The Display Module receives input from the Main Control Module displaying data like EKG Graphical, EKG Numeric, Systolic BP Numeric, Diastolic BP Numeric, Mean BP Numeric, Body Temp Numeric, and Oximeter Numeric.
5.1.3 Alarm Module
The user must set the alarm settings, depending on the person, to best aid the person during their stay. These settings will be displayed in the Main Control Module.
5.1.4 Main Control Module
The Main Control Module (considered to be the primary module) retrieves all the Patient Sensors data from the Communication, Alarm, and Option Module and displays them in the Display Module. This information will be saved for future examination for future visits.
5.1.5 Options Module
Options Module will be having the option to print and save information
5.2 Data Detailed Design
5.2.1 Patient Data
Contains information of all patients, mainly being their name.
5.2.2 EKG Data
EKG Data will be retrieved from the ADC-1, using disposable sensors.
5.2.3 Pulse Data
Pulse data will include pulse oximeter outputs, systolic pressure, diastolic pressure, and mean pressure, which are all retrieved from the ADC-1.
5.2.4 Body Temperature Data
Body Temperature Data will let us know how the patient reacts to certain activities, letting doctors know if it’s harmful.
6. Pseudocode
Process Overview
User turns on system
Main Control Module activates Communication Module
Communication Module activates ADC-1
ADC-1 activates sensors
ADC-1 collects data from sensors
Sensors send data to the ADC-1
ADC-1 sends data to the Main Control Module
Main Control Module builds graph and other GUI images
Graph and GUI images are displayed for the user
User has option to continue using the system or turning it off
Communication Module scans for new data from the ADC-1 every 3 seconds
Detailed Process
1. Power On Process
Boolean: User presses On button, turns on system
If On Button Pressed Boolean = true, then send message to Main Control Module (Main Control Module = pmMain) to begin process
Else exit
If Main Control Module Begin Process Boolean = True, then pmMain activates Communication Module, pmMain On Boolean = true
Else exit
Communication Module Activation (Communication Module = pmCommo)
If pmMain On Boolean = true, then continue
Else exit
Set COM port speed = 9600
Send COM port speed to ADC-1
Turn on ADC-1
If COM Port Speed Received Boolean = true, then turn on ADC-1 input module
Else exit
If ADC-1 Input Module Boolean = true, then turn on patient sensors
Else exit
2. System Process
ADC-1 receive analog inputs from patient
ADC-1 scan sensors for analog inputs
If Systolic Pressure Boolean = true, then send Systolic Pressure integer to ADC-1
Else continue
If Diastolic Pressure Boolean = true, then send Diastolic Pressure int to ADC-1
Else continue
If Mean Pressure Boolean = true, then send Mean Pressure integer to ADC-1
Else continue
If EKG Boolean = true, then send EKG integer to ADC-1
Else continue
If Body Temperature Boolean = true, then send Body Temperature double to
ADC-1
ADC-1 sends Systolic Pressure integer, Diastolic Pressure integer, Mean Pressure integer, EKG integer, and Body Temperature double to Communication Module (pmCommo)
If pmCommo Received Boolean = true, then ADC-1 continue to receive digital inputs from patient
Else continue
If ADC-1 Error Message Boolean = true, then send Error Message to pmCommo