Medical device system performance index
A distributed network system and method includes a processing unit configured to manage safety data for a plurality of medical devices, a database software component in communication with the processing unit, and a monitoring software component in communication with the processing unit. The monitoring software component is configured to monitor a number of messages between a number of medical devices and the processing unit, to process performance parameters to generate an overall performance index, and to generate an output that is viewable by a user. The output includes relative contributions of each of the performance parameters to the overall performance index, where the overall performance index is generated using a weighting factor associated with each of the performance parameters. The performance parameters include the number of messages waiting to be processed, which has the largest weighting factor, and a disk queue length, which has the smallest weighting factor.
1 . A system comprising:
computer-readable memory storing executable instructions; and
one or more processors in communication with the computer-readable memory, and a server, wherein the server is configured to communicate over an infusion pump network with a plurality of infusion pumps to transmit and receive pump messages, and wherein the one or more processors are programmed by the executable instructions to:
monitor transmission or receipt of the pump messages between the server and the plurality of infusion pumps;
identify a plurality of performance parameters, wherein the plurality of performance parameters comprises at least a first performance parameter and a second performance parameter, wherein the first performance parameter comprises a number of messages from the plurality of infusion pumps waiting to be processed;
determine a weighting factor for each of the plurality of performance parameters, wherein each weighting factor is determined based at least in part on a degree to which a corresponding performance parameter contributes to performance of the infusion pump network, wherein a first weighting factor for the first performance parameter is larger than a second weighting factor for the second performance parameter, wherein the second weighting factor is larger than zero; and
generate a performance index based at least in part on the plurality of performance parameters and the plurality of weighting factors, wherein the performance index comprises a product of: (a) a maximum index value and (b) a sum of each performance parameter value divided by a corresponding maximum allowed performance parameter value and multiplied by the corresponding weighting factor.
2 . The system of claim 1 , wherein a largest weighting factor of the plurality of weighting factors corresponds to the first weighting factor of the first performance parameter.
3 . The system of claim 1 , further comprising a database server configured to store the pump messages, wherein the plurality of performance parameters further comprises a central processing unit (CPU) consumption of the server, a CPU consumption of the database server, a processor queue length (PQL) of the server, a PQL of the database server, a disk queue length (DQL) of the server, a DQL of the database server, or a memory usage.
4 . The system of claim 3 , wherein a largest weighting factor of the plurality of weighting factors corresponds to the first weighting factor of the first performance parameter, a second largest weighting factor corresponds to the second weighting factor of the second performance parameter, wherein the second performance parameter comprises one or more of the CPU consumption of the server, the CPU consumption of the database server, the PQL of the server, or the PQL of the database server, and a smallest weighting factor corresponds to at least one of the DQL of the server, the DQL of the database server, or the memory usage.
5 . The system of claim 4 , wherein:
a corresponding maximum allowed performance parameter value of the CPU consumption of the server corresponds to a sum of a maximum of the CPU consumption of the server and a maximum of average CPU consumption of the server,
a corresponding maximum allowed performance parameter value of the CPU consumption of the database server corresponds to a sum of a maximum of the CPU consumption of the database server and a maximum of average CPU consumption of the database server,
a corresponding maximum allowed performance parameter value of the PQL of the server is based upon a number of cores of the server,
a corresponding maximum allowed performance parameter value of the DQL of the server corresponds to a maximum DQL,
a corresponding maximum allowed performance parameter value of the number of messages waiting to be processed corresponds to a maximum number of messages waiting to be processed by the plurality of infusion pumps, and
a corresponding maximum allowed performance value parameter of the memory usage corresponds to a maximum of the memory usage.
6 . The system of claim 3 , wherein:
the first weighting factor for the first performance parameter is about 30%;
the second weighting factor for the second performance parameter comprising the CPU consumption for the server is about 12.5%;
a third weighting factor for a third performance parameter comprising the PQL for the server is about 12.5%;
a fourth weighting factor for a fourth performance parameter comprising the DQL for the server is about 5%;
a fifth weighting factor for a fifth performance parameter comprising the CPU consumption for the database server is about 12.5%;
a sixth weighting factor for a sixth performance parameter comprising the PQL for the database server is about 12.5%;
a seventh weighting factor for a seventh performance parameter comprising the DQL for the database server is about 5%; and
an eighth weighting factor for an eighth performance parameter comprising the memory usage is about 10%.
7 . The system of claim 1 , wherein the one or more processors is further configured to simulate a number of infusion pumps communicating with the server to simulate a load on the system and determine performance of the system based on the number of infusion pumps.
8 . The system of claim 1 , wherein the one or more processors is further configured to determine an optimal number of infusion pumps for the system to achieve a desired system load or speed or an indication of an optimal configuration of the system to achieve the desired system load or speed.
9 . The system of claim 1 , wherein the one or more processors is further configured to simulate a number of infusion pumps, types of infusion pumps, and a number of messages generated by the number of infusion pumps to determine a load on the system and determine performance of the system.
10 . The system of claim 1 , wherein the one or more processors are programmed by the executable instructions to cause a display to display an indication of the performance index, wherein the indication of the performance index identifies a relative contribution of each of the plurality of performance parameters to the performance index.
11 . A computer-implemented method comprising:
monitoring, using a one or more hardware processors in communication with a server, communications over an infusion pump network between a plurality of infusion pumps and the server, wherein the server is configured to transmit or receive pump messages corresponding to the plurality of infusion pumps,
identifying, using the one or more hardware processors, a plurality of performance parameters, wherein the plurality of performance parameters comprises at least a first performance parameter and a second performance parameter, wherein the first performance parameter comprises a number of messages from the plurality of infusion pumps waiting to be processed,
determining, using the one or more hardware processors, a weighting factor for each of the plurality of performance parameters, wherein each weighting factor is determined based at least in part on a degree to which a corresponding performance parameter contributes to performance of the infusion pump network, wherein a first weighting factor for the first performance parameter is larger than a second weighting factor for the second performance parameter, wherein the second weighting factor is larger than zero; and
generating, using the one or more hardware processors, a performance index based at least in part on the plurality of performance parameters and the plurality of weighting factors, wherein the performance index comprises a product of (a) a maximum index value and (b) a sum of each performance parameter value divided by a corresponding maximum allowed performance parameter value and multiplied by the corresponding weighting factor.
12 . The method of claim 11 , wherein a largest weighting factor of the plurality of weighting factors corresponds to the first weighting factor of the first performance parameter.
13 . The method of claim 12 , further comprising simulating, using the one or more hardware processors, a number of infusion pumps communicating with the server to simulate a load on the infusion pump network and determine performance of the infusion pump network based on the number of infusion pumps.
14 . The method of claim 12 , further comprising determining, using the one or more hardware processors, an optimal number of infusion pumps to achieve a desired system load or speed or an indication of an optimal configuration of the infusion pump network to achieve the desired system load or speed.
15 . The method of claim 12 , further comprising simulating a number of infusion pumps, types of infusion pumps, and a number of messages generated by the number of infusion pumps to determine a load on the infusion pump network and determine performance of the infusion pump network.
16 . The method of claim 11 , wherein the server is in communication with a database server that is configured to store the pump messages, wherein the plurality of performance parameters further comprises a central processing unit (CPU) consumption of the server, a CPU consumption of the database server, a processor queue length (PQL) of the server, a PQL of the database server, a disk queue length (DQL) of the server, a DQL of the database server, or a memory usage.
17 . The method of claim 16 , wherein a largest weighting factor of the plurality of weighting factors corresponds to the first weighting factor of the first performance parameter, a second largest weighting factor corresponds to the second weighting factor of the second performance parameter, wherein the second performance parameter comprises one or more of the CPU consumption of the server, the CPU consumption of the database server, the PQL of the server, or the PQL of the database server, and a smallest weighting factor corresponds to at least one of the DQL of the server, the DQL of the database server, or the memory usage.
18 . The method of claim 17 , wherein:
the first weighting factor for the first performance parameter is about 30%;
the second weighting factor for the second performance parameter comprising the CPU consumption for the server is about 12.5%;
a third weighting factor for a third performance parameter comprising the PQL for the server is about 12.5%;
a fourth weighting factor for a fourth performance parameter comprising the DQL for the server is about 5%;
a fifth weighting factor for a fifth performance parameter comprising the CPU consumption for the database server is about 12.5%;
a sixth weighting factor for a sixth performance parameter comprising the PQL for the database server is about 12.5%;
a seventh weighting factor for a seventh performance parameter comprising the DQL for the database server is about 5%; and
an eighth weighting factor for an eighth performance parameter comprising the memory usage is about 10%.
19 . The method of claim 17 , wherein:
a corresponding maximum allowed performance parameter value of the CPU consumption of the server corresponds to a sum of a maximum of the CPU consumption of the server and a maximum of average CPU consumption of the server,
a corresponding maximum allowed performance parameter value of the CPU consumption of the database server corresponds to a sum of a maximum of the CPU consumption of the database server and a maximum of average CPU consumption of the database server,
a corresponding maximum allowed performance parameter value of the PQL of the server is based upon a number of cores of the server,
a corresponding maximum allowed performance parameter value of the DQL of the server corresponds to a maximum DQL,
a corresponding maximum allowed performance parameter value of the number of messages waiting to be processed corresponds to a maximum number of messages waiting to be processed by the plurality of infusion pumps, and
a corresponding maximum allowed performance value parameter of the memory usage corresponds to a maximum of the memory usage.
20 . The method of claim 16 , further comprising causing a display to display an indication of the performance index, wherein the indication of the performance index identifies a relative contribution of each of the plurality of performance parameters to the performance index.