Title: Infusion Pump Controller
1Infusion Pump Controller
- Requirements Definition
- A
- Decision-Table Approach
by
Richard Riehle
2CARA
- Computer-Aided Resuscitation Algorithm
- Purpose
- Blood Pressure Monitoring
- Prevent Hypotension
- Fluid Resuscitation
3 Controlling Instrumentation
- Infusion Pump
- Physiological Monitoring Device
- arterial line
- non-invasive cuff
- pulse wave
- others may be added
4 Objective
- Use results from PMD
- Define acceptable range for BP
- Detect out of range conditions
- Activate M100 Infusion Pump
- Fluid resuscitation measures
- Log activity
5 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
6Functional 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
7 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?
8 Approach to Requirements Definition
Real-time extensitions to Structured Analysis
Method
- 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
9Chosen 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
10 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
11 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
12 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
13 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
14 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
15 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
16 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
17CARA 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
18CARA Conditions
- Current BP Reading in Range?
- Pulse Wave Signal Detection?
- Using Cuff Pressure?
- Arterial Line?
- Beat to Beat Source?
- Valid BP Reading?
- Cuff Frequency gt Some Value?
- Drop in BP Occurred?
- In Autocontrol Mode?
- Pause button Activated?
Not an exhaustive list
19Sample Decision Table for CARA
BP lt 60 hg T T T T T T T
T F F F F F F F F Valid BP
F F F F T T T T F F F F
T T T T BP
gt 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
X Action 2
X Action 3
X Action 4
X
20Summary
- 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
21 Questions?
Questions?