Assisted query construction and data retrieval

The system addresses the inefficiencies of traditional data retrieval methods by using generic queries with dynamic parameters to aggregate data and track raw material lots, ensuring compliance and data integrity across multiple databases and processes.

JP7824394B2Active Publication Date: 2026-03-04ID BUSINESS SOLUTIONS INC
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2024-12-23
Publication Date
2026-03-04

AI Technical Summary

Technical Problem

Traditional methods for monitoring compliance in data collection and querying databases are laborious, require manual entry, and lack data integrity, making it difficult for multiple users to efficiently compile reports and track multiple batches of raw materials with varying characteristics.

Method used

A system that uses generic queries with dynamic parameters to access and aggregate data from multiple databases, allowing users to generate queries without programming knowledge, and tracks raw material lots throughout the production process to ensure compliance and data integrity.

Benefits of technology

Enables efficient and accurate data retrieval and compliance monitoring across multiple databases and processes, reducing manual labor and ensuring data integrity, while allowing for the use of generic queries that adapt to varying batch characteristics.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007824394000001
    Figure 0007824394000001
  • Figure 0007824394000002
    Figure 0007824394000002
  • Figure 0007824394000003
    Figure 0007824394000003
Patent Text Reader

Abstract

To provide assisted query building and data retrieval.SOLUTION: A generic query having a dynamic query parameter may be executed for a stipulated process. One or more expected parameters for the query are determined based on the dynamic query parameter and the process, where the one or more expected parameters are tagged to the dynamic query parameter for the process. One or more measured parameters are accessed based on the one or more expected parameters from one or more databases accessible over a network. The one or more measured parameters are returned responsive to the query.SELECTED DRAWING: Figure 8
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] (CROSS-REFERENCE TO RELATED APPLICATIONS) This application claims priority to U.S. Provisional Application No. 62 / 881,805, entitled "Assisted Query Building and Data Retrieval," filed August 1, 2019; U.S. Provisional Application No. 62 / 951,575, entitled "Assisted Query Building and Data Retrieval," filed December 20, 2019; and U.S. Provisional Application No. 63 / 040,403, entitled "Assisted Query Building and Data Retrieval," filed June 17, 2020, each of which is incorporated herein by reference in its entirety.

[0002] FIELD OF THE DISCLOSURE This disclosure relates generally to querying remote databases over a network. [Background technology]

[0003] Manufactured products, such as pharmaceutical products, food, and beverage products, and other products generated through chemical and manufacturing processes, often must meet certain specifications, e.g., regulatory specifications, internal specifications, or the like. Specifications may exist that relate to limits on certain components of the product (e.g., impurity percentages, chemical constituents, identifying characteristics, etc.). Product specifications may depend on various factors, such as product type, target market, environmental impact, cost, and the like. During production or experimental processes, companies test various chemical components and compositions for a product batch or process to assess whether the components fall within certain limits corresponding to specifications or parameters.

[0004] Applicable limits may be set by a company, by a regulatory agency (e.g., to ensure safety and limit environmental impact), or by a third-party stakeholder (e.g., an investor) for a variety of reasons, including to limit costs, ensure purity, ensure desired performance, etc. A batch is typically considered compliant with established targets and / or adjustments when its parameter values ​​are within the defined limits. Limits may change over time due to changes in regulatory policy, product changes, or the like; thus, batches analyzed at different times may have different applicable limits. To ensure compliance, a company must monitor its products and processes at all stages of development and collect, organize, and analyze data related to imposed requirements. In some cases, products funded by a company may be produced, in whole or in part, at multiple facilities, either internally or with manufacturing partners. In these cases, the funding company remains responsible for ensuring compliance of its products. The ability to access, collect, organize, and analyze manufacturing data across the manufacturing network is needed to ensure compliance.

[0005] In addition, regulatory agencies impose certain requirements on data management to ensure data integrity. Data integrity requires that data be complete, consistent, and accurate. Particularly with the increasing use of computerized systems, several controls must be in place to prevent unauthorized access to or modification of data. For example, the Current Good Manufacturing Practices (cGMP) for drugs issued by the FDA require measures to ensure data protection for any computerized system. For example, cGMP guidelines recommend that records be kept of any data changes made, previous entries, the person who made the change, and the time the change was made.

[0006] Traditional methods for monitoring compliance in data collection require laborious manual entry and comparison of data or require programming skills. For example, companies often organize data in Excel spreadsheets and manually enter applicable limits associated with the data and the time the data was collected. Such manual entry can be daunting because batches and their applicable limits can be numerous and the sources for such data can be many and widely distributed. Because data sources can be numerous and diverse, it can be difficult even for process experts to identify and aggregate the overwhelming amount of data associated with a batch. Furthermore, data stored in Excel spreadsheets generally does not meet industry requirements for data integrity and change tracking.

[0007] A process specialist or laboratory technician may need to monitor multiple processes or batches collected over time. Traditional search techniques for collected data, even within a compound database, can be time-consuming and require information technology (IT) specialists to generate queries specific to the collected process or batch data. These search techniques make it difficult for multiple users to efficiently and effectively compile reports and require new and specific queries to be generated for each data set in the database. Traditional search techniques can be further complicated by the use of multiple batches of raw materials, where raw material batches may have slightly different characteristics and should be tracked throughout the process.

[0008] The information contained within this Background section of the specification, including any references cited herein and any description or discussion thereof, is included for technical reference purposes only and should not be considered subject matter by which the scope of the invention as defined in the claims is delimited. Summary of the Invention [Means for solving the problem]

[0009] An exemplary method for querying one or more databases includes receiving, in a processor, a request to execute a generic query having dynamic query parameters for a specified process. One or more expected parameters are determined based on the dynamic query parameters for the query and the process, and the one or more expected parameters are tagged to the dynamic query parameters for the process. Based on the one or more expected parameters, one or more measurement parameters are accessed from one or more databases, the one or more databases being accessible by the processor via a network. The one or more measurement parameters are returned by the processor in response to the request to execute the generic query.

[0010] In an exemplary method, a generic query may be used for at least two processes, the processes having at least one expected parameter that is different, and the different expected parameter is tagged with a dynamic query parameter.

[0011] An example method may include, prior to receiving a request to execute a generic query, receiving, at a processor, one or more expected parameters corresponding to a process; and storing, in a non-transitory memory, an association between the one or more expected parameters and the dynamic query parameters by tagging the one or more expected parameters to dynamic query parameters related to the process.

[0012] In an exemplary method, the non-transitory memory may further store an association between the additional expected parameters and the dynamic query parameters for the additional process.

[0013] In an exemplary method, the one or more measured parameters may be based on data collected during the process.

[0014] In an exemplary method, data collected during the process may be stored in one or more databases as the data is collected.

[0015] In an exemplary method, accessing the one or more measured parameters may include retrieving the one or more measured parameters by referencing a product table corresponding to a product produced by the process, the product table generating each of the one or more measured parameters based on a recursive determination of raw material parameters corresponding to the measured parameters for one or more raw material lots included in the product and tracking quantities of raw materials from the one or more raw material lots included in the product.

[0016] An exemplary method for querying one or more databases via a network includes receiving, at a processor, a request to execute a generic query having dynamic query parameters for a specified process. Process parameters are determined based on the dynamic query parameters for the query and the process, and the process parameters are tagged with the dynamic query parameters for the process. Measurement parameters corresponding to the process parameters are generated by executing one or more sub-queries associated with the measurement parameters during the process, and the one or more sub-queries are executed using measured data from one or more databases accessible by the processor via the network. The measurement parameters are returned by the processor in response to the request to execute the generic query.

[0017] In an exemplary method, one or more sub-queries may access measured data associated with lot characteristics of raw material lots used for production of a product using a process.

[0018] In an exemplary method, executing the one or more sub-queries may include aggregating lot characteristics of the raw material lots based on tracking the raw material lots through the process.

[0019] In an exemplary method, tracking raw material lots during a process may track the amount of raw material from a first raw material lot that is used in the process.

[0020] In an exemplary method, one or more sub-queries may access measured data associated with lot characteristics of a first raw material lot and lot characteristics of a second raw material lot, where the first raw material lot and the second raw material lot are used for production of a product using the process.

[0021] In an exemplary method, executing the one or more sub-queries may include aggregating lot characteristics of the second raw material lot and lot characteristics of the first raw material lot based on tracking of the first raw material lot and the second raw material lot during the process.

[0022] In an exemplary method, aggregating the lot characteristics of the second raw material lot and the lot characteristics of the first raw material lot may include adjusting the lot characteristics of the second raw material lot based on an amount of raw material from the second raw material lot used during production of the product, and adjusting the lot characteristics of the first raw material lot based on an amount of raw material from the first raw material lot used during production of the product.

[0023] One or more exemplary non-transitory computer-readable media include instructions that, when executed by one or more processors of a computing device, cause the computing device to determine, in response to a request to execute a generic query about a process, a first measurement parameter about the process corresponding to a first query parameter of the generic query and a second measurement parameter about the process corresponding to a second query parameter of the generic query. The computing device further accesses a first value associated with the first measurement parameter and performs a first query function associated with the first query parameter based on the first value associated with the first measurement parameter. The computing device further accesses a second value associated with the second measurement parameter and performs a first query function associated with the second query parameter based on the second value associated with the second measurement parameter. The computing device further displays query results based on the execution of the first query function and the execution of the second query function.

[0024] In an exemplary non-transitory computer-readable medium, the query results may be replicated tables with values ​​collected at discrete instants in time.

[0025] In an exemplary non-transitory computer-readable medium, the query results may be a persistent table with values ​​collected over time.

[0026] In an exemplary non-transitory computer-readable medium, the first query function may perform a calculation using a first value associated with a first measured parameter.

[0027] In an exemplary non-transitory computer-readable medium, the first query function and the second query function may be the same function.

[0028] In an exemplary non-transitory computer-readable medium, accessing the first value and accessing the second value may include accessing one or more databases in communication with the one or more processors.

[0029] An exemplary method includes storing lot characteristics associated with a first raw material lot, the first raw material lot including the raw material, and defining a process for producing a product including the raw material. The first raw material lot is tracked during production of the product, and product characteristics are generated corresponding to the product by aggregating the lot characteristics of the first raw material lot based on the tracking of the first raw material lot.

[0030] In an example method, aggregating lot characteristics of the first raw material lot based on tracing of the first raw material lot may occur in response to a query regarding product characteristics of the product.

[0031] The exemplary method may further include tracking a second raw material lot of the raw material during production of the product, and generating the product characteristics further includes aggregating lot characteristics of the second raw material lot based on the tracking of the second raw material lot and the aggregated lot characteristics of the first raw material.

[0032] In an exemplary method, tracking a first raw material lot during production of a product may include tracking an amount of raw material from the first raw material lot used during production of the product, and tracking a second raw material lot during production of the product may include tracking an amount of raw material from the second raw material lot used during production of the product.

[0033] In an exemplary method, aggregating the lot characteristics of the second raw material lot and the lot characteristics of the first raw material lot may include adjusting the lot characteristics of the second raw material lot based on an amount of raw material from the second raw material lot used during production of the product, and adjusting the lot characteristics of the first raw material lot based on an amount of raw material from the first raw material lot used during production of the product.

[0034] This description is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This description is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. A more extensive presentation of the features, details, advantages, and benefits of the invention as defined in the claims is provided in the following written description of various embodiments and implementations and illustrated in the accompanying drawings. The present invention provides, for example, the following items. (Item 1) 1. A method of querying one or more databases, comprising: receiving, at a processor, a request to execute a generic query having dynamic query parameters for a specified process; determining one or more expected parameters for the query based on the dynamic query parameters and the process, wherein the one or more expected parameters are tagged to dynamic query parameters for the process; and accessing one or more measured parameters from the one or more databases based on the one or more expected parameters, the one or more databases being accessible by the processor via a network; returning, by the processor, the one or more measured parameters in response to a request to execute the generic query; A method comprising: (Item 2) Item 10. The method of item 1, wherein the generic query is used for at least two processes, the processes having at least one different expected parameter, and the different expected parameter is tagged to the dynamic query parameter. (Item 3) prior to receiving a request to execute the generic query; receiving, at the processor, the one or more expected parameters corresponding to the process; storing, in a non-transitory memory, an association between the one or more expected parameters and the dynamic query parameters by tagging the one or more expected parameters to dynamic query parameters for the process; 3. The method according to item 1 or 2, further comprising: (Item 4) 4. The method of any of items 1-3, wherein the non-transitory memory further stores an association between additional expected parameters and dynamic query parameters for the additional process. (Item 5) 5. The method of any of items 1-4, wherein the one or more measured parameters are based on data collected during the process. (Item 6) 6. The method of claim 5, wherein data collected during the process is stored in the one or more databases as the data is collected. (Item 7) Accessing the one or more measured parameters includes: 7. The method of any of items 1-6, comprising retrieving the one or more measured parameters by referencing a product table corresponding to a product produced by the process, wherein the product table generates each of the one or more measured parameters based on a recursive determination of raw material parameters corresponding to the measured parameters for one or more raw material lots included in the product and traced quantities of raw materials from the one or more raw material lots included in the product. (Item 8) 1. A method of querying one or more databases over a network, comprising: receiving, at a processor, a request to execute a generic query having dynamic query parameters for a specified process; determining process parameters for the query based on the dynamic query parameters and the process, the process parameters being tagged to dynamic query parameters for the process; generating measurement parameters corresponding to the process parameters by executing one or more sub-queries associated with measurement parameters during the process, the one or more sub-queries being executed using measured data from one or more databases accessible by the processor via the network; returning, by the processor, the measurement parameters in response to a request to execute the generic query; A method comprising: (Item 9) 9. The method of claim 8, wherein the one or more sub-queries access measured data associated with lot characteristics of raw material lots used for the production of a product using the process. (Item 10) 10. The method of claim 9, wherein executing the one or more sub-queries includes aggregating lot characteristics of the raw material lots based on tracking of the raw material lots through the process. (Item 11) 11. The method of claim 9, wherein tracking the raw material lot during the process tracks the amount of raw material from the first raw material lot used in the process. (Item 12) 12. The method of any of items 8-11, wherein the one or more subqueries access measured data associated with lot characteristics of a first raw material lot and lot characteristics of a second raw material lot, the first raw material lot and the second raw material lot being used for production of a product using the process. (Item 13) 13. The method of any of items 8-12, wherein executing the one or more subqueries includes aggregating lot characteristics of the second raw material lot and lot characteristics of the first raw material lot based on tracking of the first raw material lot and the second raw material lot during the process. (Item 14) aggregating lot characteristics of the second raw material lot with lot characteristics of the first raw material lot, adjusting lot characteristics of the second raw material lot based on the amount of raw material from the second raw material lot used during production of the product; adjusting lot characteristics of the first raw material lot based on the amount of raw material from the first raw material lot used during production of the product; Item 14. The method according to Item 13, comprising: (Item 15) One or more non-transitory computer-readable media comprising instructions that, when executed by one or more processors of a computing device, cause the computing device to: in response to a request to execute a generic query about a process, determining a first measurement parameter about the process corresponding to a first query parameter of the generic query and a second measurement parameter about the process corresponding to a second query parameter of the generic query; accessing a first value associated with the first measured parameter; performing a first query function associated with the first query parameter based on the first value associated with the first measurement parameter; accessing a second value associated with the second measured parameter; performing a query function associated with the second query parameter based on the second value associated with the second measurement parameter; displaying a query result based on the execution of the first query function and the execution of the second query function; and one or more non-transitory computer-readable media that cause (Item 16) Item 16. The one or more non-transitory computer-readable media of item 15, wherein the query results are replicated tables with values ​​collected at discrete instants in time. (Item 17) Item 16. The one or more non-transitory computer-readable media of item 15, wherein the query results are a persistent table with values ​​collected over time. (Item 18) 18. The one or more non-transitory computer-readable media of any of items 15-17, wherein the first query function performs a calculation using the first value associated with the first measured parameter. (Item 19) 19. The one or more non-transitory computer-readable media of any of items 15-18, wherein the first query function and the second query function are the same function. (Item 20) 20. The one or more non-transitory computer-readable media of any of items 15-19, wherein accessing the first value and accessing the second value comprises accessing one or more databases in communication with the one or more processors. (Item 21) 1. A method comprising: storing lot characteristics associated with a first raw material lot including the raw material; defining a process for producing a product comprising said raw materials; tracking the first raw material lot during production of the product; generating a product characteristic corresponding to the product by aggregating lot characteristics of the first raw material lot based on the tracing of the first raw material lot; A method comprising: (Item 22) 22. The method of claim 21, wherein aggregating lot characteristics of the first raw material lot based on tracking of the first raw material lot occurs in response to a query regarding product characteristics of the product. (Item 23) tracking the second raw material lot of the raw material during production of the product; generating the product characteristics further includes aggregating the aggregated lot characteristics of the first raw material with lot characteristics of the second raw material lot based on the tracing of the second raw material lot; 23. The method according to item 21 or 22. (Item 24) Item 24. The method of item 23, wherein tracking the first raw material lot during production of the product includes tracking an amount of raw material from the first raw material lot used during production of the product, and tracking the second raw material lot during production of the product includes tracking an amount of raw material from the second raw material lot used during production of the product. (Item 25) aggregating lot characteristics of the second raw material lot with lot characteristics of the first raw material lot, adjusting lot characteristics of the second raw material lot based on the amount of raw material from the second raw material lot used during production of the product; adjusting lot characteristics of the first raw material lot based on the amount of raw material from the first raw material lot used during production of the product; Item 25. The method according to item 24, comprising: [Brief explanation of the drawings]

[0035] [Figure 1] FIG. 1 illustrates a system diagram for an assisted data query construction and retrieval system.

[0036] [Figure 2] FIG. 2 illustrates a simplified block diagram of various computing devices of the system of FIG.

[0037] [Figure 3]FIG. 3 is a flowchart illustrating a method for establishing a generic query associated with one or more data sources.

[0038] [Figure 4] FIG. 4 is a flow chart illustrating a method for tagging process parameters.

[0039] [Figure 5] FIG. 5 is a flow chart illustrating a method for tagging measured data parameters.

[0040] [Figure 6] FIG. 6 is a flow chart illustrating a method for executing a generic query based on tagged parameters.

[0041] [Figure 7A] FIG. 7A shows an exemplary window that may be displayed on a graphical user interface for accessing data source information.

[0042] [Figure 7B] FIG. 7B shows an exemplary window that is displayed on the graphical user interface for reviewing external data access and accessing data source and query information.

[0043] [Figure 7C] FIG. 7C shows an exemplary window that may be displayed on the graphical user interface for reviewing data source information.

[0044] [Figure 7D] FIG. 7D shows the window of FIG. 7C with a pop-up window for reviewing details about the selected data source.

[0045] [Figure 7E]FIG. 7E shows the window of FIG. 7C with a pop-up window for editing data source information.

[0046] [Figure 7F] FIG. 7F shows the window of FIG. 7C with a selection option to test the connection to the data source.

[0047] [Figure 8] FIG. 8 shows an exemplary window displayed on the graphical user interface for reviewing and entering query information.

[0048] [Figure 9] FIG. 9 is a table showing various value sources for query parameters.

[0049] [Figure 10A] FIG. 10A shows an exemplary window displayed on the graphical user interface for typing data entries into the system as query parameters.

[0050] [Figure 10B] FIG. 10B shows the window of FIG. 10A with editable dynamic query parameters.

[0051] [Figure 10C] FIG. 10C shows the window of FIG. 10A with a dynamic query parameter with example code for retrieving the parameter value from another location.

[0052] [Figure 10D] FIG. 10D shows the window of FIG. 10A with an example code data entry for a dynamic query parameter that points to batch metadata for the parameter value.

[0053] [Figure 11A]FIG. 11A shows a pop-up window on an exemplary window displayed on a graphical user interface for creating and editing batches.

[0054] [Figure 11B] FIG. 11B shows an example window on a graphical user interface for querying different process parameters associated with a batch created using the pop-up window of FIG. 11A.

[0055] [Figure 11C] FIG. 11C shows an example window on a graphical user interface for reviewing data source and query information regarding process parameters associated with a batch created using the pop-up window of FIG. 11A.

[0056] [Figure 11D] FIG. 11D shows a status window that is displayed over the window of FIG. 11B to display batch query error results.

[0057] [Figure 12A] FIG. 12A shows an exemplary window displayed on a graphical user interface for selecting parameters for testing a query.

[0058] [Figure 12B] FIG. 12B shows the window of FIG. 12A with a pop-up window for editing the query parameter values ​​for the dynamic query parameters to be tested in the query.

[0059] [Figure 12C] FIG. 12C shows a pop-up window that appears over the window of FIG. 12A showing information related to the query being tested with the parameters.

[0060] [Figure 12D]FIG. 12D shows the pop-up window of FIG. 12C showing the query test results.

[0061] [Figure 13A] FIG. 13A shows an exemplary window on a graphical user interface for querying multiple parameters.

[0062] [Figure 13B] FIG. 13B shows the window of FIG. 13A with a query icon for querying selected parameters based on parameter category.

[0063] [Figure 13C] FIG. 13C shows an exemplary window that may be displayed on a graphical user interface for monitoring query execution for parameters selected using the window of FIG. 13A.

[0064] [Figure 13D] FIG. 13D illustrates an exemplary replication table displayed on a graphical user interface that provides query results for multiple queried parameters.

[0065] [Figure 14A] FIG. 14A shows the window of FIG. 13A for querying multiple parameters.

[0066] [Figure 14B] FIG. 14B shows the window of FIG. 14A with a query icon for querying selected parameters based on parameter category.

[0067] [Figure 14C] FIG. 14C shows the window of FIG. 13C for monitoring query execution for parameters selected using the window of FIG. 14A.

[0068] [Figure 14D]FIG. 14D illustrates an exemplary persistent table displayed on a graphical user interface that provides query results for multiple queried parameters.

[0069] [Figure 15] FIG. 15 shows an example window on the user interface showing raw material properties and product process definitions.

[0070] [Figure 16] FIG. 16 shows an exemplary aggregation of raw material properties to determine product properties.

[0071] [Figure 17] FIG. 17 is a flow chart illustrating a method for tracking raw material lot characteristics throughout production to determine product characteristics. DETAILED DESCRIPTION OF THE INVENTION

[0072] Detailed Description The present disclosure generally relates to a system for querying one or more databases using generic queries that can be executed on specific data sets and return data-specific results without requiring rewriting of the query for each specific data set. Generic data queries may be generated by a programmer or technical expert and stored by the system. The generic data queries may include one or more query parameters that can act as placeholders to allow specific data insertions to be utilized for the query. Query parameters may be static (e.g., identical across multiple applications or processes) or dynamic (e.g., varying across multiple databases, applications, or processes). For example, dynamic query parameters may include a parameter category such that any parameter within the parameter category can be entered into the generic query. In this way, different parameters (e.g., sucrose and glucose) that fall into the same general category (e.g., materials) can be applied to the same generic query. Thus, the same generic query can be used for multiple different databases, applications, or processes, limiting the number of specific queries that need to be generated and the time to query data related to a specific process. By providing generic queries that can retrieve specific data, users can easily identify data of interest without any programming knowledge.

[0073] In some embodiments, data entered into the system is tagged (e.g., associated) with one or more query parameters. For example, data entered into the system may be entered as part of one or more expected parameters associated with a data collection process, such as process parameters associated with a manufacturing process and / or a batch of product produced through the process. For example, a user (e.g., a process specialist, laboratory technician, or equivalent) may generate various parameters that will be measured or otherwise determined during process steps for a product being tested or manufactured; for example, as a new process is set up for a factory, the process specialist may select certain parameters or categories of data that will be monitored and stored during production and tag these as belonging to a particular category or generic query parameter.

[0074] As one example, during pharmaceutical drug production, process parameters may include materials used, drug ingredients and concentrations, impurities, pH, manufacturing conditions (e.g., temperature, timing, equipment, etc.), and the like, all of which may be measured or entered as metadata associated with a batch of product produced through the process. When a process is initially set up for data collection into a data collection system or database, a process specialist may enter selected process parameters into the system to be correlated or tagged as query parameters. For example, temperature may be tagged as a temperature query parameter, each material used may be tagged as an ingredient query parameter, each drug ingredient may be tagged as an ingredient query parameter, etc. The process parameters and associated tags may be stored by the system. As data about the process is collected, such as during a batch run through the process, by indicating that the selected process parameters correlate to the selected query parameters, the data collected for each parameter will be tagged with the corresponding query parameter.

[0075] In some embodiments, a user may use a generic query to launch a specific query on a dataset based on tagging the dataset with one or more query parameters in the generic query. For example, a user may select a batch query to run with a specific process; a generic query for the average value of all ingredients may be run on the batch without specifying the ingredient or averaging function. When the query is then run, it will examine the batch metadata to determine the data value that satisfies the ingredient placeholder parameter in the query, which in one example may be glucose, and then average all of the sampled data points for glucose via an averaging equation or function. Because the query functionality is generic, a user can run queries across multiple different batches of data collected from different processes but receive returned values ​​specific to each batch, without having to tailor the query to a specific dataset, but instead relying on the generic placeholder to point to the specific data to be used for the results.

[0076] In some embodiments, when a query is executed, one or more previously tagged measurement parameters and their associated data values ​​are identified. For example, a query may identify measured data parameters having associated tags that match tags associated with a process parameter. In the example discussed above, when the process parameter glucose, tagged with the query parameter material, is queried, the measured data parameter glucose, also tagged with the query parameter material, and its associated data value are identified and returned. Additionally, different types of data, such as third-party databases, other query parameters, and placeholders, may be tagged as query parameters. Then, during query execution, the system may persistently link across multiple platforms, databases, or the like, to determine the relevant data pointed to by the query parameters.

[0077] In some implementations, several batches of raw material may be used during production, each with slightly different raw material properties. Thus, during query execution, the system may reference raw material properties from several batches according to the proportion of the different batches of raw material used in the process. If the query includes material process parameters, the material process parameters may be determined by recursive reference of raw material properties for the various batches of raw material contained within or used to produce the material.

[0078] Turning now to the figures, the systems of the present disclosure will be discussed in further detail. FIG. 1 is a block diagram illustrating an example of an assisted data query construction and retrieval system 100. The system 100 includes a user device 106, which may communicate with one or more appliances 108a-n. The system may also include a server 102 and one or more databases 110, which may communicate with the user device 106 and / or the appliances 108a-n. The various components of the assisted data query construction and retrieval system 100 may each communicate with each other, directly or indirectly, such as through a network 104. In this manner, each component can transmit data to and receive data from other components in the system. In many instances, the server 102 may act as an intermediary for some of the components in the system 100.

[0079] Network 104 may be virtually any type or combination of types of communication system for transmitting data, either through wired or wireless mechanisms (e.g., WiFi, Ethernet, Bluetooth, cellular data, or the like). In some embodiments, certain components within assisted data query construction and retrieval system 100 may communicate via a first mode (e.g., Bluetooth) and others may communicate via a second mode (e.g., WiFi). In addition, certain components may have multiple transmission mechanisms and be configured to communicate data in two or more ways. The configuration of network 104 and communication mechanisms for each component may vary as desired.

[0080] The server 102 includes one or more computing devices that process and execute information. The server 102 may include its own processing elements, memory components, and the like, and / or may communicate with one or more external components (e.g., separate memory storage devices) (examples of computing elements that may be included within the server 102 are disclosed below with respect to FIG. 2). The server 102 may also include one or more server computers interconnected together via the network 104 or a separate communication protocol. The server 102 may host and execute some of the processes executed by the system 100.

[0081] The user devices 106 may be any of a variety of types of computing devices, such as smartphones, tablet computers, desktop computers, laptop computers, set-top boxes, gaming devices, wearable devices, or the like. The user devices 106 provide output and receive input from a user. For example, the user devices 106 may receive parameter or data inputs and values ​​as well as query requests from a user and output query results to the user. The type and number of user devices 106 may vary, as desired.

[0082] The instruments 108a-n may be any type of instrument or technology used to generate, sample, or test a product. For example, the instruments 108a-n may be any instrument used to perform an assay (e.g., a cell counter, mass spectrometer, NIR probe, or the like). As another example, the instruments 108a-n may include sensors that can monitor one or more parameters (e.g., temperature, pressure, pH, electricity, movement, or the like).

[0083] The database or databases 110 may be an internal database used by the system or an external database linked to the system by a user. For example, the external database may be associated with a third party. For example, the database may be associated with the U.S. Food and Drug Administration, the European Medicines Agency, the Veterinary Medicines Research Agency, the World Health Organization, the Medical Products Regulatory Agency, or a similar regulatory body. As another example, the external database may be associated with a person or company (e.g., a testing laboratory, a manufacturer, a quality control company, etc.) associated with batch production. The database 110 may store compliance information (e.g., specification limits for a certain chemical ingredient or composition, process, or the like), batch information (e.g., measured data parameters and their associated data values, e.g., equipment used, chemical purity levels, pH levels, etc.), and the like.

[0084] A simplified block structure for a computing device that may be used with system 100 or integrated into one or more of the system 100 components is shown in Figure 2. For example, server 102, user device 106, appliances 108a-108n, and / or database 110 may include one or more of the components shown in Figure 2 and use one or more of these components to perform one or more of the operations disclosed in methods 180, 200, 250, and 300. With reference to Figure 2, computing device 150 may include one or more processing elements 152, an input / output (I / O) interface 154, a network interface 156, one or more memory components 158, a display 160, one or more external devices 162, and a power supply 164. The various components may each communicate with one another through one or more buses, wireless means, or the like.

[0085] Processing element 152 is any type of electronic device capable of processing, receiving, and / or transmitting instructions. For example, processing element 152 may be a central processing unit, a microprocessor, a processor, or a microcontroller. Additionally, it should be noted that selected components of computer 150 may be controlled by a first processor and other components may be controlled by a second processor, and that the first and second processors may or may not be in communication with each other.

[0086] Memory component 158 ​​is used by computer 150 to store instructions for processing elements 152 and to store data such as batch data (e.g., measured data parameters), process parameters, time information, limit values, and the like. Memory component 158 ​​may be, for example, a magneto-optical storage device, a read-only memory, a random access memory, an erasable programmable memory, a flash memory, or a combination of one or more types of memory components.

[0087] Display 160 provides visual feedback to a user and can optionally act as an input element, allowing a user to control, operate, and calibrate various components of computing device 150. Display 160 may be a liquid crystal display, a plasma display, an organic light emitting diode display, and / or a cathode ray tube display. In embodiments in which display 160 is used as input, display 160 may include one or more touch or input sensors, such as a capacitive touch sensor, a resistive grid, or the like.

[0088] I / O interface 154 allows a user to type data into computer 150 and provides input / output for computer 150 to communicate with other devices (e.g., server 102, appliances 108a-n, other computers, speakers, etc.) I / O interface 154 may include one or more input buttons, a touchpad, etc.

[0089] The network interface 156 provides communication between the computer 150 and other devices. For example, the network interface 156 allows the server 102 to communicate with the instruments 108a-n over the network 104. The network interface 156 includes one or more communication protocols, such as, but not limited to, WiFi, Ethernet, Bluetooth, etc. The network interface 156 may also include one or more wired components, such as a Universal Serial Bus (USB) cable or the like. The configuration of the network interface 156 depends on the type of communication desired and may be modified to communicate via WiFi, Bluetooth, etc.

[0090] External device 162 is one or more devices, such as a mouse, microphone, keyboard, trackpad, or the like, that may be used to provide various inputs to computing device 150. External device 162 may be local or remote and may vary as desired. Power supply 164 may be any source of power (e.g., wall power, battery, or the like) that enables computer 150 to function.

[0091] FIG. 3 is a flowchart illustrating a method for establishing a generic query associated with one or more data sources. Method 180 begins at operation 182, where data source information is received. The data source information may be entered by a user, such as by a technical or process expert. For example, FIGS. 7A-F show exemplary windows displayed on a graphical user interface for entering data source information. As shown in FIG. 7A, a user may access one or more databases through the system via a database access selection 312 in a drop-down menu 314 on window 310 of the graphical user interface. After selecting database access selection 312, a new window 316 appears on the graphical user interface, providing a database access drop-down menu 318 with selections for external data access 320, external data source 322, and data source query 324, as shown in FIG. 7B. After selecting an external data source 322 from the drop-down menu 318, a new window 328 appears on the graphical user interface, allowing the user to review and edit information associated with the external data source, as shown in FIGS. 7C-F. Various types of data sources may be stored in one or more databases. In the example shown, three different data sources, BCNEBR, BCN Historian, and BCN Lims, are stored in the same database titled postgres. Other data source information, such as database type, host port, username (e.g., of the user who added the data source), test query results (e.g., whether a connection was established, test date, etc.), and the like, may also be stored by the system. As shown in FIG. 7D, the user may select a data source to review associated information in a pop-up window 330. The pop-up window 330 may include an edit selection 332 for the user to edit information associated with the selected data source.For example, as shown in FIG. 7E, a user may edit various fields 334 to update information associated with a data source.

[0092] After operation 184, method 180 proceeds to operation 184, where a connection is established with the data source. For example, the connection is established so that the system can query the data source and retrieve data associated with the query. As shown in FIG. 7F, a user may test the connection to the data source by selecting a test connection button 336. As shown in FIG. 7C, the results of this connection test are displayed as information associated with the external data source (e.g., OK 338 indicates a successful connection to the data source).

[0093] After operation 184, method 180 proceeds to operation 186, where one or more queries associated with the data sources are received and stored by the system. The one or more queries may be entered by a user, such as a technical or process expert. For example, FIG. 8 shows an exemplary window 340 displayed on a graphical user interface for reviewing and entering query information. As shown, a query may have a query name, an associated data source (e.g., a location to pull the queried data from), a description of the type of information being queried, one or more query parameters, and test information (e.g., whether the query works or returns one or more errors). One or more of the queries is a generic query. A generic query may have one or more query parameters. A query parameter is data to be retrieved by the query. A query parameter may be static and remain constant across different query executions (e.g., constant across different processes), or a query parameter may be dynamic and change across different query executions (e.g., may be different for different processes or batches). For example, as shown in the example query titled "BCN EBR Material Data" 342, query 344 includes a static parameter, batch_no. 346, that remains constant across different query executions, and a dynamic parameter, [@MATERIAL_NAME] 348, that varies across different query executions. However, it is contemplated that a query may also have multiple dynamic parameters, as shown, for example, with respect to query 350 titled "BCN Historian Summary" 352. In these examples, the dynamic parameters are shown in brackets. However, it is also contemplated that other symbols, numbers, or letters may be used to indicate the dynamic parameters.

[0094] Query parameters may be pulled from one or more sources. For example, FIG. 9 is a table illustrating various value sources for query parameters. For example, a query parameter may be a literal value 354, a data entry 356 queried from another data source 358, a derived value 360, or batch metadata 362. The literal value 354 may be a preconfigured or fixed value in the query (e.g., a static query parameter). The value may be a qualitative or quantitative value. As one example, a quantitative value indicates an attribute of the data. For example, the query parameter test status may have a quantitative value of "approved" or "rejected" as indicated, or the test name may have a value of pH, temperature, or the like. The literal value 354 may be the same for each batch.

[0095] The data entry 356 may be a query parameter value entered by a user. In contrast to the literal value 354, the data entry 356 may vary from batch to batch. The data entry 356 entered by a user may be an actual value or a code for retrieving a value from another data source. In the example shown, the data entry 356 may be, for example, "Parameter.Status." In this example, the citation may represent metadata. However, it is contemplated that other symbols, numbers, or characters may be used to indicate metadata. In the example shown, a parameter value without the @ symbol may represent a unique process parameter reference. However, other symbols, numbers, or characters may be used to indicate a unique process parameter reference.

[0096] 10A-D show exemplary windows displayed on a graphical user interface for entering data entries into the system as query parameters. For example, as shown in FIG. 10A, when a user selects parameter 452 in window 450, a text box or graphic 454 appears containing information related to the parameter 452, such as batch and query data. In the example shown, the parameter "compound ph 456" is selected. As shown, text box 454 displays the parameter name, description, parameter source, data source query, batch ID column, parameter column, test batch ID, query status, query placeholder fields (e.g., TEST-ME, EXTRA_FIELD, EXTRA_FIELD_VALUE), unit of measure, data type, status, parameter class, query alias, reference URL, attachments, and notes associated with the parameter. The user may select an edit button 458 shown below text box 454 to edit the information. 10B, a user may edit a query placeholder field 460 (e.g., a dynamic query parameter or parameter category). As an example, the user enters material_name 462 as the data entry 356 for the query parameter "EXTRA_FIELD 464" and seed medium 463 as the data entry 356 for the query parameter "EXTRA_FIELD_VALUE 465."

[0097] As another example, FIG. 10C shows a data entry 356 for a query parameter field with code (in this example, a string of words and periods) for retrieving a query parameter value from another location. As shown, the data entry 356 for RM_LOT_ID 466 in query placeholder field 460 is Product.Oracle.References.SeedSaltLot No 468. In this example, the value for RM_LOT_ID 466 is queried from SeedSalt Lot No parameter 470, and the RM_LOT_ID value for SeedSalt Lot No parameter 470 is used in a query for parameter "SeedSalt Sample DateTime 472." As yet another example, FIG. 10D shows a data entry 356 for a query parameter field (e.g., query placeholder field 460) "EQUIP_ID 474" with code for retrieving a query parameter value from another location, "@Equipment ID 476." In this example, the code includes the @ symbol. In some embodiments, the @symbol instructs the system to query batch metadata for applicable values. While the @symbol is used in this example, it is contemplated that any symbol or sequence of symbols or text may be used to instruct the system to query batch metadata.

[0098] Returning to FIG. 9, as another example, a query parameter may be queried from another data source 358 without user input. For example, the query parameter may include a symbol, a sequence of words, a code, or the like, that instructs the system to retrieve a value from another data source or location. For example, the other data source may be another database, a previously queried parameter, or the like. In the example shown, the query parameter value "Parameter.Lot Number" indicates that a value should be queried from a previously determined value for the parameter "Lot Number."

[0099] As yet another example, the query parameter may be a derived value 360. The derived value 360 ​​may be a sub-query executed by the system to calculate the derived value 360. In other words, the derived value 360 ​​is determined by the system, which performs one or more data calculations. The derived value 360 ​​may be data entered by a user and manipulated in some manner by the system. For example, the derived value 360 ​​may be a sum, an average, a percentage, a ratio, or any other calculated value. The derived value 360 ​​may also be calculated based on characteristics of a batch of raw materials used in the production of the batch, as described with respect to Figures 15-17.

[0100] As another example, the query parameter may be batch metadata 362 without user input. For example, as discussed, the @symbol may indicate metadata. In the depicted example, the batch metadata 362 value is @Market. In this example, the query parameter value would be pulled from the batch metadata value related to the market. As described above, the @symbol is used in this example to indicate batch metadata, but other symbols, numbers, or text may also be used to represent batch metadata.

[0101] FIG. 4 is a flowchart illustrating a method for associating process parameters with generic query parameters or placeholders. Method 200 begins at operation 202, where one or more process parameters are received, such as from entry via a user (e.g., a process specialist), or retrieved from a database that stores one or more process parameters. Process parameters are those categories of data tracked for a particular process, such as a manufacturing or testing process, which may include measured or sensed values, input values, or the like, such as material or raw material types, performance measurements, chemical properties, or the like. For example, a process specialist may monitor particular parameters to ensure compliance with certain limits / regulations, determine whether a certain outcome is achieved, or the like. As an example, for a drug manufacturing process, there may be limits / regulations regarding one or more component concentrations, pH, impurity concentrations, and the like. In this example, a process specialist may input component concentrations, pH, and impurity concentrations as process parameters for a specific process for drug manufacturing.

[0102] After operation 202, method 200 proceeds to operation 204, where one or more process parameters are associated or tagged with a query parameter. A process parameter may be associated with a static query parameter or a dynamic query parameter. As one example, the process parameter temperature may be constant across different processes (e.g., each process may consider a temperature). The process parameter temperature may be associated with the static query parameter temperature in that the category of the query may remain constant, but the data value associated with any particular data set will change. As another example, the material used per process may vary across different processes. For example, the material may be glucose in one process and sucrose in another process. In this example, glucose and sucrose may both be process parameters associated with the dynamic query parameter material. In this example, the dynamic query parameter is a category that encompasses both parameters because they are both types of material. In this example, both process parameters (e.g., for two different processes) are tagged as the same query parameter. However, it is contemplated that any number of process parameters may be tagged as the same query parameter.

[0103] In some embodiments, the association between a process parameter and a query parameter may be determined by a user. For example, a process expert may determine predefined query parameters to associate with a process parameter. As an example, a specific compound or drug may be associated with a material category or an ingredient category depending on whether the compound or drug is used as a raw material or measured as a resulting component of a final product. For example, a process expert may determine that glucose for process A is associated with a material query parameter, while glucose for process B is associated with an ingredient query parameter. In some embodiments, a process parameter may have more than one associated query parameter. For example, the process parameter "bioreactor" may have associated query parameters such as equipment ID, equipment location, equipment start time, equipment stop time, and the like.

[0104] In some embodiments, the association between the process parameter and the query parameter may be determined by the system. For example, the system may associate similar process parameters and query parameters using previous associations entered by the user. As one example, the system may assist the user by pre-tagging the process parameters when test data is defined. As another example, the system may detect similarities between labels for the process parameter and the query parameter and determine a match. For example, the system may determine a "temperature" process parameter that matches the "temperature" query parameter and associate the two parameters.

[0105] After operation 204, method 200 proceeds to operation 206, where the tagged associations for the process parameters are stored. For example, the system may store the associations between the process parameters and the query parameters, e.g., the query parameters may be stored as metadata corresponding to the process parameters to help ensure that data values ​​collected for the process parameters are also associated with the tagged query parameters. In the above example, the system stores the process parameter "temperature" as tagged as the query parameter "temperature" (e.g., temperature = temperature), the process parameter "sucrose" as tagged as the query parameter "material" (e.g., material = sucrose), and the process parameter "glucose" as tagged as the query parameter "material" (e.g., material = glucose). This association between the process parameters and the query parameters will determine the process parameters to be used when a query including the corresponding query parameters is executed. Furthermore, in some embodiments, the associations between the process parameters and the query parameters may be stored for future use with similar processes.

[0106] 5 is a flowchart illustrating a method for associating received data values ​​for process parameters with particular query parameters or placeholders. Method 250 begins at operation 252, where data values ​​received for process parameters are received via direct input, input from a sensor or other database, or any number of methods that may occur during experimental progression of the process or product through the process. For example, as a drug is manufactured, one or more data parameters may be measured to assess drug quality and quantity and compliance with any limits or regulations. The measured data parameters and their associated values ​​are recorded; for example, one or more instruments or sensors may collect the data, and the collected data may be entered into the system. As another example, a user, such as a laboratory technician or process specialist, may measure the data and manually enter it into the system as it is collected.

[0107] After operation 252, method 250 proceeds to operation 254, where one or more measured data parameters are tagged with query parameters. For example, a data value may be tied to a particular process parameter, which is associated with a query parameter, as shown in FIG. 4 . This association then flows to a specific data value. For example, as discussed above, the process parameter for process A may be glucose. During execution of process A, glucose may be a measured data parameter. In this example, the measured data parameter glucose is associated with the process parameter “glucose.” According to method 200, the process parameter “glucose” may have previously been tagged as a “material” query parameter. Based on the determined association, the measured data parameter “glucose” may also be tagged as a “material” query parameter.

[0108] After method 254, method 250 proceeds to operation 256, where the tagged measured data parameter is stored in a database. For example, the system may store an association between the measured data parameter and the query parameter. In the example above, the system stores the measured data parameter "glucose" (and its associated data value) with the query parameter "material" tag (e.g., material=glucose). This association between the measured data parameter and the query parameter will determine the measured data that can be pulled when a query including the corresponding query parameter is executed.

[0109] FIG. 6 is a flowchart illustrating a method for performing a generic query based on tagged parameters. Method 300 begins at operation 302, where a batch query selection is received. For example, FIGS. 11A-C show exemplary windows on a graphical user interface for creating a batch that may be queried. For example, FIG. 11A shows a pop-up window 402 that appears on window 400 for creating and editing a batch. Batch information (e.g., batch ID, date, by-product, market, reference URL, attachments, etc.) can be entered and saved by the user. FIG. 11B shows window 402 with fields 406 and icons 408 for querying different process parameters associated with the batch. Each parameter may be individually queried using the associated icon 408. For example, as shown, the process parameter "bioreactor" 409 is queried using the associated icon 408. Alternatively, some or all of the parameters may be queried together, for example, by selecting the "Query All Parameters" button 410, as shown in FIG. 11B, or by selecting two or more parameters within a particular category and querying the category of parameters, as shown in FIGS. 13A-B and 14A-B, discussed in more detail below.

[0110] After operation 302, method 300 proceeds to operation 304, where a specific batch data value for the query parameter is determined using the associated tag. The query parameter value may be pulled from one or more sources. For example, as discussed above with respect to FIG. 9, the query parameter value may be a literal value 354, a data entry 356 queried from another data source 358, a derived value 360, or batch metadata 362. As discussed above with respect to FIGS. 10A-D, the data entry 356 may be a parameter value entered by a user, such as a literal value or code to retrieve the parameter value from another data source or location.

[0111] The system analyzes the measured parameters and their associated values ​​from the individual sources and determines a batch data value for the query parameter based on the associated tag. As discussed above with respect to method 200 of FIG. 4, a process parameter may be tagged with an associated query parameter. The system may analyze previously tagged measured data parameters for measured data parameters associated with the same query parameter as that associated with the process parameter, as discussed above with respect to method 250 of FIG. 5. In the example discussed above with respect to FIG. 11B, the queried process parameter "bioreactor" 409 may have been previously tagged with the query parameter "equipment ID." As shown in FIG. 11C, the measured "bioreactor" parameter 480 for batch S0606 may also be tagged with the query parameter "equipment ID" 482. To determine the batch value for the queried process parameter "bioreactor" 409, the system determines the value for the measured "bioreactor" parameter with the same "equipment ID" tag, in this case, the value for equipment ID 482 for batch S0606. In this example, the measured “bioreactor” parameter associated with “equipment ID” has a value of SB3202 (e.g., the serial number for the bioreactor), which is returned in the query as shown in FIG. 11B.

[0112] As another example, the process parameter may be glucose, which may be tagged as a "material" query parameter (e.g., material=glucose), as discussed with respect to method 200 of Figure 4. In this example, the measured data parameter "glucose" may also be tagged as a "material" query parameter (e.g., material=glucose), as discussed with respect to method 250 of Figure 5. When executing the query, "glucose" may be entered into the generic query as a value for the query parameter "material."

[0113] After operation 304, method 300 proceeds to operation 306, where a query function is performed using the batch-specific values. For example, as shown in Figure 8, the query function may select various data, organize it for display (e.g., by grouping the data), perform calculations (e.g., averages, sums, etc.), or the like.

[0114] In one example, when the process parameter "glucose" is queried, "glucose" may be entered as a value for the query parameter "material" in the generic query, as discussed above. Using the glucose value for material, the system may analyze the measured query parameter for the measured query parameter tagged as "material" and labeled as "glucose." When the query function selects and groups the data for display, the query function may return the data value associated with the measured query parameter "glucose" and tagged as the "material" query parameter.

[0115] After operation 306, method 300 proceeds to operation 308, where batch query results are delivered. For example, as shown in FIG. 11B, after the process parameter "bioreactor" is queried by selecting the associated query icon 408, the query results appear in field 406 as a value for the bioreactor. For example, a value indicative of a specific bioreactor used in conjunction with batch S0606, for example, has serial number SB3202. In another embodiment, the query may result in an error message. For example, FIG. 11D shows a status window 412 displayed on window 404 for querying parameters. In this example, the status window 412 shows the batch query results. In this example, the status window 412 indicates an error along with the query. For example, the query may result in an error message when there is insufficient data (e.g., insufficient process parameter data or measurement parameter data such that not all query parameters have associated values).

[0116] 12A-D show an exemplary window 500 displayed on a graphical user interface for testing a query according to the method 300 of FIG. 6. For example, as shown in FIG. 12A, the batch query selected in operation 302 is the parameter "Average OUR" 502. As shown in FIG. 12C, the parameter "Average OUR" 502 is associated with a query 504 associated with the data source 506 "BCN Historian." As shown, the query 504 incorporates a query 350 entitled "BCN Historian Summary 352," which is stored as the "Data Source" query 324, as shown in FIG. 8. The associated query 504 function selects "Average" from the enumerated query parameters. In operation 304 of the method 300 of FIG. 6, at least some of the query parameter values ​​508a-d are pulled from data entries entered by a user in query placeholder fields 510, as shown in FIG. 12B. 8 and 12C, query parameter values ​​508a-d are entered into the query in place of dynamic parameters shown in brackets (e.g., placeholder parameters). When the query is executed in operation 306 of method 300 of FIG. 6, the system analyzes collected or measured data stored in one or more data sources, e.g., data source “BCN Historian,” that satisfy the query. For example, the system may identify measured data having an OUR value tagged as the “alias” query parameter, a measured value of “PB4202” tagged as the “units” query parameter, a measured value of “18-06-201511:31:32” tagged as the “start_time,” and a measured value of “26-06-201513:43:44” tagged as the “end_time.” The system may then average the queried values ​​and, in operation 308 of method 300, deliver the batch query results as "average" 512 displayed in window 500 on the graphical user interface (e.g., in pop-up window 514), as shown in FIG. 12D.In this example, query 504 "Test" resulted in an "Average" 512 value, so status 516 is shown as "Pass." However, if query 504 had resulted in an "Error" (e.g., due to insufficient data for the query), status 516 would have been shown as "Fail."

[0117] Method 300 of FIG. 6 may also be applied to query multiple parameters together or in a sequence (e.g., vector value). For example, FIGS. 13A-D and 14A-D show exemplary windows for querying multiple parameters together. As discussed, in operation 302 of method 300, a batch query selection is received. In these examples, the batch query selection may include two or more selected parameters. For example, FIGS. 13A-B and 14A-B show exemplary windows 550 on a graphical user interface for querying multiple parameters. As shown, various parameter categories 552 may be listed. For example, as shown in FIG. 13B, window 550 shows parameter categories 552 "Lampium Seed," "All," "Glucose," "LMP Salt Mix," "Failure Conversion Test," and "Input pH." In FIGS. 14A-B, parameter categories 552 include "Online" and "Offline." Using the presented user interface, a user can select tabs 554 on parameter categories 552. In response to receiving a user selection of tab 554, the system displays a drop-down list of parameters 556 associated with category 552. The user may select parameters 556 to query together. For example, as shown in FIG. 13A, parameters 556 "Material Number," "Material Lot," and "Quantity" are selected, and in FIG. 14A, parameters 556 "Timestamp" and "Vitality Rate" are selected. Based on the user's parameter selection, the system displays a visual indicator or identifier, such as a selected icon 562, the next selected parameter 556, etc., so that the user may easily identify the selected parameter 556 to be queried.

[0118] When the system receives a selected parameter 556 (e.g., "Quantity" in FIG. 13A and "Survival Rate" in FIG. 14A ), such as by a user clicking on a parameter 556 displayed on the user interface, the system may retrieve a parameter definition for the selected parameter 556 and display the parameter definition in a definition window 558. The user may optionally edit the parameter definition via an "Edit" button 560 in the definition window 558. After receiving a selected parameter 556 in a parameter category 552, the system may query the selected parameter 552 by querying the parameter category 552. For example, as shown in FIGS. 13B and 14B , a user can select a query icon 564 located adjacent to the parameter category 552 to instruct the system to query the parameter category 552. For example, as shown in Figure 13B, when the system receives a selection of the query icon 564 next to the "All" parameter category 552, the system determines, for example, the parameters 556 (material number, material lot, and quantity) of the "All" parameter category 552 selected in Figure 13A and queries the selected parameters 556 in the "All" parameter category 552 based on the single query request. As another example, as shown in Figure 14B, when the system receives a selection of the query icon 564 next to the "Offline" parameter category 552, the system determines, for example, the parameters 556 (timestamp and viability) of the "Offline" parameter category 552 selected in Figure 14A and queries the selected parameters 556 in the "Offline" parameter category 552 based on the single query request. In some embodiments, if the system receives a query request for a parameter category 552 (e.g., based on receiving a selection of a query icon 564 next to the parameter category 552) and determines that no parameters 556 are selected within the category 552, the system may query all parameters 556 within the parameter category 552.

[0119] As discussed with respect to FIG. 6 , after operation 302, method 300 proceeds to operation 304, where a batch data value for the query parameter is determined using the associated tag. In this example, with multiple parameters, there may be multiple associated tags. As discussed above, the system analyzes the measured parameters and their associated values ​​from separate sources and determines the batch data value for the query parameter based on the associated tag. In the example shown in FIGS. 13A-B , the queried process parameter 556 “quantity” may have been previously tagged with the query parameter “quantity,” the queried process parameter 556 “material number” may have been previously tagged with the query parameter “material number,” and the queried process parameter 556 “material lot” may have been previously tagged with the query parameter “material lot.” The measured “quantity,” “material number,” and “material lot” for batch P0618 may also be tagged with the query parameters “quantity,” “material number,” and “material lot,” respectively. To determine batch values ​​for the queried process parameters "Quantity", "Material Number", and "Material Lot", the system determines values ​​for measured "Quantity", "Material Number", and "Material Lot" parameters that have the same "Quantity", "Material Number", and "Material Lot" tags, respectively.

[0120] After operation 304, method 300 proceeds to operation 306, where a query function is executed using the batch-specific values. FIGS. 13C and 14C show an example window 566 on a graphical user interface for monitoring query execution. As shown in FIGS. 13C and 14C, the system may execute queries for each parameter 556 in sequence. For example, as shown in FIG. 13C, six parameters are queried by the system, with the first two parameters 556 being queries for "Material Name" and "Quantity Completed," as indicated by status 568 "OK," and the third parameter 556 being a query for "Dispense Time" in process, as indicated by "Read" icon 570 and query status "Updated" 572. In the depicted example, the queries are executed by the system substantially simultaneously (one second or less). However, it is contemplated that queries may also be executed simultaneously by the system.

[0121] 14C, seven parameters are queried by the system, with a first parameter 556 query being "Agitation Completed," as indicated by status 568 "OK," and a second parameter 556 query being "Flow Rate" in process, as indicated by "Read" icon 570 and query status "Updated" 572. The other parameters 556 "OUR" and "Temperature" are queued by the system for quick retrieval, as indicated by status 568 "Queued," since the second parameter 556 "Flow Rate" is being queried. In this example, the queries are executed by the system substantially simultaneously (30 seconds or less). However, it is contemplated that queries may also be executed by the system simultaneously.

[0122] The system may perform queries with respect to multiple parameters, similar to those discussed above with respect to a single process parameter (e.g., glucose). For example, as shown in FIG. 8, the query function may select various data, organize it for display (e.g., by grouping the data), perform calculations (e.g., averages, sums, etc.), or the like. For example, a first parameter may be queried by determining a query parameter associated with the first parameter based on the associated tag of the first parameter. The system may determine the measured parameter and its associated value based on the query parameter and the associated tag of the measured parameter. The system may perform the query function associated with the query parameter using the associated measured parameter value. The system may perform the same steps with respect to a second parameter. In some embodiments, the system may apply different query functions with respect to different parameters. However, it is also contemplated that the system may perform the same query function with respect to different parameters. In the example depicted in FIG. 13C, when the process parameter "material name" is queried, "material name" may be entered into the generic query. The system may analyze the measured query parameters for a measured query parameter tagged as "Material Name." When the query function selects and groups the data for display, the query function may return data values ​​associated with the measured parameter tagged as Material Name. The same query execution process may also be performed for "Quantity" and "Dispense Time."

[0123] As shown in Figures 13C and 14C, the system may display other information within the query execution monitoring window 556 related to the parameters being queried. For example, as shown, the system may display the query's data source 574, the time elapsed (e.g., for query execution) 576, and the query results 578 within the query execution monitoring window 556. The user can abort query execution by selecting an "Abort" link or button 580, which instructs the system to stop future queries of the remaining parameters 556 in the query queue (e.g., "Dispense Time" in Figure 13C or "Flow Rate," OUR, in Figure 14C, and "Temperature"). The user may further select an "Open All Errors" link or button 582, which instructs the system to display query errors.

[0124] After operation 306, method 300 proceeds to operation 308, where the batch query results are delivered. For example, the system may deliver the batch query results as a table with a number of rows determined by the number of results returned by the query. In this example, the table is dynamically generated based on the rows of available data (e.g., as determined by the query). As such, the number of rows may vary from batch to batch. In some cases, the table size may be limited (e.g., to a particular number of rows, e.g., 100 rows per parameter). However, it is contemplated that the number of rows may be unlimited.

[0125] 13D , after the system queries process parameters 556 “Material Number,” “Material Lot,” “Material Name,” “Quantity,” “Dispense Time,” “Vendor,” and “Vendor Lot” based on receiving a selection of an associated query icon 564 to query pre-selected parameters in the “All” parameter category 552, the system displays the query results as a table or query results table 584 of values ​​for the selected parameters 556. For example, as shown, the system displays the parameters 556 as columns in the query results table 584, with values ​​filling each row based on the query results. As discussed, the table values ​​may be measured values ​​for a particular batch associated with the same tag associated with the individual parameters 556. For example, as shown in FIG. 13D , the first set of results in row 2 indicates that for batch ID “P0618,” material number “SBRX3457” for material lot “S0613” is associated with material name “LAMPIUM_SEED,” vendor “Internal,” and vendor lot “S0613,” with a quantity of “241.0” and a dispense time of “2015-08-1815:49.” The system may display a status 586 for the query results. For example, as shown, each query result has a “Draft” status 586. The “Draft” status is a row-level status indicating that the user has not submitted the batch data. The “Draft” status indicates that the user may enter additional data into the data entry parameters after the queried parameters are populated in the table prior to submitting / approving the batch data. While the queried data in the table is validated, the table may contain additional non-queried parameters (e.g., for data entry or for pre-defined "derived" calculations).

[0126] 14D , after the system queries the process parameters 556 “Timestamp,” “Agitation,” “Flow Rate,” and “OUR” based on receiving a selection of the associated query icon 564 to query pre-selected parameters in the “Offline” parameter category 552, the system displays the query results as a table of values ​​for the selected parameters 556, or query results table 584. As shown in FIG. 14D , the first set of results in row 2 indicates that for batch ID “P0618,” at timestamp “2015-06-1817:38,” the agitation value was approximately 255.75, the flow rate value was approximately 6.76, and the OUR value was approximately 7.88. The status 586 for each query result in this example is “Draft.”

[0127] As shown by FIGS. 13D and 14D, the query result table 584 may vary based on the selected parameter category 552 and / or the selected parameter 556. For example, as shown in FIG. 13D, the query results are discrete values ​​provided at a single point in time. In this example, the resulting query result table 584 may be referred to as a replicated table. For example, a replicated table may be desirable for viewing discrete batch values ​​for a particular batch process at a set time. For example, the discrete value may be the most recently measured value. As another example, as shown in FIG. 14D, the query results are variable or dynamic values ​​that vary over time, for example, as indicated by timestamps recorded over time. In this example, the "Agitation," "Flow Rate," and "OUR" are monitored over time. In this example, the resulting query result table 584 may be referred to as a persistent table. For example, a persistent table may be desirable for viewing batch values ​​that vary over time, for example, during the processing of a batch process. As one example, the system may receive a query request (e.g., by a user selecting a query icon) and update the query results table 584 with additional time-stamped values. As another example, queries may be scheduled at discrete time intervals, instructing the system to persistently query parameters over time, and the persistent table may be persistently updated as queries are executed by the system.

[0128] FIG. 15 shows example windows on a user interface showing raw material properties and product process definitions. The raw material properties may be used in executing subqueries during execution of batch-specific queries for materials produced using the raw materials. The raw material window 602 shows various properties of the raw material batch. The intermediates window 604 shows various properties of the intermediate batch, which includes a portion of the raw material batch defined in the first raw material window 602. The product window 606 shows various properties of the product, which includes a portion of the intermediate batch 604. Thus, the product table 608 in the product window 606 references back to the intermediates table 610 in the intermediates window 604. Similarly, the intermediates table 610 in the intermediates window 604 references back to the raw material table 612 in the raw material window 602.

[0129] The raw materials window 602 generally includes various properties of a lot (e.g., shipment) of raw materials in a raw materials table 612. The raw materials table 612 may be implemented as part of a database using the methods described above, and the properties, parameters, and lot characteristics stored in the raw materials table 612 may be tagged with query parameters as described above. Some properties or parameters may be used to identify the lot, the distributor of the lot, the manufacturer of the lot, etc. For example, the raw materials window 602 includes parameters for the production date, receipt date, expiration date, distributor name, and distributor lot ID. These parameters may be useful, for example, in ensuring that raw materials used in a product have not passed their expiration date. Other properties may relate to the properties of the material itself. For example, the raw materials window 602 includes lot characteristics such as vapor density, vapor pressure, pH, phosphate content, and sulfate content. These lot characteristics may be provided by the manufacturer, determined by testing the material in the lot, or a combination.

[0130] The intermediates window 604 generally includes various properties of the intermediates in the intermediates table 610. The intermediates table 610 may be implemented as a database using the methods described above. In some implementations, an intermediate may be made using several different raw materials, which may be added at various times and in various amounts. Thus, the intermediates table 610 may include parameters that track, for example, the amount of raw material added, the order in which the ingredients were added, the start time, the reaction time, or the operator who oversaw the addition. In some implementations, other physical parameters, such as temperature or pressure, for one or more of the additions may also be tracked. For example, the intermediates table 610 shows a first addition including yeast extract and selected soytone and a second addition including (NH4)SO4, KH2PO4, K2HPO4, and (NH4)Cl.

[0131] Generally, the intermediate table 610 incorporates or references a raw material table for each raw material included in the intermediate. For example, the intermediate table 610 incorporates a raw material table 612 in which (NH)Cl from a lot defined in the raw material table 612 is used in the intermediate. In some implementations, the intermediate table 610 may reference multiple raw material tables for a single raw material. For example, an intermediate may include an amount of (NH)Cl from a lot defined in the raw material table 612 and an amount of (NH)Cl from a second raw material lot. In such a case, the intermediate table 610 would incorporate both the raw material table 612 and the second raw material table. To accurately incorporate both raw material tables, the intermediate table may include a parameter indicating the amount of (NH)Cl from each lot ultimately included in the intermediate.

[0132] The product window 606 includes a product table 608 that stores the process for producing the product as well as the product characteristics of the finished product made using the process. The product table 608 may store general information about the process, such as the amounts of the types of raw materials used to make the product. The product table 608 may be implemented as a database using the methods described above. Information specific to a product batch, such as the amount of raw materials from a particular lot or intermediate, may also be included. If a particular lot of raw materials or batch of intermediates is used in a product batch, the product table 608 incorporates a separate intermediate or raw material table. For example, the product represented by the product table 608 includes a small BR medium, which is defined in an intermediate table 610. The intermediate table 610 incorporates the raw material table 612, so the product table 608 recursively incorporates the raw material table 612 when incorporating the intermediate table 610.

[0133] In some implementations, the product window 606 may include multiple product tables, each containing information about one batch of the product. For example, the product window 606 includes a product table 608 corresponding to one batch of the product and a product table 614 corresponding to another batch of the product. The product tables 608 and 614 each incorporate an intermediates table 610, although in some implementations the product tables may incorporate different intermediate or raw material tables depending on the batches used in producing the product.

[0134] The raw material window 602, intermediates window 604, and products window 606 are exemplary and do not include all features or processes contemplated by this disclosure. For example, in some implementations, additional intermediates may be generated in the production of a product, such as a second intermediate generated using the intermediate represented by intermediates table 610 and the additional raw material. Product tables 608 and 614 may then incorporate an intermediate table corresponding to the second intermediate and recursively incorporate raw material tables corresponding to the additional raw material, intermediates table 610, and raw material table 612.

[0135] FIG. 16 shows an exemplary aggregation of raw material properties to determine product properties. In the example shown in FIG. 16, two batches 702, 704 of raw material are used in varying amounts in three batches 706, 708, 710 of intermediates. The three batches 706, 708, 710 of intermediates are then used in varying amounts in seven product batches 712, 714, 716, 718, 720, 722, 724. While the disclosed system can track numerous types of raw material properties, the example shown in FIG. 16 tracks magnesium (Mg) throughout the process of manufacturing a product. Furthermore, the exemplary process shown in FIG. 16 is exemplary, and other contemplated processes may include, for example, multiple types of raw material, more or fewer intermediates, more or fewer batches, etc.

[0136] In the example shown in FIG. 16, two raw material batches 702 and 704 contain different amounts of Mg. The amounts of Mg in raw material batches 702 and 704 may be stored in a raw material table (e.g., raw material table 612) corresponding to each of the batches. In the next step of the process, intermediates are produced using the raw materials. As shown in FIG. 16, the two raw material batches 702 and 704 are used in varying amounts in intermediate batches 706, 708, and 710. For example, intermediate batch 706 contains raw material from batch 702. Thus, the amount of Mg present in intermediate batch 706 is the same as the amount present in raw material batch 702. Similarly, intermediate batch 710 contains raw material from batch 704 and has the same amount of Mg as raw material batch 704.

[0137] Intermediate batch 708 includes raw materials from both raw material batch 702 and raw material batch 704, and therefore the amount of Mg present in intermediate batch 708 or the percentage of Mg added to it depends on the Mg content of batches 702 and 704 and the amount of raw materials used in intermediate batch 708 from each of batches 702 and 704. Thus, the intermediate table associated with intermediate batch 708 incorporates and references the raw material tables corresponding to raw material batches 702 and 704. The amount of Mg present in intermediate batch 708 can therefore be determined by tracking the amounts of raw materials from batches 702 and 704 that are added to intermediate batch 708 and referencing the raw material tables corresponding to batches 702 and 704. In some implementations, the amount of Mg (or another substance) present in intermediate batch 708 is less relevant; the percentage of Mg added to intermediate batch 708 is tracked to determine the amount used in generating the final product. For example, in some implementations, Mg may be consumed or converted during the production of intermediate batch 708, and thus intermediate batch 708 will not contain Mg.

[0138] Intermediate batches 706, 708, and 710 are added in varying amounts to product batches 712, 714, 716, 718, 720, 722, and 724. As intermediate batches 706, 708, and 710 are added to product batches 712, 714, 716, 718, 720, 722, and 724, the product table corresponding to the product batch incorporates an intermediate table corresponding to any intermediate batches included within the product. The product table also generally includes the volume of intermediate added to the product from each batch. A determination of the amount of Mg in a given product batch can then be made recursively using the intermediate tables and raw material tables for the various batches and / or lots used in the production of the product.

[0139] For example, a query may be delivered to a database including a product table corresponding to product batch 716 regarding the amount of Mg in product batch 716. To satisfy the query, the database may first query the product table corresponding to product batch 716. The product table corresponding to product batch 716 then consults intermediate tables corresponding to intermediate batches 706 and 708, and then raw material tables corresponding to raw material batches 702 and 704. The amount of Mg in each of raw material batches 702 and 704 may then be used along with the amount of each of raw material batches 702 and 704 present in product batch 716 to calculate the amount of Mg in product batch 716.

[0140] Using the described structure of the Raw Material, Intermediate, and Product tables, material properties recorded for raw materials can be calculated for the final product, including the raw materials, taking into account batching, blending, and splitting that may occur during the manufacturing process. Additionally, the structure may be used for any number of processes and may track raw material batches that are ultimately used in more than one product. Note that raw material calculations are based on the amount or percentage of raw materials added to form the final product, rather than whether those raw materials are present in their original form in the final product.

[0141] FIG. 17 is a flowchart illustrating a method 800 for tracking raw material lot characteristics throughout production to determine product characteristics. A first definition operation 802 defines lot characteristics for a first raw material lot, including a first raw material. The first definition operation 802 may include transferring, inputting, or uploading the lot characteristics for the first raw material lot to a raw material table 612. In some implementations, a user interface may display a raw material window 602, and a user may directly input the lot characteristics into the raw material table. Alternatively, or in addition, some lot characteristics may be imported into the raw material table 612 via a user interface that displays the raw material window 602. For example, some lot characteristics may be determined by a manufacturer and may be available for downloading or importing into the raw material table 612. In some implementations, the entire raw material table 612 may be provided by the manufacturer.

[0142] In some implementations, a raw material template may be provided, and the raw material table 612 may be generated by importing provided raw material characteristics into the provided template. For example, a lot of raw material may include a label with raw material characteristics. The raw material characteristics may be imported into the template by scanning the label for a QR code, RFID tag, or barcode, or by using other techniques such as optical character recognition (OCR) of the information on the label. The template may be specific to the type of raw material, for example, so that each lot of raw material uses the same template to generate the raw material table.

[0143] The second define operation 804 defines a process for producing a product, including a first raw material. The second define operation 804 may occur before the first define operation 802 in some implementations. For example, a process for a pharmaceutical product produced by a manufacturer may be loosely defined prior to receipt of the raw materials included in the process. For example, using the process defined in the product window 606, the process definition may include each of the steps and materials used in the production of A-Mab. The process definition would include the amount of small BR medium included in A-Mab and the amounts of (NH)SO, KHPO, KHPO, and (NH)Cl used in producing the small BR medium.

[0144] In some implementations, the second definition operation 804 may result in the generation of an intermediate table (e.g., intermediate table 610) and a raw material table (e.g., raw material table 612) for materials used in the process. In other implementations, the second definition operation 804 may incorporate an already existing intermediate table, raw material table, or template for a raw material table. The intermediate table 610 and raw material table 612 are generally data structures that include properties of the intermediate and raw material, respectively. The intermediate table 610 may include references to data in the raw material table such that properties of the intermediate are determined with reference to the raw material table 612.

[0145] The optional third define operation defines a process for creating intermediates created during the process defined in the second define operation 804. Thus, the optional third define operation may occur as part of the second define operation 804. Depending on the number of intermediates created in a given process, the second define operation 804 may include any number of define operations related to the intermediates.

[0146] The tracking operation 806 tracks raw material lots during production of a product. For example, the tracking operation 806 may include recording the amount of raw material from the raw material lot that is added to one or more intermediate batches and the amount of the one or more intermediate batches that is added to the product. The records made during the tracking operation 806 may be added to a database. For example, if two batches of raw material, a first and a second lot, are used in manufacturing an intermediate, both the amount of the first lot and the amount of the second lot may be recorded in an intermediate table for that intermediate. When an intermediate is used in generating a product, the amount of the intermediate that is added to the product may be recorded in a product table for the product.

[0147] Thus, the tracking operation 806 may determine the amount of raw material from the raw material lot that is included in the product or batch of the product. In some implementations, other tracking parameters may be tracked throughout the process, such as reaction temperature, mixing time, cooling time, or batch storage. Tracking parameters, including the amount of raw material from the raw material batch, may be added to the intermediate table and the product table as part of the tracking operation 806.

[0148] The tracking operations 806 may be automated by one or more measurement instruments communicatively connected to a computing system implementing the product table. In other implementations, tracking parameters may be partially or completely collected manually and then transmitted to a computing system implementing the product table. In some implementations, several tracking operations may occur in parallel to track additional lots of raw materials during production of the product and / or additional raw materials and lots of those raw materials included within the product.

[0149] The generate operation 808 generates product characteristics corresponding to the product based on the lot characteristics of the first raw material lot and the tracking of the first raw material lot during production of the product. The generate operation 808 may occur in response to a query regarding the product characteristics of the product. The generate operation 808 may determine the product characteristics using a product table. The tracking operation 806 may include recording the amount of raw material from the raw material lot that is ultimately included in the product. To determine the lot characteristics (e.g., the amount of Mg in the raw material lot in FIG. 16 ), the product table may direct a query to an intermediates table, which may then direct a query directly to a raw material table for the lot characteristics. In some implementations, the lot characteristics may be adjusted for the amount of raw material from the lot that is included in the product.

[0150] If more than one lot of raw material is included in the product, the generate operation 808 may aggregate lot characteristics of a first raw material lot with the same lot characteristics of a second (or additional) raw material lot to generate a product characteristic. In other implementations, more than one raw material may include lot characteristics that correspond to the product characteristic. Using the example of FIG. 16, a second raw material may be used in manufacturing the product, including an amount of Mg. In these cases, the lot characteristics for any lot of the first raw material may be further aggregated with the lot characteristics of the second raw material lot to generate a product characteristic.

[0151] The generate operation 808 occurs without having to, for example, calculate the amount of Mg used in the intermediate and then ultimately use that amount to calculate the amount used in the product. Instead, the system recursively reads the original raw material properties from the built-in raw material table and uses the trace values ​​to generate the product properties, reducing errors that can arise from copying values ​​between databases, spread sheets, or written records, and reducing the calculations used to generate product information. conclusion

[0152] The techniques described herein may be implemented as logical operations and / or modules within one or more systems. The logical operations may be implemented as a sequence of processor-implemented steps directed by a software program executing within one or more computer systems, as interconnected machine or circuit modules within one or more computer systems, or as a combination of both. Similarly, descriptions of various component modules may be provided in terms of operations performed or effected by the modules. The resulting implementation is a matter of choice, dependent on the performance requirements of the underlying systems implementing the described technology. Hence, the logical operations making up embodiments of the techniques described herein are referred to variously as operations, steps, objects, or modules. Furthermore, it should be understood that the logical operations may be performed in any order unless expressly claimed otherwise or a specific order is inherently dictated by claim language.

[0153] In some implementations, the article of manufacture is provided as a computer program product that causes instantiation of the operations on a computer system to implement procedural operations. One implementation of a computer program product provides a non-transitory computer program storage medium that is readable by a computer system and that encodes a computer program. Furthermore, it should be understood that the described techniques may be employed in special-purpose devices independent of personal computers.

[0154] The above specification, examples, and data provide a complete description of the structure and use of exemplary embodiments of the invention as defined in the claims. While various embodiments of the claimed invention have been described above in some detail, or with reference to one or more individual embodiments, those skilled in the art may make numerous modifications to the disclosed embodiments without departing from the spirit or scope of the claimed invention. Other embodiments are therefore contemplated. For example, methods and systems are described herein with reference to querying batch data from a production process or experiment (e.g., drug development). However, these techniques are equally applicable to other uses, such as other scenarios in which data integrity is required or relevant data is stored in a remote location. All matter contained in the above description and shown in the accompanying drawings is to be construed as merely illustrative of particular embodiments, and is not intended to be limiting. Changes in detail or structure may be made without departing from the basic elements of the invention as defined in the following claims.

Claims

1. 1. A processor-implemented method, the method comprising: the processor storing lot characteristics associated with a first raw material lot including the raw material; the processor generating a plurality of tables for producing a product including the raw materials, the plurality of tables including one or more intermediate tables and a product table; the processor tracking the first raw material lot during production of a product by recording quantities of raw materials from the first raw material lot in at least one of the one or more intermediate tables and the product table; The processor generates a product characteristic corresponding to the product, wherein generating the product characteristic includes: obtaining a reference to the one or more intermediate tables from the product table; retrieving lot characteristics for the first raw material lot from the one or more intermediate tables using the reference; calculating the product characteristics based on the lot characteristics and the amount of the raw material from the first raw material lot; and A method comprising:

2. The method of claim 1, wherein calculating the product characteristics occurs in response to a query regarding the product characteristics of the product.

3. The method further includes the processor tracking a second raw material lot of the raw material during production of the product; 3. The method of claim 1 or claim 2, wherein generating the product characteristic further comprises calculating the product characteristic based on lot characteristics of the second raw material lot and the amount of raw material from the second raw material lot.

4. 4. The method of claim 3, wherein the processor tracking the first raw material lot during production of the product comprises tracking an amount of raw material from the first raw material lot used during production of the product, and tracking the second raw material lot during production of the product comprises tracking an amount of raw material from the second raw material lot used during production of the product.

5. The method of claim 1, wherein the calculating the product property comprises: the processor adjusting the lot characteristics of the second raw material lot based on the amount of raw material from the second raw material lot used during production of the product; the processor adjusting the lot characteristics of the first raw material lot based on the amount of raw material from the first raw material lot used during production of the product; The method of claim 4, comprising:

Citation Information

Patent Citations

  • Quality data management method and its system

    JP2004227184A

  • Device and system for managing manufacturing history

    JP2006172014A

  • Feed-forward control in event-based manufacturing systems

    US20060191993A1