Method and system for clinical data exchange framework - Patents.com
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- KONINKLIJKE PHILIPS NV
- Filing Date
- 2023-04-11
- Publication Date
- 2026-04-20
AI Technical Summary
The prior art is difficult to achieve efficient and economical interoperability exchange of clinical data between different electronic health record systems, resulting in high development and maintenance costs and excessive software complexity.
A clinical data access system is designed, which can communicate with multiple remote clinical data databases, and through linking information and data model template registry, identifying and using different access protocols for each database, to realize cross-system clinical data exchange.
Efficient and economical clinical data exchange across different electronic health record systems is achieved, reducing development and maintenance costs, simplifying software design, and improving system interoperability.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] FIELD OF THE DISCLOSURE
[0001] The present disclosure is directed generally to methods and systems for accessing and exchanging clinical data using a clinical data access system. [Background technology]
[0002]
[0002] Electronic clinical data in healthcare is becoming commonplace. As a result, most clinical information is digitized in electronic health record systems. However, there is no single standardized format for health records, and many different types and formats of electronic health record systems exist. For example, many electronic health record systems use the Fast Healthcare Interoperability Resources (FHIR) format created by the Health Level 7 (HL7) healthcare standards organization for storing and communicating medical data. FHIR is a standard that describes the data formats and elements (i.e., resources) and APIs for exchanging electronic health records. However, there are many other common formats for organizing, storing, and exchanging clinical data, such as the Clinical Document Architecture (C-CDA).
[0003]
[0003] There are many existing healthcare information technology (IT) standards and vendor-specific solutions that aim to facilitate the exchange of clinical data between heterogeneous systems. However, these standards and proprietary solutions are generally not interoperable. In order for healthcare applications to be able to interact with heterogeneous systems that support different protocols, such as HL7 and FHIR, software modules for handling data exchange must be reimplemented for each protocol, resulting in unnecessarily complex software solutions with high development and maintenance costs. Summary of the Invention [Problem to be solved by the invention]
[0004]
[0004] Thus, there is a continuing need in the art for methods and systems that enable efficient and affordable exchange of clinical data between disparate electronic health record systems. [Means for solving the problem]
[0005]
[0005] The present disclosure is directed to an inventive method and system for accessing clinical data using a clinical data access system. The clinical data access system communicates with a plurality of remote clinical data databases. The plurality of remote clinical data databases include two or more different access protocols, thus necessitating exchange of clinical data between disparate electronic health record systems. The clinical data access system further includes linkage information. The linkage information includes (i) information, such as location and access protocol, for each of the one or more remote clinical data databases associated with each of the one or more subjects, and (ii) identifiers of the one or more subjects used for searching in the one or more remote clinical data databases. The system also includes a data modeling template registry including a plurality of data modeling templates of the clinical data access system used to access each of the plurality of remote clinical data databases. The data modeling templates include at least an identification of an access protocol of each remote clinical data database and a format of clinical data stored in each remote clinical data database. The clinical data access system receives a request to access clinical data of one or more subjects via a user interface of the clinical data access system. The requested clinical data is stored in one or more of the remote clinical data databases. The clinical data access system retrieves the linkage information. It also identifies one or more of a plurality of remote clinical data databases that contain the requested clinical data. The system retrieves, via a data modeling template registry, one or more data modeling templates that specify protocol-specific data fields to retrieve from the one or more remote clinical data databases. Once the remote clinical data databases are identified, the clinical data access system instantiates a protocol-specific network socket for the identified remote clinical data database using the identified linkage information.The clinical data access system becomes capable of retrieving clinical data for one or more subjects from a remote clinical data database via an instantiated protocol-specific network socket. The system applies any necessary data transformations to the retrieved clinical data. The system can then provide the retrieved clinical data for one or more subjects upon user request via any mechanism for sharing or providing clinical data.
[0006] In general, in one aspect, a method is provided for accessing clinical data using a clinical data access system. The clinical data access system is in communication with a plurality of remote clinical data databases. The plurality of remote clinical data databases includes two or more different access protocols. The method includes the steps of (i) receiving, via a user interface of the clinical data access system or a client application, a request to access clinical data for one or more subjects, the clinical data being stored in one or more of the remote clinical data databases; (ii) obtaining, via a linkage information registry or a client application, linkage information for the one or more subjects, the linkage information including (1) information, such as location and access protocol, for each of the one or more remote clinical data databases associated with each of the one or more subjects, and (2) identifiers for the one or more subjects used for searching in the one or more remote clinical data databases; and (iii) receiving a template or template from the user interface or the remote client application. The method includes obtaining, via a data modeling template registry using a template group identifier or directly via a remote client application, one or more data modeling templates that specify protocol-specific data fields to be retrieved from the one or more remote clinical data databases; (iv) instantiating a protocol-specific network socket for the identified one of the multiple remote clinical data databases using linkage information that specifies the one or more remote clinical data databases associated with the one or more subjects; (v) retrieving clinical data for the one or more subjects from the identified one of the multiple remote clinical data databases via the instantiated protocol-specific network socket; and (vi) providing the retrieved clinical data for the one or more subjects.
[0007]
[0007] According to an embodiment, the method further includes applying data pre-processing, such as data transformation and semantic translation, to the retrieved clinical data via data handlers and orchestrators of the clinical data access system using information from one or more data modeling templates, and packaging the retrieved clinical data into a desired output data structure.
[0008]
[0008] According to an embodiment, the method further includes the steps of instantiating a second protocol-specific network socket for the identified second remote clinical data database of the multiple remote clinical data databases using linkage information of the identified second remote clinical data database of the multiple remote clinical data databases, retrieving clinical data for one or more subjects from the identified second remote clinical data database of the multiple remote clinical data databases via the instantiated second protocol-specific network socket, and merging and packaging the clinical data retrieved from the identified remote clinical data database of the multiple remote clinical data databases and the clinical data retrieved from the identified second remote clinical data database of the multiple remote clinical data databases.
[0009]
[0009] According to an embodiment, via a user interface or client application, a user browses and selects linkage information to access one or more of a plurality of remote clinical data databases containing clinical data for one or more subjects.
[0010]
[0010] According to an embodiment, the method further includes a step of defining or modifying linkage information via a user interface or via a definition or modification tool to add new clinical data database linkage information or update existing clinical data database linkage information, the linkage information including at least (i) information such as location and access protocol for each of the one or more remote clinical data databases associated with each of the one or more subjects, and (ii) identifiers of the one or more subjects used for searching in the one or more remote clinical data databases.
[0011] According to an embodiment, the method further includes defining or modifying a data modeling template of the clinical data access system via a definition or modification tool or via a user interface. According to an embodiment, defining a data modeling template of the clinical data access system includes identifying one or more protocol-specific data fields to be retrieved or updated, specifying data pre-processing to be applied to the retrieved data, and specifying how the retrieved data fields are organized and packaged in an output data structure, as well as the data formatting language to be used.
[0012]
[0012] According to an embodiment, the instantiated protocol-specific network socket generates a request to query or update clinical data in an identified remote clinical data database among the multiple remote clinical data databases, and the instantiated protocol-specific network socket parses a response received to the query using the messaging format of the specified access protocol.
[0013] According to an embodiment, the linkage information further includes access and / or authentication credentials or encryption / decryption keys for one or more of the multiple remote clinical data databases.
[0014]
[0014] According to an embodiment, the system further includes a gateway service that handles dynamic data update requests by listening for and receiving event-triggered push messages from a remote clinical data database, processing the received data using data sockets and data handlers, storing the updates locally, and sending them to client applications periodically or on demand.
[0015]
[0015] According to another embodiment, a system for accessing clinical data is provided. The clinical data access system is in communication with a plurality of remote clinical data databases, the plurality of remote clinical data databases including two or more different access protocols, and further including stored clinical data for one or more subjects. The system includes a user interface and a processor. The processor (i) receives, via a user interface system or a client application, a request to access clinical data for one or more subjects, the clinical data being stored in one or more of the plurality of remote clinical data databases; (ii) retrieves, via a linkage information registry or a client application, linkage information for the one or more subjects, the linkage information including (1) information, such as location and access protocol, for each of the one or more remote clinical data databases associated with each of the one or more subjects, and (2) one or more subject identifiers used for searching in the one or more remote clinical data databases; and (iii) retrieves a template or a linkage information from the user interface or the remote client application. (iv) obtaining, via a data modeling template registry using the template group identifier or directly via a remote client application, one or more data modeling templates that specify protocol-specific data fields to be retrieved from the one or more remote clinical data databases; (v) instantiating a protocol-specific network socket for the identified one of the multiple remote clinical data databases using linkage information that specifies the one or more remote clinical data databases associated with the one or more subjects; (v) retrieving clinical data for the one or more subjects from the identified one of the multiple remote clinical data databases via the instantiated protocol-specific network socket; and (vi) providing the retrieved clinical data for the one or more subjects.
[0016]
[0016] According to an embodiment, the processor further performs the following steps: instantiate a second protocol-specific network socket for the identified second remote clinical data database of the plurality of remote clinical data databases using the linkage information of the identified second remote clinical data database of the plurality of remote clinical data databases; retrieve clinical data for one or more subjects from the identified second remote clinical data database of the plurality of remote clinical data databases via the instantiated second protocol-specific network socket; and merge and package the clinical data retrieved from the identified remote clinical data database of the plurality of remote clinical data databases and the clinical data retrieved from the identified second remote clinical data database of the plurality of remote clinical data databases.
[0017]
[0017] According to an embodiment, via a user interface or client application, a user browses and selects linkage information to access one or more of a plurality of remote clinical data databases containing clinical data for one or more subjects.
[0018]
[0018] According to an embodiment, the processor generates a request to query or update clinical data in an identified remote clinical data database among the multiple remote clinical data databases using the instantiated protocol-specific network socket, and parses a response received to the query using the messaging format of the specified access protocol.
[0019] According to an embodiment, the linkage information further includes access and / or authentication credentials or encryption / decryption keys for one or more of the multiple remote clinical data databases.
[0020]
[0020] It should be understood that all combinations of the above concepts and the additional concepts described below (where these concepts are not mutually inconsistent) are considered part of the inventive subject matter disclosed herein. In particular, all combinations of the claimed subject matter described at the end of this disclosure are considered part of the inventive subject matter disclosed herein. It should also be understood that the terms explicitly used in this specification and that are also included in the disclosures incorporated by reference have the meaning most consistent with the specific concepts disclosed herein.
[0021]
[0021] These and other aspects of the various embodiments will be apparent from and will be elucidated with reference to the embodiments described hereinafter. [Brief description of the drawings]
[0022]
[0022] In the drawings, like reference characters generally refer to the same parts throughout the different views. The drawings illustrate features and modes of implementation of various embodiments, and are not to be construed as being limited to other possible embodiments falling within the scope of the appended claims. Also, the drawings are not necessarily to scale, with emphasis generally being placed upon illustrating the principles of the various embodiments.
[0023] [Figure 1] FIG. 1 is a flowchart of a method for accessing clinical data using a clinical data access system according to an embodiment. [Diagram 2]
[0024] FIG. 2 is a schematic diagram of a clinical data access system according to an embodiment. [Diagram 3]
[0025] FIG. 3 is a flowchart of a method for creating or modifying linkage information or data modeling templates using a clinical data access system according to an embodiment. [Figure 4]
[0026] FIG. 4 is a schematic diagram of a clinical data access system according to an embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0024]
[0027] This disclosure describes various embodiments of a clinical data exchange framework with a unified interface for data access that provides protocol-specific data access and processing instructions specified in an external template. More generally, applicants have recognized and appreciated that it would be beneficial to provide a method and system that allows for efficient and affordable exchange of clinical data between disparate electronic health record systems. The clinical data access system includes or communicates with a plurality of remote clinical data databases. The plurality of remote clinical data databases includes two or more different access protocols, thus necessitating exchange of clinical data between the disparate electronic health record systems. The clinical data access system further includes linkage information. The linkage information includes (i) information, such as location and access protocol, for each of the one or more remote clinical data databases associated with each of the one or more subjects, and (ii) identifiers of the one or more subjects used for searching in the one or more remote clinical data databases. The system also includes a data modeling template registry that includes a plurality of data modeling templates of the clinical data access system used to access each of the plurality of remote clinical data databases. The data modeling template includes at least an identification of an access protocol for each remote clinical data database and a format of the clinical data stored in each remote clinical data database. The clinical data access system receives a request to access clinical data relating to one or more subjects via a user interface of the clinical data access system. The requested clinical data is stored in one or more of the remote clinical data databases. The clinical data access system retrieves linkage information. The linkage information also identifies one or more of the multiple remote clinical data databases that contain the requested clinical data. The system retrieves, via a data modeling template registry, one or more data modeling templates that specify protocol-specific data fields to retrieve from the one or more remote clinical data databases.Once the remote clinical data database is identified, the clinical data access system instantiates a protocol-specific network socket for the identified remote clinical data database using the identified linkage information. The clinical data access system can then retrieve clinical data for one or more subjects from the remote clinical data database via the instantiated protocol-specific network socket. The system applies any necessary data transformations to the retrieved clinical data. The retrieved clinical data for the one or more subjects can then be provided in response to a user request via any mechanism for sharing or providing clinical data.
[0025]
[0028] In certain embodiments, researchers and / or medical personnel can use the clinical data access system to retrieve and share clinical information of subjects or patients. One of the long-standing challenges of exchanging clinical information about subjects or patients between disparate health record systems is that the clinical data is stored in different formats within these systems. The methods and systems described or otherwise contemplated herein provide a clinical data exchange framework with a unified interface for data access. This is accomplished by allowing protocol-specific data access and processing instructions to be specified in external templates. To access a specified data set of an application through multiple protocols, a template is defined for each protocol that specifies the data to be accessed using the appropriate resource naming for the protocol, the local data structure to hold the clinical data to be processed in the application, and the mapping and any additional processing, such as data type conversion and semantic translation required between the external resource and the local data structure. To communicate with an external repository that supports a known protocol, the template designed for that protocol is loaded and the system can communicate using the template information. Thus, the methods and systems described or otherwise contemplated herein are highly beneficial in applications for exchanging clinical information about subjects or patients between disparate health record systems.
[0026]
[0029] In just one possible non-limiting embodiment, the clinical data exchange framework can be integrated with the MPEG-G standard for genomic data storage and management. Adapting MPEG-G to accommodate established technologies in the healthcare IT ecosystem can reduce implementation costs and support a greater variety of software systems. Seamless exchange of both clinical and genomic data is a key component of precision medicine informatics solutions.
[0027]
[0030] According to embodiments, the systems and methods described or otherwise contemplated herein may be implemented, in some non-limiting embodiments, as elements of commercial products for medical data such as Philips® HealthSuite and IntelliBridge (available from Koninklijke Philips NV, The Netherlands), or as elements of any other commercial product or suitable system for efficient exchange of clinical data.
[0028]
[0031] Referring to FIG. 1, a flow chart of a method 100 for accessing clinical data in one embodiment is shown. The method is performed by a clinical data access system. It should be understood that the method described in connection with the figure is provided by way of example only and is not intended to limit the scope of the present disclosure. The clinical data access system may be any of the systems described or otherwise contemplated herein. The clinical data access system may be a single system or multiple different systems.
[0029]
[0032] In step 110 of the method, a clinical data access system 200 is provided. With reference to the embodiment of the clinical data access system 200 shown in FIG. 2, for example, the system includes one or more of a processor 220, a memory 230, a user interface 240, a communication interface 250, and a storage 260, which are interconnected via one or more system buses 210. It will be understood that FIG. 2 constitutes an abstraction in some respects, and the actual organization of the components of the system 200 may be different and more complex than that shown. Additionally, the clinical data access system 200 may be any of the systems described or otherwise contemplated herein. Other elements and components of the system 200 are disclosed and / or contemplated elsewhere herein.
[0030]
[0033] According to an embodiment, the clinical data access system 200 includes or communicates with multiple remote clinical data databases 270. The multiple remote clinical data databases include two or more different access protocols. For example, the remote clinical data databases 270 are components of a data sharing system, collaborative network, or cohort of clinical data or research. To request or retrieve clinical data from the remote clinical data databases, a database-specific access protocol is required. However, given that the remote clinical data databases are components of a heterogeneous health record system, there are different database-specific access protocols among the multiple remote clinical data databases 270. Thus, to share or retrieve data from the remote clinical data databases, the clinical data access system needs to identify and use the access protocol specific to the remote clinical data database.
[0031]
[0034] According to an embodiment, an access protocol, also called a data exchange protocol, is an interface specification that identifies the content of data to be exchanged and how the data exchange is implemented and managed. By way of example only, the Fast Healthcare Interoperability Resources (FHIR) is a data exchange protocol that describes the format and elements of clinical data ("resources") and application programming interfaces (APIs) such as the HTTP-based RESTful protocol (i.e., APIs that use Representational State Transfer (REST)) for exchanging clinical data such as electronic health records. In FHIR, clinical data such as medical health records are stored or represented in JSON, XML, or RDF format. Clinical data formatted in JSON, XML, or RDF format can be shared or communicated using APIs such as the RESTful protocol that use HTTP methods to access data and resources in web applications. Other examples of access protocols include HL7, Phenopacket, C-CDA, etc.
[0032]
[0035] One advantage of the methods and systems described or otherwise contemplated herein is that once the clinical data access system 200 has identified or is otherwise provided with the access protocol used by any remote clinical data database, the system can interact with that remote clinical data database. Thus, to communicate with a remote clinical data database, the clinical data access system 200 first identifies the access protocol used by that database. To facilitate this identification, the clinical data access system 200 includes a linkage information registry 262. Although the linkage information registry is illustrated in FIG. 2 as a component of the system's storage 260, it should be appreciated that the linkage information registry may be a remote registry in wired and / or wireless communication with the system 200.
[0033]
[0036] According to an embodiment, the linkage information registry contains information used by the clinical data access system to retrieve clinical data from one or more remote clinical data databases. To enable this functionality, the linkage information registry contains an identification of clinical data stored in some or all of the multiple remote clinical data databases. That is, the linkage information registry contains information about or associations with clinical data stored in the remote clinical data databases. This identification of clinical data may be information stored in database tables or any other linkage format or mechanism.
[0034]
[0037] By way of example only, the linkage information registry may include or communicate with a database of local data entities, such as samples of variant call files or gene expression files, and may further include or communicate linkage information identifying which of a plurality of remote clinical data databases 270 has additional clinical data related to the local data entities. The linkage information may also be stored as metadata in a local file, for example in MPEG-G format (Moving Picture Experts Group - Genomics Format for Compression, Storage, Transmission, and Processing of Genomic Data) or any other format. Thus, according to an embodiment, the linkage information registry includes an identification of the local data entity from which the information can be retrieved (e.g., a sample ID) and the corresponding matching ID in the remote clinical data database, either in clear text or ciphertext for added security.
[0035]
[0038] In particular, the database identification information may be or may be contained elsewhere. According to one non-limiting example, a researcher or medical professional may already know and therefore be able to identify the desired remote clinical data database in which the desired information resides.
[0036]
[0039] According to an embodiment, the linkage information registry further includes information necessary to facilitate communication between the clinical data access system 200 and the multiple remote clinical data databases 270. For each remote clinical data database, the linkage information registry includes a table or other mechanism for identifying: (i) the data exchange protocol used by the database, (ii) the format of the exchanged data, and (iii) any access credentials and / or keys for encryption and / or decryption of the exchanged data. As just one non-limiting example, for access to remote clinical data database X, the linkage information registry can identify the data exchange protocol used by database X (FHIR), the format of the exchanged data from database X (XML), and the access credentials (login and password information) of database X. Thus, according to an embodiment, the linkage information includes the access / authentication credentials and encryption / decryption keys for each of one or more of the multiple remote clinical data databases.
[0037]
[0040] According to an embodiment, the clinical data access system 200 includes or communicates with a client application 280. The client application may be any application that uses information in and / or managed by the system 200. The client application may be a local or remote client application and may optionally include a user interface, such as the user interface 240 or a remote client application user interface. For example, a user accesses the clinical data access system 200 via the user interface to enter a request to access clinical data for one or more subjects. The client application 280 may also include linkage information for one or more subjects, including (i) information associated with each of the one or more subjects regarding the remote clinical data database, such as location and access protocol, and (ii) identifiers for the one or more subjects used for searching in the remote clinical data database. The client application 280 may also include one or more data modeling templates that specify protocol-specific data fields to retrieve from the remote clinical data database.
[0038]
[0041] Linkage Information Registry Example
[0042] Below is provided a non-limiting example of data fields specified for linkage information. This non-limiting example uses XML format. Note that the scope of the Core Data components is not limited to the data elements described in this example, and the naming, organization, and format of the data elements need not be strictly followed. The suggested data elements can be extended or omitted depending on the needs of a particular use case.
[0039]
[0043] As described or otherwise contemplated herein, the clinical data linkage information specifies the list of available external data sources, their properties and applicable data modeling templates, as well as the samples for which they contain clinical data. According to an embodiment, the clinical data linkage information consists of two main complex data elements: DataSources and Samples.
[0040]
[0044] According to an embodiment, DataSources is a collection of DataSource elements, each of which contains the following elements: (i) ID, a unique identifier for the data source; (ii) Name, the name of the data source; (iii) URL, a URL or other identifier for the location of the data source; (iv) the data exchange protocol used by the data source (e.g., HL7 or FHIR); and (v) AvailableTemplate, a collection of one or more Template elements, each of which specifies the ID of an existing template in the registry that can be used by this data source.
[0041]
[0045] According to an embodiment, Samples is a collection of Sample elements, each containing the following elements: (i) ID, a sample identifier; (ii) AvailableDataSources, a collection of DataSource elements (each specifying the ID of a data source containing clinical data for this sample); (iii) Metadata, a complex structure specifying the external data field values associated with this sample that can be used for queries. According to an embodiment, it has an attribute IsEncrypted, which if set to true indicates that all associated field values are ciphertext; otherwise, they are plaintext. It is a collection of one or more Field elements, each with an Id attribute that specifies the external data field for the query and a unique field value for this sample; and (iv) IsEncrypted, an encryption identifier. If IsEncrypted is true, the Metadata value should be encrypted. If IsEncrypted is false, the Metadata value is not encrypted.
[0042]
[0046] With reference to Table 1, in one embodiment, a non-limiting example of clinical data linkage information is provided.
[0043]
[0047] Table 1: Example of clinical data linkage information specified in XML format [Table 1] TIFF2025513371000003.tif164170
[0044]
[0048] According to an embodiment, the clinical data access system 200 includes a template registry 263, also known as a data modeling template registry. Although the template registry 263 is shown in FIG. 2 as a component of the system's storage 260, it should be appreciated that the template registry may be a remote registry in wired and / or wireless communication with the system 200.
[0045]
[0049] According to an embodiment, the clinical data linkage information in the linkage information registry specifies applicable data modeling templates from the data modeling template registry 263 for a particular remote clinical data database.
[0046]
[0050] According to an embodiment, the data modeling template in the registry includes at least an identification of the access protocol of each remote clinical data database and the format of the clinical data stored in each remote clinical data database. According to an embodiment, the data modeling template is defined for a specific clinical data exchange protocol and is therefore applicable to clinical data databases that support that protocol. Thus, a data modeling template may include one or more of the following: (i) the specified protocol, (ii) the external data resources / fields to be extracted / updated, (iii) any data conversion or semantics translation process required between the external data source and the local data source, (iv) a local data structure with mapping to the external data resources / fields, (v) a local data format (e.g., XML, JSON, delimited table format, etc.), and / or (vi) a unique template ID and template group ID so that templates that differ in protocol but share the same local data structure and serve the same purpose can be assigned the same template group ID.
[0047]
[0051] As just one non-limiting example, for access to remote clinical data database X, the linkage information registry can identify the data exchange protocol used by database X (FHIR), the format of the data exchanged from database X (XML), and the access credentials for database X (login and password information).
[0048]
[0052] As just one non-limiting example, the linkage information registry can identify the use of data modeling template A from the data modeling template registry for access to database X. Thus, data modeling template A includes the data exchange protocol (FHIR) used by database X. Data modeling template A can also include an identification of one or more data resources or fields from remote database X to be extracted or updated by communication from the system, an identification of the local data format of the sample ID in the clinical data access system (XML in this example), and instructions for data conversion or translation from the format in remote database X to the XML format of the clinical data access system.
[0049]
[0053] Data Modeling Template Example
[0054] Below is provided a non-limiting example of data fields specified for a data modeling template. This non-limiting example uses XML format. Note that the scope of the Core Data components is not limited to the data elements described in this example, and the naming, structure, and format of the data elements need not be strictly followed. The suggested data elements can be extended or omitted depending on the needs of a particular use case.
[0050]
[0055] As described or otherwise contemplated herein, a data modeling template specifies its designated data exchange protocol, data resources / fields to be extracted from external data repositories, instructions for data mapping and processing, and output data structures and formats. According to one non-limiting embodiment, a data modeling template includes the following elements: (i) ID, a unique identifier of the template; (ii) GroupId, an ID of its template group (templates belonging to the same group should share the same local data structure and serve the same purpose); (iii) Name, a name of the template; (iv) Protocol, a clinical data exchange protocol (FHIR, HL7, Phenopackets, etc.); and (v) Method, an action type of the HTTP communication method, such as "Get", "Post", etc. The HTTP communication method is a standard communication method used in the art.
[0051]
[0056] According to an embodiment, a data modeling template may additionally include a Request element, which is a complex data structure for specifying an external data field that can be used for querying and filtering. According to an embodiment, the Request element includes the following child elements: (i) RequestField, with an "Id" attribute that specifies a unique identifier of an external data field that can be used for querying using this template, and (ii) FilteredBy, with an "Id" attribute that specifies a unique identifier of an external data field that can be used for filtering results.
[0052]
[0057] According to an embodiment, the data modeling template may additionally include a Response element. The Response element is a complex data structure for specifying the query response data structure, the mapping from the external data resource / field, and the required data type conversion and translation. According to an embodiment, the Response element includes one or more ResponseField elements with the following attributes: (i) Id, the ID of the data field in the response data structure; (ii) Source, the ID of the external data resource / field whose data is mapped to this response data field; (iii) SourceDataType, the original data type of the external data field; (iv) TargetDataType, the target data type of the response data field (if different from the source data type, a data type conversion must be applied); (v) SourceCodingSystem, the original coding system (such as LOINC or SNOMED) used by the external data field; and (vi) TargetCodingSystem, the target coding system used by the response data field (if different from the source coding system, a semantic translation must be applied).
[0053]
[0058] With reference to Table 2, in one embodiment, a non-limiting example of a data modeling template is shown.
[0054]
[0059] Table 2: Example of a data modeling template specified in XML format [Table 2] TIFF2025513371000005.tif247170TIFF2025513371000006.tif206170
[0055]
[0060] Returning to method 100 of Figure 1, at method step 120, a clinical data access system receives a request to access clinical data regarding one or more subjects or information regarding one or more samples from the one or more subjects. For example, clinical data may be medical health records or any clinical data used by researchers or medical practitioners, including, but not limited to, test results, demographics, genomic information, or any other type of medical, research, or analysis or measurement of a sample or subject.
[0056]
[0061] According to an embodiment, a request to access clinical data may be received at the clinical data access system via a user interface 240 of the system. Alternatively, a query or command may be received from a remote system in wired and / or wireless communication with the clinical data access system. According to an embodiment, a request to access clinical data may be received at the clinical data access system via a user interface of a clinical application 280. Part or all of the clinical data access system may be a cloud-based system. Thus, a user, such as a clinician, researcher, or medical professional, may access a command or query user interface via a web portal or application.
[0057]
[0062] According to embodiments, the request for clinical data includes the identity of the subject or sample for which more information is requested and optionally obtained from the remote database. For example, a clinician requests additional information about subject Y from one or more remote databases. As another example, a researcher requests gene expression data from database X to supplement local sequence data for one or more subject samples.
[0058]
[0063] According to another embodiment, the request or command is a push from one or more remote clinical data databases. For example, the remote clinical data databases are programmed or instructed to receive new information, such as clinical or analytical data for a patient or sample, and share the new information with the clinical data access system. Thus, the remote clinical data databases send a push to the system to initiate communication with client applications that have requested dynamic updates from that database.
[0059]
[0064] In step 130 of the method, the clinical data access system 200 retrieves linkage information for one or more subjects via the linkage information registry 262 or directly via the client application 280. The linkage information includes (i) information associated with each of the one or more subjects regarding the remote clinical data databases, such as location and access protocols, and (ii) identifiers for the one or more subjects that are used for searching in the remote clinical data databases. According to an embodiment, a user browses and selects linkage information in the linkage information registry or remote client via the system's user interface 240 or the client application 280 to access one or more of the multiple remote clinical data databases that contain clinical data for the desired subjects.
[0060]
[0065] According to an embodiment, the clinical data access system includes an orchestrator 264 that facilitates this identification function. The orchestrator 264 may be, for example, a module of the clinical data access system, i.e., a packaged functional hardware unit designed for use with other components or pieces of programs that perform a specific function of the associated functionality.
[0061]
[0066] In method step 140, the system retrieves one or more data modeling templates that specify protocol-specific data fields to be retrieved from the remote clinical data database via the data modeling template registry 263 using a template or template group identifier from the user interface 240, or directly via the client application.
[0062]
[0067] According to an embodiment, the orchestrator is in wired and / or wireless communication, locally or remotely, with the linkage information registry 262 and the template registry 263. Upon receiving a query or command from a user or other system or a push to share data from a remote database, the orchestrator uses the linkage information registry to identify one or more of a plurality of remote clinical data databases that contain clinical data, and uses the linkage information and data modeling template for each of the identified one or more remote clinical data databases.
[0063]
[0068] According to an embodiment, the orchestrator parses the linkage information of the remote database from the linkage information registry, including identifying a data modeling template for the remote database, and loads the appropriate data modeling template defined for the protocol of the identified remote database.
[0064]
[0069] In step 150 of the method, the orchestrator instantiates a protocol-specific network socket using linkage information specifying the remote clinical data database associated with one or more subjects to handle communication with the identified remote clinical data database. According to an embodiment, the network socket is a software construct for the network architecture and is defined in an application programming interface (API) specific to the system and / or the remote database. The protocol-specific network socket may be an Internet socket or any other suitable socket that allows communication between the clinical data access system and the remote database. According to an embodiment, the instantiated protocol-specific network socket is created for the communication and terminates when the communication is completed or other termination programming is performed, including but not limited to connection failure, timing, or any other trigger.
[0065]
[0070] In method step 160, the system communicates with the remote clinical data database using the instantiated protocol-specific network socket to access, request, retrieve, or otherwise obtain the desired clinical data from the remote clinical data database. According to an embodiment, the orchestrator obtains the requested information using database linkage information from the linkage information registry and data modeling information from a database-specific data modeling template.
[0066]
[0071] According to an embodiment, a protocol-specific network socket applies a specified protocol specification (such as FHIR, among many other protocol specifications) to generate messages, such as queries, updates, or event-triggered push requests, to be sent to an external data repository for a selected data modeling template, and parses response messages from the external data repository.
[0067]
[0072] According to an embodiment, the instantiated protocol-specific network socket generates a request to query and / or update clinical data at an identified remote clinical data database of the multiple remote clinical data databases, and the instantiated protocol-specific network socket parses a response received to the query using a messaging format of the specified access protocol.
[0068]
[0073] In an optional step 170 of the method, the clinical data access system applies the necessary or identified data transformation, translation, mapping, semantic translation, and / or packaging / extraction to the clinical data received from the remote database according to the instructions defined in the data modeling template. Thus, the clinical data access system includes a data handler 265 that applies the necessary data transformation and semantic translation to the results received via the data socket as specified in the template and merges them together with local data entities of the same subject or sample in the clinical data access system. The data handler 265 is, for example, a module of the clinical data access system. That is, the data handler is a packaged functional hardware unit designed to be used with other components or parts of programs performing a specific function of the related function. According to an embodiment, the orchestrator 264 can instruct or control the data handler to perform one or more of its functions.
[0069]
[0074] The retrieved clinical data may be provided in any of the formats of the data when retrieved from the remote clinical data database. However, in an optional step 180 of the method, the clinical data access system 200 packages the retrieved clinical data into a desired output data structure before providing the retrieved clinical data via a user interface. The desired output data structure may be predetermined or programmed, or may be defined or otherwise determined by a user via a user interface of the system and / or by a client application 280. For example, the retrieved clinical data may be packaged into a report for the user. Many formats are possible for packaging the clinical data, including displaying the clinical data.
[0070]
[0075] In step 190 of the method, the clinical data access system provides or otherwise stores or handles the received clinical data. According to one embodiment, the clinical data access system provides the received clinical data to a clinician, researcher, or medical professional via a user interface of the system. According to an embodiment, the system may display a report on a display of the system. Alternatively, the report may be communicated to another device by wired and / or wireless communication. For example, the system can communicate the report to a mobile phone, computer, laptop, wearable device, and / or other device adapted to enable display or other communication of the report.
[0071]
[0076] According to an embodiment, the clinical data access system writes the received clinical data to a local database or file. For example, the clinical data access system may store the received clinical data in MPEG-G format in a file or database on the clinical data access system or another system. According to an embodiment, the clinical data access system provides the received clinical data to another application on the clinical data access system or to an application on another system that uses the data. According to yet another embodiment, the clinical data access system performs two or more of these functions.
[0072]
[0077] With reference to FIG. 3, in one embodiment, a method 300 for defining or modifying linkage information in linkage information registry 262 or client application 280 and / or for defining or modifying data modeling templates in data modeling template registry 263 is shown.
[0073]
[0078] According to an embodiment, in step 310 of the method, a linkage information interface, such as the user interface 240 or another interface tool, is provided or otherwise accessed by a user. A user, such as a clinician, researcher, medical professional, or programmer, can access the linkage information interface to define linkage information. As described or otherwise envisioned herein, the linkage information in the linkage information registry 262 of the clinical data access system 200 includes information used by the clinical data access system to retrieve clinical data from one or more remote clinical data databases. The linkage information may also include an identification of a local data entity from which the information can be retrieved (e.g., a sample ID) and a corresponding matching ID in the remote clinical data database, either in clear text or in cipher text for added security. According to an embodiment, the linkage information registry further includes information necessary to facilitate communication between the clinical data access system 200 and a plurality of remote clinical data databases 270. For each remote clinical data database, the linkage information registry includes a table or other mechanism for identifying: (i) the data exchange protocol used by the database, (ii) the format of the exchanged data, and (iii) any access credentials and / or keys for encryption and / or decryption of the exchanged data.
[0074]
[0079] Thus, a user may define any of these elements of the linkage information in the linkage information registry 262 and / or client application 280. For example, in step 312 of the method, a user defines the linkage information, which may include entering information into predefined fields or otherwise entering or uploading information to populate one or more fields of the linkage information in the linkage information registry. By way of example only, a user may provide a sample ID of a local data entity and a corresponding matching ID of a sample in a remote clinical data database. As another example, a user may identify a data exchange protocol used by the remote clinical data database and a data format used by the remote clinical data database. This information may be entered manually or uploaded using standard methods for providing data or data sets.
[0075]
[0080] In optional step 314 of the method, a user may modify any of these elements of the linkage information in the linkage information registry 262. This may include modifying existing information about a remote clinical data database or adding new information about the database. The user may provide the information manually or may upload the information using standard methods for modifying data and data sets. Modifying the linkage information may include, for example, updating linkage information for an existing clinical data database and / or adding linkage information for a new clinical data database.
[0076]
[0081] In method step 330, the defined linkage information of the remote clinical data database and / or the changed information of the remote clinical data database is stored in the linkage information registry 262 of the clinical data access system, where it can be accessed in the future.
[0077]
[0082] According to an embodiment, in method step 320, a data modeling template interface is provided or otherwise accessed by a user, such as via user interface 240. A user, such as a clinician, researcher, medical professional, or programmer, can access the data modeling template interface to define a data modeling template in data modeling template registry 263. As described or otherwise envisioned herein, the data modeling templates in data modeling template registry 263 of clinical data access system 200 include at least an identification of an access protocol for each remote clinical data database and a format of the clinical data stored in each remote clinical data database, among other possible information described or otherwise envisioned herein. Thus, a data modeling template may include one or more of the following: (i) a specified protocol, (ii) external data resources / fields to be extracted / updated, (iii) any data transformation or semantics translation process required between the external data source and the local data source, (iv) a local data structure with mapping to the external data resources / fields, (v) a local data format (e.g., XML, JSON, delimited table format, etc.), and / or (vi) a unique template ID and template group ID so that templates with different protocols but sharing the same local data structure and serving the same purpose can be assigned the same template group ID.
[0078]
[0083] Thus, a user may define any of these elements of a data modeling template. For example, in step 322 of the method, a user defines one or more data fields of a data modeling template, such as a new template. This may include entering information into predefined fields or otherwise entering or uploading information to populate one or more fields of the model template information. By way of example only, a user may define protocols specified for a remote clinical data database and data transformations required to convert data from the clinical database into a format used or required by the clinical data access system. This information may be entered manually or uploaded using standard methods for providing data or data sets.
[0079]
[0084] Thus, according to an embodiment, defining a new data modeling template in the clinical data access system registry includes: (i) identifying the protocol-specific data fields to be extracted or updated; (ii) specifying the data pre-processing (such as data transformation and semantic translation) that needs to be applied to the extracted data; and (iii) specifying the manner in which the extracted data fields should be organized and packaged in the output data structure, as well as the data formatting language to be used, such as XML or JSON.
[0080]
[0085] In optional step 324 of the method, a user can modify any of these elements of the data modeling template in the data modeling template registry 263. This includes modifying existing information about the remote clinical data database or adding new information about the database. The user can provide the information manually or upload the information using standard methods for modifying data or datasets.
[0081]
[0086] In method step 330, the new and / or modified data modeling templates are stored in the data modeling template registry 263 of the clinical data access system, where they can be accessed in the future.
[0082]
[0087] Referring to FIG. 4, a schematic diagram 400 of a clinical data access system and method including various functional components and their relationships is shown in one embodiment. According to one non-limiting example, the schematic diagram also shows how the framework can be integrated with MPEG-G servers, hospital systems, and applications that require clinical data as input. It should be noted that linkage information can be stored directly in the MPEG-G dataset as metadata or linkage attributes, rather than in a separate registry, to indicate the availability of additional clinical data in external repositories and the means to access them for a particular sample. Making the linkage information an intrinsic part of the MPEG-G dataset ensures rapid support for clinical data discovery, and the linkage information is not lost during file transfers or system migrations. Although the use of MPEG-G is provided as an example in FIG. 4, it should be recognized that many other applications and implementations are possible.
[0083]
[0088] 4, a hospital system 400 (which may be a single hospital "Hospital System 1" or multiple hospitals "Hospital System N") includes two components: (i) a back-end EHR / HIS / LIS system 412 that communicates with some proprietary protocol, and (ii) a clinical data server 414 that interacts with the back-end system and connects it to the external environment. According to an embodiment, the clinical data server can be omitted if the EHR / HIS / LIS system can directly communicate with external applications using commonly accepted data exchange protocols.
[0084]
[0089] According to an embodiment, the Clinical Data Server provides the following functionality: (i) translating and reformatting query / update / response messages between internal and external protocols; (ii) performing message validation and discarding invalid messages; (iii) tracking active dynamic update requests of external clients and responsively posting push-in updates (e.g., FHIR bundles) to corresponding data exchange gateways upon receiving relevant event-triggered messages from back-end systems; and (iv) authenticating and authorizing data access requests as required.
[0085]
[0090] Referring again to Figure 4, the clinical data access system includes an orchestrator 264 in communication with a linkage information registry 262 containing linkage information and a data modeling template registry 263 containing a plurality of data modeling templates. As described in conjunction with Figure 3, a user may define or modify the data modeling templates. Thus, the system may include components or modules such as a data modeling template builder 420 that interfaces with the data modeling templates to allow for building new templates or modifying existing templates.
[0086]
[0091] 4, a user 430 can interact with the clinical data access system through a user interface, for example, a linkage information browser and / or query builder 440. The linkage information browser and / or query builder 440 allows a user to locate or otherwise identify retrievable clinical data and identify or select linkage information needed to retrieve the clinical data.
[0087]
[0092] The system may further include another application 460 or communicate with a remote application 460 that uses clinical data retrieved from one or more remote databases 410. Similarly, the system may further include or communicate with an MPEG-G server 470, if used for that particular application.
[0088]
[0093] With reference to FIG. 4, according to an embodiment, available linkage information can be extracted from a registry or a dataset. A user 430 can browse this linkage information in the linkage information registry 262, including the availability of clinical data in one or more remote clinical data databases 410 for a particular sample, and the applicable data modeling templates in the template registry 263. The user can select one or more samples for clinical data retrieval and the data modeling template to apply. According to an embodiment, the orchestrator parses the linkage information associated with the selected samples and instantiates one or more protocol-specific network sockets 450 with the dispatched linkage information and template information to handle communication with the external repository. The network sockets 450 generate query messages based on the protocol of the target server and with the associated linkage information and template information, and parse query response messages received from the external repository. According to an embodiment, the orchestrator uses data handlers to apply the necessary data transformations and semantic translations to the results from the data sockets specified in the templates and merge them together. The merged results are presented to the user or saved in the dataset.
[0089]
[0094] Application examples
[0095] The following non-limiting examples are provided only to illustrate some applications or embodiments of the methods described or otherwise contemplated herein, and therefore do not limit the scope of the application or claims.
[0090]
[0096] Example 1 - Searching for external clinical data available in the dataset
[0097] In this example, a gene expression dataset in an MPEG-G file containing linkage information for a particular sample along with clinical data that may be retrieved from one or more remote clinical data databases is searched for. The samples in the dataset are patients in a clinical trial to determine whether there is a set of genes that can predict treatment response three months after the first dose of a drug based on gene expression levels measured before treatment. Three months have passed since the gene expression data was generated, and now the user wishes to collect updated clinical observations such as heart rate and blood pressure. The user identifies that one or more of the samples have clinical data available in one or more remote clinical data databases and that there is an applicable data modeling template to retrieve the required clinical data. The user then selects all samples and a data modeling template, specifies that the query results should be saved as attributes associated with the samples in the dataset, and submits the query. Within minutes, a query response is received from one or more remote clinical data databases. The system automatically performs data parsing, conversion, translation, merging, and formatting according to the database protocol and the information in the selected data modeling template. This generates the necessary clinical data for all samples, which is then stored as sample attributes in the dataset using the MPEG-G codec. With up-to-date and accurate clinical data readily available through the data exchange framework, users can focus on their analysis, removing the burden of searching, downloading, and preparing the necessary clinical data.
[0091]
[0098] Example 2 - Enabling live updates from an external clinical data repository to a local dataset
[0099] In this example, a Principal Investigator (PI) of a clinical study has an MPEG-G dataset that contains linkage information to access additional clinical data for samples in one or more remote clinical data databases. The dataset has hundreds of samples, and the PI wants to monitor the dynamic trends and statistics of specific health data for all samples daily over a period of three months without the hassle of manually retrieving and updating the dataset every day. The PI can use the clinical data access system to submit a dynamic update request with the linkage information, patient ID, and the desired data modeling template. The gateway then registers the dynamic update request with one or more remote clinical data databases, which send event-triggered data push-in requests to the gateway when new observational data is added for a patient being monitored. The clinical data access system collects the push-in updates, periodically processes them to merge new data, and writes this data to the dataset using an MPEG-G codec.
[0092]
[0100] For example, according to an embodiment, the system includes a gateway service that handles dynamic data update requests by listening for and receiving event-triggered push messages from remote clinical data databases, processing the received data using data sockets and data handlers, storing the updates locally, and sending them to client applications periodically or on demand.
[0093]
[0101] Example 3 - Easy integration of live clinical data into healthcare applications
[0102] In this example, a software designer at a medical technology company is looking for a simple solution to integrate live patient clinical data from multiple remote clinical data databases into the medical technology company's clinical decision support system using various data exchange standards and vendor-specific solutions. A user decides to use a clinical data access system to handle the extraction and pre-processing of clinical data. A software developer on the team selects the data exchange protocol that needs to be handled. In response, the tool shows a list of available data resources for the selected protocol. The software developer selects the data fields required for a particular software module and specifies the field names, organization, and format (e.g., JSON) of the output data structure, along with their mapping to external data fields and the required data type conversion and transformation processes. Clicking the "Build" button generates a data modeling template. Using the generated template, along with the appropriate linkage information and patient IDs, the system can instantly take the patient's clinical data and output them in a format that can be directly used by the software module. In this way, the problem of integrating live clinical data into a software solution can be transformed into simply defining protocol-specific data modeling templates and binding them to software modules that use the extracted clinical data in a predefined format.
[0094]
[0103] Referring to Figure 2, a schematic diagram of a system 200 for processing clinical data according to an embodiment is shown. System 200 may be any of the systems described or otherwise contemplated herein and may include any of the components described or otherwise contemplated herein. It will be understood that Figure 2 constitutes in some respects an abstraction, and the actual organization of the components of system 200 may be different and more complex than that depicted.
[0095]
[0104] According to an embodiment, system 200 includes a processor 220 that can execute instructions stored in memory 230 or storage 260 or otherwise process data to, for example, perform one or more steps of a method. Processor 220 may be formed of one or more modules. Processor 220 may take any suitable form, including, but not limited to, a microprocessor, a microcontroller, multiple microcontrollers, a circuit, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a single processor, or multiple processors.
[0096]
[0105] The memory 230 may take any suitable form, including non-volatile memory and / or RAM. The memory 230 may include various memories, such as, for example, an L1, L2, or L3 cache, or a system memory. As such, the memory 230 may include a static random access memory (SRAM), a dynamic RAM (DRAM), a flash memory, a read-only memory (ROM), or other similar memory devices. The memory may store, among other things, an operating system. The RAM is used by the processor for temporary storage of data. According to an embodiment, the operating system may include code that, when executed by the processor, controls the operation of one or more components of the system 200. In embodiments in which the processor implements one or more of the functions described herein in hardware, it will be apparent that in other embodiments, software described as corresponding to such functions may be omitted.
[0097]
[0106] User interface 240 may include one or more devices for enabling user interaction. A user interface is any device or system that enables the sending and receiving of information and may include a display, a mouse, and / or a keyboard for receiving user commands. In some embodiments, user interface 240 includes a command line interface or a graphical user interface that may be presented to a remote terminal via communications interface 250. A user interface may be co-located with one or more other components of the system or may be located remotely from the system and communicate via a wired and / or wireless communications network.
[0098]
[0107] Communications interface 250 may include one or more devices for enabling communication with other hardware devices. For example, communications interface 250 may include a network interface card (NIC) for communicating according to an Ethernet protocol. Additionally, communications interface 250 may implement a TCP / IP stack for communicating according to a TCP / IP protocol. Various alternative or additional hardware or configurations for communications interface 250 will be apparent.
[0099]
[0108] Storage 260 may include one or more machine-readable storage media, such as read-only memory (ROM), random access memory (RAM), magnetic disk storage media, optical storage media, flash memory devices, or similar storage media. In various embodiments, storage 260 may store instructions for execution by processor 220 or data on which processor 220 operates. For example, storage 260 stores operating system 261 for controlling various operations of system 200.
[0100]
[0109] It will be appreciated that the various information described as being stored in storage 260 may additionally or alternatively be stored in memory 230. In this regard, memory 230 may also be considered to constitute a storage device, and storage 260 may be considered to be a memory. Various other arrangements will be apparent. Furthermore, both memory 230 and storage 260 may be considered to be non-transitory machine-readable media. As used herein, the term "non-transitory" shall be understood to exclude transitory signals, but to include all forms of storage, including volatile and non-volatile memory.
[0101]
[0110] Although system 200 is shown as including one of each of the described components, various components may overlap in various embodiments. For example, processor 220 may include multiple microprocessors that independently execute the methods described herein or perform steps or subroutines of the methods described herein, such that the multiple processors cooperate to accomplish the functions described herein. Furthermore, when one or more components of system 200 are implemented in a cloud computing system, various hardware components may reside in separate physical systems. For example, processor 220 may include a first processor located on a first server and a second processor located on a second server. Many other variations and configurations are possible.
[0102]
[0111] The system may include or communicate with multiple remote clinical data databases 270. The multiple remote clinical data databases may include two or more different access protocols. For example, the remote clinical data databases 270 may be components of a data sharing system, collaborative network, or cohort of clinical data or research. To request or retrieve clinical data from the remote clinical data databases, a database-specific access protocol is required. However, given that the remote clinical data databases are components of a heterogeneous health record system, there may be different database-specific access protocols among the multiple remote clinical data databases 270. Thus, to share or retrieve data from the remote clinical data databases, the clinical data access system needs to identify and use the access protocol specific to the remote clinical data database.
[0103]
[0112] The system can include or communicate with a client application 280. A client application can be any application that uses information in and / or managed by system 200. A client application can be a local client application or a remote client application and can optionally include a user interface, such as user interface 240 or a remote client application user interface.
[0104]
[0113] In an embodiment, storage 260 of system 200 can store one or more algorithms, modules, and / or instructions for performing one or more functions or steps of methods described or otherwise contemplated herein. For example, the system may include linkage information registry 262, data modeling template registry 263, orchestrator 264, data handler 265, and / or reporting instructions 266, among other instructions or data, among many other possible instructions and / or data.
[0105]
[0114] According to an embodiment, the linkage information registry 262 includes linkage information for a plurality of remote clinical data databases. As described or otherwise contemplated herein, the linkage information in the linkage information registry 262 of the clinical data access system 200 includes information used by the clinical data access system to retrieve clinical data from one or more remote clinical data databases. The linkage information may also include an identification of a local data entity from which the information can be retrieved (e.g., a sample ID) and a corresponding matching ID in the remote clinical data database, either in clear text or cipher text for added security. According to an embodiment, the linkage information registry further includes information necessary to facilitate communication between the clinical data access system 200 and the plurality of remote clinical data databases 270. For each remote clinical data database, the linkage information registry includes a table or other mechanism for identifying: (i) the data exchange protocol used by the database, (ii) the format of the exchanged data, and (iii) any access credentials and / or keys for encryption and / or decryption of the exchanged data.
[0106]
[0115] According to an embodiment, the data modeling template registry 263 includes a plurality of data modeling templates. According to an embodiment, the data modeling templates in the registry include at least an identification of an access protocol of each remote clinical data database and a format of the clinical data stored in each remote clinical data database. According to an embodiment, a data modeling template is defined for a particular clinical data exchange protocol and is therefore applicable to clinical data databases that support that protocol. Thus, a data modeling template may include one or more of the following: (i) a specified protocol, (ii) external data resources / fields to be extracted / updated, (iii) any data conversion or semantics translation process required between the external data source and the local data source, (iv) a local data structure with mapping to the external data resources / fields, (v) a local data format (e.g., XML, JSON, delimited table format, etc.), and / or (vi) a unique template ID and template group ID so that templates that differ in protocol but share the same local data structure and serve the same purpose can be assigned the same template group ID.
[0107]
[0116] According to an embodiment, the orchestrator 264 is a component or module of the clinical data access system that uses the linkage information registry 262 to identify one or more of a plurality of remote clinical data databases 270 that contain the requested clinical data. The orchestrator also instantiates protocol-specific network sockets for the remote clinical data databases to enable communication of clinical data for one or more subjects from the remote clinical data databases. The orchestrator can also instruct the data handlers 265 to perform some or all of its functions.
[0108]
[0117] According to an embodiment, the data handler 265 applies necessary or identified data transformation, translation, mapping, and / or packaging / extraction to the clinical data received from the remote database according to instructions defined in the data modeling template and merges this data together with local data entities of the same subject or sample in the clinical data access system. The data handler 265 is, for example, a module of the clinical data access system. That is, the data handler is a packaged functional hardware unit designed to be used with other components or parts of programs performing a specific function of the related function. According to an embodiment, the orchestrator 264 can instruct or control the data handler to perform one or more of its functions.
[0109]
[0118] According to an embodiment, the reporting instructions 266 instruct the system to provide the information retrieved from one or more remote clinical data databases to a user via a user interface, write the data to a file, or provide the data to another application. According to an embodiment, the system may display the report on a display of the system. The display may include information about the identified data or any other information. Alternatively, the report may be communicated to another device via wired and / or wireless communication. For example, the system may communicate the report to a mobile phone, a computer, a laptop, a wearable device, and / or other device configured to enable display or other communication of the report.
[0110]
[0119] According to an embodiment, the clinical data access system processes thousands or millions of data items, such as identifying linkage information from a linkage information registry, identifying a data modeling template from a data modeling template registry, instantiating a network socket for communication, sending requests to one or more remote clinical data databases, receiving responses to the queries, and processing the data in the received responses to provide the information to a user, write to a local file, and / or provide the data to another application. This requires processing millions of data points. Thus, retrieving this remote data and using it locally involves a process involving a large amount of calculations and analysis that the human brain cannot accomplish in a lifetime or multiple lifetimes. Furthermore, by providing a faster and more efficient method for communication between disparate data systems, the methods and systems described or otherwise contemplated herein represent technical improvements over previous systems that cannot perform the same functions in the same way.
[0111]
[0120] All definitions and those used herein should be understood to take precedence over dictionary definitions, definitions in documents incorporated by reference, and / or ordinary meanings of the defined terms.
[0112]
[0121] The singular terms "a," "an," and "the" as used in the specification and claims should be understood to mean "at least one."
[0113]
[0122] The term "and / or" as used in the specification and claims should be understood to mean "either or both" of the elements so conjoined (i.e., elements that may be conjunctive or disjunctive). Multiple elements listed with "and / or" should be construed in the same manner, i.e., "one or more" of the elements so conjoined. Other elements other than those specifically identified by the "and / or" clause may optionally be present, whether or not related to the specifically identified elements.
[0114]
[0123] As used herein and in the claims, "or" should be understood to have the same meaning as "and / or" as defined above. For example, when separating items in a list, "or" or "and / or" should be interpreted as inclusive; that is, the inclusion of at least one of an element or list of elements, but including more than one element, and optionally additional unlisted items. Only terms clearly indicating the contrary (e.g., "only one of" or "exactly one of," or, when used in the claims, "consisting of") mean the inclusion of exactly one element of an element or list of elements. In general, as used herein, the term "or" should only be interpreted as indicating exclusive alternatives (i.e., "either one of," "one of," "only one of," or "exactly one of") when preceded by terms of exclusivity (e.g., "either one of," "one of," "only one of," or "exactly one of").
[0115]
[0124] As used in this specification and claims, the phrase "at least one" in reference to a list of one or more elements should be understood to mean at least one element selected from any one or more of the elements in the list of elements, but does not require the inclusion of at least one of each element specifically listed in the list of elements, nor does it exclude any combination of elements in the list of elements. By this definition, elements other than those identified in the list of elements to which the phrase "at least one" refers may optionally be present, whether related to the identified elements or not.
[0116]
[0125] It should also be understood that, unless otherwise specified, in any method claimed herein that includes two or more steps or actions, the order of the method steps or actions is not necessarily limited to the order in which the method steps or actions are described.
[0117]
[0126] In the above specification, as well as in the claims, all transitional phrases such as "having," "including," "carrying," "having," "containing," "accompanying," "holding," "consisting of," and the like, are to be understood to be open-ended, meaning including but not limited to. Only the transitional phrases "consisting of" and "consisting essentially of" are closed or semi-closed transitional phrases.
[0118]
[0127] Although several inventive embodiments have been described and illustrated herein, those skilled in the art will readily envision numerous other means and structures for performing the functions and obtaining the results and / or one or more advantages described herein, and each of these variations and modifications are deemed to be within the scope of the inventive embodiments described herein. More generally, those skilled in the art will readily appreciate that all parameters, dimensions, materials, and configurations described herein are exemplary, and that the actual parameters, dimensions, materials, and / or configurations will depend on the particular application in which the teachings of the present invention are being used. Those skilled in the art will recognize or be able to ascertain, using no more than routine experimentation, many equivalents to the specific inventive embodiments described herein. Thus, the foregoing embodiments are presented by way of example only, and it should be understood that, within the scope of the appended claims and equivalents, the inventive embodiments may be practiced otherwise than as specifically described and claimed. Inventive embodiments of the present disclosure are directed to each individual feature, system, article, material, kit, and / or method described herein. Furthermore, any combination of two or more such features, systems, articles, materials, kits, and / or methods is within the inventive scope of the present disclosure, unless such features, systems, articles, materials, kits, and / or methods are mutually inconsistent.
Claims
1. A method for accessing clinical data using a clinical data access system, wherein the clinical data access system communicates with a plurality of remote clinical data databases, the plurality of remote clinical data databases include two or more different access protocols, and the method is The steps include receiving a request to access clinical data for one or more subjects via the user interface of the clinical data access system or client application, wherein the clinical data is stored in one or more of the remote clinical data databases, A step of obtaining linkage information for one or more subjects via a linkage information registry or client application, wherein the linkage information includes (i) information relating to each of the one or more remote clinical data databases associated with each of the one or more subjects, including location and access protocol, and (ii) identifiers of the one or more subjects used for searching in the one or more remote clinical data databases. The steps include obtaining one or more protocol-specific data modeling templates that specify the protocol-specific data fields to be retrieved for each access protocol of one or more remote clinical data databases, either via the data modeling template registry using a template or template group identifier from a user interface or remote client application, or directly via a remote client application; The steps include instantiating a protocol-specific network socket for one of the identified remote clinical data databases using the linkage information that specifies one or more remote clinical data databases associated with one or more subjects, The steps include: retrieving clinical data contained in the protocol-specific data field for one or more subjects from one of the identified remote clinical data databases via an instantiated protocol-specific network socket; The steps include providing the clinical data extracted from one or more subjects, Methods that include...
2. Using information from one or more of the aforementioned data modeling templates, via the data handlers and orchestrators of the clinical data access system, The steps include applying data preprocessing such as data transformation and semantic translation to the extracted clinical data, The steps include packaging the extracted clinical data into a desired output data structure, The method according to claim 1, further comprising:
3. The steps include instantiating a second protocol-specific network socket of the identified second remote clinical data database from among the plurality of remote clinical data databases using the linkage information of the identified second remote clinical data database from among the plurality of remote clinical data databases, The steps of retrieving clinical data contained in the protocol-specific data field for one or more subjects from an identified second remote clinical data database among the plurality of remote clinical data databases via an instantiated second protocol-specific network socket, The steps include merging and packaging the clinical data extracted from an identified remote clinical data database among the plurality of remote clinical data databases and the clinical data extracted from a identified second remote clinical data database among the plurality of remote clinical data databases, The method according to claim 1, further comprising:
4. The method according to claim 1, wherein a user browses and selects linkage information for accessing one or more of the plurality of remote clinical data databases containing the clinical data of one or more subjects via the user interface or client application.
5. The method according to claim 1, further comprising the step of defining or modifying linkage information via the user interface or via a define or modify tool in order to add linkage information to a new clinical data database or to update linkage information to an existing clinical data database, wherein the linkage information includes at least (i) information including location and access protocol for each of the one or more remote clinical data databases associated with each of the one or more subjects, and (ii) identifiers of the one or more subjects used for searching in the one or more remote clinical data databases.
6. The method according to claim 1, further comprising the step of defining or modifying a data modeling template for the clinical data access system via a define or modify tool or via a user interface.
7. The step of defining a data modeling template for the clinical data access system is: The steps include identifying one or more protocol-specific data fields to retrieve or update, A step to specify the data preprocessing to be applied to the extracted data, A method for organizing and packaging the extracted data fields in an output data structure, and a step of specifying the data formatting language to be used, The method according to claim 6, including the method described in claim 6.
8. The method according to claim 1, wherein the instantiated protocol-specific network socket generates a request to query or update the clinical data in an identified remote clinical data database among the plurality of remote clinical data databases, and the instantiated protocol-specific network socket parses the response received to the query using the messaging format of the specified access protocol.
9. The method according to claim 1, wherein the linkage information further includes authentication information for access and / or authentication to one or more of the plurality of remote clinical data databases, or an encryption / decryption key.
10. The method according to claim 1, further comprising a gateway service for handling dynamic data update requests, wherein the clinical data access system listens for and receives event-triggered push messages from the remote clinical data database, processes the received data using data sockets and data handlers, stores updates locally, and sends them to the client application periodically or on request.
11. A system for accessing clinical data, wherein the system for accessing clinical data communicates with a plurality of remote clinical data databases, the plurality of remote clinical data databases include two or more different access protocols, and further include stored clinical data for one or more subjects, and the system User interface and Processor and Equipped with, The processor (i) receives a request to access clinical data for one or more subjects via a user interface system or client application, the clinical data being stored in one or more of the multiple remote clinical data databases; (ii) obtains linkage information for one or more subjects via a linkage information registry or client application, the linkage information including (1) information relating to each of the one or more remote clinical data databases associated with each of the one or more subjects, including location and access protocol information, and (2) identifiers of the one or more subjects used for searching in the one or more remote clinical data databases; and (iii) obtains data modeling using templates or template group identifiers from the user interface or remote client application. (iv) obtaining one or more protocol-specific data modeling templates that specify protocol-specific data fields to retrieve for the access protocols of one or more remote clinical data databases, either via a linkage template registry or directly via a remote client application; (v) instantiating a protocol-specific network socket for one of the identified remote clinical data databases using the linkage information that specifies the one or more remote clinical data databases associated with one or more subjects; (v) retrieving clinical data contained in the protocol-specific data fields for one or more subjects from one of the identified remote clinical data databases via the instantiated protocol-specific network socket; and (vi) providing the retrieved clinical data for one or more subjects. A system that performs this task.
12. The aforementioned processor, Using the linkage information of the identified second remote clinical data database among the plurality of remote clinical data databases, instantiate a second protocol-specific network socket of the identified second remote clinical data database among the plurality of remote clinical data databases; retrieve clinical data contained in the protocol-specific data fields for one or more subjects from the identified second remote clinical data database among the plurality of remote clinical data databases via the instantiated second protocol-specific network socket; merge and package the clinical data retrieved from the identified second remote clinical data database among the plurality of remote clinical data databases and the clinical data retrieved from the identified second remote clinical data database among the plurality of remote clinical data databases. The system according to claim 11, further comprising the following steps.
13. The system according to claim 11, wherein a user browses and selects linkage information for accessing one or more of the plurality of remote clinical data databases containing the clinical data of one or more subjects via the user interface or client application.
14. The system according to claim 11, wherein the processor uses an instantiated protocol-specific network socket to generate a request to query or update the clinical data in an identified remote clinical data database among the plurality of remote clinical data databases, and parses the response received to the query using a messaging format of the specified access protocol.
15. The system according to claim 11, wherein the linkage information further includes authentication information for access and / or authentication to one or more of the plurality of remote clinical data databases, or an encryption / decryption key.