Clinical and testing laboratories receive samples for analysis, which may be divided into aliquots. Each sample (each aliquot) may be prepared and/or analyzed by several scientific instruments including, for example, chromatographs (e.g., gas, liquid, etc.), spectrometers, and the like.
Embodiments will be readily understood by the following detailed description in conjunction with the accompanying drawings. To facilitate this description, like reference numerals designate like structural elements. Embodiments are illustrated by way of example, not by way of limitation, in the figures of the accompanying drawings.
In laboratory settings, samples are processed and/or analyzed by one or more scientific instruments (e.g., via one or more aliquots), such as, for example, to determine the presence or absence of compounds within the sample, an amount of a compound within the sample, or the like. Each scientific instrument processing and/or analyzing the sample may use different software applications to conduct the analysis and generate analysis results. Accordingly, to generate a report for a sample, a technician manually gathers information from each of the scientific instruments and manually compiles the gathered information. Ensuring that the report includes all applicable results associated with the sample is cumbersome and error prone, as the technician must track a sample across different aliquots and/or scientific instructions as well as across results that may be generated by different software applications, which may use different ways to identify a sample. A laboratory information management system (LIMS) may be used to track a sample through the various experiments conducted by one or more scientific instruments. However, the LIMS may still face several of the above problems. The entries in such a LIMS are made manually by the technician, and the LIMS does not integrate with the scientific instruments. The different ways in which data is generated and stored by the LIMS and the scientific instruments may make it difficult to map results to a particular sample being tracked via the LIMS. Additionally, LIMS only stores a subset of the data associated with the sample. The data stored by LIMS may not be intrinsically linked to the metadata of the sample. Thus, not only is report generation therefore very cumbersome and is prone to errors but often makes inefficient use of laboratory resources, including instrument usage, consumable usage, data processing usage, bandwidth usage, and the like.
Accordingly, to address these and other issues with existing laboratory environments and associated management technology, disclosed herein are scientific instrument support systems, as well as related methods, computing devices, and computer-readable media. For example, in some embodiments, a method is provided that includes generating, with an processing device, a sample identifier for a sample, receiving, with the processing device, sample information for the sample, and receiving, with the processing device from a plurality of scientific instruments, experiment data relating to the sample and generating, with the processing device, a data structure ledger for the sample including the experiment data linked to the sample identifier and the sample information. The method also includes receiving a request for a report corresponding to the sample, querying the data structure ledger to receive ledger data corresponding to the request, and generating the report based on the ledger data received in response to the query.
In some embodiments, a scientific instrument support system includes one or a set of processing devices configured to generate a sample identifier for a sample, receive sample information for the sample, and generate a data structure ledger for the sample. The data structure ledger includes an initial ledger block with the sample identifier and the sample information. The one or a set of processing devices is also configured to generate an experiment ledger block in the data structure ledger. The experiment ledger block includes experiment data received from a scientific instrument. The one or a set of processing devices is further configured to receive a request for a report corresponding to the sample, query the data structure ledger to receive ledger data corresponding to the request, and generate the report based on the ledger data received in response to the query.
In some embodiments, a scientific instrument support apparatus includes a first logic to generate a sample identifier for a sample, second logic to receive sample information for the sample, and third logic to generate a data structure ledger for the sample. The data structure ledger includes an initial ledger block with the sample identifier and the sample information. The scientific instrument support apparatus also includes fourth logic to generate timestamped experiment ledger blocks in the data structure ledger. The experiment ledger blocks including experiment data received from a plurality of scientific instruments. The scientific instrument support apparatus further includes fifth logic to receive a request for a report corresponding to the sample, sixth logic to query the data structure ledger to receive ledger data corresponding to the request, and seventh logic to generate the report based on the ledger data received in response to the query.
The scientific instrument support embodiments disclosed herein may achieve improved performance relative to conventional approaches. For example, the described sample tracking methods and systems significantly improve sample information storage and retrieval for report generation. Specifically, the described methods and systems allow for easy integration of data from various scientific instrument analysis performed on a sample such that the data may be later accessed for generating reports. The embodiments disclosed herein thus provide improvements to scientific instrument technology (e.g., improvements in the computer technology supporting such scientific instruments, among other improvements). An overall laboratory platform (e.g., Ardia™ platform) may create opportunities for ensuring results data is written to/correlated with any necessary sample information to create an audit trail for samples.
Various ones of the embodiments disclosed herein may improve upon conventional approaches to achieve the technical advantages of higher throughput and data validation by improved data structure relationships between the various experiments conducted on the samples. Such technical advantages are not achievable by routine and conventional approaches, and all users of systems including such embodiments may benefit from these advantages (e.g., by assisting the user in the performance of a technical task, such as report generation for samples, by means of a guided human-machine interaction process). As discussed further herein, various aspects of the embodiments disclosed herein may improve the functionality of a computer itself; for example, the speed at which the sample data can be parsed and later retrieved. The computational and user interface features disclosed herein do not only involve the collection and comparison of information but apply new analytical and technical techniques to change the operation of the scientific support apparatus. The present disclosure thus introduces functionality that neither a conventional computing device, nor a human, could perform.
In the following detailed description, reference is made to the accompanying drawings that form a part hereof wherein like numerals designate like parts throughout, and in which is shown, by way of illustration, embodiments that may be practiced. It is to be understood that other embodiments may be utilized, and structural or logical changes may be made, without departing from the scope of the present disclosure. Therefore, the following detailed description is not to be taken in a limiting sense.
Various operations may be described as multiple discrete actions or operations in turn, in a manner that is most helpful in understanding the subject matter disclosed herein. However, the order of description should not be construed as to imply that these operations are necessarily order dependent. In particular, these operations may not be performed in the order of presentation. Operations described may be performed in a different order from the described embodiment. Various additional operations may be performed, and/or described operations may be omitted in additional embodiments.
For the purposes of the present disclosure, the phrases “A and/or B” and “A or B” mean (A), (B), or (A and B). For the purposes of the present disclosure, the phrases “A, B, and/or C” and “A, B, or C” mean (A), (B), (C), (A and B), (A and C), (B and C), or (A, B, and C). Although some elements may be referred to in the singular (e.g., “a processing device”), any appropriate elements may be represented by multiple instances of that element, and vice versa. For example, a set of operations described as performed by a processing device may be implemented with different ones of the operations performed by different processing devices.
The description uses the phrases “an embodiment,” “various embodiments,” and “some embodiments,” each of which may refer to one or more of the same or different embodiments. Furthermore, the terms “comprising,” “including,” “having,” and the like, as used with respect to embodiments of the present disclosure, are synonymous. When used to describe a range of dimensions, the phrase “between X and Y” represents a range that includes X and Y. As used herein, an “apparatus” may refer to any individual device, collection of devices, part of a device, or collections of parts of devices. The drawings are not necessarily to scale.
The support system 100 includes a database 116, a server 124, and a user device 128 communicatively coupled with the plurality of instrument computing devices 104 (and with each other) through the communication network 120. It should be understood that the support system 100 may include fewer or additional components than those illustrated in
The server 124 may serve as a “control hub” for the plurality of instrument computing devices 104. For example, the server 124 may track the status of each instrument computing device 104 to track the availability of and experiments being conducted on the scientific instruments 108. The server 124 may communicate with each of the instrument computing devices 104 by sending commands to the instrument computing devices 104 to write experiment data to data structure ledgers as further described below or may be responsible for writing experiment data output by a particular instrument to the data structure ledgers as further described below. For example, the server 124 may implement a server-based platform (e.g., the Ardia™ Platform from Thermo Fisher Scientific), which may be implemented as a cloud-based platform or using a private server. The server 124 may detect and register instrument computing devices 104 and may collect and regulate information output by the instrument computing devices 104. The server-based platform helps ensure sample information and experiment data is stored and accessible by laboratory equipment and devices. The server 124 may act as the control hub or facilitating hub (e.g., for centralized ledger examples) for the overall platform to facilitate an audit trail for samples and to ensure result data from experiments is written to and correlated with any necessary sample information (e.g., sample identifier), project information (e.g., project identifier), user information (e.g., user identifier), instrument information (e.g., instrument identifier), or the like to create an audit trail for samples.
The scientific instrument support module 200 may include a ledger logic 202, a block logic 204, and a report logic 206. As used herein, the term “logic” may include an apparatus that is to perform a set of operations associated with the logic. For example, any of the logic elements included in the support module 200 may be implemented by one or more computing devices programmed with instructions to cause one or more processing devices of the computing devices to perform the associated set of operations. In a particular embodiment, a logic element may include one or more non-transitory computer-readable media having instructions thereon that, when executed by one or more processing devices of one or more computing devices, cause the one or more computing devices to perform the associated set of operations. As used herein, the term “module” may refer to a collection of one or more logic elements that, together, perform a function associated with the module. Different ones of the logic elements in a module may take the same form or may take different forms. For example, some logic in a module may be implemented by a programmed general-purpose processing device, while other logic in a module may be implemented by an application-specific integrated circuit (ASIC). In another example, different ones of the logic elements in a module may be associated with different sets of instructions executed by one or more processing devices. A module may not include all of the logic elements depicted in the associated drawing; for example, a module may include a subset of the logic elements depicted in the associated drawing when that module is to perform a subset of the operations discussed herein with reference to that module.
The ledger logic 202 may create a data structure ledger for each sample received by a laboratory or for each project (including multiple samples) conducted by the laboratory. In one example, the data structure ledger may be a blockchain ledger, for example, a distributed blockchain ledger (peer-to-peer, federated, public, public, permissioned, permissionless, etc.) or a centralized blockchain ledger. In other examples, the data structure ledger may be distributed or centralized and may be based on various ledger technologies and infrastructures, not limited to blockchain, such as, for example, IOTA, cache graphs, directed acyclic graphs (DAG), distributed hash tables, Merkle trees, an Adelson-Velsky and Landis (AVL) tree, a B-tree, stacks, queues, a hybrid combination of different data structures and infrastructures, or the like. In some examples, the data structure ledger may be a relational table, a hash table, a linked list, and/or the like. The ledger logic 202 may automatically generate a unique sample identifier for each sample being tracked. The ledger logic 202 receives sample information relating to the sample and correlates the sample information with the sample identifier or other identifier, for example, using a data structure object.
The block logic 204 may generate an experiment block in the data structure ledger including experiment data relating to the sample. The block logic 204 may receive experiment data corresponding to an experiment performed on the sample by a scientific instrument 108. The block logic 204 generates an experiment data block that includes a reference to the data structure ledger or a node or block within the data structure ledger. For example, the experiment ledger block may include a hash with a reference to a previous block in the data structure ledger for the block. An experiment block is, for example, an entry in the data structure ledger and need not be in the form of a block of a block chain. The experiment block may include for example, a table entry, a pointer data structure entry, and/or the like. The experiment block may be created using a block object that may be similar to the data structure object discussed above.
The report logic 206 may generate a report from the data structure logic based on a query from a user. The query may include a request for data associated with one or more experiments performed on a sample. The report logic 206 retrieves the relevant data from the data structure ledger and automatically generates a report based on the data.
The scientific instrument support methods disclosed herein may include interactions with a human user (e.g., via the user local computing device 520 discussed herein with reference to
The GUI 300 may include a data display region 302, a data analysis region 304, a scientific instrument control region 306, and a settings region 308. The particular number and arrangement of regions depicted in
The data display region 302 may display data generated by a scientific instrument (e.g., the scientific instrument 510 discussed herein with reference to
The data analysis region 304 may display the results of data analysis (e.g., the results of analyzing the data illustrated in the data display region 302 and/or other data). For example, the data analysis region 304 may display a report generated based on the data structure ledger of the sample. In some embodiments, the data display region 302 and the data analysis region 304 may be combined in the GUI 300 (e.g., to include data output from a scientific instrument, and some analysis of the data, in a common graph or region).
The scientific instrument control region 306 may include options that allow the user to control a scientific instrument (e.g., the scientific instrument 510 discussed herein with reference to
The settings region 308 may include options that allow the user to control the features and functions of the GUI 300 (and/or other GUIs) and/or perform common computing operations with respect to the data display region 302 and data analysis region 304 (e.g., saving data on a storage device, such as the storage device 404 discussed herein with reference to
As noted above, the scientific instrument support module 200 may be implemented by one or more computing devices.
The computing device 400 of
The computing device 400 may include a processing device 402 (e.g., one or more processing devices). As used herein, the term “processing device” may refer to any device or portion of a device that processes electronic data from registers and/or memory to transform that electronic data into other electronic data that may be stored in registers and/or memory. The processing device 402 (i.e., electronic processing device or electronic processor) may include one or more digital signal processors (DSPs), application-specific integrated circuits (ASICs), central processing units (CPUs), graphics processing units (GPUs), cryptoprocessors (specialized processors that execute cryptographic algorithms within hardware), server processors, or any other suitable processing devices.
The computing device 400 may include a storage device 404 (e.g., one or more storage devices). The storage device 404 may include one or more memory devices such as random access memory (RAM) (e.g., static RAM (SRAM) devices, magnetic RAM (MRAM) devices, dynamic RAM (DRAM) devices, resistive RAM (RRAM) devices, or conductive-bridging RAM (CBRAM) devices), hard drive-based memory devices, solid-state memory devices, networked drives, cloud drives, or any combination of memory devices. In some embodiments, the storage device 404 may include memory that shares a die with a processing device 402. In such an embodiment, the memory may be used as cache memory and may include embedded dynamic random access memory (eDRAM) or spin transfer torque magnetic random access memory (STT-MRAM), for example. In some embodiments, the storage device 404 may include non-transitory computer readable media having instructions thereon that, when executed by one or more processing devices (e.g., the processing device 402), cause the computing device 400 to perform any appropriate ones of or portions of the methods disclosed herein.
The computing device 400 may include an interface device 406 (e.g., one or more interface devices 406). The interface device 406 may include one or more communication chips, connectors, and/or other hardware and software to govern communications between the computing device 400 and other computing devices. For example, the interface device 406 may include circuitry for managing wireless communications for the transfer of data to and from the computing device 400. The term “wireless” and its derivatives may be used to describe circuits, devices, systems, methods, techniques, communications channels, etc., that may communicate data through the use of modulated electromagnetic radiation through a nonsolid medium. The term does not imply that the associated devices do not contain any wires, although in some embodiments they might not. Circuitry included in the interface device 406 for managing wireless communications may implement any of a number of wireless standards or protocols, including but not limited to Institute for Electrical and Electronic Engineers (IEEE) standards including Wi-Fi (IEEE 802.11 family), IEEE 802.16 standards (e.g., IEEE 802.16-2005 Amendment), Long-Term Evolution (LTE) project along with any amendments, updates, and/or revisions (e.g., advanced LTE project, ultra mobile broadband (UMB) project (also referred to as “3GPP2”), etc.). In some embodiments, circuitry included in the interface device 4006 for managing wireless communications may operate in accordance with a Global System for Mobile Communication (GSM), General Packet Radio Service (GPRS), Universal Mobile Telecommunications System (UMTS), High Speed Packet Access (HSPA), Evolved HSPA (E-HSPA), or LTE network. In some embodiments, circuitry included in the interface device 4006 for managing wireless communications may operate in accordance with Enhanced Data for GSM Evolution (EDGE), GSM EDGE Radio Access Network (GERAN), Universal Terrestrial Radio Access Network (UTRAN), or Evolved UTRAN (E-UTRAN). In some embodiments, circuitry included in the interface device 406 for managing wireless communications may operate in accordance with Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Digital Enhanced Cordless Telecommunications (DECT), Evolution-Data Optimized (EV-DO), and derivatives thereof, as well as any other wireless protocols that are designated as 3G, 4G, 5G, and beyond. In some embodiments, the interface device 406 may include one or more antennas (e.g., one or more antenna arrays) to receipt and/or transmission of wireless communications.
In some embodiments, the interface device 406 may include circuitry for managing wired communications, such as electrical, optical, or any other suitable communication protocols. For example, the interface device 406 may include circuitry to support communications in accordance with Ethernet technologies. In some embodiments, the interface device 406 may support both wireless and wired communication, and/or may support multiple wired communication protocols and/or multiple wireless communication protocols. For example, a first set of circuitry of the interface device 406 may be dedicated to shorter-range wireless communications such as Wi-Fi or Bluetooth, and a second set of circuitry of the interface device 406 may be dedicated to longer-range wireless communications such as global positioning system (GPS), EDGE, GPRS, CDMA, WiMAX, LTE, EV-DO, or others. In some embodiments, a first set of circuitry of the interface device 406 may be dedicated to wireless communications, and a second set of circuitry of the interface device 406 may be dedicated to wired communications.
The computing device 400 may include battery/power circuitry 408. The battery/power circuitry 408 may include one or more energy storage devices (e.g., batteries or capacitors) and/or circuitry for coupling components of the computing device 400 to an energy source separate from the computing device 400 (e.g., AC line power).
The computing device 400 may include a display device 410 (e.g., multiple display devices). The display device 410 may include any visual indicators, such as a heads-up display, a computer monitor, a projector, a touchscreen display, a liquid crystal display (LCD), a light-emitting diode display, or a flat panel display.
The computing device 400 may include other input/output (I/O) devices 412. The other I/O devices 412 may include one or more audio output devices (e.g., speakers, headsets, earbuds, alarms, etc.), one or more audio input devices (e.g., microphones or microphone arrays), location devices (e.g., GPS devices in communication with a satellite-based system to receive a location of the computing device 400, as known in the art), audio codecs, video codecs, printers, sensors (e.g., thermocouples or other temperature sensors, humidity sensors, pressure sensors, vibration sensors, accelerometers, gyroscopes, etc.), image capture devices such as cameras, keyboards, cursor control devices such as a mouse, a stylus, a trackball, or a touchpad, bar code readers, Quick Response (QR) code readers, or radio frequency identification (RFID) readers, for example.
The computing device 400 may have any suitable form factor for its application and setting, such as a handheld or mobile computing device (e.g., a cell phone, a smart phone, a mobile internet device, a tablet computer, a laptop computer, a netbook computer, an ultrabook computer, a personal digital assistant (PDA), an ultra mobile personal computer, etc.), a desktop computing device, or a server computing device or other networked computing component.
One or more computing devices implementing any of the scientific instrument support modules or methods disclosed herein may be part of a scientific instrument support system.
Any of the scientific instrument 510, the user local computing device 520, the service local computing device 530, or the remote computing device 540 may include any of the embodiments of the computing device 400 discussed herein with reference to
The scientific instrument 510, the user local computing device 520, the service local computing device 530, or the remote computing device 540 may each include a processing device 502, a storage device 504, and an interface device 506. The processing device 502 may take any suitable form, including the form of any of the processing devices 402 discussed herein with reference to
The scientific instrument 510, the user local computing device 520, the service local computing device 530, and the remote computing device 540 may be in communication with other elements of the scientific instrument support system 500 via communication pathways 508. The communication pathways 508 may communicatively couple the interface devices 506 of different ones of the elements of the scientific instrument support system 500, as shown, and may be wired or wireless communication pathways (e.g., in accordance with any of the communication techniques discussed herein with reference to the interface devices 406 of the computing device 400 of
The scientific instrument 510 may include any appropriate scientific instrument, such as a liquid chromatography instruments, gas chromatography instruments, ion chromatography instruments, mass spectrometry instruments, trace elemental instruments (e.g., inductively coupled plasma mass spectrometry, inductively coupled plasma optical emission spectroscopy, atomic absorption, etc.), capillary electrophoresis instruments, spectroscopy instruments, and the like.
The user local computing device 520 may be a computing device (e.g., in accordance with any of the embodiments of the computing device 400 discussed herein) that is local to a user of the scientific instrument 510. In some embodiments, the user local computing device 520 may also be local to the scientific instrument 510, but this need not be the case; for example, a user local computing device 520 that is in a user's home or office may be remote from, but in communication with, the scientific instrument 510 so that the user may use the user local computing device 520 to control and/or access data from the scientific instrument 510. In some embodiments, the user local computing device 520 may be a laptop, smartphone, or tablet device. In some embodiments the user local computing device 520 may be a portable computing device. In some embodiments, the user local computing device 520 may be used for sample creation including receiving sample information for a sample to be analyzed by the laboratory.
The service local computing device 530 may be a computing device (e.g., in accordance with any of the embodiments of the computing device 400 discussed herein) that is local to an entity that services the scientific instrument 510. For example, the service local computing device 530 may be local to a manufacturer of the scientific instrument 510 or to a third-party service company. In some embodiments, the service local computing device 530 may communicate with the scientific instrument 510, the user local computing device 520, and/or the remote computing device 540 (e.g., via a direct communication pathway 508 or via multiple “indirect” communication pathways 508, as discussed above) to receive data regarding the operation of the scientific instrument 510, the user local computing device 520, and/or the remote computing device 540 (e.g., the results of self-tests of the scientific instrument 510, calibration coefficients used by the scientific instrument 510, the measurements of sensors associated with the scientific instrument 510, etc.). In some embodiments, the service local computing device 530 may communicate with the scientific instrument 510, the user local computing device 520, and/or the remote computing device 540 (e.g., via a direct communication pathway 508 or via multiple “indirect” communication pathways 508, as discussed above) to transmit data to the scientific instrument 510, the user local computing device 520, and/or the remote computing device 540 (e.g., to update programmed instructions, such as firmware, in the scientific instrument 510, to initiate the performance of test or calibration sequences in the scientific instrument 510, to update programmed instructions, such as software, in the user local computing device 520 or the remote computing device 540, etc.). A user of the scientific instrument 510 may utilize the scientific instrument 510 or the user local computing device 520 to communicate with the service local computing device 530 to report a problem with the scientific instrument 510 or the user local computing device 520, to request a visit from a technician to improve the operation of the scientific instrument 510, to order consumables or replacement parts associated with the scientific instrument 510, or for other purposes. The service local computing device 530 may generate the data structure ledger and generate reports based on the data retrieved from the data structure ledger.
The remote computing device 540 may be a computing device (e.g., in accordance with any of the embodiments of the computing device 400 discussed herein) that is remote from the scientific instrument 510 and/or from the user local computing device 520. In some embodiments, the remote computing device 540 may be included in a datacenter or other large-scale server environment. In some embodiments, the remote computing device 540 may include network-attached storage (e.g., as part of the storage device 504). The remote computing device 5040 may store data generated by the scientific instrument 510, perform analyses of the data generated by the scientific instrument 510 (e.g., in accordance with programmed instructions), facilitate communication between the user local computing device 520 and the scientific instrument 510, and/or facilitate communication between the service local computing device 530 and the scientific instrument 510. The remote computing device 540 may be used to query the data structure ledger and to generate reports based on the data retrieved from the data structure ledger.
In some embodiments, one or more of the elements of the scientific instrument support system 500 illustrated in
In some embodiments, different ones of the scientific instruments 510 included in a scientific instrument support system 500 may be different types of scientific instruments 510; for example, one scientific instrument 510 may be a chromatography instrument, while another scientific instrument 510 may be a spectrometry instrument. In some such embodiments, the remote computing device 540 and/or the user local computing device 520 may combine data from different types of scientific instruments 510 included in a scientific instrument support system 500.
At 602, the method 600 includes automatically generating a sample identifier for a sample. A sample is a substance received at a laboratory for chemical and/or biological analysis. For example, a soil sample may be received for analysis to detect the presence or amount of a nutrient or chemical, a wine sample may be received for analysis to detect the presence or amount of a chemical, or the like. The ledger logic 202 may generate one or more graphical user interfaces (GUIs) to facilitate creation of a sample record and for collecting information relating to the sample (e.g., when the sample was collected, where the sample was collected from, how the sample was collected, etc.). Examples of sample creation GUIs generated by the ledger logic 202 are illustrated in
In response to receiving a selection of the open icon 708, the ledger logic 202 generates a sample creation GUI 712 (shown in
As shown in
At 604, the method 600 includes receiving sample information for the sample. As shown in
At 606, the method 600 includes generating a data structure ledger for the sample. Generating the data structure leger for the sample may include generating the data structure ledger for a project including the sample. The project may include additional samples. The data structure ledger includes an initial ledger block (e.g., initial ledger entry) with the sample identifier and the sample information. The ledger logic 202 generates the data structure ledger with the initial ledger block as, for example, a genesis block of the data structure ledger. In one example, the data structure ledger is a centralized ledger such that the data structure ledger for the sample may be stored in the database 116. In other example, the data structure ledger is a distributed ledger such that each instrument computing device 104, the database 116, the server 124, and/or the user device 128 may each store a copy of the data structure ledger. In one example, the sample identifier may be used as the index to retrieve the data structure ledger from the database 116. In other example, a different index, for example, a hash of the initial block, a hash of the sample identifier, or the like may be used as the index to retrieve the data structure ledger from the database 116. In one example, the genesis block is generated by the ledger logic 202 using a data structure object. The data structure object may include a sample identifier field and a sample information field such that the sample identifier is correlated with the sample information in the genesis block. The genesis block is an instance of the data structure object for a particular sample.
At 608, the method 600 includes receiving, from a scientific instrument 510, experiment data relating to the sample, such as, for example, in real-time performance of an analytical workflow on the sample by the scientific instrument and/or in response to completion of an analytical workflow on the sample by the scientific instrument. The experiment data may include the sample identifier. The analytical workflow performed on the sample by the scientific instrument may include, for example, preparation of the sample for an experiment (e.g., dissolving the sample in a solution, injection of the solution into another scientific instrument, and/or the like), completion of an analysis or experiment on the sample, or the like. The experiment data may be received by the block logic 204. The experiment data includes information relating to the analytical workflow, for example, the analytical method carried out, the instrument used, the identity of the user performing the experiment (for example, one or more user identifiers), the location of the experiment, the time of the experiment, one or more project identifiers, a result of an experiment, an identifier of a scientific instrument, an identifier of an experiment performed on the sample, and/or the like.
At 610, the method 600 includes generating an experiment ledger block in the data structure ledger. The experiment ledger block includes at least some of the received experiment data and/or data generated based on the same. The block logic 204 generates the experiment ledger block using, for example, a block object. The block object may be similar to the data structure object described above and may include a sample identifier field and an experiment data field such that the sample identifier and other identifiers (e.g., project, user, instrument, or the like) are correlated with the experiment data in the experiment ledger block. The experiment ledger block is an instance of the block object. In some examples, the experiment ledger block may be similar to the initial ledger block with the sample information replaced with the experiment data. In some examples, a newly created experiment ledger block may include a pointer to the initial ledger block if no experiment ledger block was previously created or to a last-in experiment ledger block if one or more experiment ledger blocks were previously created. The experiment ledger blocks are therefore added to an end of blockchain, a linked list, or the like. In some examples, a newly created experiment ledger block may include a pointer to the initial ledger block regardless of whether a previous experiment ledger block is created. In other examples, a different pointer structure may be used in the experiment ledger block to create different forms of data structures. In some examples, the method 600 receives experiment data relating to the sample from a plurality of scientific instruments. The generated data structure ledger for the sample includes the experiment data linked to the sample identifier and the sample information. In at least one instance, the data structure ledger comprises a blockchain structure.
In some examples, a separate data structure ledger is created for each sample as described above. In other examples, all sample data is stored in a single data structure ledger. In these examples, the genesis block may be unique to a laboratory (or an organization running several laboratories) or a project. Information for each sample including the sample information and the experiment data may be included in data structure blocks or entries of the data structure ledger for the laboratory. As discussed above, the data structure ledger may be a centralized ledger, for example, stored in the database 116. In this example, the centralized ledger is accessed from the database 116 by each requesting computing entity (i.e., the server 124, the user device 128, the instrument computing devices 104, etc.) and edited or queried accordingly. In other examples, the data structure ledger may be a decentralized ledger such that a copy of the data structure ledger for each sample is stored in each (or one or more) of the instrument computing devices 104, the database 116, the server 124, and the user device 128. Each computing entity edits a locally stored copy of the data structure ledger to add a corresponding block (or entry) for a sample. All the copies of the data structure ledger may be reconciled at regular intervals or on a transaction basis. Each block of the data structure ledger may be encrypted using, for example, cryptographic hash functions and digital signatures. Additionally, each block of the data structure ledger is immutable such that once created, the block may not be altered. A decentralized ledger provided additional advantages of being secure and providing additional audit and control capabilities compared to other types of data structures as the ledger block are immutable. In some examples, the data is only changeable by a ‘privileged user.’ A privileged user may be a laboratory administrator or other user that has special privileges to correct stored records in the laboratory. The correction performed by the privileged user may also be recorded to provide a secure audit trail. The data structure ledger can be exported to other systems, for example, LIMS, an external data management system, or the like.
At 612, the method 600 includes receiving a request for a report corresponding to the sample. The request for the report may be received by the report logic 206 via a graphical user interface for querying the database 116. The request may be in the form of, for example, a structured query language (SQL) query, a NoSQL query, or the like. In some examples, the request for the report may be received from a smartphone application running on a mobile telephone (for example, the user device 128). In some embodiments, a report may be requested based on other criteria. For example, the a request (e.g., a second request) may be received corresponding to a scientific instrument, an experiment, a user, a laboratory, a group of instruments, a group of users, or the like.
At 614, the method 600 includes querying the data structure ledger to receive ledger data corresponding to the request. The report logic 206 queries the database 116 based on the request for the report to retrieve ledger data corresponding to the request. The ledger data includes the relevant data from the data structure ledger for generating the requested report. The query may specify one or more sample identifiers to retrieve ledger data corresponding to the one or more sample identifiers. In some examples, the query may be directed to a plurality of data structure ledgers associated with a plurality of samples. The report logic 206 may parse data from the plurality of data structure ledgers with data corresponding to the queried criteria (e.g., a scientific instrument, an experiment, or the like). For example, the data may be parsed based on a plurality of the blocks including the identifier of the criteria (e.g., an identifier of the scientific instrument, an identifier of an experiment, or the like).
At 616, the method 600 includes generating the report based on the ledger data received in response to the query. The report logic 206 generates the report, for example, a pre-defined template. The report may be generated based on the data for the project including multiple samples. The report may also be generated for each sample separately or for each experiment separately. Since the experiment data is correlated to the identifiers, reports may be easily generated by using any of the identifiers (e.g., sample identifier, project identifier, user identifier, instrument identifier, or the like).
The following paragraphs provide various examples of the embodiments disclosed herein.
Example 1 is a method including generating, with an processing device, a sample identifier for a sample, receiving, with the processing device, sample information for the sample, and receiving, with the processing device from a plurality of scientific instruments, experiment data relating to the sample and generating, with the processing device, a data structure ledger for the sample including the experiment data linked to the sample identifier and the sample information. The method also includes receiving a request for a report corresponding to the sample, querying the data structure ledger to receive ledger data corresponding to the request, and generating the report based on the ledger data received in response to the query.
Example 2 may include the subject matter of Example 1, and may further specify that the data structure ledger is a distributed ledger using a blockchain structure.
Example 3 may include the subject matter of Example 1 or 2, and may further specify that the sample information includes one or more selected from a group consisting of: a time the sample was taken, a date the sample was taken, weather at a time and location where the sample was taken, coordinates of the location where the sample was taken, a sampling technique used to retrieve the sample, and an image of the sample.
Example 4 may include the subject matter of Example 1-3, and may further specify that the experiment data includes one or more selected from a group consisting of: a weight of the sample, one or more user identifiers, one or more project identifiers, a result of an experiment, an identifier of a scientific instrument, an identifier of an experiment performed on the sample.
Example 5 may include the subject matter of Example 1-4, and may further specify that the report is generated on a smartphone application.
Example 6 may include the subject matter of Example 1-5, and may further specify that the method includes generating a barcode including the sample identifier and providing the barcode to a label printer. A label including the barcode is printed for use with the sample using the label printer.
Example 7 may include the subject matter of Example 1-6, and may further specify that the method includes receiving sample data corresponding to a change in the sample after generation of the data structure ledger and appending a timestamped sample data block to the data structure ledger in response to receiving the sample data.
Example 8 is a scientific instrument support system including one or a set of processing devices configured to generate a sample identifier for a sample, receive sample information for the sample, and generate a data structure ledger for the sample. The data structure ledger includes an initial ledger block with the sample identifier and the sample information. The one or a set of processing devices is also configured to generate an experiment ledger block in the data structure ledger. The experiment ledger block includes experiment data received from a scientific instrument. The one or a set of processing devices is further configured to receive a request for a report corresponding to the sample, query the data structure ledger to receive ledger data corresponding to the request, and generate the report based on the ledger data received in response to the query.
Example 9 may include the subject matter of Example 8, and may further specify that the data structure ledger is a distributed ledger using a blockchain structure.
Example 10 may include the subject matter of Example 8 or 9, and may further specify that the sample information includes one or more selected from a group consisting of: a time the sample was taken, a date the sample was taken, weather at a time and location where the sample was taken, coordinates of the location where the sample was taken, a sampling technique used to retrieve the sample, and an image of the sample.
Example 11 may include the subject matter of Example 8-10, and may further specify that the experiment data includes one or more selected from a group consisting of: a weight of the sample, one or more user identifiers, one or more project identifiers, a result of an experiment, an identifier of a scientific instrument, an identifier of an experiment performed on the sample.
Example 12 may include the subject matter of Example 8-11, and may further specify that the report is generated on a smartphone application.
Example 13 may include the subject matter of Example 8-12, and may further specify that the one or set of processing devices is configured to generate a barcode including the sample identifier and provide the barcode to a label printer. A label including the barcode is printed for use with the sample using the label printer.
Example 14 may include the subject matter of Example 8-13 and may further specify that the one or set of processing devices is further configured to receive a second request for a second report corresponding to the scientific instrument and query a plurality of data structure ledgers corresponding to a plurality of samples to receive second ledger data corresponding to the scientific instrument. The second ledger data includes data from a plurality of blocks of the plurality of data structure ledgers that include an identifier of the scientific instrument. The one or set of processing devices is further configured to generate the second report based on the second ledger data received in response to the query.
Example 15 is a scientific instrument support apparatus including a first logic to generate a sample identifier for a sample, second logic to receive sample information for the sample, and third logic to generate a data structure ledger for the sample. The data structure ledger includes an initial ledger block with the sample identifier and the sample information. The scientific instrument support apparatus also includes fourth logic to generate timestamped experiment ledger blocks in the data structure ledger. The experiment ledger blocks including experiment data received from a plurality of scientific instruments. The scientific instrument support apparatus further includes fifth logic to receive a request for a report corresponding to the sample, sixth logic to query the data structure ledger to receive ledger data corresponding to the request, and seventh logic to generate the report based on the ledger data received in response to the query.
Example 16 may include the subject matter of Example 15, and may further specify that the data structure ledger is a distributed ledger using a blockchain structure.
Example 17 may include the subject matter of Example 15 or 16, and may further specify that the sample information includes one or more selected from a group consisting of: a time the sample was taken, a date the sample was taken, weather at a time and location where the sample was taken, coordinates of the location where the sample was taken, a sampling technique used to retrieve the sample, and an image of the sample.
Example 18 may include the subject matter of Example 15-17, and may further specify that the experiment data includes one or more selected from a group consisting of: a weight of the sample, one or more user identifiers, one or more project identifiers, a result of an experiment, an identifier of a scientific instrument, an identifier of an experiment performed on the sample.
Example 19 may include the subject matter of Example 15-18, and may further specify that the report is generated on a smartphone application.
Example 20 may include the subject matter of Example 15-19, and may further specify that the one or set of processing devices is configured to generate a barcode including the sample identifier and provide the barcode to a label printer. A label including the barcode is printed for use with the sample using the label printer.
This application claims priority to co-pending U.S. Provisional Patent Application No. 63/629,956, filed Sep. 25, 2023, the entire contents of which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
63629956 | Sep 2023 | US |