Infusion Pump Controller Requirements Definition A Decision-Table Approach by Richard Riehle.

Post on 19-Dec-2015

214 views 0 download

transcript

Infusion Pump Controller

Requirements Definition

A

Decision-Table Approach

by

Richard Riehle

CARA

Computer-Aided Resuscitation Algorithm

Purpose Blood Pressure Monitoring Prevent Hypotension Fluid Resuscitation

Controlling Instrumentation

Infusion Pump Physiological Monitoring Device

arterial line non-invasive cuff pulse wave others may be added

Objective

Use results from PMD Define acceptable range for BP Detect out of range conditions

Activate M100 Infusion Pump Fluid resuscitation measures

Log activity

Some General Software Guidelines

Safety Critical Application Single Computer Single-threaded Algorithm Real-time

i.e. tight timing constraints

Must be used in Rugged environment Remote Communication Option Marginal User Expertise

Functional Software Guidelines

Data Input From Sensors Single BP Reading

Visual Display of Data User-controllable range settings Error Detection

Is sensor behaving correctly? Is M100 behaving correctly?

Proportional Close-loop Algorithm drives M100 Infusion Pump

Software Behavioral Considerations

Many possible conditions BP Readings may vary Possible interruption for maintenance

e.g. change the IV Bag change location of infusion tube

Relatively few possible actions Actions require feedback loop for error control

Question for future design:

Can this be a cyclic executive design or do we need priority preemptive scheduler?

Approach to Requirements Definition

Possible Approaches Structured Methods

Hately-Pirbhai Boeing Method Buhr Machine charts

Object Modeling UML and Use Cases Schlaer-Mellor CRC Cards

Formal Methods State Based Modeling

Real-time extensitions to

Structured Analysis Method

Chosen Approach

State Based Modeling Why?

Single-purpose algorithm Not an object-oriented problem Use case: interesting but unnecessary

Decision-tables Will Work Fine Could also use formal methods, but

There are more conditions than actions Timing issues are important Overkill

Why Decision Table Approach?

Safety-critical permits no set of conditions to be overlooked.

Algorithmic implementation can map well to decision table

Facilitates Communication Easy for customer to understand Easy for programmer to understand

Decision Table Model - 1

Condition-1 T T T T F F F F

Condition_2 T T F F F T T F

Condition-3 T F T F F T F T

Action-1 X X

Action-2 X X

Action-3 X X

Action-4 X X X

Action-5 X

Decision Table Model - Condition Stub

Condition-1 T T T T F F F F

Condition_2 T T F F F T T F

Condition-3 T F T F F T F T

Action-1 X X

Action-2 X X

Action-3 X X

Action-4 X X X

Action-5 X

Condition Stub

Decision Table Model - Action Stub

Condition-1 T T T T F F F F

Condition_2 T T F F F T T F

Condition-3 T F T F F T F T

Action-1 X X

Action-2 X X

Action-3 X X

Action-4 X X X

Action-5 X

Action Stub

Decision Table Model - Condition Entry

Condition-1 T T T T F F F F

Condition_2 T T F F F T T F

Condition-3 T F T F F T F T

Action-1 X X

Action-2 X X

Action-3 X X

Action-4 X X X

Action-5 X

Condition Entry

Decision Table Model - Action Entry

Condition-1 T T T T F F F F

Condition_2 T T F F F T T F

Condition-3 T F T F F T F T

Action-1 X X

Action-2 X X

Action-3 X X

Action-4 X X X

Action-5 X

Action Entry

Four Step Process

Define all the Possible Actions (for ActionStubs)

Define all the Possible Conditions (for Condition Stubs)

Determine which conditions are Possible Eliminate those that cannot ever occur

Which Conditions trigger which actions

CARA Actions Monitor Air Pump Line Monitor Impedance Signals Display Error Message Trigger Audible Alarm Set Alarm Lamp On Monitor EMF Line Keep track of infused fluids Calculate and Log Volume Infused Record when in manual/automatic mode Monitor Blood Pressure Log Blood Pressure reading Record Source of BP Reading Record time of BP Reading Display BP Graph Display Flow Rate Graph Display Infused Volume Graph Display Numerical values for BP, Infused Volume, etc. Keyboard entry of BP to which CARA with titrate

Not an exhaustive list

CARA Conditions

Current BP Reading in Range?

Pulse Wave Signal Detection?

Using Cuff Pressure?

Arterial Line?

Beat to Beat Source?

Valid BP Reading?

Cuff Frequency > Some Value?

Drop in BP Occurred?

In Autocontrol Mode?

Pause button Activated?

Not an exhaustive list

Sample Decision Table for CARA

BP <= 60 hg T T T T T T T T F F F F F F F FValid BP F F F F T T T T F F F F T T T T BP => SetPoint F T T F T T F F F F T T T T F F Prev BP /= Current BP F F T T T F T F F T F T T F F F Action 1 XAction 2 XAction 3 XAction 4 X

Summary

Decision Tables are Simple to Use Easy to read

CARA lends itself to this approach Cannot afford undiscovered conditions Must match all actions to some

conditions

Questions?