17
Software Safety Features
Hardware-related Software
Safety Features
Program Memory Check
At power up and at regular intervals
thereafter, the program memory is tested
by calculating a Cyclic Redundancy Code
(CRC) on the program and then comparing it
with the CRC stored with the program. If the
stored and calculated CRCs do not match, the
software will turn on a continuous two‑tone
audible alarm and stop all drug delivery.
RAM Memory Check
At power up, the random access memory is
checked. A particular bit pattern is written to
and read from each address in the RAM. If the
read data is different from the written data,
the software will turn on a continuous two‑
tone audible alarm and stop all drug delivery.
Motor Circuit Check
At power up and at regular intervals
thereafter, the motor circuit is checked to
ensure that no power is being applied to
the motor unless the motor is actually on.
If the software detects power being applied
to the motor at any other time, it will sound
a continuous two‑tone audible alarm and
will no longer attempt to deliver medication.
During every pump activation, the software
checks to see whether the motor completes
one activation. If the motor fails to turn, or
fails to complete a cycle, the software will
turn on a continuous two‑tone audible alarm
and stop all drug delivery.
Keyboard Encoder Check
Every time the software receives data from
the keyboard encoder, it is checked. If the
data is not of the proper form, the software
will turn on a continuous two‑tone audible
alarm and stop all drug delivery. The DOSE
key has two independent signal lines to
prevent single fault failures.
Data Handling
Software Safety Features
Data Stored in RAM
Before use, data associated with delivery and
stored in RAM is tested by calculating a CRC
on the data and then comparing it with the
CRC stored with the data. If the stored and
calculated CRCs do not match, the software
will turn on a continuous two‑tone audible
alarm and stop all drug delivery.
Data Stored in EEPROM
Before use, data associated with delivery and
stored in EEPROM is tested by calculating a
CRC on the data and then comparing it with
the CRC stored with the data. If the stored and
calculated CRCs do not match, the software
will turn on a continuous two‑tone audible
alarm and stop all drug delivery.
Data Stored in NOVRAM
Before use, data associated with delivery and
stored in NOVRAM is tested by calculating a
CRC on the data and then comparing it with
the CRC stored with the data. If the stored and
calculated CRCs do not match, the software
will turn on a continuous two‑tone audible
alarm and stop all drug delivery.
Data Used in Calculations
Calculations on data used in some way to
control the delivery of drug are performed
redundantly. The two calculated values are
then compared. If the two values do not
match, the software will turn on a continuous
two‑tone audible alarm and stop all drug
delivery.
Timer Data Registers
The data stored in the timer control register
is checked at regular intervals. If the data
is not correct, the software will turn on a
continuous two‑tone audible alarm and stop
all drug delivery.