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