Abstract:
The present invention relates to a data processing system and method for seamlessly integrating laboratory information management system (LIMS) functionalities into an enterprise resource planning (ERP) system. The invention enables to keep the additional complexity that is required for the provision of LIMS functionalities at a minimum as all laboratory instrumentation setup information is centrally stored in a server computer but not in the ERP system.

Description:
BACKGROUND OF THE INVENTION  
       [0001]     1. Field of the Invention  
         [0002]     The present invention relates to a data processing system and a method, and more particularly to the processing of test orders for the testing of production samples.  
         [0003]     2. Description of the Related Art  
         [0004]     Enterprise resource planning (ERP) systems are used for various purposes including the administration of human resources, customer relationship management, inventory management and valuation, purchasing, sales, shipping, credit limit check, foreign trade controls and various other administrative, planning, report, logistics and control functions that are required for running a business. ERP systems are commercially available from SAP AG, Germany and others.  
         [0005]     Laboratory information management systems (LIMS) are used for the purpose of laboratory automation and communication. American Society for Testing and Materials (ASTM) Document E1578 provides an overview of prior art LIMS concepts.  
         [0006]     A common disadvantage of prior art LIMS is that they are more or less insular solutions, which cannot be integrated into a company&#39;s ERP. This creates various inefficiencies during the development and production of many products, such as pharmaceutical and chemical products for which the performance of various tests and evaluations and the recordation of test results is required by law. For example, under US law the requirements for the collection of test data are defined in federal regulations 21 C.F.R. Sec. 11.  
         [0007]     To comply with such regulatory requirements manufactures devised standard operating procedures (SOP&#39;s) that are often prepared by a manufactures internal quality assurance department (QA) or by a contracted independent auditor.  
         [0008]     A lot of laboratory staff time is spent on documentation related to these tests in addition to the actual laboratory operations. Cycle times from sample arrival to certificate of analysis are often quoted at 10 to 15 days.  
         [0009]     U.S. Pat. No. 6,581,020 describes a system for managing and reporting laboratory data wherein the data is obtained at remote data-taking stations and transferred instantaneously by wireless communication to a main data-storing/manipulation station for recording therein without being recorded at the remote data-taking stations. Again, this system is not integrated with an ERP.  
         [0010]     There is therefore a need to provide an improved data processing system in order to increase the efficiency of the generation and collection of test data and to reduce cycle times.  
       SUMMARY OF THE INVENTION  
       [0011]     The present invention provides a data processing system that comprises at least one ERP system that is coupled to a server computer. The ERP system stores a set of test method keys. The ERP system can generate test orders for testing of production samples. A test order for testing a production sample carries one or more method keys that are selected from the set of available method keys.  
         [0012]     The server computer has means for storing method definitions to be performed for carrying out test methods, each sequence being retrievable using a respective method key and means for retrieving one of the method definitions using the method key of a received test order and for instantiating a retrieved method definition to provide method steps. There can be different kinds of method steps such as automatic measurements to be performed by laboratory instruments and/or actions to be performed by laboratory staff, e.g. handling of semi-automatic laboratory instruments and/or manual data input operations, and calculations or evaluations to be performed on intermediate results. Such intermediate results can impact the performance of the method. For example, the execution of a method step can depend on the intermediate result or results obtained from the execution of one or more previous method steps.  
         [0013]     Further, the server computer has means for generating a tabular representation of the received test orders showing the method steps, database means for storing intermediate results received from a client computer obtained by performance of one or more of the method steps, and processing means for performing calculations in accordance with one or more of the method steps using the intermediate results. In addition, the sever computer has means for generating a test report ( 176 ) for the ERP system. For example, the test report is a data which describes the results in machine readable form. Preferably the test report is transmitted as an electronic message from the server computer to the ERP system.  
         [0014]     The server computer is coupled to at least one client computer having user interface means for viewing the tabular representation and for selecting one of the test orders and laboratory instrumentation interface means for communicating with a laboratory instrument, the laboratory instrument being adapted to perform at least one of the method steps on the production sample.  
         [0015]     For example, the server computer stores a number of method steps and further data like information regarding appropriate laboratory instruments and/or result calculation rules (“method definition”) for each available testing method. Some of the method steps may require sequential execution while other method steps can be executed in parallel. Each testing method definition is identified by one of the method keys. A method key can be used to retrieve the respective method steps from a storage means of the server computer. Depending on the content of the test order the method steps are instantiated. The server computer has retrieval means for the method steps belonging to a method key contained in a received test order.  
         [0016]     The server computer generates a tabular representation of received test orders. The tabular representation also includes of the instantiated method steps. Further, the server computer has a database for storing of intermediate results obtained by the performance of method steps. A final report is generated on the basis of the intermediate results and is sent back to the ERP system as a response to the test order in a way that allows using the results in the ERP system in further processing steps.  
         [0017]     One or more client computers are coupled to the server computer. A client computer has a user interface that allows a user to view the tabular representation of the test orders including the sequences of method steps. Further, the client computer has a laboratory instrumentation interface for communication with laboratory instruments that are coupled to the client computer. An appropriate laboratory instrument is selected automatically in order to perform a given method step on a production sample based on the method definitions.  
         [0018]     The data processing system of the invention is particularly advantageous as it allows to seamlessly integrate LIMS functionalities into an ERP system by only adding a very limited amount of complexity to the ERP system. This is accomplished by storing only the method keys on the ERP system but not the complete sequences of method steps. The sequences of method steps and further data like information regarding appropriate laboratory instruments and/or result calculation rules are stored centrally on the server computer which greatly simplifies the maintenance and updating of the method steps. This makes it possible to use the server as a central hub that can be used by a number of ERP systems to provide LIMS functionality.  
         [0019]     In accordance with a preferred embodiment of the invention the ERP system has a logistics component for supporting the distribution of production samples to client computer locations. For example, production samples are labelled with a bar code that carries a sample identifier. A production sample is transported to a client computer location where a user reads the bar code by means of a bar code reader for automatic identification of the sample.  
         [0020]     In accordance with a preferred embodiment of the invention all Meta data relating to the laboratory instruments coupled to the client computers is centrally maintained on the server computer. For example, the server computer stores database tables that specify communication interfaces supported by the various laboratory instruments.  
         [0021]     In accordance with a further preferred embodiment of the invention the server computer has a filter component for filtering the tabular representation of the test orders. For example, if a given user belongs to a certain organisational entity of the enterprise, the filtering is performed in order to filter out such test orders for which the user&#39;s organisational entity is responsible. Another filter option is to filter out such test orders that can be handled by the user&#39;s client computer in view of the laboratory instrumentation that is coupled to this client computer. In other words, filtering can be performed on an organisational level and/or an instrumentation level such that only test orders are shown to a user for which the user is responsible and/or which can be handled by the user in view of the available laboratory instrumentation coupled to his or hers client computer.  
         [0022]     In accordance with a further preferred embodiment of the invention the server computer has an authentication component. User authentication can be performed by means of any suitable authentication method. Examples include authentication by means of integrated circuit (IC) cards, smart cards or the like or by means of biometric feature recognition.  
         [0023]     In accordance with a further preferred embodiment of the invention the server computer generates an audit trail for generating a history of testing transactions. Each entry of the audit trail describes the respective transaction and identifies the user that has initiated and/or performed the respective data entry including a time stamp and the reason for the action.  
         [0024]     In accordance with a further preferred embodiment of the invention an approval of the test results is required by another user that was not involved in performing the test. For example, the user that has initiated or supervised the performance of the test digitally signs the test results. Before a final test report can be generated a second digital signature of another user that was not involved in the performance of the test is required. Preferably, the audit trail is utilized in order to check if the approval of the other user can be accepted or not.  
     
    
     BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)  
       [0025]     In the following preferred embodiments of the invention will be described in greater detail by way of example only making reference to the drawings in which:  
         [0026]      FIG. 1  is a block diagram of a preferred embodiment of a data processing system of the invention,  
         [0027]      FIG. 2  is a flow diagram illustrating a preferred embodiment of a method of the invention,  
         [0028]      FIG. 3  is a block diagram of an alternative embodiment of the data processing system of the invention, where the server computer acts as a central hub for multiple ERP systems. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0029]      FIG. 1  shows a data processing system  100  that comprises an ERP system  102 , which is coupled to a server computer  104 . The ERP system  102  serves for administration of a manufacturing plant  106 , such as for the manufacturing of chemical or pharmaceutical substances. The ERP system has at least one microprocessor  108  for execution of various program components that provide ERP functionalities. These program components may include a human resources (HR) module  110 , customer relationship management (CRM) module  112 , financials (FI) module  114 , and logistics module  116 . Various additional ERP functionalities can be provided by other program modules that are not shown in  FIG. 1  for ease of explanation.  
         [0030]     In addition, processor  108  executes a program module  118  that serves for initiating the collection of test data, receiving test reports and archiving the test reports in accordance with the respective official regulations and/or the internal rules of control of the company that runs the manufacturing plant  106 . Such regulations or internal rules of control typically require that samples are taken from the running production or during goods receipt from external procurement or a number of other logistic processes in order to perform a specified number of tests on the samples.  FIG. 1  shows one such sample  120  by way of example. The sample  120  has an attached label  122  that carries a bar code.  
         [0031]     The bar code contains a sample identifier (ID) that unequivocally identifies the sample  120 .  
         [0032]     The ERP system  102  has storage  124  for storing a set  126  of method keys. Each method key is assigned to a specific test method that has one or more method steps. The test methods and respective method steps are not specified in the ERP system  102 .  
         [0033]     Further, the storage  124  contains a database  128  that serves for storage of test results in compliance with the respective regulatory requirements.  
         [0034]     The server computer  104  has at least one processor  130  for the execution of various program components. For example, the processor  130  runs a table generation module  132  that serves for generating a tabular representation of test orders received from the ERP system  102 . Table filtering module  134  serves for implementation of various filter functions for filtering the tabular representation. For example, filtering is performed in order to filter out test orders assigned to a certain organisational entity or to filter out such test orders that can be executed by a given client computer.  
         [0035]     Authentication module  136  serves for user authentication and can implement any suitable authentication method, such as password or IC-card implemented authentication methods or the identification of biometric features.  
         [0036]     Storage module  138  serves for storage of intermediate results that are reported back from the client computers that are coupled to the server computer  104 . The intermediate results are stored in a database  140 , which is stored in storage  142  of the server computer  104 .  
         [0037]     Audit trail module  144  serves to generate an audit trail  146  that is stored in storage  142 . Each entry of the audit trail  146  identifies a transaction and the user that has initiated, performed or entered the respective transaction and/or intermediate result data including a time stamp and the reason for the action.  
         [0038]     Report module  148  serves to generate a test report using the intermediate results stored in the database  140 .  
         [0039]     A set of database tables  150  that is stored in storage  142  contains a list of the method keys and the respective method steps and further data like information regarding appropriate laboratory instruments and/or result calculation rules (“method definition”). In other  
         [0040]     words, each method key has an assigned method definition. For example, a method definition is stored as a list of one or more method steps. The method steps, including evaluation and calculation rules, can be specified by respective code words or machine executable instructions. The tables can also include a flow control, such as “if” or “if then else” logic flow control method steps.  
         [0041]     An additional set of database tables  152  contains data descriptive of the available laboratory instruments and a set of database tables  154  that describes the available communication interfaces for communication with the laboratory instruments. The database tables  152  and  154  implement a relational database that describes the laboratory setup.  
         [0042]     Table  156  is an example for a tabular output that is generated by table generation module  132 . Table  156  contains a list of test orders received from the ERP system and the method steps that need to be executed for performance of each test order.  
         [0043]     A number of client computers  158 ,  160 , . . . is coupled to the server computer  104 , e.g. by means of a local area network (LAN)  162 . For example, the server-client communication is performed using the TCP/IP protocol. The same or another network  163 , such as the Internet or an intranet, can be used for coupling ERP system  102  and server computer  104 .  
         [0044]     The client computer  158  has a bar code reader  164  for reading the bar code on label  122  when the sample  120  has been transported to the client computer location of client computer  158 . A number of laboratory instruments (I)  166 ,  168 , . . . are coupled to the client computer  158  using various interconnection technologies. For example, laboratory instrument  166  is directly coupled to client computer  158  by means of a serial cable. Laboratory instrument  168  is coupled to client computer  158  by means of a laboratory instrumentation bus or a field bus  170 .  
         [0045]     In operation the ERP system  102  receives an event  172 . The event  172  is data that describes e.g. a logistics event, a customer request or an event reported from the manufacturing plant  106  that requires the testing of a sample in accordance with the applicable regulations and/or internal rules of procedure. The event  172  invokes program module  118 .  
         [0046]     Program module  118  requests logistics module  116  to extract sample  120  from the running production and to assign a sample ID to the sample  120 . Program module  118  selects one of the method keys of the set  126  in accordance with the test method that is required by regulation or internal rule of control. The program module  118  generates a test order  174  that comprises at least a test order ID, the sample ID of the sample  120 , and the selected method key. The test order may include additional data, such as the measurement characteristic of interest, allowed measurement ranges and/or other additional information.  
         [0047]     The test order  174  is transmitted from ERP system  102  to server computer  104  via network  163 . Receipt of test order  174  by server computer  104  invokes table generation module  132 . The table generation module  132  reads the method key from the test order  174  and uses the method key in order to retrieve the method definition assigned to that method key in the database tables  150 . The method steps of the retrieved method definition are read from the database tables. The method steps are instantiated using the data contained in the test order, such as the measurement characteristic of interest. On this basis the table generation module  132  generates the table  156  that includes the test order  174  and previously received test orders as well as the respective instantiated method steps to be performed for the execution of these test orders.  
         [0048]     When a user logs in e.g. on client computer  158  he or she can view the table  156 . In order to reduce the size of the table  156  it can be filtered by means of table filtering module  134  in order to show only a subset of the test orders to the user that are relevant to the user and/or the client computer used for carrying out the current part of the test order. After user authentication by means of authentication module  136  the user can select one of the test orders e.g. by clicking on the respective row or rows of table  156  in order to initiate execution of the test order.  
         [0049]     The user utilizes the bar code reader  164  for reading the label  122  for identification of the sample  120 . This ensures that the test order is performed with respect to the correct sample as identified in the test order details containing the sample ID. The method steps are communicated from the client computer  158  to the appropriate laboratory instrument  166 ,  168  or another laboratory instrument using the communication interface as given in the database table  154 .  
         [0050]     The measurement results obtained from the laboratory instruments are transmitted from client computer  158  to the server computer  104  and stored by storage module  138  in the database  140 . After intermediate results have been received from laboratory instruments or have been entered manually, these results are stored in the database  140 . This is triggered by the user of client computer  158  digitally signing the set of intermediate results. Calculations are carried out based on the method definitions contained in the test order as soon as all input parameters for a given calculation are present and again if any of these parameter changes later on. Validation of the results requires a secondary digital signature by another user for approval of the intermediate results. This procedure is managed by report module  148 . Report module  148  accepts a secondary digital signature only from a user that is not reported to be involved in the execution of the current test order in the audit trail  146 .  
         [0051]     On the basis of the intermediate results stored in the database  140  a final test report  176  is generated and transmitted from server computer  104  to ERP system  102  where it is persistently stored in the database  128  for later reference and/or for further use in the process which triggered the inspection in the first place.  
         [0052]     It is important to note that only the method keys are stored in the ERP system  102  but not the individual method steps. This ensures that only a minimal amount of complexity is added to the ERP system  102  while the rest of the laboratory setup information is centrally stored on server  104 . This enables to seamlessly integrate LIMS functionalities into the ERP system while keeping the administrative overhead at minimum. Further, this enables a high degree of flexibility. For example, server computer  104  can be used as a hub that services two or more ERP systems of the same or different companies. This will be explained in greater detail with respect to  FIG. 3 .  
         [0053]      FIG. 2  shows a flow chart that illustrates a preferred mode of operation of the data processing system of  FIG. 1 .  
         [0054]     In step  200  an event is received by the ERP system. In response a test order is generated using one or more method keys (step  202 ). The test order is transmitted to the server computer in step  204  where the one or more method keys contained in the test order are utilized to retrieve the respective method steps (step  206 ).  
         [0055]     In step  208  a tabular representation of test orders that have been received by the server computer is generated. The tabular representation includes the method steps to be performed for execution of each test order.  
         [0056]     In step  210  a user selects one of the test orders from the tabular representation. This initiates an automatic or semi-automatic performance of the respective method steps involving one or more laboratory instruments that are coupled to the client computer of the user (step  212 ). In step  214  the measurement results that are obtained by the laboratory instruments are transmitted via the respective client computer to the server computer where the intermediate results are stored in the server computer&#39;s database (step  214 ). In step  216  a test report is generated on the basis of the intermediate results. The test report includes at least the actual measurement value or observation entered by laboratory staff that has been obtained for the measurement value of interest as specified in the test order. The test report is transmitted from the server computer to the ERP system (step  218 ) where it is persistently stored in the ERP system&#39;s database for later reference.  
         [0057]      FIG. 3  shows an alternative embodiment where the server computer is used as a central hub for a plurality of ERP systems. Elements in the embodiment of  FIG. 3  that correspond to elements in the embodiment of  FIG. 1  are designated by similar reference numerals.  
         [0058]     The ERP systems  302 ,  302 ′, . . . can belong to the same or different companies. Each of the ERP systems  302 ,  302 ′, . . . stores the same set  326  of method keys. This provides a common interface between the various ERP system  302 ,  302 ′, . . . and server computer  304 . In other words, the server computer  304  can receive test orders from any one of the ERP systems and process these test orders as the same set of method keys is utilized across the entire data processing system  300 .  
       List of Reference Numerals  
       [0000]    
       
           100  data processing system  
           102  ERP system  
           104  server computer  
           106  manufacturing plant  
           108  processor  
           110  HR module  
           112  CRM module  
           114  FI module  
           116  logistics module  
           118  program module  
           120  sample  
           122  label  
           124  storage  
           126  set  
           128  database  
           130  processor  
           132  table generation module  
           134  table filtering module  
           136  authentication module  
           138  storage module  
           140  database  
           142  storage  
           144  audit trail module  
           146  audit trail  
           148  report module  
           150  database table  
           152  database table  
           154  database table  
           156  table  
           158  client computer  
           160  client computer  
           162  LAN  
           163  network  
           164  bar code reader  
           166  laboratory instruments  
           168  laboratory instruments  
           170  bus  
           172  event  
           174  test order  
           176  test report  
           300  data processing system  
           302  ERP system  
           302 ′ ERP system  
           304  server computer  
           326  set  
           358  client computer  
           360  client computer  
           362  LAN  
           364  bar code reader  
           363  network  
           366  laboratory instrument  
           368  laboratory instrument  
           370  bus