fig1 illustrates a block diagram depicting one embodiment of the present invention comprising sedation and analgesia system 22 having fail - safe module 23 , user interface 12 , controller 14 , peripherals 15 ( which may include a memory device ), power supply 16 , external communications 10 , patient interfaces 17 , and drug delivery 19 , where sedation and analgesia system 22 is operated by user 13 in order to provide sedation and / or drugs to patient 18 . an example of sedation and analgesia system 22 is described in commonly assigned u . s . patent application ser . no . 09 / 324 , 759 , filed jun . 3 , 1999 ( now u . s . pat . no . 6 , 807 , 965 ) and incorporated herein by reference . patient interfaces 17 may comprise one or more physiological monitors , such as spo2 , ecg , co2 and nibp among others . the sedation and analgesia system of application ser . no . 09 / 324 , 759 includes a patient health monitor device ( such as patient interfaces 17 ) adapted so as to be coupled to a patient and generate a signal reflecting at least one physiological condition of the patient , a drug delivery controller supplying one or more drugs to the patient , a memory device storing a safety data set reflecting safe and undesirable parameters of at least one monitored patient physiological condition , and an electronic controller interconnected between the patient health monitor , the drug delivery controller , and the memory device storing the safety data set ; wherein said electronic controller receives said signals and in response manages the application of the drugs in accord with the safety data set . fig2 illustrates a block diagram depicting fail - safe module system 60 having controller 14 , fail - safe module 23 , power supply 24 , controller input 25 , controller output 26 , drug delivery 19 , and patient interface 17 , where drug delivery 19 and patient interface 17 interact with patient 18 . controller 14 receives input from patient interface 17 , drug delivery 19 , fail - safe module 23 , and other peripherals associated with sedation and analgesia system 22 . data is inputted into controller 14 which executes a program designed in a language , such as , for example , c or c ++, and functions within an operating system such as , for example , qnx . however other operating systems such as , for example , linux , vx works , or windows nt are contemplated . preferred embodiments of the software operate in a “ real time ” operating system such as , for example , qnx , where programs relating to specific patient interfaces , user interfaces , and other features of sedation and analgesia system 22 are compartmentalized into separate program modules ( not shown ). controller 14 may be a cpu , or any other data processing system commonly known in the art . controller 14 may further comprise , in one embodiment of the present invention , a health - check system ( not shown ) based , for example , on functionalities provided by the qnx operating system , where the health - check system sends a health check - request ( not shown ) to a program module ( not shown ) associated with a feature such as , for example , a system for the automated assessment of consciousness or responsiveness . such an automated assessment system is described in the &# 39 ; 759 application and in u . s . patent application ser . no . 09 / 324 , 759 filed dec . 28 , 2002 . upon receipt of a health - check request , the program module is programmed to respond with a health check response . a malfunction of a program module will result in the failure of the module to deliver a health - check response to the health check system integral with controller 14 . the health - check request and health - check response may be in the form of a singe byte , a plurality of bytes , a pulse , a ttl or logic signal , or other forms of data transfer suitable for use with the present invention . if the health check system fails to receive a health check response from a program module within a given time window , controller 14 will alert fail - safe module 23 that a failure has occurred resulting in fail - safe module 23 transferring sedation and analgesia system 22 into safe state mode 107 ( fig4 ) as will be further discussed herein . the health check system is software based and exploits the inherent features of operating systems such as qnx , specifically the allocation of individual reserved memory space for each compartmentalized software program module . in one embodiment of the present invention , data and / or commands may be outputted from controller 14 in the form of output 26 to peripherals associated with sedation and analgesia system 22 , fail - safe module 23 , and patient interface 17 . depending on the functionality of controller 14 and program modules associated with controller 14 , controller 14 may be functioning properly , or may be outputting aberrant commands . in the event that controller 14 has malfunctioned and is outputting spurious commands and / or data , such as , for example , excessive drug delivery , fail - safe module 23 may detect improper operation in controller 14 associated with the failure and transfer sedation and analgesia system 22 into safe state mode 107 ( fig4 ). in one embodiment of the present invention , controller 14 is programmed to deliver , or initiate delivery of , a strobe ( not shown ) to fail - safe module 23 within a predetermined window such as , for example , from between 900 to 1100 milliseconds . the strobe may be in the form of a byte , a plurality of bytes , a pulse , a ttl or logic signal or other forms of data transfer suitable for use with the present invention . fail - safe module 23 , in one embodiment of the present invention , must receive the strobe initiated by controller 14 within the predetermined time window in order to maintain sedation and analgesia system 22 in an operation state mode 105 ( fig4 ). the failure of controller 14 to initiate and deliver the strobe within the specified window indicates to fail - safe module 23 that an anomaly has occurred in the health check system or in the program modules associated with sedation and analgesia system 22 , resulting in fail - safe module 23 transferring sedation and analgesia system 22 into safe state mode 107 . a further embodiment of the present invention comprises providing a direct communication ( not shown ) between the program modules associated with sedation and analgesia system 22 and fail - safe module 23 in order to provide redundancy in verifying the program modules are functioning properly . an even further embodiment of the present invention comprises providing direct communication between patient interface 17 and / or drug delivery 19 to provide redundancy in verifying that program modules associated with critical peripherals are functioning properly . fig2 further illustrates one embodiment of the present invention , where power supply 24 is connected to and powers fail - safe module 23 . in one embodiment of the present invention , power supply 24 delivers 0 . 5 - 200 volts dc and preferably 4 . 75 - 5 . 25 volts dc , and is capable of sourcing 0 . 5 - 200 amps and preferably 12 amps , and may be referenced to a system ground . the present invention further contemplates the use of alternating current . fig3 illustrates a block diagram depicting one embodiment of the present invention comprising fail - safe module 23 , inputs 30 , 32 , 34 associated with fail - safe module 23 , outputs 31 , 33 , 35 associated with fail - safe module 23 , and power supply 24 . fail - safe module 23 comprises memory 27 , state machine 28 , and communications ( comm ) switching 29 . failsafe module 23 may be a central processing unit , a complex programmable logic device ( cpld ), or any other suitable data processing device . in one embodiment of the present invention , state machine 28 receives state machine input 32 , where state machine input 32 comprises a fail - safe strobe , information relevant to controlling oxygen and drug delivery , information relevant to oxygen and drug enablement , information relevant to oxygen and drug disablement , and / or other suitable state machine input . memory 27 receives memory input 30 , where memory input 30 includes , but is not limited to , information relevant to clearing fail - safe module 23 of a system fault event . comm switching 29 receives input from comm switching input 34 , where comm switching input 34 includes , but is not limited to , commands to the drug delivery module , such as among others an iv pump , from the controller 14 , and commands to the non - invasive blood pressure module from controller 14 . in one embodiment of the present invention , comm switching 29 functions to convert rs - 232 signals to transistor transistor logic ( ttl ). memory 27 outputs memory output 31 , where memory output 31 includes , but is not limited to , information related to a failure event occurring after the last clearing of the memory 27 via memory input 30 . state machine 28 outputs state machine output 33 , where state machine output 33 includes , but is not limited to , an indication of an unknown system fault , output related to fail - safe module 23 control of the flowrate of oxygen and drug , and output relating to fail - safe module 23 control of enabling or disabling oxygen and drug delivery . comm switching 29 outputs comm switching output 35 , where comm switching output 35 includes , but is not limited to , information from controller 14 dictating function of the pump ( not shown ) associated with drug delivery 19 , where the fail - safe module disables , for example , grounds , the signal if a problem is detected , and information from controller 14 dictating function of the blood pressure cuff , where the fail - safe module disables the signal if a problem is detected so that the blood pressure cuff is not left in an inflated position where it may cut off blood circulation . routing control of oxygen delivery , the non - invasive blood pressure module ( not shown ), and drug delivery 19 through fail - safe module 23 , allows failsafe module 23 to disable the non - invasive blood pressure module and drug delivery 19 in order to prevent potential harm to a patient due to error . oxygen delivery may be maintained , at a predetermined flow - rate and for a predetermined period of time , by fail - safe module 23 , if oxygen was being administered at the time of the failure . a plurality of other inputs and outputs , such as those described in u . s . patent application ser . no . 09 / 324 , 759 , are consistent with the present invention , as well as a plurality of patient interfaces such as , for example , capnometry monitoring , that may be routed through the fail - safe module 23 in order to provide desired safe state mode 107 . in one embodiment of the present invention , memory 27 functions to maintain a record of failure events occurring within controller 14 or in the program modules associated with controller 14 . information related to a failure is transmitted to memory 27 via error output path 36 . memory of the failure will be maintained within memory 27 until a command is entered acknowledging the failure and clearing the memory via memory input 30 . memory 27 functions to alert a user , via memory output 31 , that sedation and analgesia system 22 has , in the previous case , experienced a failure . the recorded failure in memory 27 may be removed via memory input 30 . in one embodiment of the present invention , the user may not activate the sedation and analgesia system until the failure recorded in memory 27 is acknowledged and removed . memory of a software failure may be held in memory 27 by encoding a simple memory bit , or by other suitable means of recording a failure . one embodiment of the present invention comprises a code retained in memory 27 indicating whether the failure occurred in the program modules associated with controller 14 or in the health - check system , if the health - check system is present . state machine 28 is , in one embodiment of the present invention , programmed to anticipate a strobe from controller 14 within a specified time window . the time window may be any window desirable for use in detecting flaws within the sedation and analgesia system 22 . if the strobe is received by state machine 28 of fail - safe module 23 within the specified time window , fail - safe module 23 will maintain sedation and analgesia system 22 in operation state mode 105 . if the strobe is not received by state machine 28 within the specified time window , state machine 28 will output information related to the failure via state machine output 33 in the form of a visual alarm , an audio alarm , and / or other suitable means for alerting a user that a failure has occurred . in response to a failed strobe , state machine 28 will also send data indicating a failure to memory 37 via error output path 36 and transfer sedation and analgesia system 22 into safe state mode 107 . in one embodiment of the present invention , state machine 28 disables control of comm switching 29 by controller 14 , via disable output 37 , in order to transfer sedation and analgesia system 22 into safe state mode 107 independent of controller 14 . a further embodiment of the present invention comprises controller 14 programmed to rapidly strobe state machine 28 in the event of a failure in the modules associated with controller 14 . state machine 28 is programmed , upon receipt of rapid strobing from controller 14 , to output an alarm signal indicator of a sedation and analgesia system 22 failure , record the failure in memory 27 , disable control of comm switching 29 by controller 14 , and transfer sedation and analgesia system 22 into safe state mode 107 . fig4 depicts a method illustrating one embodiment of the operation of fail - safe module 23 in this sedation and analgesia system 22 . commencing from a fail - safe module system ( fsm ) inactive mode 100 , the sedation and analgesia system 22 only moves into initiation state mode 102 upon receipt of power ( query 101 ) applied to fail - safe module 23 . for example , initiation state mode 102 will commence upon receipt of 5 volts of direct current from power supply 24 , however other voltages and means of delivering power to failsafe module 23 are consistent with the present invention . any time power is removed from fail - safe module 23 , sedation and analgesia system 22 will return to fail - safe module system inactive mode 100 . following reception of power , sedation and analgesia system 22 will operate in an initiation state mode 102 comprising fail - safe module 23 outputting safe state output in anticipation of a strobe from controller 14 . in one embodiment , fail - safe module 23 outputs safe state data until a valid strobe is received from controller 14 due to the fact that the condition of sedation and analgesia system 22 cannot be determined until valid strobing begins . maintaining safe state output during the initiation state mode 102 ensures the controller 14 cannot send commands to important peripherals , such as , for example , drug delivery 19 or patient interface 17 , until fail - safe module 23 receives a valid strobe indicating controller 14 is healthy . initiation state mode 102 further comprises disallowing user 13 from removing the record of a failure event stored in memory 27 until a valid strobe is received from controller 14 indicating sedation and analgesia system 22 is functioning properly . in the absence of a valid strobe , sedation and analgesia system 22 will remain in initiation state mode 102 . one embodiment of the present invention comprises powering down sedation and analgesia system 22 in the event that a valid strobe is not received during a predetermined window of , for example , five minutes . upon reception of a valid strobe from controller 14 by fail - safe module 23 ( query 104 ), sedation and analgesia system 22 will be transferred to operation state mode 105 . operation state mode 105 is maintained contingent on valid strobing ( query 106 ) from controller 14 to fail - safe module 23 that falls within the allowed predetermined window . consistent valid strobing from controller 14 to fail - safe module 23 maintains sedation and analgesia system 22 in an operation state mode 105 . operation state mode 105 comprises allowing input received by fail - safe module 23 from controller 14 to control output relating to critical patient interfaces such as , for example , blood pressure cuff pressure , oxygen delivery , and drug delivery 19 . operation state mode 105 further comprises indication to user 13 that sedation and analgesia system 22 is functioning properly . data will continue to be displayed on the user interface 12 , backlighting of user interface 12 will remain active , and alarm signals relating to sedation and analgesia system 22 failure will remain quiet . one embodiment of the present invention comprises allowing user 13 or fail - safe module 23 to clear the memory unit held in memory 27 that previously indicated a failure in sedation and analgesia system 22 in order for a subsequent failure to recode the memory unit ( not shown ). failure to strobe , or rapid strobing of fail - safe module 23 ( query 106 ) by controller 14 results in fail - safe module 23 transferring sedation and analgesia system 22 into safe state mode 107 . strobes falling outside the predetermined response window , or rapid strobing from controller 14 indicate to fail - safe module 23 that a failure has occurred in sedation and analgesia system 22 . in order to protect the patient , it is necessary to convert sedation and analgesia system 22 into a safe state mode 107 to reduce potential harm caused by drug delivery 19 , patient interface 17 , or other critical peripherals that may include malfunctioning hardware or software . safe state mode 107 comprises , in one embodiment of the present invention , ceasing transmission of command data from controller 14 to drug delivery 19 , patient interface 17 , oxygen delivery , and / or other critical peripherals related to patient safety . safe state mode 107 further comprises deactivating drug delivery 19 in order to prevent possible patient overdose , deactivating the blood pressure cuff in order to prevent possible necrosis that occurs if the blood pressure cuff is left inflated for extended periods of time , and maintaining the flow of oxygen , if oxygen was being given during the procedure , in order to maintain suitable oxygen saturation of the blood . safe state mode 107 further comprises triggering the memory bit located in memory 27 to indicate a sedation and analgesia system 22 failure 109 , sounding an audio alarm , signaling a visual alarm , and / or blanking the display such as , for example , by deactivating the backlight on user interface 12 . the backlight on user interface 12 may be deactivated in order to prevent display of spurious data that may be erroneously used to evaluate a patient &# 39 ; s condition . following the transfer of sedation and analgesia system 22 to safe state mode 107 , fail - safe module 23 will continue to anticipate valid strobing from the main logic board or controller 14 ( query 108 ). absent valid strobing , fail - safe module 23 will maintain safe state mode 107 . in one embodiment of the present invention , alarms associated with fail - safe module 23 may be manually deactivated by user 13 . upon reception of a valid strobe , or a predetermined number of valid strobes from controller 14 , fail - safe module 23 may transfer sedation and analgesia system 22 from safe state mode 107 to operation state mode 105 . a further embodiment of the present invention comprises sedation and analgesia system 22 remaining in safe - state mode for the duration of the medical procedure , even in the event of a valid strobe from controller 14 . query 110 relates to user 13 response to safe state mode 107 . if sedation and analgesia system 22 is turned off , sedation and analgesia system 22 will be transferred to failsafe module inactive mode 100 . if sedation and analgesia system 22 is not deactivated , failsafe module 23 will maintain sedation and analgesia system 22 in safe state mode 107 . fig5 depicts a method illustrating one embodiment of a test mode 210 for sedation and analgesia system 22 comprising the steps of : initiating a valid test strobe 200 , transferring sedation and analgesia system to the operation state mode 201 , setting inputs to the fsm 202 , outputting a test signal from the controller 203 , evaluating proper outputs of fsm in operation state mode given current inputs 204 , initiating valid test strobe 205 , transferring the sedation and analgesia system to the safe state mode 206 , evaluating proper outputs of fsm in safe state mode given current inputs 207 , initiating valid strobing from the controller 208 , and transferring the fail - safe module to the operation state mode 209 . in one embodiment of the present invention , initiating a valid test strobe step 200 comprises transmitting one or a plurality of strobes from controller 14 to fail - safe module 23 that fall into the predetermined time window programmed into fail - safe module 23 , indicating that controller 14 is functioning properly . in one embodiment of the present invention , initiating a valid test strobe step 200 occurs during initiation state mode 102 after power has been delivered to controller 14 and fail - safe module 23 . transferring sedation and analgesia system to the operation state mode step 201 comprises , fail - safe module 23 receiving the valid strobe or strobes from controller 14 , where the valid strobe or strobes indicate to fail - safe module 23 that controller 14 is functioning properly , then converting sedation and analgesia system 22 to operation state mode 105 based on the valid strobe or strobes indicating that sedation and analgesia system 22 is functioning properly . setting initial inputs to fsm step 202 comprises inputting information related to oxygen delivery , drug delivery 19 , patient interface 17 , or other critical parameters relating to a desired safe state mode 107 . in one embodiment of the present invention , setting initial inputs to fsm step 202 occurs during operation state mode 105 , where controller 14 maintains control of critical parameters . outputting a test signal from the controller ( step 203 ) comprises , user 13 inputting a test command into controller 14 , where the inputted test command decouples the power down functionality from detected failure of sedation and analgesia system 22 . one embodiment of the present invention comprises an automated system of initiating a test command , where the test command is initiated by controller 14 at a predetermined time before the beginning of a medical procedure , for example as part of the power - up routine of a sedation and analgesia system . in one embodiment of the present invention , a test bit ( not shown ) is triggered in fail - safe module 23 upon receipt of the test command from controller 14 . the triggered test bit of fail - safe module 23 may function to disable the power down capability associated with a failure , in order to test the functionality of fail - safe module 23 without initiating a power down . providing a fsm test mode , absent a power down , obviates the need to retest fail - safe module 23 following a subsequent power up of the system had the system been powered down as part of the simulated failure . evaluating proper outputs of the fsm in the operation state mode given current inputs ( step 204 ) comprises determining whether fail - safe module 23 is outputting data consistent with inputted data . in evaluating proper outputs of the fsm in the operation state mode given current inputs ( step 204 ), outputted data should be consistent with inputted data due to the retention of control of critical parameters associated with fail - safe module 23 by controller 14 . initiating invalid test strobe ( step 205 ) comprises outputting an invalid strobe from controller 14 to fail - safe module 23 , simulating a failure of sedation and analgesia system 22 . the invalid test strobe may be rapid strobing of fail - safe module 23 by controller 14 , strobing outside the predetermined time window , or other suitable means of communicating a failure of sedation and analgesia system 22 . transferring the sedation and analgesia system to the safe state mode step 206 comprises transferring sedation and analgesia system 22 to safe state mode 107 following receipt by fail - safe module 23 of an invalid strobe . in order to prevent the need for repetitive retesting upon power up of sedation and analgesia system 22 were it to be powered down during the simulated failure , sedation and analgesia system 22 is not powered down during test mode 210 . evaluating proper outputs of the fsm in the safe state mode given current inputs ( step 207 ) comprises determining whether fail - safe module 23 is functioning properly in converting sedation and analgesia system 22 to safe state mode 107 . evaluating proper outputs of the fsm in the safe state mode given current inputs ( step 207 ) allows controller 14 to determine if fail - safe module 23 will function properly , in the event of an actual failure , in converting sedation and analgesia system 22 to safe state mode 107 . initiating valid strobing from the controller step 208 comprises outputting a valid strobe or strobes from controller 14 to fail - safe module 23 following the transfer of sedation and analgesia system to safe state mode 107 . upon receipt of valid strobing , that is , strobing falls within the predetermined response window , fail - safe module 23 will transfer sedation and analgesia system 22 to operation state mode 105 , reallocating control of drug delivery system 19 , patient interface 17 , and oxygen delivery to controller 14 . transfer of sedation and analgesia system 22 from safe state mode 107 to operation state mode 105 following successful strobing is consistent with transferring the sedation and analgesia system to the operation state mode ( step 209 ). test mode 210 provides user 13 with a simulation of a failure event or message , where the response of fail - safe module 23 may be tested , in the absence of a power down , to determine whether it functions properly in transferring sedation and analgesia system 22 to safe state mode 107 and operation state mode 105 at the appropriate times . the memory bit recorded in memory 27 of the fail - safe module 23 may be reset upon transfer of sedation and analgesia system 22 to operation state mode 105 . in one embodiment of the invention , the health check system polls each compartmentalized software module and verifies that each one indicates that it is operating properly . upon receipt from all compartmentalized software modules that all is well , the health check system strobes the fsm to indicate that all system modules are functioning properly . this health check system occurs at all times that the system is running . the health check system is software based and the fsm is implemented via hardware such as a complex programmable logic device ( cpld ).
the invention provides a fail - safe module integral with a sedation and analgesia system that meets the high - reliability needs of sedation and / or analgesia delivered by non - anesthetist practitioners . the fsm may operate in “ real - time ” in order to ensure optimal patient safety . the fsm may deactivate specific patient interfaces , user interfaces , and / or sedation and analgesia delivery in order to ensure patient safety and has redundant safety systems in order to provide the fail - safe module with an accurate assessment of controller functionality .