a fail - safe drug infusion system will now be described . in the following exemplary description numerous specific details are set forth in order to provide a more thorough understanding of embodiments of the invention . it will be apparent , however , to an artisan of ordinary skill that the present invention may be practiced without incorporating all aspects of the specific details described herein . in other instances , specific features , quantities , or measurements well known to those of ordinary skill in the art have not been described in detail so as not to obscure the invention . readers should note that although examples of the invention are set forth herein , the claims , and the full scope of any equivalents , are what define the metes and bounds of the invention . fig1 shows a schematic overall diagram of the fail - safe drug infusion therapy system according to one or more embodiments of the invention . as shown in fig1 , by way of one or more embodiments , each of the first memory , that holds user interface app 111 , user interface controller state machine 112 , delivery status update and logs 113 , operating system , display and touch - pad apis 114 , board support package , display and touch - pad drivers 115 and operating system 116 of the first processor 102 and the second memory , that holds delivery engine 104 , therapy program 105 , pmc state machine 106 , delivery monitoring information 107 , motor hardware apis 108 , board support package , motor drivers 109 and real - time operating system 110 of the second processor 101 include redundant drug infusion related information and status . the redundant drug infusion related information may be stored in the delivery monitoring 107 and delivery status 113 memory areas for example or in any other portion of memory in either the pmc or uic . in one or more embodiments uic 102 may control more than one pmc , e . g ., pmc 101 and 101 n . in at least one or more embodiments of the invention , when the communication link is initially established between the first processor and the second processor , the first processor in the pmc obtains an infusion program and is initially responsible for maintaining infusion related information . in one or more embodiments this is accomplished with a “ token ” that contains the drug infusion program as confirmed by the user along with the current infusion status . specifically , the “ token ” or drug infusion program may include all program steps , all infusion related options and current status , which is initially null before infusion begins in one or more embodiments . the token may act in one or more embodiments as a semaphore for the component that has the responsibility to maintain the current infusion status for example . according to at least one embodiment , the first processor may send a first delivery request from the first processor drug infusion service queue to the first processor drug infusion working queue . when the first delivery request is in the first processor drug infusion working queue , the first processor , when in active mode , may send a delivery request notification to the second processor via a first delivery request identification code . any other type of data structure , messages or communication protocols that enable the pmc and uic to maintain and synchronize infusion data after either processor malfunctions and / or enable the pmc to display infusion related information that is normally displayed on the uic if the uic malfunctions is in keeping with the scope of the invention . in at least one or more embodiments , when the second processor receives the delivery request identification code , the second processor may transfer the first delivery request from the second processor drug infusion service queue to the second processor drug infusion working queue , and may command the pump motor to deliver the fluid . according to at least one embodiment of the invention , if the first processor fails or if the communication link between the first processor and the second processor is interrupted , the second processor may apply fail - safe therapy and shift from the slave mode to the master mode in order to process the second processor drug infusion service queue and drug infusion working queue to command the pump motor to deliver the fluid . by way of one or more embodiments of the invention , when the pump motor delivers the fluid , the second processor creates a status report with status report information , such that the second processor may send the status report information to the first processor . in at least one embodiment , the first processor receives the status report information from the second processor and updates a fluid delivery status display on the user interface display 202 ( see fig2 ). according to one or more embodiments of the invention , the information includes the activated delivery requests , the activated fluid deliveries , completed delivery requests , completed fluid deliveries , and an ordered list of the delivery requests remaining in the first processor drug infusion service queue . in one or more embodiments of the invention , the first processor may send a first delivery suspend request to the second processor in order to suspend the first delivery request , such as when the user initiates a first delivery suspend command , when the first processor detects an error , when the second processor detects an error , or any combination thereof . according to at least one embodiment , the second processor may receive the first delivery suspend request , stop the pump motor delivery of the fluid prior to completion of the delivery of the fluid such that undelivered fluid volume remains , and suspend the first delivery request in the second processor drug infusion working queue . in at least one or more embodiments of the invention , the error detected by the first processor and / or the error detected by the second processor may include one or more of a uic 102 failure , wherein infusion is continued while the uic 102 reboots , motor encoder position error , wherein the motor encoder may attempt to recalibrate itself and pumping is continued instead of alarming and / or stopping infusion , low battery capacity , low battery voltage , indication of a lack of an installed battery , high battery charging current , a stuck button wherein the button is not the emergency stop button 201 , a buzzer and / or speaker failure during infusion , a drug library download failure , wherein the uic 102 may include or may access a drug library and during such a failure the uic 102 may revert back to a previously installed drug library pidl or a default drug library ddl . in one or more embodiments , the errors may include failure of the uic 102 to write to log , a volume overshoot , lost communication with one or more external drug libraries , high ambient temperature or temperature sensor failure , and no heartbeat and / or communications between the uic 102 and the pmc 101 . in one or more embodiments of the invention , the first processor may send a second delivery request from the first processor service queue to the first processor drug infusion working queue . as such , in at least one embodiment , when the second delivery request is in the first processor drug infusion working queue , the first processor may send a second delivery request notification to the second processor via a second delivery request identification code , and when the second processor receives the second delivery request identification code , the second processor may transfer the second delivery request from the second processor service queue to the second processor drug infusion working queue , such that the pump motor delivers the fluid . in at least one embodiment of the invention , for piggyback requests for example , when the second delivery request fluid delivery is completed , the second processor may update the fluid delivery status display , and the first processor may send the suspended first delivery request to the second processor such that the pump motor delivers the remaining undelivered fluid volume . by way of one or more embodiments , if the communication link 103 , or 103 n when communicating with more than one pmcs , between the first processor and the second processor is interrupted during fluid delivery of the second delivery request , upon completion of the second delivery request , the second processor may locate the suspended first delivery request from the second processor service queue and may transfer the suspended first delivery request to the second processor drug infusion working queue in order to deliver the remaining undelivered fluid volume . in at least one embodiment of the invention , when the remaining undelivered fluid volume is delivered , the first processor may locate a next delivery request from the delivery requests in the first processor service queue , such that the pump motor delivers the fluid . in one or more embodiments , when the remaining undelivered fluid volume is delivered , the second processor may locate a next delivery request from the delivery requests in the second processor service queue , such that the pump motor delivers the fluid . in at least one embodiment , when the communication link 103 between the first processor and the second processor is interrupted , the second processor may provide therapy for a predefined time in active mode , or display information on the pump motor controller display or any combination thereof . the information may include the activated delivery requests , the activated fluid deliveries , completed delivery requests , completed fluid deliveries , and an ordered list of the delivery requests remaining in said second processor service queue . according to at least one embodiment of the invention , if the communication link 103 between the first processor and the second processor is reestablished , the second processor may enter a recovery synchronization mode while remaining in the active mode , such that the second processor may send status report information to the first processor . the status report information may include one or more of the activated delivery requests , the activated fluid deliveries , completed delivery requests , and completed fluid deliveries . in embodiments that employ a token or semaphore , the pmc may be considered to control the semaphore if the communication link 103 , or again 103 n for multi - pmc embodiments , is unavailable . in this manner , when the link is reconnected or otherwise restored , the pmc may deliver updated infusion status to the uic and retain the token . by way of one or more embodiments of the invention , the user interface application 111 may include indicators , status icons and alarms , as well as one or more buttons such as a power on / off button , a stop button , a silence or mute button , a clean lock button , a load / eject button and any type of information button . in one or more embodiments , the user interface application 111 may include therapy entry and alteration options , such that the therapy entry options may include one or more of basic , concurrent delivery from the two or more channels , bolus , multistep , intermittent infusions and interchannel sequencing therapy delivery . in addition , in one or more embodiments , the alteration options may include one or more of titrating , delay start , piggyback delivery ( for example using a second channel then a first channel ), bolus and priming options . as such , the system may recover from one or more errors with zero delay in therapy . in at least one embodiment , the alarms may include one or more of a visual alarm and an audio alarm , such that when the communication link between the first processor and said second processor is interrupted , the pump motor controller ( pmc ) 101 may provide one or more of the visual alarm and the audio alarm on the pump motor controller display . in one or more embodiments , when the communication link 103 between the first processor and the second processor is interrupted , the second processor may display a duration of how long the second processor is able to operate independently of the first processor on the pump motor controller display . in one or more embodiments , the duration may be displayed as a countdown of a time remaining that the second processor is able to operate independently of the first processor on the pump motor controller display . in one or more embodiments recoverable error conditions such as upstream or downstream occlusions or air related events or motor encoder position error , battery , button , speaker , backlight , drug library download failure , log failure , volume overshoot , temperature or other errors may be displayed by the uic or pmc for example as alarms in a local or remote manner . power - on diagnostics for the pmc may test administration sets or cassettes and in case of administration set or cassette error , prompt the user to change administration sets or cassettes and inform the user that the current channel requires service for example . active run - time diagnostics for the pmc that indicate that the uic is inoperative and may switch the pmc display information from occlusion pressure , air monitor , etc ., related information to an infusion status view that shows information normally displayed on the uic , albeit in an abbreviated or limited text or graphics based fashion to the extent possible on the limited pmc display . when the uic recovers or the communication link 103 is available , the pmc will generally then switch back to its normal occlusion , air , etc ., display , and update the uic with current infusion status and continue to execute the therapy program in progress . the uic will attempt to reboot if a malfunction occurs and request the synchronization data after reboot and power - on diagnostics for example . fig2 shows an architectural diagram of the fail - safe drug infusion therapy system according to one or more embodiments of the invention . as shown in fig2 , the fail - safe drug infusion therapy system may include an emergency stop button 201 , a silence or mute button 200 , a touch display 202 , a backup user interface 203 , for example to display infusion related information via the pmc when the uic is unavailable , a codec 204 and a speaker 205 in communication with the codec 204 . more than one pmc may be utilized in the system as depicted by another pmc block shown behind pmc 101 . alternatively , or in combination , the pmc may include multiple backup user interfaces , or they may be associated with respective pmcs . the multiple backup uis are shown as stacked blocks behind backup ui 203 . embodiments may also include multiple codecs and speakers 204 a and 205 a respectively that are available for use by one or more pmcs . in at least one embodiment of the invention , while the pmc 101 is running and the uic 102 is unavailable , inoperative or down , the pmc 101 may display rudimentary status messages on backup user interface display 203 or alternatively if a separate communication link exists , on the touch display 202 . in one or more embodiments , the optional codec 204 and the speaker 205 may be in direct or indirect communication . the emergency stop button 201 is in communication with the uic 102 and the pmc 101 . as also shown in fig2 , the pmc 101 and the uic 102 may communicate in a bidirectional manner to deliver a microprocessor heartbeat and a therapy status . in at least one embodiment , the uic 102 may communicate bidirectionally with the touch display 202 in order to deliver display commands from the uic 102 to the touch display 202 , and send touch screen inputs from the touch display 202 to the uic 102 . in one or more embodiments , the pmc 101 may deliver display commands to the backup user interface 203 or optionally to the touch display 202 if an appropriate communication link exists therebetween . in at least one embodiment of the invention , both the pmc 101 and the uic 102 may delivery alarm signals to the codec 204 . in another embodiment of the invention , pmc 101 may delivery alarm signals to a backup speaker 205 a or optionally via codec 204 a . by way of one or more embodiments of the invention , if the pmc 101 fails or loses communication with the uic 102 , the uic 102 may use a redundant set of therapy status information to continue therapy delivery , for example via a different operational pmc channel , wherein the redundant set of therapy status information is updated periodically from the pmc 101 . as such , the uic 102 may hold the current therapy status , wait for the pmc 101 to reboot ( if needed ) and pass operator ( user ) intervention . in one or more embodiments , the pmc 101 may perform recovery synchronization and deliver the current status and history log information to the uic 102 , ensuring there is no interruption in therapy history in the log files and automated self - recovery . fig3 shows a communications flowchart between the user interface controller and pump motor controller during infusion , according to one or more embodiments of the invention . as shown in fig3 , under normal operation where both the pmc and uic are functioning and communicative at 301 , the uic 102 may accept infusion or therapy parameters manually from a user or electronically from another computer system within a hospital ( not shown for brevity ), and ensure the parameters are valid . in at least one embodiment , at 302 the uic 102 may send a therapy program to the pmc 101 and receive acknowledgement of the therapy program from the pmc 101 . uic 102 may send a heartbeat indication at 303 to the pmc 101 and a heartbeat indication may be sent from the pmc 101 to the uic 102 . in one or more embodiments , at step 304 , the pmc 101 may begin delivering a programmed infusion , or this may occur at any other time after the infusion program is received by the pmc , and the pmc send an infusion status to the uic 102 , wherein the uic 102 may acknowledge receipt of the infusion status . at step 305 , the timeout timers in the uic and pmc may be optionally reset in software in one or more embodiments , otherwise , timers may be automatically reset if implemented in hardware for example , and the uic 102 may update status logs . in at least one or more embodiments of the invention , optional step 306 may include accepting a mute input via the mute button 200 and / or an emergency stop signal using the emergency stop button 201 , for example as accepted by the system from a user , to stop the pmc 101 from pumping . in one or more embodiments , when the emergency stop button 201 is used , the emergency stop signal is simultaneously sent to the uic 102 . fig4 shows a flowchart illustrating a response due to a pump motor controller malfunction during infusion , according to one or more embodiments of the invention . as shown in fig4 , at step 401 , the uic 102 may accept infusion or therapy parameters manually from a user or electronically from another computer system within a hospital ( not shown for brevity ), and ensure the parameters are valid . in at least one embodiment , at 402 the uic 102 may send a therapy program to the pmc 101 and receive acknowledgement of the therapy program from the pmc 101 . uic 102 may send a heartbeat indication to the pmc 101 at 403 . in one or more embodiments of the invention , the uic 102 may not receive or otherwise observe a pmc heartbeat at 404 , and may then set a pmc state to inoperative at 405 , wherein pumping generally does not occur while the pmc 101 is inoperative . at 406 , the uic 102 may command the pmc 101 to reboot , such that the pmc 101 reboots , and at step 407 , the pmc 101 then delivers a heartbeat indication to the uic 102 , and the uic 102 sends a last known therapy to the pmc 101 . in one or more embodiments , the pmc 101 may deliver an acknowledgement receipt to the uic 102 of the last known therapy data , in which at step 408 , the uic 102 may set the pmc state to operative . fig5 shows a flowchart illustrating a response due to a user interface controller malfunction during infusion , according to one or more embodiments of the invention . as shown in fig5 , at step 501 , the uic 102 may accept infusion or therapy parameters manually from a user or electronically from another computer system within a hospital ( not shown ), and ensure the parameters are valid . in at least one embodiment , at 502 the uic 102 may send a therapy program to the pmc 101 and receive acknowledgement of the therapy program from the pmc 101 . the pmc may send a heartbeat indication to the uic 102 at 503 . in one or more embodiments of the invention , the pmc 101 may not receive or otherwise observe a uic 102 heartbeat at 504 . the pmc may then set a uic state to inoperative at 505 , wherein pumping generally continues while the uic 102 is inoperative . at 506 , the pmc 101 may command the uic 102 to reboot , or the uic 102 may auto - reboot wherein in any case the uic 102 reboots and performs self - diagnostic tests . the self - diagnostic tests may include t0 tests ( power - on self - tests ), t1 tests ( tests prior to therapy start ), and t2 tests ( infusion active run - time self - diagnostic tests ) or any other type of tests . at step 507 , the pmc 101 may continue pumping using last known therapy data , locally store infusion status updates , display infusion status for example on backup display 203 or if available on the uic display 202 , as opposed to normal display of information as occurs when the uic is operational . for example , infusion related status may be displayed albeit on a limited pmc text or graphics based display instead of normal air trap volume , downstream occlusion pressure , or other pmc typical information display . the system may accept a mute input via mute button 200 , and / or an emergency stop signal from a user using the emergency stop button 201 in order to stop the pmc 101 from pumping . by way of one or more embodiments , when the emergency stop button 201 is used , the emergency stop signal is simultaneously sent to the uic 102 . in one or more embodiments , when the uic 102 is inoperative , the touch display 202 may not be available to use a stop option on the touch display 202 . in at least one embodiment , at step 508 , the uic 102 may then deliver a heartbeat indication to the pmc 101 , and the pmc 101 may send a last known therapy to the uic 102 . in one or more embodiments , the pmc 101 may revert the back - up user interface 203 display to normally displayed information at step 509 , and at 510 , the uic 102 may regain control over primary touch display 202 and the pmc 101 may set the uic state to operating . in one or more embodiments of the invention , if an error is detected during a t0 test , the system 100 may declare a system malfunction . in one or more embodiments , if an error is detected during a t1 test and the uic 102 fails , the user may switch infusion channels or communication links or any combination thereof , perform a t1 self - diagnostics test and loop in one embodiment a maximum of three times before declaring a system malfunction . if an error is detected during a t1 test and the pmc 101 declares any malfunction or error , the pmc 101 may attempt to reboot , perform a pmc t0 self - diagnostic test , and if the pmc 101 continues to declare a malfunction or error , then the pmc 101 may declare a system malfunction . in one or more embodiments , optionally , if a dual or multi - channel configuration is used , and the second channel is not in use or inactive , the uic 102 may move the therapy program to the unused ( second ) channel and declare that the current ( first ) channel is inoperative and requires service . during a t1 self - diagnostics test , the uic 102 cannot declare an error or malfunction since the uic 102 is not actively involved in therapy . in one or more embodiments of the invention , if an error is detected during a t2 test and the uic 102 declares a malfunction or error , each active pmc 101 may activate silence - able backup alarm tone using a mute button , switch backup screen to infusion status view , continue executing the full therapy program , and if the uic 102 attempts to resynchronize , the pmc 101 may clear backup alarm tone if not muted using mute button , switch backup screen to normal view , such as displaying upstream occlusion pressure , downstream occlusion pressure , upstream air cumulative , downstream air cumulative , upstream air bubble and downstream air bubble , update uic 102 with current status , such as infusion status and backlog of messages , and the pmc 101 may continue executing the full therapy program . in one or more embodiments of the invention , if an error is detected during a t2 test and the uic 102 declares a malfunction or error , the uic 102 may attempt a uic reboot and perform a t0 self - diagnostics test . in at least one embodiment , if the uic 102 passes the t0 self - diagnostics test , the uic 102 may synchronize with the pmc 101 , or several pmcs . if the uic 102 fails the t0 self - diagnostics test , the uic 102 may declare itself inoperative and state wherein service is required . in one or more embodiments of the invention , if an error is detected during a t2 test and the pmc 101 declares a malfunction or error , the pmc 101 may attempt to reboot itself , perform a t0 self - diagnostics , and if the pmc 101 continues to declare a malfunction or error , then the pmc 101 may declare a system malfunction . in one or more embodiments , optionally , if a dual or multiple channel configuration is used , and the second channel is not in use or inactive , the uic 102 may move the therapy program to the unused ( second ) channel and declare that the current ( first ) channel is inoperative and requires service . in at least one embodiment , if the pmc 101 passes the t0 self - diagnostics test , the uic 102 may synchronize with the pmc 101 to reprogram the pmc 101 with a current infusion status . fig6 shows exemplary pump motor controller associated displays under normal operation in the topmost screen . the figure also shows exemplary embodiments of displays under uic failure wherein the pmc processor , e . g ., second processor , is further configured to display a limited version of infusion information on the optional secondary user interface display that is normally displayed by said first processor on the first user interface display . as shown , under normal operation the second user interface display associated with the pmc displays downstream pressure and for example an air trap graphical display . any other information displayed by any pmc is in keeping with the scope of the invention . under uic failure as shown in the middle pmc display , the display is switched to a limited version of the uic display to shown any drugs , infusion programs , and / or other parameters . for example the secondary user interface display may show the battery voltage , e . g ., as shown in the right middle screen as a standard battery icon . any uic reboot progress may also be displayed . if the uic fails to reboot , the lower screen may be displayed , which shows the reboot to be unsuccessful and may also display the amount of time that the pmc may operate before infusion ceases . in addition , one or more embodiments of the invention may include a new drug library parameter , for example a drug library location parameter that enables the uic and / or pmc to operate in a desired manner associated with the location in which the uic and pmc are to operate . for example , embodiments may include a new parameter , e . g ., “ ward ”, or “ location - type ” parameters for example , which enables different types of displays , different volume levels for alarms or any other settable parameter for the uic and / or pmc . this enables general ward located uic and pmc &# 39 ; s to operate with full volume for alarms while enabling pediatric ward located uic and pmc &# 39 ; s to operate with quiet volume alarms so as not to disturb sleeping children . icu ward located uic and pmc &# 39 ; s may include other thresholds or alarms for operation that are more sensitive or conservative for example . any other parameter associated with the uic and / or pmc may be indexed or otherwise altered by storing an array of parameter values associated with different locations or wards for example . any other type of data structure that enables uic and / or pmc settings , for example two or more settings or drug library parameters to be altered by altering the ward or location - type parameter is in keeping with the scope of the invention . in addition , for uic failure scenarios , this setting enables the pmc to take on the location specific features for alarms in the case of uic failure , wherein the pmc takes on the responsibility of showing at least a portion of data that the uic normally shows when operational . while the invention herein disclosed has been described by means of specific embodiments and applications thereof , numerous modifications and variations could be made thereto by those skilled in the art without departing from the scope of the invention set forth in the claims .
a fail - safe drug infusion system , including a user interface controller and at least one pump motor controller , with protocols that enable the pmc to operate therapy delivery for a limited amount of time if the uic fails or the communication link between the uic and the pmc is interrupted . includes synchronization methods to synchronize the delivery information back to the uic after the uic reboots or after the communication link is restored . the pmc may apply intelligent fail - safe drug infusion therapy by temporarily displaying therapy information , for example information normally displayed by the uic , while taking control of alarm signaling and providing minimal user control of the therapy until the uic restores itself , the infusion completes normally , or the user stops the infusion . if the pmc becomes inoperable , the uic may wait for the pmc to reboot , or attempt to switch infusion channels to provide robust drug infusion .