Abstract:
Systems and methods configured to guide and manage laboratory analytical process control operations. A Biometric quality control (QC) process application is configured to monitor bias and imprecision for each test, characterize patient population data distributions and compare, contrast, and correlate changes in patient data distributions to any change in QC data populations. The Biometric QC process monitors the analytical process using data collected from repetitive testing of quality control materials and patient data (test results). The QC process identifies the optimal combination of, for example, frequency of QC testing, number of QCs tested, and QC rules applied in order to minimize the expected number of unacceptable patient results produced due to any out-of-control error condition that might occur.

Description:
CROSS-REFERENCES TO RELATED APPLICATIONS  
         [0001]    This application claims the benefit of U.S. Provisional Application Serial No. 60/314,923, filed Aug. 24, 2001, entitled “Biometric Quality Control Process”, which is hereby incorporated by reference in its entirety for all purposes.  
         BACKGROUND OF THE INVENTION  
         [0002]    The present invention relates generally to processes for implementing Biometric Quality Control (QC), and more particularly to systems and methods for guiding and managing laboratory analytical process control operations.  
           [0003]    Advances in laboratory technology have improved test performance beyond the ability of conventional process control systems to monitor performance effectively. The process control system used by most laboratories since the early 1980s is that of Westgard. (See, J. O. Westgard, P. L. Barry, M. R. Hunt: A Multi-Rule Shewhart Chart for Quality Control in Clinical Chemistry CLIN. CHEM. 27/3, 493-501, 1981). This system is based on a set of six core statistical rules, each having statistical power to detect random and systematic deviations from the norm.  
           [0004]    In an effort to keep up with technology, Westgard evolved his core system with selection grids. These were quickly followed by power function graphs, Ops Specs charts, and QC Validator. Validator is software designed to recommend statistical rules based on analytical goals defined by the lab for each test. The latest version of Validator incorporates biological variation. Even with these improvements, the Westgard scheme continues to utilize a relatively complex statistical process control framework. This approach, often misapplied, results in frequent alarms normally judged false or unwarranted when compared to medical decision limits (medical relevance). There is no universally accepted alternative to Westgard. Labs must continue to use this system or to design and validate their own QC scheme in order to meet federal and accreditation requirements creating a patchwork of analytical process control schemes. While this patchwork generally results in acceptable outputs, it is marred by widely varying costs, inconsistent application and failed expectations. (See, Cooper William G., Quality control practices and preferences in today&#39;s clinical laboratory: A report for government regulators, decision makers and advisors, MLO, June 1997, pp. 57-65; Tetrault Gregory A., Steindel, Steven J., Daily Quality Control Exception Practices Data Analysis and Critique, CAP Q-Probe, 1994; and Howanitz Peter J., Tetrault Gregory A., Steindel Stephen J, Clinical Laboratory Quality Control: A Costly Process Now Out of Control). Labs have expressed both concern and frustration in journal articles, at public forums, in focus groups, to commercial sales representatives and through public commentary.  
           [0005]    Laboratories around the world employ various schemes to control the analytical process. In the United States, the most common application is Westgard. Outside the US, applications range from prescriptive German RiliBAK rules to individualized applications and Westgard. European laboratories are generally more sophisticated in their approach employing biological variation and seeking standardization among laboratories.  
           [0006]    Statistical rules for monitoring the analytical process, such as Westgard, can be used alone or in combination. If the rules are combined (multi-rule), then the power of error detection increases. Many labs may not understand how to apply the rules. Consequently, false error detection may frequently lead to test operator indifference. For example, a CAP Q-Probe study conducted in 1994 found that many laboratories respond to a QC error flag by merely repeating the control. No reasoned troubleshooting occurs unless the test operator is unsuccessful in getting the control value to fall within acceptable limits. Reasons for not immediately troubleshooting may include: easier to retest than troubleshoot, laziness, lack of knowledge, habit, and no accountability to troubleshoot correctly.  
           [0007]    Rather than accept that some type of error might be present in the test system when a statistical flag occurs, labs may move immediately to some form of remedy rather than troubleshooting. The basic premise is that the statistical control system they use creates too many unwarranted errors so they automatically assume the error flag is false. The quickest remedy in this environment is to get the control value within range. To do so, some labs may repeat the control in hopes that the next value will be within limits (playing the odds), repeat with fresh control product, check or repeat calibration, or make up fresh reagent. Sometimes limited troubleshooting may be employed, including, for example, testing of assayed control materials to detect systematic error, looking at a history of control outliers, and calling the manufacturer for guidance or word of any national performance trends. Each of these actions is taken without any reasonable justification other than one of them usually corrects the error at least temporarily. Typically, the most common causes of QC error flags include random error, environmental conditions, control range too tight or incorrectly calculated, reagent (lot change, deterioration, contamination), control problems, calibration, sampling error, instrument malfunction, and poor maintenance.  
           [0008]    Laboratory staff typically consider troubleshooting to be complex and often unguided. The production atmosphere of a typical lab and limited resources may contribute to a philosophy of avoiding troubleshooting unless absolutely necessary. The assumption follows that if troubleshooting could be focused, guided, or deemed necessary and productive, laboratory staff would engage in the effort. In general, it is desirable to make troubleshooting far easier by, for example, providing a QC system that identifies actionable error (i.e., eliminates false error detection), providing online troubleshooting advice, providing interactive online user groups so labs can exchange information readily, basing analytical process control on medical relevance limits (where appropriate), providing an analysis of the most frequently observed errors and determining the most likely cause of the error flag, providing instrument-specific troubleshooting guides, posting control stability claims and interlabs online, providing method group statistics, providing continuing education, and providing parallel lots for troubleshooting.  
           [0009]    Another practice characteristic that is relevant to development of a Biometric model is when and at what frequency quality control materials are tested. Typically, controls are predominately tested at the beginning of each batch of patient specimens, e.g., in coagulation, hematology, immunoassay, and urinalysis, with possibly a little higher frequency of random placement in toxicology and special chemistry. General chemistry is one department where random placement of QC materials may often occur.  
         BRIEF SUMMARY OF THE INVENTION  
         [0010]    The present invention provides, in one aspect, systems and methods configured to guide and manage laboratory analytical process control operations. In certain aspects, the present invention provides a Biometric quality control (QC) process application configured to monitor bias and imprecision for each test, characterize patient population data distributions and compare, contrast, and correlate changes in patient data distributions to any change in QC data populations. The Biometric QC application of the present invention is also configured to provide alerts to an operator when actionable error is present and guide the operator in troubleshooting.  
           [0011]    Routine quality control involves the periodic testing of QC samples in order to detect an out-of-control error condition that may have occurred at any point in time. An accurate assessment of a routine QC strategy must account for the interplay between the size of an out-of-control error condition, the subsequent risk of producing unacceptable patient results, the frequency of QC testing, and the chance of rejecting a QC rule when it is applied. In certain aspects, the Biometric QC application of the present invention considers the expected number of unacceptable patient results due to an out-of-control error condition as an important outcome measure for QC performance. The QC design strategy of the present invention identifies the optimal combination of frequency of QC testing, number of QCs tested, and QC rules applied in order to minimize the expected number of unacceptable patient results produced due to any out-of-control error condition that might occur.  
           [0012]    The Biometric QC application of the present invention, in certain aspects, monitors the analytical process using data collected from repetitive testing of quality control materials and patient data (test results). Aspects and advantageous features of the present invention will be discussed herein using various terms such as “Biometric model”, “model”, “Biometric application”, “application”, “system”, etc., and such terms are not intended to limit the invention in any manner. The Biometric model is the application and mathematical algorithms that underlie the processes of the present invention.  
           [0013]    The Biometric model of the present invention, in one embodiment, includes several new statistical models and modifications to two previously published models for monitoring both QC and patient data; EWMA (Exponentially Weighted Moving Averages) and CUSUM (Cumulative Sums). Both of these models can be applied to population means and variances. EWMA, with modifications, is the primary mechanism to monitor both routine QC data and patient population data for mean and variance. CUSUM is provided as an alternative mechanism for those users who prefer CUSUM.  
           [0014]    Using today&#39;s QC parlance, exceeding an EWMA (or CUSUM) QC limit will require troubleshooting and corrective action. To the contrary, if the patient data EWMA (or CUSUM) limit is exceeded, this is considered an actionable event leading to troubleshooting, corrective action, and confirmation testing. Violation of the EWMA (or CUSUM) for variance limits for routine QC constitutes a an actionable error. Operators should investigate possible sources of random error.  
           [0015]    Labs should perform confirmation testing after a Change Event occurs. Confirmation testing typically includes testing a replicate series of control materials to determine performance acceptability. A “Change Event” is defined as any event that has potential to affect the analytical process subsequent to the event. Change events include but are not limited to activities such as calibration, change of reagent lot, and any instrument maintenance (other than daily).  
           [0016]    Labs should test control materials routinely, but the frequency and level (concentration) of QC to be tested for routine QC is customizable for each test. Customization is based on a novel simulation model that compares risk (e.g., defined as the number of patient test results containing unacceptable error out of the total population) to the frequency of QC testing. Both risk and QC frequency are based on the number and magnitude of actionable errors that occur for the test derived from the evaluation period, the uncertainty of measurement for each test, the estimated total error for each test, and biological variation where appropriate.  
           [0017]    Advantageous features of certain aspects of the Biometric model of the present invention include:  
           [0018]    The Biometric model is based on the probability of reporting a patient test result containing unacceptable error rather than the probability of run rejection.  
           [0019]    The Biometric model recognizes and addresses the random on-going nature of testing.  
           [0020]    The Biometric model uses EWMA (or CUSUM) as a primary monitor for both QC and patient data.  
           [0021]    Time of day and day of the week are used to further characterize patient population data to calculate a z-score for use by the EWMA (or CUSUM) model.  
           [0022]    Current truncation techniques often assume a Gaussian distribution and use symmetrical truncation. Truncation limits for patient data for each test are determined by simulation and may or may not be symmetrical.  
           [0023]    Routine QC is preferably monitored by a single rule only. The 1 ks rule is based on method performance and clinical or medical relevance rather than statistical error and is user-defined reflecting laboratory quality goals for a particular test.  
           [0024]    Westgard rules (e.g., multi-rule) are not used.  
           [0025]    The frequency of routine QC and which levels (concentration) of control to test are determined by modeling the risk of reporting patient test results containing unacceptable error for various combinations of control frequency and concentration.  
           [0026]    The frequency and character of routine QC for each test is re-evaluated at regular intervals and adjustments made when necessary.  
           [0027]    Confirmation testing is preferably required after actionable error is identified and resolved by troubleshooting and corrective action.  
           [0028]    Confirmation testing is preferably required after a Change Event occurs.  
           [0029]    The application is able to de-identify patient data so the data can be used without compromising patient privacy.  
           [0030]    Troubleshooting may be aided by electronic versions or internet access to electronic versions of all instrument manuals that are keyword searchable.  
           [0031]    The application is advantageously designed so that large hospital and laboratory organizations can install the Biometric model locally and manage an organization-wide database themselves, sharing selected information with the application.  
           [0032]    The application is able to provide comparative performance indices based on:  
           [0033]    calibration curves  
           [0034]    assay temperature  
           [0035]    wavelength(s) required for the assay  
           [0036]    number of reagents dispensed  
           [0037]    clinical parameters  
           [0038]    method of analysis  
           [0039]    In certain aspects, the application advantageously tracks one or more of instrument calibrations, frequency of calibration, reagent lot changes, frequency of reagent changes, maintenance of instruments. Each of these parameters can contribute to analytical error.  
           [0040]    In certain aspects, the frequency of routine QC and which concentrations (levels) of control to test are derived by simulation and determined by acceptable risk. Control confirmation testing is required whenever a Change Event occurs. Change Events include, for example, calibration, reagent lot change, maintenance other than daily maintenance, and a notified change in a test system (e.g., new antibody or reagent reformulation)  
           [0041]    The application of the present invention includes several statistical process modules operating simultaneously in a dynamic analytical environment. These modules are advantageously designed to achieve optimum output of patient test results within prescribed quality limits.  
           [0042]    According to one aspect of the invention, a system is provided that determines an optimal patient-based quality control strategy for a laboratory based on the laboratory&#39;s patient population, analytical processes, and laboratory utilization. The system, in one aspect, defines the optimal quality control strategy to be the strategy with the smallest expected number of bad results that are produced because of undesired changes in the analytical testing process. A patient-based quality control strategy requires specification of the patient result distribution truncation limits and the parameters for the statistical quality control rule. Therefore, the system determines values for these parameters that result in the smallest expected number of bad results. Estimation of the expected number of bad results that are produced due to an undesired change in the analytical testing process is preferably accomplished by computer simulation.  
           [0043]    The system of the present invention typically requires 3 to 12 months of time and date-stamped patient data for each test. In one aspect, these data are used for three separate purposes. First, the data are used to estimate time trends in the patient results distribution. Second, the patient data are utilized in the computer simulations of the analytical testing process, rather than assuming some standard distribution for the patient data (such as the typically used normal distribution). Third, the data are used to establish truncation limits that will exclude a specified fraction (%) of each patient result distribution.  
           [0044]    The system of the present invention recognizes that the distribution of patient data is not constant over time. Patient data vary (normal versus abnormal) during the day and between days. For example, the distribution is different on weekend days versus weekdays. The same holds true for holidays or days when certain patients, such as dialysis patients, are processed versus a normal weekday. Recognizing and allowing for hourly, daily and seasonal variations enables the system to use both normal and abnormal patient test results. In one aspect, the 3 to 12 months of time- and date-stamped patient data for each test are used to estimate time trends in the distribution of patient results throughout the 168 hours of a week by estimating a smoothed average and standard deviation of patient results for each hour of the week. The time-interval baseline is unique to each individual test and each individual laboratory.  
           [0045]    The system of the present invention uses computer simulation to determine the fraction (%) of the patient-results distribution to truncate that produces the smallest expected number of bad results. The algorithm determines how much data should be truncated on either end of the distribution to minimize the standard deviation of the truncated population relative to the truncated sample size. Consequently, the truncation limits determined by the system are typically non-parametric. A mean and standard deviation are calculated for each truncated population (time-interval baseline). These statistics are used to normalize patient data.  
           [0046]    The system, in one aspect, applies an exponentially weighted moving average (EWMA) quality control rule to the normalized patient data that fall within pre-determined truncation limits. The system uses computer simulation to determine the optimal parameters of the EWMA rule that result in the smallest expected number of bad results produced. Typically, data used with EWMA models are not normalized.  
           [0047]    According to another aspect of the invention, the system includes a testing confirmation module configured to simultaneously assess the impact of a range of potential event-related random and/or systematic out-of-control error conditions on the risk of producing bad patient results. The confirmation testing model typically requires that two quality specifications be specified: the maximum tolerable false rejection rate for confirmation testing and the maximum tolerable risk for producing bad results due to any possible out-of-control error condition associated with the event. These two quality specifications are used to determine the values for three parameters: the number of control samples to test at each concentration level of control material and two rejection thresholds. In one aspect, the thresholds are numerically derived to be optimal in the sense that they meet the two quality specifications using the fewest number of control samples. One threshold is used to test primarily for systematic out-of-control error conditions and the other is used to test for random out-of-control error conditions (an increase in imprecision).  
           [0048]    After an event occurs, control materials are tested in multiples of the number of concentrations of materials normally tested. The results obtained from testing the control materials are transformed to z-scores. For an assessment of systematic error, the z-scores are averaged and compared to the first threshold limit. For an assessment of random error, the standard deviation of the z-scores is computed and compared to the second threshold limit. If neither limit is exceeded, the analytical process is assumed to be within operating specifications. If either limit is exceeded, the analytical process is assumed to be outside operating specifications, which requires identification of root cause and corrective action. Corrective action is preferably followed by another cycle of confirmation testing.  
           [0049]    According to yet another aspect of the present invention, a system relies on input from the patient-based QC module and the confirmation testing module contained within the larger process. Based on inputs from these modules, the system recommends an appropriate, test-specific, routine QC testing strategy that produces the lowest expected number of bad patient test results due to undetected and undesired changes in the analytical process.  
           [0050]    In one aspect, the system includes an algorithm that addresses test stability/instability, imprecision, frequency of error signals over time, and risk of producing a bad result. These inputs allow the algorithm to produce a test specific routine QC strategy that specifies the appropriate frequency of testing QC materials and the number of materials to be tested at each point in the analytical process.  
           [0051]    Reference to the remaining portions of the specification, including the drawings and claims, will realize other features and advantages of the present invention. Further features and advantages of the present invention, as well as the structure and operation of various embodiments of the present invention, are described in detail below with respect to the accompanying drawings. In the drawings, like reference numbers indicate identical or functionally similar elements. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0052]    [0052]FIG. 1 illustrates a client computer system configured with a Biometric QC application module according to the present invention.  
         [0053]    [0053]FIG. 2 illustrates a network arrangement for executing a shared application and/or communicating data and commands between multiple computing systems and devices according to another embodiment of the present invention.  
         [0054]    [0054]FIG. 3 illustrates a general overview of a QC process implemented by the Biometric QC application according to one embodiment.  
         [0055]    [0055]FIG. 4 shows an example of expected values for each hour of the week when a simulation has been run according to one embodiment.  
         [0056]    [0056]FIG. 5 shows an example of the number of results per hour according to one embodiment.  
         [0057]    [0057]FIG. 6 and FIG. 7 show example autocorrelation functions which demonstrate that the algorithm adequately represents the serial correlation in the data according to one embodiment.  
         [0058]    [0058]FIG. 8 represents an autocorrelation between actual and simulated results according to one embodiment.  
         [0059]    [0059]FIG. 9 shows power functions for an {overscore (X)}/S rule with rejection limits set to give three different false rejection rates (pfr=0.01,0.001,0.0001) according to one embodiment.  
         [0060]    [0060]FIG. 10 shows the increase in the probability of producing a “bad” result (dpE) due to an out-of-control error condition, where a “bad” result is defined as a result with an error that exceeds total allowable error specification (TE a ), according to one embodiment.  
         [0061]    [0061]FIG. 11 shows the probability of error detection for a particular QC rule according to one embodiment.  
         [0062]    [0062]FIG. 12 shows the probability of producing “bad” results according to one embodiment. This “surface” depends on the total allowable error specification (TE a ).  
         [0063]    [0063]FIG. 13 shows the probability of producing “bad” results if this QC rule is used after an “event” according to one embodiment. FIG. 13 is the product of FIGS. 11 and 12.  
         [0064]    [0064]FIGS. 14 through 18 show how the pQE surface changes as the control limits for the {overscore (X)}/S rule are varied to provide more or less error detection for SE errors versus RE errors according to one embodiment.  
         [0065]    FIGS.  19 - 34  illustrate the number of QC samples required with the optimal combination of rejection limits for an {overscore (X)}/S rule so that the maximum probability of producing a “bad” result after QC testing is less than or equal to 0.05 (5%) for the false rejection rates p f =0.01, 0.005, 0.002, 0.001, and total allowable error specifications TE a =3, 4, 5, 6, according to one embodiment. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0066]    Definitions for various terms as used herein can be found at the glossary section at the end of this section in Appendix B.  
         [0067]    [0067]FIG. 1 illustrates a client computer system  10  configured with a Biometric QC application module  40  (also referred to herein as, for example, “Biometric QC application” or “Biometric QC module”) according to the present invention. FIG. 2 illustrates a network arrangement for executing a shared application and/or communicating data and commands between multiple computing systems and devices according to another embodiment of the present invention. Client computer system  10  may operate as a stand-alone system or it may be connected to server  60  and/or other client systems  10  and devices  15  over a network  70 .  
         [0068]    Several elements in the system shown in FIGS. 1 and 2 include conventional, well-known elements that need not be explained in detail here. For example, a client system  10  could include a desktop personal computer, workstation, laptop, or any other computing device capable of executing Biometric QC module  40 . In client-server or networked embodiments, a client system  10  is configured to interface directly or indirectly with server  60 , e.g., over a network  70 , such as a LAN, WAN, the Internet, etc., and/or directly or indirectly with one or more other client systems  10  and devices  15 , e.g., over network  70 . Client system  10  typically runs a browsing program, such as Microsoft&#39;s Internet Explorer, Netscape Navigator, Opera or the like, allowing a user of client system  10  to access, process and view information and pages available to it from server system  60  or other server systems over Internet  70 . Client system  10  also typically includes one or more user interface devices  30 , such as a keyboard, a mouse, touchscreen, pen or the like, for interacting with a graphical user interface (GUI) provided on a display  20  (e.g., monitor screen, LCD display, etc.).  
         [0069]    In one embodiment, Biometric QC application module  40  executes entirely on client system  10  (e.g., stand alone), however, in some embodiments the present invention is suitable for use in networked environments, e.g., client-server, peer-peer, or multi-computer networked environments where portions of code may be executed on different portions of the network system or where data and commands (e.g., Active X control commands) are exchanged. In local network embodiments, interconnection via a LAN is preferred, however, it should be understood that other networks can be used, such as the Internet or any intranet, extranet, virtual private network (VPN), non-TCP/IP based network, LAN or WAN or the like. For example, in FIG. 2, a LAN  12  interconnects multiple devices to a client system  10 . Such a network is exemplary of a laboratory or hospital environment  11  where multiple instruments are connected to a system  10  (e.g., LIS). LAN  12  may include wireless and wired links and nodes, and use various communication protocols as are well known.  
         [0070]    In preferred aspects, server  60  acts as a central computer system that executes a majority, or all, of the Biometric QC module code, and each client system  10  acts as a terminal or log-in point for a user. For example, client system  10  may reside in a laboratory or a hospital environment  11  (e.g., part of a LIS) and server  60  may reside in a remote location, e.g., geographically remote. In such a configuration, Biometric QC processing code is preferably executed entirely on server  60 , with data and commands sent between client system  10  over network  70 . For example, if client system  10  resides in a laboratory, client system  10  would provide the required data (e.g., patient test results/data, and other information from a local database and local instruments and devices) for processing by server  60 , which would then provide processing results back to client system  10 , or other computer system. It should be appreciated that the Biometric QC application code may execute entirely on a single system or portions may execute on both systems  10  and  60  (or on multiple systems in other embodiments) as desired for computational efficiency purposes. Additionally, a client system  10  in environment  11  may execute a portion or all of the Biometric QC processing code.  
         [0071]    Returning to FIG. 1, according to one embodiment, client system  10  (or server  60 ) and some or all of its components are operator configurable using a Biometric QC module  40 , which includes computer code executable using a central processing unit  50  such as an Intel Pentium processor or the like coupled to other components over one or more busses  54  as is well known. Computer code including instructions for operating and configuring client system  10  (or server  60 ) to process data content, monitor and control QC processes, and render GUI images as described herein is preferably stored on a hard disk, but the entire program code, or portions thereof, may also be stored in any other volatile or non-volatile memory medium or device as is well known, such as a ROM or RAM, or provided on any media capable of storing program code, such as a compact disk (CD) medium, digital versatile disk (DVD) medium, a floppy disk, and the like. An appropriate media drive  42  is provided for receiving and reading documents, data and code from such a computer-readable medium. Additionally, the entire program code of module  40 , or portions thereof, or related commands such as Active X commands, may be transmitted and downloaded from a software source, e.g., from server system  60  to client system  10  or from another server system or computing device to client system  10  over the Internet as is well known, or transmitted over any other conventional network connection (e.g., extranet, VPN, LAN, etc.) using any communication medium and protocols (e.g., TCP/IP, HTTP, HTTPS, Ethernet, etc.) as are well known. It should be understood that computer code for implementing aspects of the present invention can be implemented in a variety of coding languages such as C, C++, Java, Visual Basic, and others, or any scripting language, such as VBScript, JavaScript, Perl or markup languages such as XML, that can be executed on client system  10  and/or in a client server or networked arrangement. In addition, a variety of languages can be used in the external and internal storage of data, e.g., patient results, device and instrument information (e.g., IDs, date/time stamps, calibration information, temperature information, etc.), and other information, according to aspects of the present invention.  
         [0072]    According to one embodiment, Biometric QC application module  40  includes instructions for monitoring and controlling QC processes, as well as providing user interface configuration capabilities, as described herein. Application  40  is preferably downloaded and stored in a hard drive  52  (or other memory such as a local or attached RAM or ROM), although application module  40  can be provided on any software storage medium such as a floppy disk, CD, DVD, etc. as discussed above. In one embodiment, application module  40  includes various software modules for processing data content. For example, a communication interface module  47  is provided for communicating text and data to a display driver for rendering images (e.g., GUI images) on display  20 , and for communicating with devices  15  and/or another computer or server system in network embodiments. A user interface module  48  is provided for receiving user input signals from user input device  30 . Communication interface module  47  preferably includes a browser application, which may be the same browser as the default browser configured on client system  10 , or it may be different. Alternatively, interface module  47  includes the functionality to interface with a browser application executing on client  20 .  
         [0073]    Application module  40  also includes a truncation limits module  45  including instructions to process patient data to determine truncation limits, and a QC Confirmation testing module  46  including instructions to determine optimal QC rule(s) as will be discussed in more detail below. Compiled statistics (e.g., device and instrument information), patient information, and other information are preferably stored in database  55 , which may reside in memory  52 , in a memory card or other memory or storage system such as an attached storage subsystem (e.g., RAID), for retrieval by truncation limits module  45 , confirmation testing module  46 , and other parts of Biometric QC application module  40 . It should be appreciated that application module  40 , or portions thereof, as well as appropriate data can be downloaded to and executed on client system  10 .  
         [0074]    [0074]FIG. 3 illustrates a general overview of a QC process implemented by Biometric QC application  40  according to one embodiment. The process of FIG. 3 is useful for monitoring instrument and test data and identifying the need for instrument maintenance or calibration. In preferred aspects, a QC model and a patient-based data model are used to quantify the reliability of the testing platform. Preferably the two models are based on EWMA protocols, however, CUSUM may also be used. For example, in one embodiment, routine QC testing is monitored by a single rule based on laboratory quality goals. Prefeably a 1 ks  rule (e.g., 1 3s  rule) using a standard Shewhart (Levey-Jennings) chart, or a mean/SD rule using a normalized scale, is used. The patient based model allows the system to identify the source of a shift in performance of an instrument or device. Shifts in performance are a common problems in laboratories and may be based on a variety of factors including for example, an artifact of the control product, instrument malfunction and reagent impurity.  
         [0075]    In one embodiment, the system generates out-of-control error flags, and if troubleshooting verifies that an error exists, corrective action takes place. For example, corrective action may include calibration, maintenance, reagent change, etc. Corrective action constitutes an “event” that triggers a statistical model which determines what control levels need to be tested and in what quantity (i.e., how many replicates) to verify corrective action and troubleshooting was effective. The system also determines the frequency of quality control testing and the levels to be tested, based on, for example, unplanned maintenance, precision, bias, unplanned reagent changes, unplanned calibrations and unplanned use of fresh controls. Bias and precision for each instrument is preferably continuously monitored by the system.  
         [0076]    EWMA, used in one embodiment to track patient data for maintenance/calibration, is also used as an error detection mechanism. In one embodiment, the system is sensitized to specific patient data populations, and patient data is filtered, e.g., truncated.  
         [0077]    Returning to FIG. 3, a general description of one embodiment of a biometric model according to the present invention will be given. As shown, the routine QC and patient data-based QC processes run simultaneously and in parallel. The biometric model requires configuration prior to use. In a first configuration step, parameters are set for the frequency and character (e.g., number of QC test samples) of routine QC testing for each test (e.g., analyte). In a second configuration step, the QC rule (e.g., 1 ks rule) is set for monitoring data generated by the routine QC process for each test. Another configuration step includes optimizing the QC rule (e.g., EWMA model) for monitoring data generated by routine QC testing for each test. Also, the QC rule (e.g., EWMA model) is optimized for monitoring variance of data generated by routine QC testing for each test. Another configuration step includes establishing a patient data QC protocol for each test, e.g., by truncating time-interval patient data and determining a mean and standard deviation of the remaining data population by hour of day and day of week. The QC rule (e.g., EWMA) is then optimized for accepting normalized patient data to monitor the analytical process for each test. Another configuration step includes setting parameters for confirmation testing for each test.  
         [0078]    After the model is installed equilibration of the model is performed, e.g., by operating the model on new data for a period of time making adjustments to set parameters as appropriate. During operation of the model, QC materials are routinely tested for each test as required by the model. For example, a 1 ks rule is used in one aspect. If the 1 ks rule test fails, patient testing is halted, a root cause is established and/or corrective action is taken. Confirmation testing is performed, and patient testing resumes if confirmation testing passes. In another aspect, an EWMA rule is also applied to the routine QC data. If the EWMA rule fails, patient testing is halted, a root cause is established and/or corrective action is taken. In another aspect, an EWMA test for variance is applied to the data. If the EWMA variance test fails, patient testing is halted, a root cause is established and/or corrective action is taken.  
         [0079]    On the patient QC side, patient data is normalized for each test according to the hour of day and day of week. An optimized EWMA model is then applied to the normalized data. If the EWMA model triggers an error signal, patient sample testing is halted and routine QC is performed as above. Whenever a defined event (e.g., change event) occurs during the course of a day, confirmation testing is performed. Additional and alternative aspects and features of the biometric QC process shown in FIG. 3 will be described herein and in Appendix A.  
         [0080]    Appendix A provides and discusses additional aspects and embodiments of the present invention. It should be appreciated that the various “features” presented in Appendix A should not be taken as limiting, but rather, the various “features” as set forth in Appendix A are intended to teach and illustrate similar, additional and/or alternative aspects and embodiments to the embodiments and aspects discussed herein.  
         [0081]    Truncation Limits Module  
         [0082]    According to one embodiment of the present invention, the Biometric QC application module  40  includes a module  45  configured to determine truncation limits for a patient population. In preferred aspects, truncation module  45  determines truncation limits using the following general steps (which are each described in more detail below):  
         [0083]    1. Collect all patient results over a given period of time.  
         [0084]    For example, a minimum of 91 days worth of data is useful, but one year&#39;s worth of data or more is preferable.  
         [0085]    2. Determine patient-result truncation limits.  
         [0086]    Patient-result truncation limits are preferably determined when setting up a laboratory and when there is a significant change in the system. Examples of significant changes include a change in the population the laboratory services, a change in a reagent formulation, or an observed change in the distribution of results.  
         [0087]    Determining truncation limits typically assumes that the percentage of the patient population to exclude has been determined (see step 4).  
         [0088]    Two preferred processes for determining truncation limits include 1) determining truncation limits equidistant from the median of the un-truncated population, and 2) determining truncation limits that maximize the decrease in the standard deviation of the truncated population relative to the number of samples that are truncated (i.e., removed from the database). The second methodology is preferred, but the two methods may give similar results in many cases. In one embodiment, the second methodology is used as the primary process for determining truncation limits and the first methodology is used as a “sanity” check.  
         [0089]    3. For each hour of the week, calculate the mean and the standard deviation of the truncated patient results.  
         [0090]    4. Determine the optimal percentage of patient results to truncate for each analyte.  
         [0091]    It should be understood that although the steps are discussed in a given order, the steps are not necessarily performed in the order given. For example, Step number 4 is preferably performed before Step number 2.  
       1. Collect All Patient Results Over a Given Time Period  
       [0092]    The patient results preferably contain complete days and complete weeks of data so that when the simulation “wraps,” it wraps to the correct hour and the correct day of the week. In certain aspects, for each patient result, the minimum information required includes:  
         [0093]    A unique instrument identifier (ID);  
         [0094]    The date and time the instrument performed the result, e.g., date/time stamp;  
         [0095]    The minimum and/or maximum reportable results for the analyte (e.g., any result less than the minimum is reported with a “&lt;” and any result above the maximum is reported with a “&gt;”); and  
         [0096]    The number of significant digits (nsd) to which patient results are rounded (e.g., 1, 0.1, 0.01, etc.).  
         [0097]    Unique Instrument ID  
         [0098]    An identifier or other information uniquely identifying the instrument from which the data is preferably provided. If multiple instruments of the same type are used, they can be treated as a single instrument if they all process similar patient samples. However if one instrument is used for stat requests and another for routine requests, or if one serves outpatient testing and another serves emergency department patients, etc., then the patient results for each instrument are preferably analyzed separately.  
         [0099]    Date/Time Stamp  
         [0100]    Most laboratory systems capture and store many different date/time stamps. Preferably, the date/time stamp associated with the time the instrument actually performed the test is provided to the system. However, the date/time stamp associated with when the test was ordered, when the sample was collected, when the sample was received in the lab, or when the result was verified, may be used. If the date/time the instrument performed the test is not available, the next best date/time is the one that comes closest to approximating the correct time order the results were tested on the instrument.  
         [0101]    In labs that autoverify results, result verification dates and times may not be a good choice. Results that fail autoverification (which tend to be “abnormal” results) may include delayed verification times relative to results that pass autoverification, messing up the time order of the results in a way that is correlated with the magnitude of the results, thereby creating apparent time series trends that don&#39;t really exist.  
         [0102]    Results preferably cover complete days and complete weeks. Results collection can start any day of the week, but if there are 26 weeks of data that start on a Tuesday, then the last day should be the Monday that is 26*7=182 days later.  
         [0103]    In certain aspects, it is preferred that a few extra hours of results at each end are included; that is, results would start a few hours before 12:00 AM Tuesday and end a few hours after 12:00 AM of the Tuesday that is 182 days later. This allows complete data for the first and last hour of the week when calculating patient result means and SDs by hour of the week using a moving window.  
         [0104]    In one embodiment, the day of the week information is not necessary so long as the actual (calendar) date is provided. In certain aspects, for example, algorithms are used for determining the day of the week. For example in MATLAB the function weekday(date) returns a number between 1 and 7 denoting the day of the week (e.g., Sunday=1, . . . , Saturday=7) of the given date.  
         [0105]    Minimum and/or Maximum Reportable Results  
         [0106]    The minimum, maximum, and rounding factor (e.g., nsd) are preferably provided to the system, however such information can typically be inferred from the patient results themselves. It is generally safer to have the laboratory provide this information for each analyte. In order to utilize all of the patient data, patient results with a “&lt;” are replaced with the minimum result −1*nsd, and results with a “&gt;” are replaced with the maximum result +1*nsd.  
         [0107]    The Number of Significant Digits  
         [0108]    As stated in the previous section, the nsd can usually be inferred from patient results; however, it is safer to have the laboratory provide this information for each analyte.  
       2 Determine Truncation Limits  
       [0109]    According to one embodiment, two processes are used to determine truncation limits to achieve the desired percentage of patient results that are outside truncation limits (pctout). In this embodiment, methodology 2 is preferably used as the primary method, and methodology 1 is used as a “sanity check.” If the truncation limits from the two methods differ greatly, the cause should be investigated. It should be understood that each methodology may be used solely and separately. The two methodologies will now be discussed with reference to MATLAB functions and protocols, however it should be understood that other programming languages and applications may be used, for example, C, C++, Mathematica, Visual Basic, COBOL, PASCAL, FORTRAN, etc.  
         [0110]    Methodology 1  
         [0111]    According to one embodiment, truncation limits equidistant from the median of the un-truncated population are determined as follows:  
         [0112]    1. Determine the total number, Nres, of patient results (e.g., using MATLAB, if the patient results are stored in a vector named “result” then the function length(result) will return the number of results in the vector).  
         [0113]    2. Calculate the median (med) of all Nres results (e.g., in MATLAB the function median(result) will calculate the median of the results in the vector result).  
         [0114]    3. Calculate the set of unique absolute differences, uadisttomed, between each patient result and the median (e.g., in MATLAB the function abs(x) will calculate the absolute value of x and the function unique(x) will return a vector that contains exactly one occurrence of each unique value in the vector x).  
         [0115]    4. For each value of uadisttomed:  
         [0116]    a. Determine the number of results, Nresout, whose absolute difference from the median, med, exceeds uadisttomed.  
         [0117]    b. Calculate the percent truncated, pctresout=Nresout/Nres.  
         [0118]    5. Select, automatically or manually, the value of uadisttomed that gives the pctresout that is closest in value to the target, pctout.  
         [0119]    6. Calculate the lower truncation limit, tlo=med−uadisttomed and the upper truncation limit, thi=med+uadisttomed using the selected value of uadisttomed.  
         [0120]    Methodology 2  
         [0121]    According to one embodiment, truncation limits that maximize a decrease in the standard deviation of the truncated population relative to the number of samples that are truncated are determined as follows:  
         [0122]    A. Calculate the SD of all patient results, for example:  
         [0123]    1. Determine the total number, Nres, of patient results.  
         [0124]    2. Calculate the standard deviation, SDres, of all the results (e.g., in MATLAB the function std(result) calculates the standard deviation of the results in the vector result).  
         [0125]    B. Determine unique patient results, for example:  
         [0126]    1. Determine all the unique values, ures, of the patient results.  
         [0127]    2. Sort the unique values, ures, from smallest to largest (e.g., the MATLAB function unique(result) will return the unique result values in sorted order).  
         [0128]    C. Initially set the truncation limits to the lowest and highest result and the percent truncated to zero, for example:  
         [0129]    1. Let tlo=the smallest ures value.  
         [0130]    2. Let thi=the largest ures value.  
         [0131]    3. Set pctout=0.  
         [0132]    D. Move in truncation limits from one tail and recalculate:  
         [0133]    Repeatedly move in (automatically or manually) the truncation limits from one or the other tail of the result distribution and recalculate the percent outside truncation limits until the percent outside truncation limits exceeds pctout, for example:  
         [0134]    1. Count the number of results, Nrestlo, that equal tlo.  
         [0135]    2. Count the number of results, Nresthi, that equal thi.  
         [0136]    3. Calculate the standard deviation, SDrestlo, of the results that are greater than tlo and less than or equal to thi (include the results that equal tlo to those that are already excluded).  
         [0137]    4. Calculate the standard deviation, SDresthi, of the results that are &gt;tlo and &lt;thi (include the results that equal thi to those that are already excluded).  
         [0138]    5. Compare the value of (SDres−SDrestlo)/Nrestlo to the value of (SDres−SDresthi)/Nresthi.  
         [0139]    E. Determine which tail gives the greater reduction  
         [0140]    (SDres−SDrestlo)/Nrestlo&gt;(SDres−SDresthi)/Nresthi  
         [0141]    For example, ilf (SDres−SDrestlo)/Nrestlo&gt;(SDres−SDresthi)/Nresthi then moving in the lower truncation limit produces the larger decrease in SDres relative to the number of samples lost due to truncation.  
         [0142]    1. Replace tlo with the smallest value of ures that is &gt;tlo.  
         [0143]    2. Replace SDres with SDrestlo.  
         [0144]    (SDres−SDrestlo)/Nrestlo&lt;(SDres−SDresthi)/Nresthi  
         [0145]    For example, if (SDres−SDrestlo)/Nrestlo&lt;(SDres−SDresthi)/Nresthi then moving in the upper truncation limit produces the larger decrease in SDres relative to the number of samples lost due to truncation.  
         [0146]    1. Replace thi with the largest value of ures that is &lt;thi.  
         [0147]    2. Replace SDres with SDresthi.  
         [0148]    F. Determine the number of results, Nresout, that are less than tlo or greater than thi.  
         [0149]    (This calculation preferably includes all values, including replicates.)  
         [0150]    G. Calculate the percent of results outside truncation limits  
         [0151]    For example, pctresout=Nresout/Nres provides the percent of results outside truncation limits. When pctresout becomes greater than or equal to pctout, the corresponding (tlo,thi) pair gives pctresout&gt;pctout and the (tlo,thi) pair at the step just prior gives pctresout&lt;pctout. Select as the lower and upper truncation limits the (tlo,thi) pair that minimizes the absolute difference between pctresout and pctout. This is done by determining the first tL,tU pair, and that tL gives the larger SD decrease.  
       3. Calculate Patient Means and SDS for Each Hour of the Week  
       [0152]    According to one embodiment, a calculation of the patient means and standard deviations (SDs) for each hour of the week is performed as follows:  
         [0153]    Require that each moving window contains a minimum number of results. (e.g., twenty would be an adequate number, but forty or more would be better.)  
         [0154]    Use a moving window of one hour±one hour (e.g., to create a three-hour window) whenever the window has at least the minimum number of results. Using a moving window smoothes the estimates of the means and SD and helps increase the sample sizes of the estimates.  
         [0155]    If the one hour±one hour window has fewer than the minimum number of results, widen the window by including the results that are closest in time to the one hour±one hour window until the window contains at least the minimum number of values. For example, if the current window is 5 results short then find the 5 results closest in time to the current window and widen the window just enough to include these 5 results.  
         [0156]    The calculations generally require the following input values: a collection of patient results within truncation limits, resin; the hour of the week, hrwk, for each result (e.g., hrwk ranges from 1 to 7*24=168); the week number, wkn, of the result (e.g., if there are 13 weeks of data in resin then wkn ranges from 1 to 13); and the half-width of the moving window, whlfwdth (e.g., in hours) used to calculate the means and standard deviations.  
         [0157]    The calculations generally provide the following output results: Nresin(hrwk)—the number of results used in the calculations for hour of the week, hrwk; avgresin(hrwk)—the average of the results within the window for the hour; SDTresin(hrwk)—the total standard deviation for the hour; SDBresin(hrwk)—the week-to-week (between-week) standard deviation for the hour; and SDWresin(hrwk)—the within-week standard deviation for the hour.  
         [0158]    According to one embodiment, a calculation is performed as follows for each hour of the week:  
         [0159]    1. Determine the results, resin(hrwk) that are within the moving window for hour hrwk.  
         [0160]    For the first whlfwdth hours of the week (hrwk=1 to whlfwdth), resin(hrwk) will be the results where hour of the week≧hrwk−whlfwdth+168 or ≦hrwk+whlfwdth. (The left half of the window needs to “wrap”).  
         [0161]    For each hour between whlfwdth+1 and 168−whlfwdth, resin(hrwk) will be the results where hour of the week≧hrwk−whlfwdth and ≦hrwk+whlfwdth.  
         [0162]    For the last whlfwdth hours of the week (hrwk=168−whlfwdth+1 to 168), resin(hrwk) will be the results where hour of the week≧whlfwdth−hrwk or ≦whlfwdth+hrwk−168. (The right half of the window has to “wrap”)  
         [0163]    2. Determine the number, Nresin(hrwk), of results defined by resin(hrwk).  
         [0164]    3. Calculate the average, avgresin(hrwk) of the results defined by resin(hrwk).  
         [0165]    4. Calculate the deviations devavgresin(hrwk)=resin(hrwk)−avgresin(hrwk).  
         [0166]    5. Perform a one-way random effects analysis of variance (ANOVA) on the deviations devavgresin versus week number, wkn to obtain SDTresin, SDBresin, and SDWresin. For example, the MATLAB function [SDTresin,SDBresin,SDWresin]=sdtbw(devavgresin,wkn) can be used to perform the necessary ANOVA calculations.  
       4. Create Analyte-Specific, Truncated Populations  
       [0167]    In one embodiment, it is preferable to determine the truncation limits that minimize the worst case expected number of “bad” results produced or reported during an out-of-control error condition (ANPTE) over a wide range of error conditions. In general, a “bad” result is a result where the difference between the true concentration and the measured concentration exceeds the total allowable error specification (TEa). ANPTE should be measured by simulation. Therefore, determining analyte specific truncation limits based on worst-case ANPTE performance requires accurate simulation of the time-series characteristics of the patient results in order to calculate ANPTE for different sets of truncation limits and different magnitudes of out-of-control error conditions.  
         [0168]    In certain aspects, implementing a patient-based quality control (QC) rule requires the following parameters:  
         [0169]    Truncation limits—tlo and thi;  
         [0170]    The average of patient results within trucation limits for each hour of the week—avgresin(hrwk);  
         [0171]    The total standard deviation of patient results within truncation limits for each hour of the week—SDTresin(hrwk);  
         [0172]    Number, Npat, of consecutive within-truncation-limits patient samples to average; and  
         [0173]    The two parameters that define the QC rule, for example:  
         [0174]    w and q for the EWMA rule.  
         [0175]    h and k for the CUSUM rule  
         [0176]    Note: In certain aspects, only the EWMA rule is implemented, however, the CUSUM rule may be implemented additionally or alternatively.  
         [0177]     QC performance measures to evaluate a patient-based QC rule typically include:  
         [0178]    ANPfr (The average number of patient results between false rejections);  
         [0179]    ANPed(SE,RE), SE≠0, RE&gt;1 (The average number of patient results to error detection when an out-of-control error condition with shift=SE and increase in stable analytic imprecision=RE exits)  
         [0180]    ANPTE(SE,RE), SE≠0, RE&gt;1 (The average number of “bad” results produced during an out-of-control error condition with shift=SE and increase in stable analytic imprecision=RE)  
         [0181]    Selecting the Patient-Based QC Parameters  
         [0182]    Ideally, one specifies a target ANPfr, and then selects the parameters that minimize the maximum (worst-case) value of ANPTE(SE,RE) over a wide range of out-of-control conditions. However, because the patient-based QC parameters are typically all inter-related, finding the “optimal” combination (including the “optimal” truncation limits) may be a complicated task. Accordingly, in one embodiment, determining truncation limits when using the EWMA rule is performed as follows:  
         [0183]    1. Specify a target ANPfr for the patient-based QC rule;  
         [0184]    2. SetNpat=1;  
         [0185]    3. Select an EWMA parameter w that is optimal for detecting SE=TEa;  
         [0186]    4. Find truncation limits that eliminate one or more of the following percentages of patient results: 0.5%, 1%, 2%, 5%, and 10%;  
         [0187]    5. For each set of truncation limits:  
         [0188]    a. Calculate avgresin(hrwk) and SDTresin(hrwk);  
         [0189]    b. Find (by simulation) the EWMA parameter,q, that gives the target ANPfr;  
         [0190]    c. Calculate (by simulation) Peak=(ANPTE(−TEa)+ANPTE(TEa))/2; and  
         [0191]    6. Select the truncation limits that minimize the value of Peak.  
         [0192]    This approach optimizes truncation limits for detecting SE errors but ignores the effect of RE error conditions. TEa can be given as either an absolute value or a percent. The published Ricos limits may be used.  
         [0193]    Simulation of In-Control, Time-Series Patient Results  
         [0194]    According to one embodiment, a time-series bootstrap approach based on block resampling of consecutive sets of patient results over time is implemented by Biometric QC module  40  to simulate in-control, time-series patient results. The patient results (data) and their date/time stamps are utilized in the simulation. In this embodiment, data preferably covers complete days and complete weeks and is sorted by date and time (a few extra hours of patient results at the beginning and end is generally not desired in this case).  
         [0195]    The simulation of in-control patient data proceeds as follows according to one embodiment:  
         [0196]    1. Generate a random date and time within the date and time interval spanned by the patient data. The first date/time stamp in the patient database immediately following the random date/time marks the beginning point of the simulation.  
         [0197]    2. Find all the results that proceed or follow this point in time by, for example, no more than W minutes (e.g., w=120 minutes).  
         [0198]    3. If the number of results within ±w minutes of the current result is &lt;10, then continue searching backward and forward in time until 10 results are identified.  
         [0199]    4. Randomly sample one of the results within the +w minute block. This is the first simulated patient result.  
         [0200]    5. Move to the next date/time stamp and repeat the process.  
         [0201]    6. Continue in this fashion until the QC rule rejects.  
         [0202]    In this embodiment, one “tricky” part occurs when the simulation is near the beginning or ending date of the patient data, because the simulation needs to “wrap around” from the last date/time point to the first date/time point in the database. This is why it is preferred that the database contain complete days and complete weeks of data so that when the simulation wraps around it wraps to the correct hour of the day and day of the week.  
         [0203]    An example of a useful MATLAB function for simulating in-control time-series patient results follows:  
         [0204]    MATLAB Function-Simwin.m  
         [0205]    function [r,rb,rn]=simwin(result,day,hr,minute,winlen,minnum)  
         [0206]    % Determines a random sampling window for each result in the  
         [0207]    % patient result vector. For the result in row i, the sampling  
         [0208]    % window begins at row rb(i) and includes rn(i) rows ie., rows  
         [0209]    % rb(i) to rb(i)+rn(i)−1. The window width is derived to span  
         [0210]    % +/−winlen minutes. Whenever the +/−winlen window fails to include  
         [0211]    % at least minnum results, the window is widened the shortest length  
         [0212]    % of time in either direction necessary to include minnum results minday=min(day);  
         [0213]    [et,ordr]=sort((day-minday)*24*60+hr*60+minute);  
         [0214]    if ordr(:)˜=[1:length(et)]′ 
         [0215]    error(‘results must be in date/time order’)  
         [0216]    end  
         [0217]    % start at either the first or second day depending on which gives  
         [0218]    % the largest time range and most complete first and last day  
         [0219]    strt1=min(find(day==minday));  
         [0220]    maxday=minday+fix((max(day)−minday)/7)*7-1; % make complete weeks  
         [0221]    end1=max(find(day==maxday));  
         [0222]    et1=et(end1)−et(strt1);  
         [0223]    mindaynxt=min(day(day&gt;minday));  
         [0224]    strt2=min(find(day==mindaynxt));  
         [0225]    maxdaynxt=mindaynxt+fix((max(day)−mindaynxt)/7)*7-1;  
         [0226]    end2=max(find(day==maxdaynxt));  
         [0227]    et2=et(end2)−et(strt2);  
         [0228]    if et1&gt;=et2  
         [0229]    et=et(strt1:end1);  
         [0230]    r=result(strt1:end1);  
         [0231]    else  
         [0232]    et=et(strt2:end2);  
         [0233]    r=result(strt2:end2);  
         [0234]    end  
         [0235]    n=length(r);  
         [0236]    wl=zeros(size(r));  
         [0237]    wr=wl;  
         [0238]    shft=1;  
         [0239]    gor=find(et(shft+1:n)−et(1:n−shft)&lt;=winlen);  
         [0240]    % gor = rows where et(i+shft)−et(i)&lt;=winlen (gor: “go right”)  
         [0241]    while ˜isempty(gor) % keep widening windows until all exceed +/−winlen  
         [0242]    wr(gor)=wr(gor)+1; % wr = # rows window extends to the right  
         [0243]    gol=gor+shft; % gol = rows where et(j)−et(j−shft)&lt;=winlen  
         [0244]    % Note if row i is within winlen of row i+shft  
         [0245]    % then row j=i+shft is within winlen of row i  
         [0246]    wl(gol)=wl(gol)+1; % wl = # rows window extends to the left shft=shft+1;  
         [0247]    gor=find(et(shft+1:n)−et(1:n−shft)&lt;=winlen);  
         [0248]    end  
         [0249]    i=find(wl+wr+1&lt;minnum); % rows with &lt; minnum within window  
         [0250]    while ˜isempty(i); % keep widening windows until all have at least minnum  
         [0251]    m=i((i−wl(i)&gt;1) &amp; (i+wr(i)&lt;n)); % rows that don&#39;t abutt either end  
         [0252]    gol=[i(i+wr(i)==n);m((et(m)−et(m−wl(m)−1))&lt;=(et(m+wr(m)+1)−et(m)))];  
         [0253]    % extend to the left if current window abutts the right end or if the  
         [0254]    % next time pt to the left is closer than the next time pt to the right  
         [0255]    gor=[i(i−wl(i)==1);m((et(m)−et(m−wl(m)−1))&gt;(et(m+wr(m)+1)−et(m)))];  
         [0256]    % extend to the right if current window abutts the left end or if the  
         [0257]    % next time Pt to the right is closer than the next time pt to the left  
         [0258]    wl(gol)=wl(gol)+1;  
         [0259]    wr(gor)=wr(gor)+1;  
         [0260]    i=find(wl+wr+1&lt;minnum);  
         [0261]    end  
         [0262]    rb=[1:n]′−wl; % beginning row number for window  
         [0263]    rn=wl+wr+1; % number of rows within window.  
         [0264]    The MATLAB function named simwin determines the points that are within the window for each of the observed values. This algorithm requires the 91-day vector of patient results with the day, hour, and minute of each result. The simwin function figures out ½ of the window width (w) for a moving window. Within the function, minnum assures that a minimum number of results in the window exist.  
         [0265]    For example, using a minimum number of 10 and a window of ±120 minutes, if a particular window contains fewer than 10 results, the window is widened until the minimum number of results is obtained. This results in a 1 in 10 chance of sampling a particular result. Using this approach, the chances of sampling the exact same results is very small. For example, after 5 windows have been sampled, the chances of sampling the same results is approximately 10 −5 .  
         [0266]    The input into the function simwin are a particular value for the window width (w) and the minimum number of samples in the window (minnum). The output of simwin produces two variables—rb and m, where rb is the beginning row of the window (rows are associated with a particular date and time), and m is the number of rows in the window. Together, rb and rn determine the window that defines the rows.  
         [0267]    The algorithm uses a moving window of the results. The simulation takes actual laboratory results with date and time stamp, in order, by date and time, and figures out a window that is well defined and simulates the results but makes use of the time-distribution of the data. Using this approach, a very large number of data points can be simulated, for example, if 5,000 patient data points are used, an effective simulation of a database of 500 million data points can be performed.  
         [0268]    Another useful algorithm for simulating results that reflect the time-series nature of the underlying data is the MATLAB function nttsim:  
         [0269]    MATLAB Function—nttssim.m  
         [0270]    function nextres=nttssim(result,rb,rn,timptr)  
         [0271]    % function to simulate the next result  
         [0272]    % result = patient result vector in time sorted order  
         [0273]    % rb = result row # of first result for sampling window  
         [0274]    % rn = number of results in sampling window  
         [0275]    % timptr = a vector of length Nsim that contains pointers  
         [0276]    % to the date and time of the simulated result  
         [0277]    % nextres = vector of length Nsim of the next set of simulated results Nres=length(result);  
         [0278]    Nsim=length(timptr); % # of simulated results generated concurrently  
         [0279]    timptr=mod(timptr,Nres)+1; % wrap to beginning when get to end  
         [0280]    nextres=result(rb(timptr)+fix(rand(Nsim,1).*rn(timptr)));  
         [0281]    The inputs for the function nttsim are the set of patient raw data (result vector), rb, m (where rb and m are the output from the function simwin.m), and a time pointer (timptr), which keeps track of where we are in time in the series of results. Within the function, timptr is defined as a vector of length Nsim that contains pointers to the date and time of the simulated result (nextres), where nextres is a vector of length Nsim of the next set of simulated results. Stated another way, timptr is a vector and the number of rows it contains is the number of simulations that are being performed simultaneously. When a simulation is performed, each row is a separate trial. For example, if 10,000 simulations are desired, create a vector that contains 10,000 rows. Each row will be a separate simulation trial, so that 10,000 simulations will be performed.  
         [0282]    One way to populate the timptr vector is to randomly generate numbers between 1 and the number of results in the patient-result vector, populate all rows (for example 1000 rows) of the timptr vector with these random numbers, use these points as random starting points for this simulation trial, at each step, move to the next point in time (i.e., the next row in the timptr vector), and at this row, the nextres line of the nttssim.m function determines which result will be used as the next random result.  
         [0283]    When the last result in the timptr vector is reached, the algorithm must loop around to the first result in the timptr vector. The mod of MATLAB is useful for doing this.  
         [0284]    [0284]FIG. 4 shows an example of expected values for each hour of the week when a simulation has been run. In FIG. 4, the hourly mean of the window (shown by the red line) was kept, and the hour-to-hour curve was replaced with vertical bars that represent a 95% confidence of the hourly mean of the window. To clarify, the red curve represents the mean of the simulation window and the vertical bars represent the actual mean of the values within the hour ±2 SD of the mean of the actual data. This provides a better sense of the number of points that went into the hourly mean of the window and provides an overview of the precision with which the hourly average was determined. This decreases apparent discrepancies between the red and blue lines when some hours have no or very few data points. If this curve is doing its job the red line should be approximately at the center of the vertical bars. It should be noted that each hour includes all the data points run within that hour over a year, so 2000 specimens/hour represents 2000 specimens/hour per year.  
         [0285]    The close fit of the moving window mean to the raw patient mean demonstrates that the simulation models the time-series nature of the data accurately with a winlen of 150 minutes and a minimum number of results per window of 10.  
         [0286]    [0286]FIG. 5 shows an example of the number of results per hour.  
         [0287]    It should be noted that because the population modeled should be homogeneous, instruments serving different populations (e.g., routine, stat, or ICU) should be modeled separately. Also, the purpose of performing simulations with different window lengths and minimum number of samples is to determine how to set the window lengths and minimum number of samples to obtain an optimal autocorrelation between real and simulated data. Using a minimum of 10 samples (and a ±120 min to a ±150 min window), however, should be sufficient for most labs.  
         [0288]    [0288]FIG. 6 and FIG. 7 show example autocorrelation functions which demonstrate that the algorithm adequately represents the serial correlation in the data. The points at 0.09 on the y-axis represent the correlation of pairs of data formed by each result and the result immediately prior to it. (The correlation for each of these pairs is 0.09.) The autocorrelation function determines how much independence the results have from one another.  
         [0289]    As lag (the number of results prior to the result) increases, the correlation decreases. This demonstrates that there is a serial correlation in the data. For example, results on Monday morning are more similar to one another (e.g., less independent and more correlated) than they are to results on Friday afternoon.  
         [0290]    For FIG. 7, the same number of data points contained in the original raw patient data was used for the simulated. For example, for 60K data points in the patient data, the timptr vector should be populated with 60K simulated data points. FIG. 6 shows the autocorrelation for simulated data and demonstrates that the algorithm preserves autocorrelation observed with the raw patient data.  
         [0291]    [0291]FIG. 8 represents an autocorrelation between the actual and simulated results. This justifies using an hour-by-hour average, because if not, only white noise is left (i.e., there is no correlation).  
         [0292]    If only three months worth of data is provided and those days occur at the end of the year, the data may over-represent unusual days. Operating characteristics can be modified as more data are acquired/provided. For example, the initial operating characteristics can be set using the available lab data and when a year&#39;s data has been obtained, the operating characteristics can be re-evaluated. These operating characteristics should be stable until there is a change in the patient population. When a change in the patient population occurs, the operating characteristics should be recalculated.  
         [0293]    Simulation of an Out-Of-Control Error Condition  
         [0294]    In one embodiment, simulation of an out-of-control error condition is performed by Biometric QC application  40 . Simulating an out-of-control error condition generally involves determining how to transform the distribution of patient results so that the mean and SD of the transformed distribution accurately manifests the out-of-control error condition. The fact that the patient result data used in the simulations are typically rounded may cause some problems when trying to accurately simulate an out-of-control error condition. According to one embodiment, a strategy is provided for creating an out-of-control result distribution to overcome the problems associated with rounding as follows:  
         [0295]    1. For result, x, first “unround” the result by adding a uniformly distributed random number between ±0.5*nsd to x; call it x T .  
         [0296]    2. Next, add SE(x T ) to x T , where SE(x T ) is the magnitude of the out-of-control error condition at concentration XT.  
         [0297]    3. Next, round the result to nsd digits. If the out-of-control result is outside the minimum or maximum reportable results, replace it with the minimum−1*nsd or maximum+1*nsd respectively.  
         [0298]    In certain aspects, when simulating SE error conditions, if the total allowable error specification (TE a ) for the analyte is given as a constant, it is preferred to specify SE as a constant, and if TE a  is given as proportional to concentration, to specify SE as proportional to concentration. Unlike simulations of control QC strategies, both negative and positive SE error conditions are preferably simulated because the non-normal distributional characteristics of the patient distributions mean that symmetrical behavior between positive and negative error conditions can&#39;t be expected.  
         [0299]    It is preferred that SE range between ±2TE a . Also, any combination of SE and RE error is preferably handled in the following way:  
         [0300]    1. Unround as above.  
         [0301]    2. Next, multiply the unrounded result by a normally distributed random number with mean=0 and variance=(RE 2 −1)*SD(x T ), where SD(x T ) is the stable analytic imprecision at concentration x T  and RE is the magnitude of the increase in imprecision given in multiples of stable analytic SD.  
         [0302]    3. Next, add SE(x T ) and round to nsd digits as before.  
         [0303]     Simulating the out-of-control time series characteristics of patient results proceeds in the same way as for in-control results except that an out-of-control result is randomly sampled from the ±w minute block of transformed results on either side of the current date/time stamp.  
         [0304]    An example of a useful MATLAB function for simulating an out-of control error condition follows:  
         [0305]    function reserr=sereerr(result,Sa,reprng,nsd,ase,bse,RE)  
         [0306]    % create an out-of-control vector of patient results, reserr, from an  
         [0307]    % in-control vector, result, assuming SE=ase+(bse−1)*result and or RE&gt;=1.  
         [0308]    % resunrnd is the in-control unrounded measured result  
         [0309]    % resunrnderr is resunrnd with error due to the out-of-control error condition  
         [0310]    % Sa = the analytical SD for each result  
         [0311]    % reprng = min and max reportable value for result  
         [0312]    % nsd = number of significant digits results are rounded to  
         [0313]    Nres=length(result); % total number of results  
         [0314]    minres=reprng(1)−nsd; % make min value = lower limit − nsd  
         [0315]    maxres=reprng(2)+nsd; % make max value = upper limit + nsd  
         [0316]    resunrnd=result+(rand(Nres,1)−0.5)*nsd; % “unround” the results  
         [0317]    Sainc=sqrt(RE.^ 2−1).*Sa; % additional SD needed to increase to re*Sa  
         [0318]    % add extra random error and shift by SE  
         [0319]    resunrnderr=ase+bse*normrnd(resunrnd,Sainc);  
         [0320]    % round and limit to [minx,maxx] 
         [0321]    reserr=min(maxres,max(minres,round(resunrnderr/nsd)*nsd));  
         [0322]    The above MATLAB function sereerr (systematic error-random-error error) functions to transform the distribution of the raw patient data to simulate a particular systematic or random out-of-control situation. The inputs for the function sereerr include raw patient values (results vector), analytic imprecision of the method, and Sa vector. The Sa vector represents the analytic SD, which is the inherent analytic imprecision of the stable process for each result concentration. The Sa vector has the same length as the results vector and contains the analytic imprecision for every result in the results vector at the concentration of the result. The value in the Sa vector can be absolute or a percentage. In the case of an absolute imprecision, every value in the Sa vector would be the same. In the case of a percentage imprecision, the values in the Sa vector vary depending on the value in the results vector.  
         [0323]    Additional inputs for the function sereerr include Reprng (Report range is the minimum and maximum reportable values for the assay), nsd (the number of significant digits. The function uses the nsd to “unround” the raw data results), ase (represents the intercept for the systematic error), bse (represents the slope for the systematic error), and RE (represents random error). Ase and bse are used to simulate constant and proportional shifts in raw patient values. For example, if a=1 and b=1, every shifted result is 1 more than the original and the sift is constant, and if a=0 and b=1.1, every shifted results is 10% higher than its original result and the shift is proportional. RE=1 indicates the stable analytic imprecision, and RE=2 indicates an out-of-control error condition resulting in a doubling of the stable analytic imprecision of the assay.  
         [0324]    Because results in the raw patient data are rounded, the function “unrounds” each value to make the simulation work well. To do this, a uniform random number, e.g., ±0.5 (the rounding width), is added to the patient results.  
         [0325]    QC Confirmation Testing Module  
         [0326]    According to one embodiment of the present invention, the Biometric QC application module  40  includes a QC Confirmation Testing module  46  configured to determine an optimal QC rule (and associated number of QC samples) needed to confirm that the analytical process is still in control after an event has occurred. The optimal rule minimizes the worst case probability of producing “bad” results (pQE) because of an error condition associated with the event. In preferred aspects, the QC Confirmation Testing module  46  determines an optimal QC rule using the following general steps.  
         [0327]    Step 1—Identify a Relevant Performance Measure  
         [0328]    According to one embodiment, the algorithm includes a module configured to determine an optimal QC rule (and associated number of QC samples) needed to confirm that the analytical process is still in control after an event has occurred. In one embodiment, the optimal rule to be determined should minimize the worst-case probability of producing “bad” results (pQE) because of an error-condition associated with the event.  
         [0329]    This approach is consistent with the basic approach for routine QC tests, except that for routine QC testing an error occurring is modeled at some point in time and then it is determined how many samples are needed to detect the condition.  
         [0330]    Step 2—Select a QC Rule  
         [0331]    The {overscore (X)}/S rule is preferably used, because it has been shown that the {overscore (X)}/S rule is the best QC rule for testing a single group of QC samples. (See, e.g., Parvin C A. New insight into the comparative power of quality-control rules that use control observations within a single analytical run. Clin Chem 1993;39:440-7).  
         [0332]    Step 3—Determine the pQE  
         [0333]    Two probabilities are required to calculate the probability of producing a bad result (pQE): 1) the probability of producing a bad result due to an out-of-control error condition (dpE), and 2) the probability of error detection (ped). The pQE is equal to the increase in the probability of producing “bad” results because of the error condition multiplied by the probability of failing to detect the error condition, as given in the following formula: pQE=dpE*(1−ped). Using this approach, the probability of producing a “bad” result (pQE) can be determined when using a specific QC rule after an event.  
         [0334]    [0334]FIGS. 9 and 11 show examples of the probability of error detection (ped) plotted as a function of SE and RE simultaneously, producing a surface plot that generalizes the power function to cover all combinations of systematic and random error conditions. FIG. 13 shows an example of a pQE surface as a function of RE and SE.  
         [0335]    Step 4−Vary Error Limits to Minimize pQE  
         [0336]    When choosing the QC rule to use after an “event”, it is desirable to minimize the worst-case probability of producing “bad” results because of an error-condition associated with the “event.” FIGS. 14 through 18 illustrate how assigning error detection ability between {overscore (X)} and S can be used to select the QC rule to minimize the worst-case probability of “bad” results. As shown, as the {overscore (X)} and S values vary, the relative power for detecting a shift in the away from the target value (SE) or an increase in stable analytic imprecision (RE) also varies.  
         [0337]    Step 5—Vary Rejection Limits to Guarantee that pQE is Never &gt;5%  
         [0338]    In this step, {overscore (X)} and S rejection limits are varied and the number of QC samples over a range of total allowable error specifications (TE a ) and false rejection rates (p fr ) are varied to guarantee that the pQE never exceeds 5%, regardless of the error condition. It should be appreciated that the selection of 5% for the pQE was arbitrary, and it could be smaller or larger as desired. In addition, the number of QC samples is restricted to multiples of two, which is generally the number of samples that labs run for general chemistry tests.  
       Step 1 and 2 Discussion  
       [0339]    Steps 1 and 2 require no further discussion at this time.  
       Step 3 Discussion  
       [0340]    The algorithm is preferably configured to consider out-of-control error conditions that result in a shift from target values (SE), an increase in stable analytic imprecision (RE), and/or an increase in both SE and RE.  
         [0341]    [0341]FIG. 9 shows power functions for an {overscore (X)}/S rule with rejection limits set to give three different false rejection rates (pfr=0.01,0.001,0.0001) according to one embodiment. The probability of error detection (p ed ) is plotted as a function of SE and RE simultaneously. The curve represented by the line along the SE axis (RE=1) provides power to detect a systematic error. The curve along the RE axis (SE=0) provides power to detect a random error. This surface plot generalizes the power function to cover all the combinations of systematic and random error conditions. In FIG. 9, the floor defines the SE/RE combinations in multiples of the analytic SD. On the SE scale, which represents a shift, a value of 0 means that there is no systematic error (i.e., the system is in control), a value of 1 means a 1 SD shift from the target value, etc. On the RE scale, a value of one indicates that the analytic imprecision is one multiple of the in-control imprecision, a value of 2 indicates that the stable analytic imprecision has doubled so that it is now twice what it should be when the system is in control, etc. Because the RE scale represents multiples of the SD for random error, an RE of 1 means in-control (i.e., RE=1 indicates that the out-of-control imprecision is equal to the in-control imprecision). RE=2 indicates that the out-of-control imprecision is two times the in-control imprecision. It should be noted that the SE scale ranges from 0 to 6 and the RE scale ranges from 1 to 6.  
         [0342]    [0342]FIG. 10 shows the increase in the probability of producing a “bad” result (dpE) due to an out-of-control error condition, where a “bad” result is defined as a result with an error that exceeds total allowable error specification (TE a ), according to one embodiment. The probability of a “bad” result depends on the magnitude of the out-of-control error condition (SE, RE) and on the total allowable error condition. The dpE decreases as the TE a  increases. For example, when TE a =3, the likelihood of producing a bad result is greater than when TE a =6.  
         [0343]    Evaluating the X Bar/S Rule  
         [0344]    According to one embodiment, a single {overscore (X)}/S rule is preferably used. In certain aspects, an {overscore (X)} rejection limit of 2.43 and an S rejection limit of 3.53 are used to obtain a 1 in 1000 probability of rejection. It should be understood that other rejection limits may be used. To evaluate the {overscore (X)} value, according to one embodiment, z scores for each of the two QC values are created and averaged. An average z score with absolute value greater than 2.43 is a rejection. To evaluate the S value, the SD of the two z scores is calculated and an SD greater than 3.53 is a rejection.  
         [0345]    When choosing a QC rule to use after an “event”, it is desirable to minimize the worst-case probability of producing “bad” results because of an error-condition associated with the “event”. The probability of producing “bad” results subsequent to an “event” is a function of the probability of producing “bad” results because of the error condition (see FIG. 10) and the probability of failing to detect the error condition (see FIG. 9).  
         [0346]    [0346]FIG. 11 shows the probability of error detection for a particular QC rule. The surface shown in FIG. 11 generally depends on the QC rule being used to evaluate data points, the rejection limits, and the number of QC samples tested.  
         [0347]    [0347]FIG. 12 shows the probability of producing “bad” results. This “surface” depends on the total allowable error specification (TE a ). FIG. 12 shows the probability of producing “bad” results (dpE) with a total allowable error specification (TE a ) of 3. The TE a  determines the surface of the plot. The surface does not depend on the rule.  
         [0348]    [0348]FIG. 13 shows the probability of producing “bad” results if this QC rule is used after an “event”. FIG. 13 is the product of FIGS. 11 and 12. More specifically, FIG. 13 shows the probability of producing “bad” results (pQE) when the QC rule Xbar(2.43)/S(3.53) is used after an “event.” pQE is equal to the increase in the probability of producing “bad” results because of the error condition times the probability of failing to detect the error condition: pQE=dpE*(1−ped). The maximum point on the surface in FIG. 13 (an arrow indicates this maximum point ) is at an error condition that produces a shift of 2.04 in-control analytical SDs from target and an increase in analytical SD to 2.39 times its in-control level. The probability of producing “bad” results with this QC rule, if this “worst case” out-of-control error condition occurred, is 0.181. In this case, if multiple errors of this type occurred over the next year, 18.1% of results produced after the error condition would be expected to be “bad.” How quickly the error condition is detected is a function of the routine testing strategy.  
         [0349]    Using FIG. 13, therefore, the probability of producing a bad result (at every possible error condition) subsequent to an error condition that failed to detect with event-related QC testing (i.e., the pQE) can be interpreted.  
       Step 4 Discussion  
       [0350]    In this step, the rejection limits of {overscore (X)} and SD values are varied to determine the values that produce the smallest pQE. FIGS. 14 through 18 show how the pQE surface changes as the control limits for the {overscore (X)}/S rule are varied to provide more or less error detection for SE errors versus RE errors. As the {overscore (X)} and SD values are varied, the relative power for detecting a shift in the mean or an increase in imprecision varies. These figures demonstrate that it is possible to find the rejection limits for the {overscore (X)} and SD that produce the smallest pQE peak.  
         [0351]    For FIGS. 14 through 18, the following values are held constant:  
         [0352]    Number of QC samples =2  
         [0353]    P fr =0.001  
         [0354]    TE a =3.0 
         [0355]    Table 1 summarizes the conclusions drawn from FIGS.  14 - 18 .  
         [0356]    Note that FIG. 16 shows the rejection limits that minimize the maximum point on the surface. (i.e., it has the smallest peak).  
                                                                   Figure   Xbar   SD   Max. Peak   SE   RE                           14   2.33   4.31   0.199   0.00   3.38           15   2.37   3.72   0.184   0.00   3.29           16   2.43   3.53   0.181   2.04   2.39           17   2.50   3.43   0.185   2.30   1.99           18   2.80   3.31   0.219   2.62   1.45                      
 
       Step 5 Discussion  
       [0357]    In step 4 the rejection limits are varied to determine the optimum number of QC samples to minimize the pQE. In step 5, the {overscore (X)} and S rejection rates and the number of QC samples are varied over a range of total allowable error specifications (TE a ) and false rejection rates (p fr ) to determine the pQE that never exceeds a desired value, e.g., 5%., regardless of the error condition. FIGS. 19 through 34 are useful for determining the optimal combinations of {overscore (X)} and SD at different false rejections rates and total allowable error specifications. In particular, according to one embodiment, FIGS.  19 - 34  illustrate the number of QC samples required with the optimal combination of rejection limits for an {overscore (X)}/S rule so that the maximum probability of producing a “bad” result after QC testing is less than or equal to 0.05 (5%) for the following false rejection rates (p f ) and total allowable error specifications (TE a ):  
         [0358]    p fr =0.01,0.005,0.002,0.001  
         [0359]    (The run length for these p fi  values are 100, 200, 500, and 1000, respectively.)  
         [0360]    TE a =3,4,5,6  
         [0361]    Restrictions placed on the model as illustrated in FIGS.  19 - 34  include:  
         [0362]    The probability of producing a “bad” result (pQE) after QC testing can never be greater than a 5% irrespective of the error condition. The choice of 5% is arbitrary; however, it means that the vertical scale representing pQE=dpE*(1−ped) is never greater than 0.05.  
         [0363]    The number of QC samples tested (N) is limited to multiples of 2, based on the assumption that two concentration levels of QC are typically tested and that both levels are represented equally.  
         [0364]    Total allowable error specifications (TE a ) of 3, 4, 5, and 6 were considered. In general, a third party, such as CLIA, determines the TEa specifications. TE a  specifications based on biological variation and published by Ricos&#39; group in the Scandinavian Journal of Clinical Lab Investigation are much smaller than the CLIA TE a  specifications. (See, e.g., Ricos, C. et al. Current Databases on Biological Variation. Scand J Clin Lab Invest 1999; Vol 59 No. 7 491-500).  
         [0365]    False rejection rates (p f ) of 0.01, 0.005, 0.002, 0.001 were considered. The scale remains the same for all charts to make changes to the surface from chart to chart easier to perceive. In addition, the pQE=d pe *(1−ped) scale is never larger than 0.05, because the maximum pQE was set to 5%.  
         [0366]    Using the present invention, the number of QC samples required after an event can be determined by varying total allowable error specifications (TE a ) and false rejection rates (p fr ). If event-related QC fails to detect the out-of-control error condition, how long the error condition will persist and, consequently, the number of bad results reported will be a function of the routine QC testing strategy and will depend on the average number of patient samples to error detection (ANP ed ). (See, e.g., Ye, Jay et. al. Performance Evaluation and Planning for Patient-Based Quality Control Procedures. Amm J Clin Pathol 2000:113:240-248).  
         [0367]    The expected number of bad results due to the event is equal to the pQE surface multiplied times the ANP ed . For example, if the ANP ed  is 20 and the pQE is never allowed to exceed 5%, the expected number of bad results will never exceed 20*0.5 or 1 bad result, which is probably acceptable. However, if the ANP ed  is 200, the expected number of bad results will be 10. Whether or not this is acceptable depends on factors such as the probability of this error condition occurring. For example, if the “event” is daily instrument maintenance and the p fr  is 1:500, then the likelihood of a p fr  associated with daily maintenance is less than once a year. Because the cost of a p fr  is probably high, labs will probably want to make the p fr  as small as possible. (p fr  costs generally include running additional QC samples, additional maintenance, delay in reporting patient results, etc.)  
         [0368]    From the above, it can be seen that 4 QC samples (2 each at 2 concentration levels) are adequate to meet the criterion that the worst-case probability of producing “bad” results doesn&#39;t exceed 5%, except for relatively small total allowable error specifications (TE a &lt;4), even with the false rejection probability as low as 0.001. If the 5% criterion is lowered, the required Ns will increase. For the “toughest” case considered here (FIG. 26, TE a =3 and pfr=0.001), 12 QC samples (6 each at 2 concentration levels) are required to meet the 5% worst case probability of producing “bad” results after QC testing criterion. Using a TEa of 6 requires a fairly large error condition before the system begins producing “bad” results.  
         [0369]    FIGS.  19 - 34  can be divided into groups of four as shown in Table 2, where:  
         [0370]    Group 1 sets the TE a  to 6 and varies the p fr .  
         [0371]    Group 2 sets the TE a  to 5 and varies the p fr .  
         [0372]    Group 3 sets the TE a  to 4 and varies the p fr .  
         [0373]    Group 4 sets the TE a  to 3 and varies the p fr .  
                                                         TABLE 2                                   Figure   TE a     P fr     Group                                        19   6   0.01   Group 1           20   6   0.005           21   6   0.002           22   6   0.001           23   5   0.01   Group 2           24   5   0.005           25   5   0.002           26   5   0.001           27   4   0.01   Group 3           28   4   0.005           29   4   0.002           30   4   0.001           31   3   0.01   Group 4           32   3   0.005           33   3   0.002           34   3   0.001                      
 
       Supplemental Sampling QC Procedure  
       [0374]    According top one embodiment, the system is configured so that It is also possible to set the number of QC samples tested to a continuous value. This allows N to range from 2 to any number. In one embodiment, this is done using a 2 stage testing approach: initially test 2 QC samples and depending on the values of these 2 samples either accept and assume that the testing system is okay and immediately test additional QC samples. For example, the first 2 QC samples are not accepted and 2 additional samples are immediately tested, a QC rule based on the 4 samples combined is needed. In this case, the number of QC samples tested is a random variable based on whether the first pair of QC samples is accepted or rejected. Using this strategy, it is possible to determine the smallest N that results in a pQE of, e.g., exactly 0.05. It is fairly common practice in the laboratory to repeat out-of-range control samples, and if the repeat controls are within range, to accept them and continue testing.  
         [0375]    Such an approach has been disparaged in the past, based mainly on comments by Dr.  
         [0376]    Westgard which stressed that repeating QC samples is not improving the lab&#39;s QC, but rather is lowering the false rejection probability and error detection ability. This is only correct if the rejection limits for the two QC tests are not adjusted so that the overall false rejection probability remains as desired. If the QC rules applied to the first and second set of QC samples, and the false rejection probability associated with the first and second samples are both allowed to vary then this approach is more powerful than just testing a single set of QC samples.  
         [0377]    This supplemental approach has several advantages over the mean/range ({overscore (X)}/S) rule. For example, it will generally provide better results, on average, than the mean range rule at detecting error when using the same number of QC samples. Additionally, it is advantageous to have the flexibility to set the number of QC samples to any number. This is particularly useful with tri-level controls where the number of QC samples are in multiples of 3.  
         [0378]    While the invention has been described by way of example and in terms of the specific embodiments, it is to be understood that the invention is not limited to the disclosed embodiments. To the contrary, it is intended to cover various modifications and similar arrangements as would be apparent to those skilled in the art. Therefore, the scope of the appended claims should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements.