Control technology for automated analyzers
The use of main and shadow workflow engines in automated analyzers addresses centralized control challenges by reducing network traffic and ensuring redundancy, enhancing scalability and productivity in large laboratory systems.
Patent Information
- Application Number
- JP2021000669
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-01-09
- Filing Date
- 2021-01-06
- Publication Date
- 2025-08-07
- Estimated Expiration
- 2041-01-06
AI Technical Summary
Large and complex automated analyzers in laboratories face challenges with centralized control systems, leading to increased network traffic, errors, system delays, and single points of failure, which reduce productivity and turnaround time for biological samples.
Implementing a main workflow engine and shadow workflow engines that operate independently and redundantly, with shadow engines processing data snapshots to manage subsets of modules, reducing network traffic and enabling failover capabilities.
This approach enhances system scalability, reduces network congestion, and ensures continuous operation by distributing processing load and providing redundancy, thereby improving productivity and reducing downtime.
Smart Images

Figure 0007720149000001 
Figure 0007720149000002
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to methods and systems for controlling the operation of an automated analyzer for processing biological samples. [Background technology]
[0002] Laboratories providing automated analyzers for processing biological samples are becoming increasingly large and complex. For example, automated analyzers and their modules may be located on different floors of a laboratory, in different buildings, or even at different sites. Meanwhile, there is an increasing demand to provide software solutions for centrally controlling the workflow of such laboratories. This results in increasingly complex software solutions, particularly in the significant amount of network traffic relaying control data to the various automated analyzers. The computing resources required at the centralized control node can also be substantial. This increased complexity also increases the likelihood of errors during control software execution and system delays. This can reduce the turnaround time for biological samples (e.g., patient samples) and reduce the productivity of the automated analyzers. Furthermore, having a single central entity driving the entire automation represents a single point of failure for the entire system. Summary of the Invention
[0003] In a first general aspect, a computer-implemented method for processing biological samples in an environment including multiple automated analyzers with multiple modules includes receiving data associated with multiple instructions for processing the biological samples in a main workflow engine. Each instruction requests performing one or more assays on one or more biological samples. The main workflow engine is configured to receive and process data from each of the multiple automated analyzers with multiple modules. The method further includes providing a data snapshot to at least one shadow workflow engine associated with a subset of one or more modules of the multiple modules. The data snapshot includes only a portion of the data associated with the multiple instructions necessary to determine module actions in the multiple modules. The method reduces the likelihood of system failure and improves system scalability and performance because the shadow workflow engine continues to determine multiple actions for processing the multiple instructions for the subset of modules based on the data snapshot. The shadow workflow engine is configured to assume the role of the main workflow engine for a limited time, and / or the main workflow engine is configured to determine multiple actions for the subset of modules for processing the multiple instructions in response to a failure in the shadow workflow engine.
[0004] In a second general aspect, a computer system is configured to perform the method steps according to the first aspect.
[0005] Particular embodiments of the subject matter of the first and second general aspects can be implemented to realize one or more of the following advantages.
[0006] First, the disclosed techniques can reduce the amount of communication over a network in an environment that includes multiple automated analyzers with multiple modules (e.g., a multi-site or multi-floor laboratory). Shadow workflow engines can operate autonomously (without or reduced interaction with the main workflow engine) for a predetermined period of time. Furthermore, they can process portions of the workflow associated with a specific subset of modules locally. This can potentially reduce network traffic, especially in environments that include multiple sites or a large number of automated analyzers. In some prior art solutions, the (main) workflow engine interfaces with all automated analyzers and their modules to control the operation of the automated analyzers.
[0007] Second, the main workflow engine and one or more shadow workflow engines can operate simultaneously on different tasks and (at least partially) independently of each other. For example, a shadow workflow engine can process data independently of the main workflow engine (e.g., running a simulation or testing a new configuration). In this way, the processing load can be distributed across the environment.
[0008] Third, using a main workflow engine and one or more shadow workflow engines can provide redundancy to an environment in some instances. In some implementations, a shadow workflow engine can take on the role of the main workflow engine, allowing it to continue performing operations until a failure in the main workflow engine is fixed, for example for a limited period of time. Conversely, if a shadow workflow engine is unavailable, the main workflow engine can take over the tasks of the shadow workflow engine.
[0009] In this disclosure, some terms are used in a particular way.
[0010] As used herein, the term "automated analyzer" can refer to any type of automated or semi-automated technical device for producing measurements in a laboratory or other healthcare-related environment. The automated analyzer can, in some examples, be a laboratory automated analyzer or a diagnostic automated analyzer.
[0011] A "laboratory automated analyzer" can be any automated analyzer used in laboratory work, such as in the clinical, chemical, biological, immunological, or pharmaceutical fields. For example, an "automated analyzer" includes an in vitro diagnostic analyzer, such as an immunochemistry analyzer, a hematology analyzer, or a clinical chemistry analyzer.
[0012] The term "diagnostic automated analyzer" includes not only automated analyzers used in the process of diagnosing disease, but also automated analyzers for screening, health classification, risk assessment, monitoring, staging, prediction, prognosis, etc. For example, a diagnostic automated analyzer can be an ultrasound machine, a radiology machine (e.g., an X-ray machine, a computed tomography machine, or an MRI machine), an ECG or EEG machine, or another monitor of bodily function.
[0013] An "automated analyzer" is not necessarily located in a dedicated laboratory or clinical setting. Rather, the term also includes analytical devices for performing diagnostic or analytical procedures in clinical, chemical, biological, immunological, or pharmaceutical fields. For example, benchtop devices in point-of-care settings such as a physician's office or pharmacy, or home devices, can also be considered laboratory devices according to the present disclosure.
[0014] As used herein, an "automated analyzer" may include a control unit or controller operably coupled to one or more analytical, pre-analytical, and post-analytical modules or work cells, the control unit operable to control the modules. Further, the control unit may be operable to evaluate and / or process collected analytical data, control the loading, storing, and / or unloading of samples to and / or from any one of the analyzers, and initialize analytical or hardware or software operations of the analytical system used to prepare samples, sample tubes, reagents, etc. for said analysis.
[0015] An automated analyzer can include one or more modules. These modules can be configured to perform any task or activity in a workflow (or tasks or activities) for processing samples in the automated analyzer. For example, a module can be a transport module configured to transport samples, consumables (e.g., reagents or other consumables), or other components needed to perform a workflow. For example, a transport module can be configured to transport samples between different analysis modules.
[0016] A module can also be a pre-processing or post-processing module configured to perform pre-processing or post-processing operations required in the workflow, for example, a pre-processing operation can include one or more washes, concentrations, separations, or dilutions of a sample or an aliquot of a sample.
[0017] The module may also be a storage module for samples (eg, a storage module that provides a specific storage environment, such as a refrigerated environment or another environment with controlled temperature and / or other controlled parameters).
[0018] The module can also be an analytical module. As used herein, the term "analyzer module" / "analyzer module" encompasses any device or device component capable of inducing a reaction of a biological sample with a reagent to obtain a measurement. An analyzer is operable to determine parameter values of a sample or its components through various chemical, biological, physical, optical, or other technical procedures. The analyzer may be operable to measure said parameters of the sample or at least one analyte and return the resulting measurement. The list of possible analytical results returned by the analyzer includes the concentration of the analyte in the sample, the presence of the analyte in the sample (corresponding to a concentration above the detection level), optical parameters, data obtained from DNA or RNA sequences, mass spectrometry of proteins or metabolites, and digital (yes or no) results indicating various types of physical or chemical parameters. The analytical device may include units that assist in pipetting, administering, and mixing the sample and / or reagents. The analyzer may include a reagent holding unit for holding reagents for performing the analysis. The reagents may be arranged, for example, in the form of containers or cassettes containing individual reagents or groups of reagents, and may be placed in appropriate containers or locations in a storage compartment or conveyor. It may include a consumable supply unit. The analyzer may include a process and detection system whose workflow is optimized for a particular type of analysis. Examples of such analyzers are clinical chemistry analyzers, coagulation chemistry analyzers, immunochemistry analyzers, urine analyzers, nucleic acid analyzers used to detect the results of or monitor the progress of chemical or biological reactions.
[0019] In this disclosure, a "workflow" refers to a definition of an organized, repeatable pattern of activities of an automated analyzer (and its modules) for processing biological samples. A workflow can describe the systematic organization of resources of an automated analyzer into the processes required for processing biological samples. A workflow can be described as a sequence of operations of one or more automated analyzers. A workflow can be described in a suitable textual or symbolic representation. In one example, a workflow can be described (at least in part) by a decision tree that defines the actions that the automated analyzer or its modules should take in different situations based on multiple conditions and rules that can be configured by the customer through real-time updates.
[0020] The "workflow engine" monitors and manages the execution of workflows in an environment that includes an automated analyzer. The workflow engine has access to the configuration and functional definitions of the automated analyzer in the environment, as well as the workflow definitions. The workflow engine manages and monitors the status of activities or actions within the workflow and can determine new actions or activities to transition to according to the defined process. Activities or actions may include transporting biological samples, reagents or other consumables, pre-processing biological samples, performing measurements or tests on biological samples, processing test results, or other tasks (or actions or activities forming sub-steps of these tasks) of an environment that includes an automated analyzer for processing biological samples as described in this disclosure.
[0021] In some examples, the workflow engine can perform two functions: First, the workflow engine can check the current process status (e.g., the status of a module in an automated analyzer). After passing the initial step, the workflow engine can perform one or more actions or tasks.
[0022] The workflow engine may be embodied in any suitable software and hardware environment. In some examples, the workflow engine may be embodied in software running on a general-purpose computer. In other examples, the workflow engine may be executed on dedicated hardware.
[0023] As used herein, the term "(computer) network" encompasses any type of wireless network, such as WiFi™, GSM™, UMTS, or other wireless digital network, or a cable-based network, such as Ethernet™. In particular, a communication network may implement the Internet Protocol (IP). For example, a communication network includes a combination of a cable-based network and a wireless network.
[0024] A "control unit" or "controller" controls the automated analyzer so that the steps required by the processing protocol are performed by the automated analyzer. That is, the control unit may instruct the automated analyzer to perform a specific pipetting step to mix a liquid biological sample with a reagent, or the control unit may control the automated analyzer to incubate the sample mixture for a specific period of time. The control unit may receive information from the data management unit regarding which steps need to be performed with a particular sample. In some embodiments, the control unit may be integral with the data management unit or may be embodied by common hardware. The control unit may be embodied, for example, as a programmable logic controller that executes a computer-readable program with instructions for performing operations according to a process operation plan. The control unit may be configured to control, for example, any one or more of the following operations: loading and / or dumping and / or washing cuvettes and / or pipette tips; moving and / or opening sample tubes and reagent cassettes; pipetting sample and / or reagent mixing; washing pipetting needles or tips; washing mixing paddles; controlling a light source, e.g., selecting a wavelength, etc. In particular, the control unit may include a scheduler for executing a series of steps within a predefined cycle time. The control unit may further determine the order of samples to be processed according to assay type, urgency, etc.
[0025] As used herein, a "measurement result" of a diagnostic or laboratory automated analyzer can be any output of the automated analyzer described above. Depending on the respective automated analyzer, the measurement result can be obtained by analyzing a living or dead body or part thereof (e.g., a mammalian patient or part of a mammalian patient) or a sample (e.g., a biological sample).
[0026] For example, the measurement may include one or more parameter values measured on a living or cadaveric body or part or sample thereof (e.g., the concentration of a particular substance in a blood sample). In another example, the measurement may include one or more images (e.g., X-ray or MRI images) of the living or cadaveric body or part or sample thereof.
[0027] The term "(biological) sample" refers to a material that may contain an analyte of interest. Patient samples are derived from biological sources such as blood, saliva, ocular lens fluid, cerebrospinal fluid, sweat, urine, stool, semen, breast milk, physiological fluids including ascites, mucus, synovial fluid, peritoneal fluid, amniotic fluid, tissue, cultured cells, etc. Biological samples can be pre-treated before use, such as preparing plasma from blood. Processing methods include centrifugation, filtration, distillation, dilution, concentration, and / or separation of sample components containing the analyte of interest, inactivation of interfering components, and addition of reagents. Samples can be used directly as obtained from the source, or they can be used to modify the sample's properties after pre-treatment. In some embodiments, biological material that is initially solid or semi-solid can be made liquid by dissolving or suspending it in an appropriate liquid medium. In some embodiments, the sample may be suspected of containing a particular antigen or nucleic acid. The term "sample" is used consistently to refer to the various stages of the workflow for simplicity, even when the "physical substrate" of the sample is changed, for example, by taking an aliquot, diluting or concentrating the sample, or mixing with a reagent.
[0028] The term "instructions" includes any request to laboratory equipment to perform a particular task automatically or semi-automatically. For example, instructions may be a request to perform one or more assays on one or more biological samples. [Brief explanation of the drawings]
[0029] [Figure 1] FIG. 1 is a flow diagram of a method for processing biological samples in an environment including multiple automated analyzers having multiple modules of the present disclosure. [Figure 2] FIG. 1 illustrates a main workflow engine and multiple shadow workflow engines according to the present disclosure. DETAILED DESCRIPTION OF THE INVENTION
[0030] Methods and systems for processing biological samples in an environment including multiple automated analyzers having multiple modules are discussed in more detail below.
[0031] First, methods and systems for processing biological samples according to the present disclosure will be discussed in relation to Figure 1. Subsequently, different additional aspects will be discussed in relation to Figure 2.
[0032] overview FIG. 1 is a flow diagram of a method for processing biological samples in an environment including multiple automated analyzers having multiple modules.
[0033] The method includes calculating 101 data associated with a plurality of instructions for processing a biological sample in a main workflow engine. In some examples, the biological sample is a patient sample. In subsequent sections, for purposes of explanation, the biological sample may be described as contained in a sample tube (e.g., a biological sample collection tube). However, the present technology is not limited to controlling processing of sample tubes in an environment including multiple automated analyzers. Rather, the biological sample may be contained in or carried by any suitable container or substrate. Further examples are described below.
[0034] Each instruction can include information specifying how to process a particular sample. In particular, the instructions can specify which test or assay (or tests or assays) to perform on a particular biological sample. Additionally, the instructions can include one or more parameters that define the timing of sample processing (e.g., data indicating the priority of the biological sample or data specifying a specific processing time for the biological sample (e.g., a maximum processing time or a specific completion time)).
[0035] The main workflow engine is configured to receive and process data from each of a plurality of automated analyzers having a plurality of modules. That is, the main workflow engine has access to the configuration and functional definitions of all automated analyzers (and their modules) in the environment. The main workflow engine can be configured to determine a sequence of activities or operations for the plurality of automated analyzers having a plurality of modules for processing instructions.
[0036] The computation may include determining a sequence of activities or operations for each module to process the instructions. For example, the main workflow engine may determine a sequence of activities or operations to be performed on a patient sample to perform a particular assay. In some examples, the main workflow engine is configured to receive instructions for processing a biological sample at runtime and calculate multiple operations for multiple automated analyzers having multiple modules based on the workflow for processing the instructions.
[0037] The main workflow engine manages and monitors the state of activities or operations within the workflow and can determine which new operations or activities to transition to according to processes defined for all automated analyzers (and their modules) in the environment. However, in techniques according to the present disclosure, the main workflow engine provides 103 data snapshots to shadow workflow engines associated with one or more subsets of the plurality of modules. The snapshots are then processed by the shadow workflow engines, as described below. Additional aspects of the main workflow engine are also described below.
[0038] The shadow workflow engine (as the main workflow engine) can manage and monitor the state of activities or actions within a workflow and determine new actions or actions to transition to according to a defined process of the automated analyzer (and its modules) of the environment. In some examples, the shadow workflow engine can have the same processing capabilities as the main workflow engine. In other examples, the shadow workflow engine can have limited processing capabilities compared to the main workflow engine. For example, the shadow workflow engine can be equipped with a more limited amount of computational resources (e.g., processing power and memory). Additionally or alternatively, the shadow workflow engine can be limited in terms of versatility or functionality. For example, the shadow workflow engine can be configured to manage and monitor only the state of activities or actions within a workflow (or part thereof) and determine new actions or actions related to a subset of one or more modules of the multiple modules of the environment (e.g., a transport module or multiple transport modules).
[0039] The shadow workflow engine can receive a data snapshot 105. The data snapshot includes only a portion of the information related to the plurality of instructions necessary to determine the operation of a subset of one or more modules of the plurality of modules. For example, the data snapshot can include data regarding the operation and activity of a subset of one or more modules with which the shadow workflow is associated. In some examples, the snapshot includes one or more pieces of information regarding a workflow state of the workflow, status information regarding one or more modules of the plurality of modules, result information, or information related to one or more samples being processed (e.g., patient information, information regarding tests or assays performed on one or more samples, or priority information for one or more samples).
[0040] In some examples, the data snapshot includes information (e.g., data related to operations or activities) necessary to process instructions on a subset of one or more modules for a predetermined period of time (e.g., all necessary information). In some examples, this period may be at least 5 minutes (e.g., at least 15 minutes or at least 1 hour).
[0041] The shadow workflow engine can determine 107 multiple operations for a subset of one or more modules to process the multiple instructions based on the data snapshot. For example, the shadow workflow engine can make a decision regarding an order in which to perform multiple operations for the subset of one or more modules. The shadow workflow engine can manage and monitor the status of activities or operations within a workflow of the subset of one or more modules. For example, the shadow workflow engine can instruct the subset of one or more modules to perform a predetermined operation. The shadow workflow engine can check whether the predetermined operation was performed successfully. If so, the shadow workflow engine can instruct the subset of one or more modules to perform the next predetermined operation. If not, the shadow workflow engine can register an error condition and continue with an error handling routine.
[0042] Additionally or alternatively, the shadow workflow engine may process workflow rules or definitions to determine multiple actions for a subset of one or more modules based on the received data snapshot. For example, the data snapshot may include information regarding the state of the workflow, status information for one or more of the multiple modules, result information, or information related to one or more samples that can be processed by applying workflow rules or definitions to determine multiple actions for the subset of one or more modules.
[0043] As can be seen, the shadow workflow engine can take over tasks that the main workflow engine must perform in some prior art systems. This means that when the shadow workflow engine takes over, some of the network traffic generated by the main workflow engine (possibly remotely) managing and monitoring workflow execution in a subset of one or more modules is replaced with some or all of the capabilities for managing and monitoring workflow execution, thereby reducing the amount of network traffic. In other examples, when using the techniques of the present disclosure, network traffic between the main workflow engine and a subset of one or more modules can be more flexibly controlled (but not necessarily reduced). For example, network traffic can be shifted to periods when the network traffic load on the environment's network is reduced compared to other periods. In this way, network congestion can be reduced in some situations, even if the total amount of network traffic does not decrease.
[0044] In some examples, the shadow workflow engine is configured to run in a standalone manner for a predetermined period of time to process instructions in a subset of one or more modules. For example, the predetermined period of time is at least 10 minutes (optionally at least 30 minutes, and further optionally at least 1 hour). This can improve throughput in an environment including multiple automated analyzers, for example, by potentially allowing other workflow engines to remain operational (at least for a period of time) if one workflow engine becomes unavailable due to, for example, a failure or maintenance of the respective workflow engine (main workflow engine or shadow workflow engine).
[0045] In some examples, the amount and / or nature of data included in the data snapshot can be configured by a central management system in an environment including multiple automated analyzers. For example, a user may be able to configure the period of time during which a shadow workflow engine can operate standalone. The amount of data in the snapshot can be adjusted accordingly. In some examples, a user can configure the amount of operation or activity of a subset of modules whose corresponding data is included in the data snapshot.
[0046] In some examples, the shadow workflow engine is configured to operate without communicating with the main workflow engine for a predetermined period of time after receiving the data snapshot, the predetermined period of time being at least 10 minutes, optionally at least 30 minutes, and further optionally at least 1 hour.
[0047] The data snapshots can be updated 109, 111 at predetermined times. In some examples, changes to workflow information for multiple instructions are propagated to the shadow workflow engine at predetermined times. In some examples, the frequency and / or scope of updates or propagated changes to the data snapshots can be configured. For example, configuring the update logic can include defining rules governing the timing and scope of updates. In some examples, the rules can take into account the computing and network capabilities of the environment (e.g., to generate evenly distributed traffic on the environment's network).
[0048] Additionally or alternatively, in some examples, the data snapshot update operation may be event-driven, and the rules may include an event-based change of update (e.g., when an error occurs in a particular workflow engine or other component of the environment).
[0049] In some examples, the shadow workflow engine is configured to assume the role of the main workflow engine for a limited period of time. For example, the shadow workflow engine can be configured to assume the role of the main workflow engine for less than two hours, optionally less than one hour, and optionally less than 30 minutes. Additionally or alternatively, the shadow workflow engine assumes the role of the main workflow engine for five minutes or more, optionally more than 30 minutes, and optionally more than one hour.
[0050] As described above, the shadow workflow engine can have qualitatively or quantitatively the same functionality as the main workflow engine. In some instances, additional data must be provided to the shadow workflow engine to assume the role of the main workflow engine. This data can be sent to the shadow workflow engine or can be accessed by the shadow workflow engine at a remote storage location.
[0051] The shadow workflow engine can assume the role of the main workflow engine in various situations. In one example, assuming the role of the main workflow engine can occur in response to a loss of connection with the main workflow engine. Additionally or alternatively, the shadow workflow engine can assume the role of the main workflow engine in response to the main workflow engine being unavailable, for example, due to a failure of the main workflow engine. In yet another example, the shadow workflow engine can assume the role of the main workflow engine if the main workflow engine is updated or modified (and therefore temporarily unavailable).
[0052] Thus, providing a main workflow engine and one or more shadow workflow engines allows for introducing a certain redundancy into the workflow processing of the environment, which can reduce downtime on the part of the automated analyzers and increase the productivity of the environment, and also allows all automated analyzers to remain operational (at least for a certain period of time) in the event of a failure of the main workflow engine.
[0053] Similarly (additionally or alternatively), the shadow workflow engine may be configured to redirect operation or activity decisions for one or more subsets of modules to the main workflow engine for processing instructions at the subset of modules in response to the shadow workflow engine being unavailable (e.g., due to a shadow workflow engine failure or a shadow workflow engine maintenance operation). More generally, the main workflow may take over the tasks of the shadow workflow engine in certain circumstances.
[0054] The previous section explained that a shadow workflow engine and a main workflow engine may be somewhat interchangeable in some circumstances. However, as mentioned above, a shadow workflow engine may have a reduced functionality or set of functionality compared to the main workflow engine. In some instances, a shadow workflow engine may be dedicated to managing and monitoring only a subset of one or more modules with which it is associated (and may not be able to manage and monitor other subsets of modules).
[0055] Additionally or alternatively, the main workflow engine can be configured to define and edit rules for determining the workflow of biological specimens, and the shadow workflow engine is not configured to edit rules for determining the workflow of biological specimens.
[0056] These and other "reduced functionality" of the shadow workflow engine may in some instances allow the shadow workflow engine to be a small footprint unit that can be implemented and run in various places in the environment without incurring undue resource overhead.
[0057] Further aspects of the environment, including the main and shadow workflow engines Further aspects of the environment including the main workflow engine and the shadow workflow engine are described hereinafter in connection with FIG.
[0058] The previous section described various aspects of the main workflow engine and the shadow workflow engine based on the example of a single shadow workflow engine. However, the inventive techniques may, in some examples, involve configuring multiple (e.g., more than 10 or more than 20) shadow workflow engines associated with different subsets of one or more modules.
[0059] In this case, the techniques of this disclosure may include providing a second data snapshot to a second shadow workflow engine associated with a second subset of one or more modules of the plurality of modules. The second subset of modules is different from the subset of modules with which the first shadow workflow engine is associated. The second data snapshot includes only a portion of the data necessary to determine operations for the second subset of modules of the plurality of modules. The second shadow workflow engine determines operations for the second subset of modules to process the instructions based on the second data snapshot.
[0060] Thus, the techniques of this disclosure may include providing additional data snapshots to additional shadow workflow engines associated with additional subsets of modules in the plurality of modules (e.g., one, two, three, or more than three additional subsets of modules). Again, each additional data snapshot includes only a portion of the data necessary to determine operations for the additional subsets of modules in the plurality of modules. Each additional shadow workflow engine determines operations for the respective additional subsets of modules and processes instructions based on the respective additional data snapshots.
[0061] Each shadow workflow engine can be configured to receive the data snapshot and calculate multiple actions for a respective one or more modules to process the instructions. The shadow workflow engines can be configured to execute (at least partially) concurrently to determine the actions for their respective modules.
[0062] 2 shows an exemplary environment including a main workflow engine 21 and multiple shadow workflow engines 26a, 26b, 26c. The workflow engines are connected via a network 24 of the environment.
[0063] The main workflow engine 21 is connected to a data storage 23 that contains a complete set of data for processing instructions within the environment according to one or more predetermined workflows. For example, the data storage 23 may contain all workflow definitions and rules for one or more workflows (e.g., in the form of decision trees that define the workflows). Furthermore, the data storage 23 may contain state variables that describe the configuration of the environment. Additionally or alternatively, the data storage 23 may contain one or more pieces of information related to one or more samples to be processed, patient information related to one or more samples to be processed, test or assay results for the samples, or other information used to execute one or more workflows within the environment.
[0064] In the example of Figure 2, the main workflow engine is integrated into the environment's middleware layer 22 (e.g., Laboratory Information System "LIS"), although the main workflow engine may be provided elsewhere in other examples.
[0065] Each shadow workflow engine 26a-c is associated with a respective subset of one or more modules 25a, 25b, 25c. As shown in FIG. 2, a module may be a pre-analytical or post-analytical module, a transport module for transporting biological samples, a storage module (e.g., a refrigerator module), or an analytical module (e.g., any of the above modules). In one example, the environment or a portion thereof may be configured to process biological samples contained in sample tubes. In this example, the transport module may be configured to transport sample tubes between other modules (e.g., from a pre-analytical module to an analytical module, or between two different analytical modules).
[0066] As described, each of the shadow workflow engines 25a-c can be connected to a data storage 27a, 27b, 27c that contains data necessary to process instructions in a respective subset of modules 25a-c associated with each shadow workflow engine 25a-c, provided as data snapshots as discussed in this disclosure. The data snapshots in the data storages 27a-c can be provided and updated as described above. Different subsets of one or more modules can be configured in different ways depending on the environment.
[0067] In some examples, a first subset of the automated analyzers or modules are located at a first location in the environment and a second subset of the automated analyzers are located at a second location remote from the first location, where the first and second locations are first and second rooms, first and second floors, first and second buildings, or first and second sites.
[0068] Additionally or alternatively, a first subset of automated analyzers or modules reside in a first processing line of the environment, and a second subset of automated analyzers or modules reside in a second processing line different from the first processing line. In some examples, each processing line can include a specific set of modules for performing a task. For example, an environment can include multiple sets of modules, each forming a production line for testing biological samples by one or more specific assays. Additionally or alternatively, different production lines can be equipped with different types of modules. For example, different production lines can each include modules configured to perform a different assay or test (or different sets of assays or tests). In yet other examples, different production lines can include different types of analytical modules (e.g., an immunochemistry analytical module, a clinical chemistry analytical module, an analytical module including a mass spectrometer, or other types of analytical modules).
[0069] In other examples, different subsets of modules each associated with a shadow workflow engine can perform substeps in the sample processing process of the production line. For example, a subset of modules associated with a shadow workflow engine can be associated with a central sampling unit for transferring a biological sample from a first container to a second container (e.g., a reaction vessel). In another example, a subset of modules associated with a shadow workflow engine can be associated with a central sample distribution module that distributes samples to different analytical modules. In yet another example, a subset of modules associated with a shadow workflow engine can be a transport module configured to transport samples between different analytical modules or other modules of the production line.
[0070] Typically, an instruction to process a biological sample may require transporting the sample through multiple modules and processing the sample. Transporting biological samples or other components (e.g., reagents and consumables) within a potentially extensive environment containing multiple automated analyzers can be a challenging task. Meanwhile, an environment (e.g., a laboratory) may need to meet specific goals, such as turnaround time.
[0071] The workflow engine of the present disclosure can be configured so that processing instructions meet one or more predetermined goals.
[0072] In some examples, the workflow engine is configured to find the sample and ensure that the biological sample arrives at a particular module of the plurality of modules at a scheduled time.
[0073] In another example, the workflow engine is configured to find a sample and ensure that the biological sample arrives at a particular module of the plurality of modules by a particular time.
[0074] In yet another example, the workflow engine is configured to enforce a particular maximum sample processing time for a particular biological sample. For example, the workflow engine can be configured to ensure that an order to process a particular sample (or type of sample) is completed within a predetermined period of time after receiving the order.
[0075] Similar goals can be set for consumables and reagents required to process orders in an environment that includes multiple automated analyzers.
[0076] As discussed above, the biological sample of the present disclosure may, in some examples, be contained in a sample tube. The sample tube may be transported between different pre-analytical, analytical, or post-analytical modules. In other examples, the biological sample may be contained in another container or vessel (e.g., a vial, bottle, or bag). In yet other examples, the biological sample may be supported on a suitable support structure (e.g., a slip, dish, or plate). In the course of processing an instruction, the biological sample may be transferred between containers or supports of the same or different types.
[0077] Computer implementation The previous section described the main and shadow workflow engines, primarily focusing on their functionality. As already mentioned, the main and shadow workflow engines can be implemented in any suitable hardware and / or software environment.
[0078] The present disclosure relates to a computer system configured to perform any one of the steps of a method for processing biological samples in an environment including multiple automated analyzers having multiple modules.
[0079] For example, the main workflow engine can be implemented in a central computer system (e.g., a laboratory) that controls the environment. For example, the main workflow engine can be implemented in the middleware layer of the environment (e.g., as a separate element of laboratory middleware called a laboratory automation system that interacts with a hospital information system, a laboratory information system, or a laboratory management system).
[0080] The shadow workflow engines described herein can reside on dedicated hardware associated with a respective subset of one or more modules. In some examples, the shadow workflow engines can be implemented in stand-alone processors associated with a respective subset of one or more modules.
[0081] In another example, the shadow workflow engine is implemented in a general-purpose computing system connected to a respective subset of one or more modules.
[0082] In one or more embodiments contained herein, a computer program comprising computer executable instructions for carrying out the method according to the present disclosure is further disclosed and proposed, when the program is executed on a computer or a computer network.Specifically, the computer program can be stored in a computer-readable data carrier.Therefore, specifically, one, two or more, or all of the method steps disclosed herein can be carried out by using a computer or a computer network or any suitable data processing device, preferably by using a computer program.
[0083] In one or more embodiments contained herein, a computer program product having a program code is further disclosed and proposed for performing the method according to the present disclosure when the program is run on a computer or a computer network. In particular, the program code may be stored on a computer-readable data carrier.
[0084] It is further disclosed and proposed a data carrier having stored thereon a data structure, which, after being loaded into a computer or computer network, such as a working memory or main memory of the computer or computer network, can perform the method according to one or more embodiments disclosed herein.
[0085] Further disclosed and proposed is a computer program product having a program code stored on a machine-readable carrier for performing a method according to one or more embodiments contained herein when the program is run on a computer or computer network. As used herein, a computer program product refers to a program as a tradeable product. The product generally exists in any format, such as a paper format, or on a computer-readable data carrier. In particular, the computer program product may be distributed via a data network.
[0086] Further disclosed and suggested is a modulated data signal containing instructions readable by a computer system or computer network for carrying out a method according to one or more embodiments disclosed herein.
[0087] With reference to computer implementations of the present disclosure, one or more or all of the method steps of the methods according to one or more of the embodiments disclosed herein may be performed using a computer or a computer network. Thus, in general, any of the method steps involving providing and / or manipulating data may be performed using a computer or a computer network. In general, these method steps may include any method steps, typically excluding method steps that require manual intervention, such as providing a sample and / or performing certain measurements.
[0088] Further disclosed and proposed is a computer or a computer network comprising at least one processor, the processor adapted to perform the method according to one of the embodiments described in this description.
[0089] It is further disclosed and proposed a computer-loadable data structure adapted to carry out a method according to one of the embodiments described herein while the data structure is being executed on a computer.
[0090] A storage medium is further disclosed and proposed, wherein a data structure is stored on the storage medium and adapted to perform a method according to one of the embodiments described herein after the data structure has been loaded into the main storage and / or working storage of a computer or computer network.
[0091] For simplicity, the allocation topology (environment including network) is not included. The main and shadow workflow engines can communicate (but are not limited to) over a physical network (unique or multiplexed), or using a secure virtual private network, or through the cloud using an encrypted channel that tunnels data and encrypts payload information with custom certificates.
[0092] Further Aspects In the foregoing detailed description, several examples of methods and systems for processing biological samples in an environment including multiple automated analyzers with multiple modules have been discussed. However, the methods and systems for processing biological samples in an environment including multiple automated analyzers with multiple modules of the present disclosure can also be configured as described in the following aspects.
[0093] 1. A computer-implemented method for processing biological samples in an environment including multiple automated analyzers having multiple modules, comprising: receiving data relating to a plurality of instructions for processing a biological specimen at a main workflow engine; a main workflow engine configured to receive and process data from each of a plurality of automated analyzers having a plurality of modules; providing a data snapshot to at least one shadow workflow engine associated with a subset of one or more modules of the plurality of modules; providing a data snapshot including only a portion of data related to instructions necessary to determine module operation in the plurality of modules; determining, by the shadow workflow engine, a plurality of actions for processing the plurality of instructions by the subset of modules based on the data snapshot.
[0094] 2. The method of aspect 1, further comprising updating the data snapshot at a predetermined time.
[0095] 3. The method of aspect 1 or aspect 2, wherein data changes associated with multiple instructions are propagated to the shadow workflow engine at predetermined times.
[0096] 4. The method of any one of aspects 2 and 3, wherein the frequency and / or extent of updates or propagated changes to the data snapshot is configurable.
[0097] 5. The method of any one of aspects 1-4, wherein the shadow workflow engine is configured to run in a stand-alone manner for a predetermined period of time to process a plurality of instructions in a subset of the modules.
[0098] 6. The method of embodiment 5, wherein the predetermined period of time is at least 10 minutes, optionally at least 30 minutes, and further optionally at least 1 hour.
[0099] 7. The method of any one of aspects 1-6, wherein the amount of data included in the data snapshot can be configured in a central management system for an environment including multiple automated analyzers.
[0100] 8. The method of any one of aspects 1-7, wherein the shadow workflow engine is configured to assume the role of the main workflow engine for a limited time.
[0101] 9. The method of aspect 8, further comprising the shadow workflow engine assuming the role of the main workflow engine for at least 2 hours, optionally at least 1 hour, further optionally at least 30 minutes, optionally between 30 minutes and 3 hours.
[0102] 10. The method of aspect 9, wherein the shadow workflow engine assumes the role of the main workflow engine in response to a loss of connection with the main workflow engine.
[0103] 11. The method of aspect 9, wherein the shadow workflow engine assumes the role of the main workflow engine in response to the main workflow engine being unavailable.
[0104] 12. The method of any one of aspects 1-11, wherein the shadow workflow engine is configured to redirect a plurality of action decisions for the subset of modules to the main workflow engine in response to a failure in the shadow workflow engine to process a plurality of instructions in the subset of modules.
[0105] 13. Providing a second data snapshot to a second shadow workflow engine associated with a second subset of one or more modules of the plurality of modules, the second subset of modules being different from the subset of modules in aspects 1-12; providing a second data snapshot including only a portion of the data necessary to determine operation of a second subset of modules in the plurality of modules; 13. The method of any one of aspects 1 to 12, further comprising: determining, by a second shadow workflow engine, a plurality of operations for a second subset of modules for processing the plurality of instructions based on the second data snapshot.
[0106] 14. Providing a further data snapshot to a further shadow workflow engine associated with a further subset of one or more modules of the plurality of modules, the further subset of modules being different from the subset of modules in aspects 1-12; providing a further data snapshot including only a portion of the data necessary to determine operation of a further subset of modules in the plurality of modules; 14. The method of aspect 13, further comprising: determining, by a further shadow workflow engine, a plurality of operations for a respective further subset of modules to process a plurality of instructions based on the respective further data snapshots.
[0107] 15. The method of aspect 13 or aspect 14, wherein the shadow workflow engine is configured to execute concurrently to determine the behavior of each subset of modules.
[0108] 16. The method of any one of aspects 1-15, wherein the main workflow engine is configured to define and edit rules for determining the workflow of the biological sample.
[0109] 17. The method of any one of aspects 1-16, wherein the shadow workflow engine is not configured to define and edit rules for determining the workflow of the biological specimen.
[0110] 18. The method of any one of aspects 1-17, wherein the main workflow engine has access to the functional definitions and current configurations of each automated analyzer of an automated analyzer having multiple modules in the environment.
[0111] 19. The method of any one of aspects 1-18, wherein the shadow workflow engine is configured to operate without communicating with the main workflow engine for a predetermined period of time after receiving the data snapshot.
[0112] 20. The method of embodiment 19, wherein the predetermined period of time is at least 10 minutes, optionally at least 30 minutes, and further optionally at least 1 hour.
[0113] 21. A first subset of the automated analyzers or modules is located at a first location in the environment and a second subset of the automated analyzers or modules is located at a second location remote from the first location; or 21. The method of any one of aspects 1 to 20, wherein a first subset of the automated analyzers or modules belong to a first processing line of the environment, and a second subset of the automated analyzers or modules belong to a second processing line different from the first processing line.
[0114] 22. The method of aspect 21, wherein the first and second locations are first and second rooms, first and second floors, first and second buildings, or first and second sites.
[0115] 23. The method of any one of aspects 1-22, wherein the shadow workflow engine resides in a dedicated piece of hardware associated with a respective subset of the one or more modules.
[0116] 24. The method of any one of aspects 1-22, wherein the shadow workflow engine is implemented in a general-purpose computing system connected to a respective subset of the one or more modules.
[0117] 25. The method of any one of aspects 1-24, previously described, wherein the main workflow engine is configured to receive data related to instructions for processing biological samples at runtime and calculate multiple operations of multiple automated analyzers having multiple modules based on the workflow for processing the instructions.
[0118] 26. The method of aspect 25, wherein the main workflow engine is configured to determine a sequence of operations for a plurality of automated analyzers having a plurality of modules for processing instructions.
[0119] 27. The method of any of the aforementioned aspects 26, wherein each shadow workflow engine is configured to receive the data snapshot and calculate a plurality of operations for a respective one or more modules for processing the instructions.
[0120] 28. The method of aspect 27, wherein each shadow workflow engine is configured to instruct a respective subset of modules to perform multiple operations.
[0121] 29. The method of any one of the preceding aspects 1-28, wherein the instructions for processing the biological sample may require transport of the sample through a plurality of modules and processing of the sample.
[0122] 30. The method of any one of aspects 1-29, wherein the plurality of modules includes one or more of a pre-processing module, a sample preparation module, a transport module for an analytical module to perform analytical functions, and a post-processing module.
[0123] 31. The method of any one of aspects 1-30, previously described, wherein the workflow engine is configured to identify the sample and ensure that the biological sample arrives at a particular module of the plurality of modules at a scheduled time.
[0124] 32. The method of any one of aspects 1-31, wherein the workflow engine is configured to implement a particular maximum sample processing time for a particular biological sample.
[0125] 33. A computer system configured to perform the steps of any one of the methods described in aspects 1 to 32.
[0126] 34. A computer-readable medium having instructions stored therein, the instructions, when executed by a computer system, causing the computer system to perform the steps of the method described in any one of aspects 1-32.
Claims
1. 1. A computer-implemented method for processing biological samples in an environment including a plurality of automated analyzers having a plurality of modules, the method comprising: receiving, at a main workflow engine, data associated with a plurality of instructions for processing biological samples, each instruction being a request to perform one or more assays on one or more biological samples, the main workflow engine being configured to receive and process data from each of the plurality of automated analyzers having a plurality of modules; providing a data snapshot to at least one shadow workflow engine associated with a subset of one or more modules of the plurality of modules, the data snapshot including only a portion of the data related to the plurality of instructions necessary to determine operation of the modules in the plurality of modules; determining, by the shadow workflow engine, a plurality of actions for the subset of modules to process the plurality of instructions based on the data snapshot, wherein the shadow workflow engine is configured to assume the role of the main workflow engine for a limited time and / or the main workflow engine is configured to determine the plurality of actions for the subset of modules to process the plurality of instructions in response to a failure in the shadow workflow engine; A method comprising:
2. The method of claim 1 , further comprising updating the data snapshot at predetermined times.
3. The method of claim 1 or 2, wherein the shadow workflow engine is configured to run in a stand-alone manner for a predetermined period of time to process the instructions on a subset of the modules.
4. The method of claim 3 , wherein the predetermined period of time is at least 10 minutes.
5. 2. The method of claim 1, wherein the shadow workflow engine assumes the role of the main workflow engine in response to a loss of connection with the main workflow engine, or the shadow workflow engine assumes the role of the main workflow engine in response to the main workflow engine being unavailable.
6. 6. The method of claim 1, wherein the main workflow engine has access to configuration and functional definitions of all automated analyzers and their modules in the environment, and the main workflow engine is configured to determine a sequence of activities or operations of the automated analyzers including a plurality of modules for processing the instructions.
7. The method of any one of claims 1 to 6, wherein the shadow workflow engine is configured to manage and monitor the state of activities or operations in the workflow of the subset of one or more modules.
8. providing a second data snapshot to a second shadow workflow engine associated with a second subset of one or more modules of the plurality of modules, the second subset of modules being different from the subset of modules of claims 1 to 7, and the second data snapshot including only a portion of the data necessary to determine operation of the second subset of modules of the plurality of modules; determining, by the second shadow workflow engine, a plurality of operations for a second subset of the modules for processing the plurality of instructions based on the second data snapshot; The method of any one of claims 1 to 7, further comprising:
9. The method of claim 8 , wherein the shadow workflow engines are configured to execute concurrently to determine the behavior of respective subsets of the modules.
10. The method according to any one of claims 1 to 9, wherein the main workflow engine is configured to define and edit rules for determining the workflow of biological samples.
11. The method of any one of claims 1 to 10, wherein the shadow workflow engine is configured to operate without communicating with the main workflow engine for a predetermined period of time after receiving the data snapshot.
12. a first subset of the automated analyzers or modules are located at a first location in the environment and a second subset of the automated analyzers or modules are located at a second location remote from the first location; or 12. The method of claim 1, wherein a first subset of the automated analyzers or modules belong to a first processing line of the environment and a second subset of the automated analyzers or modules belong to a second processing line different from the first processing line.
13. 13. The method of any one of claims 1 to 12, wherein the plurality of modules comprises one or more of a pre-processing module, a sample preparation module, a transport module for an analytical module to perform analytical functions, and a post-processing module.
14. A computer system configured to perform the steps of any one of the methods according to claims 1 to 13.
15. A computer readable medium having instructions stored thereon, the instructions, when executed by a computer system, causing the computer system to perform the steps of any one of the methods described in claims 1 to 13.
Citation Information
Patent Citations
Automatic analytical network apparatus
JP1991029857A
Medical business system
JP1991095669A
Method for operating laboratory system
JP2019060859A
Fault condition prediction for automated analyzers analyzing biological samples
JP2019536049A