Infusion Pump Controller Requirements Definition A Decision-Table Approach by Richard Riehle.
-
date post
19-Dec-2015 -
Category
Documents
-
view
214 -
download
0
Transcript of Infusion Pump Controller Requirements Definition A Decision-Table Approach by Richard Riehle.
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?