System and method for tracing and risk warning of infectious disease transmission link based on graph data
Patent Information
- Application Number
- CN202310060364.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-01-13
- Publication Date
- 2026-09-22
- Estimated Expiration
- 2043-01-13
AI Technical Summary
1、本发明的流调模块的流调数据融合了场所码模块的场所码扫码日志数据,扫码日志数据发生后是无法篡改的,工作人员通过查看被流调个案的接触、扫码关系图,可以辨别其谎报、提醒其漏报等问题,以便纠正流调数据,提高了流调数据可靠性。
Smart Images

Figure CN116564544B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of big data, and specifically relates to a system and method for tracing the transmission chain of infectious diseases and providing risk warning based on graph data. Background Technology
[0002] Throughout history, plagues and epidemics have always caused significant losses to humanity. With accumulated experience and advancements in science and technology, we can now effectively intervene in epidemics using medical knowledge and information technology tools, thereby controlling their impact. One crucial measure is tracing the source of an epidemic's spread. This involves using various technologies to establish connections between known outbreaks and their locations, tracing the epidemic's origin upstream. In recent years, big data technology has played a vital role in supporting the tracing of epidemic transmission chains, enabling health authorities to quickly identify at-risk individuals or locations and implement corresponding preventative measures, thus greatly reducing the spread of the epidemic.
[0003] A crucial data source for tracing the origins of an epidemic is the epidemiological investigation conducted by health authorities on cases. This investigation primarily relies on manual phone calls to understand travel history and establish a register of close contacts. However, this approach fails to address issues such as low timeliness, low screening efficiency, and individuals lying about their travel history. Furthermore, the complexity of epidemic transmission in the real world means that epidemiological investigation data may be constantly updated. Given the high timeliness requirements of epidemic data, relational databases require real-time queries of several data sets or self-relational queries to obtain results, especially for multi-level management queries from cases to secondary close contacts, where relational databases fall short in processing capacity.
[0004] Furthermore, while epidemiological investigation data is based on factual collection, the next steps currently rely solely on the experience and judgment of epidemiological investigators and public health personnel. During large-scale outbreaks, the expansion of epidemiological investigation and public health personnel often leads to inexperienced judgments, thus reducing overall control efficiency. Therefore, risk analysis, judgment, and early warning based on epidemiological investigation and source tracing are urgently needed to improve overall public health control efficiency.
[0005] Existing technical solutions cannot solve the following important problems: 1. The inefficiency, false reporting, concealment, or omission of travel history during the epidemiological investigation cannot be substantiated.
[0006] 2. Graph databases have limited modeling content, typically only including cases, close contacts, and contact relationships. They do not effectively utilize big data capabilities, and existing solutions generally adopt single-node graph databases, which have bottlenecks in query and processing capabilities when faced with large volumes of graph data.
[0007] 3. Visual queries only support the retrieval of existing facts and do not provide risk analysis and early warning prompts. This fails to improve the situation where staff rely on personal experience to make judgments, leading to inefficient follow-up measures. Summary of the Invention
[0008] To address the problems existing in the prior art, this invention proposes a system and method for tracing the transmission links of infectious diseases and for risk warning based on graph data. This addresses issues such as time-consuming investigations and underreporting of travel history by those being investigated, the inability to effectively utilize large amounts of data from multiple data sources for graph database modeling and design, the poor query processing capabilities of single-node graph databases when handling large amounts of graph data, and the lack of risk warning capabilities.
[0009] To achieve the above objectives, the present invention adopts the following technical solution: This invention provides a system for tracing the transmission chain of infectious diseases and providing early warning of risks based on graph data, including a data source module, a business data storage module, a graph data processing module, a graph data service module, and a functional application module; The data source module includes an epidemiological investigation module, a venue code module, and an external data collection module. The epidemiological investigation module inputs epidemiological investigation data, the venue code module inputs venue code scanning log data, venue code scanning personnel data, and venue code data, and the external data collection module inputs vaccination and nucleic acid testing data. The business data storage module stores epidemiological investigation data, venue code scanning log data, venue code scanning personnel, venue code data, and external structured data accessed through the data source module; The graph data processing module includes offline and real-time ETL data processing components and a graph computing algorithm engine. The offline and real-time ETL data processing components clean and integrate the data from the business data storage module, and the graph computing algorithm engine processes and calculates the graph data in the distributed graph database, calculates the node risk coefficient, and writes the results back to the distributed graph database. The graph data service module includes a distributed graph database and a graph data query interface. The distributed graph database stores the data processed by the graph data processing module and the data processed by the algorithm. The graph data query interface provides a read-only REST API interface for use by the functional application modules. The functional application module allows users to query the propagation path and risk factors through a visual query and analysis interface, and set thresholds to trigger risk warnings and alerts.
[0010] Furthermore, the epidemiological investigation data includes basic information of the case and close and secondary close contacts, data on the places visited by the case, and contact information with the case; the venue code scanning log data is data on citizens scanning venue code QR codes to sign in at the places they visit, including citizen identity, places visited, and times of visit.
[0011] Furthermore, the business data storage module includes a relational database RDS and a message queue MQ. The relational database RDS is used to store epidemiological investigation data, external structured data, venue code scanning personnel and venue code data, and the message queue MQ is used to store venue code scanning log data.
[0012] Furthermore, the graph data processing module utilizes a Spark cluster for offline data processing and writes the data to a distributed graph database, and utilizes Spark Streaming for real-time data processing and writes the data to a distributed graph database.
[0013] This invention also provides a method for tracing the transmission chain of infectious diseases and providing risk warning based on graph data, comprising the following steps: Epidemiological investigation data is accessed through the epidemiological investigation module, and vaccination and nucleic acid testing data are accessed through the external data acquisition module and stored in the relational database RDS. The venue code module accesses venue code scanning log data, venue code scanning personnel and venue code data. The venue code scanning log data is stored in a message queue (MQ), and the venue code scanning personnel and venue code data are stored in a relational database (RDS). Cleaning and integrating data from relational database RDS and message queue MQ through offline and real-time ETL data processing components; Import the processed data into a distributed graph database according to the graph data model; The graph computing algorithm engine is used to process the graph data in the distributed graph database and calculate the node risk coefficient. The interactive visual query and analysis interface allows users to query the propagation path, risk factors, and set thresholds to trigger risk warnings.
[0014] Furthermore, the step of accessing epidemiological investigation data through the epidemiological investigation module, accessing vaccination and nucleic acid testing data through the external data acquisition module, and storing them in the relational database RDS includes: First, the disease control department enters the information of confirmed cases into the epidemiological investigation module to form an epidemiological investigation case of a confirmed case. Then, the epidemiological investigators accept this epidemiological investigation case through the epidemiological investigation module and carry out epidemiological investigation work on close contacts, secondary close contacts and locations, and record the information in the epidemiological investigation module. When an epidemiologist completes an epidemiological investigation case, the epidemiological investigation data from the epidemiological investigation module will be transmitted to the relational database RDS through the real-time synchronization service DTS. Meanwhile, the vaccination and nucleic acid testing data from the external data acquisition module are written to the relational database RDS through the DataX offline data transfer component. The process of accessing venue code scanning log data, venue code scanning personnel, and venue code data through the venue code module, storing the venue code scanning log data in a message queue (MQ), and storing the venue code scanning personnel and venue code data in a relational database (RDS) includes: Citizens can scan the QR code of a venue using Alipay, WeChat, or the municipal APP. The first scan will register their identity information and complete real-name authentication. Subsequent scans will automatically combine the unique venue ID, the unique ID of the person scanning the code, and the scan time to create a record of the person's visit to the venue. This record will be pushed to the message queue (MQ) for storage in JSON format. In addition, the data of the person scanning the venue code and the venue code data will be synchronized to the relational database RDS in real time using DTS.
[0015] Furthermore, the offline ETL data processing procedure includes: First, Spark is used to periodically read data from the relational database RDS to form an internal Spark dataset. Then, the key fields are validated to ensure they conform to the specifications. Regular expressions are used to filter and clean the key field data, resulting in cleaned datasets. The address information from epidemiological investigation data and location code data is combined into a union set using standard address unique identification IDs to form an address dataset. By associating the identity information of individuals in epidemiological investigation data, venue code scanning personnel, vaccination data, and nucleic acid test data with ID card numbers and mobile phone numbers, the union of the data and duplicate data are taken to form a personnel dataset. Based on address datasets and personnel datasets, the event and relation data from each data source are processed to generate triplet information, namely subject-relation-subject. The real-time ETL data processing process includes: First, Spark Streaming is used to read streaming message data from the message queue MQ. Then, the key field data is cleaned, and the entity information in the original message data is replaced by the left-associative dimension table to obtain its attribute information. Finally, the visit relationship triplet information is generated, namely, person-visit time-visit location.
[0016] Furthermore, the graph data model uses people, locations, means of transportation, vaccines, and nucleic acid tests as vertices, and the relationships between people, between people and locations, between people and means of transportation, between people and nucleic acid tests, and between people and vaccinations as edges.
[0017] Furthermore, the graph computing algorithm engine reads data from the distributed graph database through the Spark data reading component, preprocesses the data according to the label propagation algorithm, updates the risk coefficient value by calling the graph label propagation classification algorithm, and finally updates the data in the distributed graph database through the Spark data export component.
[0018] Furthermore, the preprocessing of data according to the label propagation algorithm includes adding a starting label and specifying the propagation coefficient for the edge type.
[0019] Compared with the prior art, the present invention has the following advantages: 1. The epidemiological investigation module of the present invention integrates the location code scanning log data of the location code module. The scanning log data cannot be tampered with after it is generated. By viewing the contact and scanning relationship diagram of the case being investigated, staff can identify problems such as false reporting and missing reporting, so as to correct the epidemiological investigation data and improve the reliability of the epidemiological investigation data.
[0020] 2. This invention integrates multiple data sources, such as venue QR code scanning logs, vaccination data, and nucleic acid test data, effectively utilizing data to improve epidemiological investigation efficiency. In a city with a population of tens of millions, venue QR code scanning log data grows by tens of millions every day. Existing technologies, such as multi-table join queries in relational databases and commonly used single-node graph databases, cannot handle this scale of data. Therefore, this invention introduces a distributed graph database, effectively solving the problem of storing and processing large amounts of graph data.
[0021] 3. Based on multiple data sources such as epidemiological investigation data and venue code scanning log data, this invention proposes a method for calculating the risk coefficient of people and locations by combining a graph computing algorithm engine. This makes it easier for staff to query the risk coefficient of any person in the graph database, prioritize the investigation of people with high risk coefficients, help to rationally arrange screening and prevention and control work, and greatly improve efficiency.
[0022] 4. Compared with existing technologies that require users to write Cypher and other graph data query statements to query the results, this invention abstracts and encapsulates graph data queries into interfaces, and then provides users with corresponding business functions through a web interactive interface, thereby reducing the technical threshold for users. Attached Figure Description
[0023] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0024] Figure 1 This is an architecture diagram of the infectious disease transmission link tracing and risk warning system based on graph data according to an embodiment of the present invention; Figure 2 This is a schematic diagram of the offline ETL data processing flow according to an embodiment of the present invention; Figure 3 This is a schematic diagram of the real-time ETL data processing flow according to an embodiment of the present invention; Figure 4 This is a graph data model entity logic relationship diagram according to an embodiment of the present invention; Figure 5 This is the ER diagram, a physical model of a distributed graph database, according to an embodiment of the present invention. Figure 6 This is a schematic diagram of the distributed graph database import process according to an embodiment of the present invention; Figure 7 This is a schematic diagram illustrating the process of risk coefficient calculation and updating by the graph computing algorithm engine in an embodiment of the present invention; Figure 8 This is a visualization of the relationship between confirmed cases, close contacts, and secondary close contacts in an embodiment of the present invention. Detailed Implementation
[0025] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0026] like Figure 1 As shown, the infectious disease transmission link tracing and risk warning system based on graph data in this embodiment includes a data source module, a business data storage module, a graph data processing module, a graph data service module, and a functional application module. The following is a detailed explanation of each module.
[0027] The data source module includes an epidemiological investigation module, a venue code module, and an external data collection module. Big data applications certainly require data support. The data sources for this system mainly come from the above three modules. Through the epidemiological investigation module, investigators input epidemiological investigation data, which mainly includes basic information of cases and close and secondary close contacts (identity type, identification number, name, mobile phone number, current address, etc.), data on places visited by cases, and contact information with cases (date and location of the most recent contact with the case (converted into a unique standard address ID, province, city, district, street, community, and specific address data after conversion by the built-in standard address service)). Through the venue code module, data on venue code scanning logs, personnel scanning venue codes, and venue code data are input. The venue code scanning log data is the data of citizens registering a health code account on their mobile phones and then scanning the venue code QR code to sign in at the places they visit, including citizen identity, places visited, and time of visit. Through the external data collection module, data on vaccination and nucleic acid testing are input. Railway and flight travel data, mobile phone signaling data, etc. can also be added, all of which can serve as good data sources for graph data modeling.
[0028] Business data storage module. The business data storage module includes a relational database RDS and a message queue MQ. The relational database RDS is used to store epidemiological investigation data, external structured data, and data on personnel and venue codes that scan venue codes. The message queue MQ is used to store venue code scanning log data. Since scanning behavior is irreversible once it occurs, the message queue MQ is used for storage and real-time processing. MQ can store 7 days of data.
[0029] The graph data processing module includes offline and real-time ETL data processing components and a graph computing algorithm engine. The offline and real-time ETL components can process data from relational databases (RDS) in batches and messages from message queues (MQ) in real-time, achieving data cleaning and integration. The graph computing algorithm engine processes and calculates the graph data in the distributed graph database, calculating node risk coefficients and writing the results back to the distributed graph database. Preferably, the graph data processing module uses a Spark cluster for offline data processing and writes to the distributed graph database, and uses Spark Streaming for real-time data processing and writes to the distributed graph database.
[0030] The graph data service module includes a distributed graph database and a graph data query interface. The distributed graph database stores data processed by the graph data processing module and algorithms. The graph data query interface provides a read-only REST API for use by functional application modules. The distributed graph database supports parallel computing and online horizontal scaling under large data volumes.
[0031] The functional application module includes two main functions: a visual query and analysis interactive interface and risk warning alerts. The visual query and analysis interactive interface is a web-based visual interactive UI that provides functions such as viewing the transmission chain of all cases in this wave of the epidemic from a specific point in time, finding the visual transmission network centered on a case, and the risk coefficient and risk source of any individual in the graph database. The risk warning alert is based on the node risk coefficient calculated by the graph computing algorithm engine. Automatic warning monitoring is initiated by setting a threshold. When the calculation results show high-risk factors exceeding the threshold, an alert message can be sent. Simultaneously, risk factors can be highlighted in the visualization, allowing staff to prioritize and rationally allocate resources when formulating next steps, prioritizing investigations of individuals with high risk coefficients, thus improving overall prevention and control efficiency.
[0032] Based on the aforementioned graph-based infectious disease transmission link tracing and risk warning system, this embodiment also proposes a graph-based infectious disease transmission link tracing and risk warning method, including the following steps: Step S1: Access epidemiological investigation data through the epidemiological investigation module, access vaccination and nucleic acid testing data through the external data acquisition module, and store them in the relational database RDS.
[0033] First, the disease control department enters the confirmed case information into the epidemiological investigation module, forming an epidemiological investigation case for a confirmed case. Then, epidemiological investigators accept this case through the epidemiological investigation module, conduct contact tracing, secondary contact tracing, and location investigation, and record the information in the epidemiological investigation module. When an epidemiological investigator completes an epidemiological investigation case, the epidemiological investigation data in the epidemiological investigation module is transmitted to the relational database RDS through the real-time data synchronization service DTS. At the same time, vaccination data (document type, document number, name, vaccine type, vaccine name, vaccine batch, etc.) and nucleic acid test data (document type, document number, name, mobile phone number, current address, nucleic acid test time, nucleic acid test site, nucleic acid test result) from the external data collection module are written to the relational database RDS through the offline database table transmission component DataX.
[0034] Step S2: Access venue code scanning log data, venue code scanning personnel and venue code data through the venue code module. Store the venue code scanning log data in the message queue MQ, and store the venue code scanning personnel and venue code data in the relational database RDS.
[0035] QR codes are affixed to public transportation, public places, schools, hospitals, shops, supermarkets, and other locations. These QR codes are URLs with parameters, including a unique identifier for the location. Citizens can scan these QR codes using Alipay, WeChat, or the municipal app. The first scan requires identity registration and real-name authentication (including ID type, ID number, name, mobile phone number, and current address). Subsequent scans automatically combine the unique location identifier, the scanner's unique identifier, and the scan time to create a record of the visitor's visit. This record is then pushed to a message queue (MQ) in JSON format. Furthermore, the data on those who scanned the QR codes and the location codes themselves (including the standard address's unique identifier, province, city, district, street, community, and specific address) is synchronized in real-time to a relational database (RDS) using a data transmission service (DTS).
[0036] Step S3 involves cleaning and integrating the data from the relational database RDS and message queue MQ using offline and real-time ETL data processing components.
[0037] The offline ETL data processing procedure is as follows: like Figure 2 As shown, Spark is first used to periodically read various data from the relational database RDS to form an internal Spark dataset. Then, the key fields (such as ID number and phone number) are validated to ensure they conform to the specifications. Regular expressions (such as "^[1][0-9]{10}$") are used to filter and clean the key field data (such as removing illegal characters and spaces) to obtain the cleaned datasets. Next, the address information of the epidemiological investigation data and the venue code data is combined into a union to form an address dataset (including the standard address unique identifier, province, city, district, street, community, specific address, and latitude and longitude). The identity information of the personnel in the epidemiological investigation data, venue code scanning personnel, vaccination, and nucleic acid test data is associated with the ID number and mobile phone number. The union is taken and duplicate data is removed to form a personnel dataset (including personnel identification ID, ID type, ID number, name, mobile phone number, and whether it is a confirmed case). Based on address datasets and personnel datasets, the event and relationship data from each data source are processed to produce triplet information, namely subject-relationship-subject. For example, the contact relationship data between people (personnel ID, contact time, contact type, contact frequency, and contacted person ID) can be obtained from the close contact records in the epidemiological investigation data.
[0038] The real-time ETL data processing process is as follows: like Figure 3As shown, Spark Streaming is first used to read streaming message data from the message queue MQ; then, the key field data is cleaned, and the entity information in the original message data is replaced by the left-associative dimension table to obtain its attribute information. For example, the data is integrated by associating the scanning records of the venue code scanning log data with personnel and locations to obtain a unified personnel identification ID and a unique location identification ID; finally, the visit relationship triple information (personnel identification ID, visit time, and unique location identification ID) is generated.
[0039] Step S4: Import the processed data into the distributed graph database according to the graph data model.
[0040] The logical relationships in the graph data model are as follows: Figure 4 As shown, with people, locations, means of transportation, vaccines, and nucleic acid testing as vertices, and relationships such as person-to-person contact, person-to-location visits, person-to-means of transportation, person-to-nucleic acid testing, and person-to-vaccine vaccination as edges, the specific physical model design for the unique identifier (VID) and attributes of each vertex, and the unique identifier (a combination of the start VID, end VID, edge type, and additional Rank) and attributes of each edge is as follows: Figure 5 As shown.
[0041] With the graph data model and physical model of the distributed graph database, the previously prepared data can be imported into the distributed graph database according to the model. In fact, this step is continuous with the previous data processing step, such as... Figure 6 As shown, the processed data basically meets the model requirements. For example, the data on personnel vertices and location vertices meet the requirements of the vertex data model, and the triple data such as visits and vaccinations meet the requirements of the edge data model. If necessary, such as nucleic acid test data, it can be further processed according to the model and then the Spark import component of the distributed graph database can be used to write the data into the distributed graph database.
[0042] Step S5: Use the graph computing algorithm engine to process the graph data in the distributed graph database and calculate the node risk coefficient.
[0043] like Figure 7 As shown, the graph computing algorithm engine reads data from the distributed graph database through the Spark graph database data reading component, preprocesses the data according to the label propagation algorithm, such as adding starter labels and specifying the propagation coefficients for edge types; then it calls the graph label propagation classification algorithm to update the risk coefficient values, and finally updates the data in the distributed graph database through the Spark graph database data export component.
[0044] Essentially, the graph computation algorithm in this example calculates the propagation probability of a label (i.e., the label "risky"). The specific implementation steps are as follows: Step S51: During the initial calculation, the vertices for which risk coefficients need to be calculated are selected based on vertex type. Only personnel vertices and location vertices are used as targets for risk coefficient calculation. Then, due to the time-sensitivity of visit relationships, only the edges of visit relationships within the last 24 hours are taken. Next, a contact relationship is established between people based on visit records. That is, an edge of contact relationship is added between two personnel vertices that have visited the same location. Different contact types, such as "completely simultaneous empty", "simultaneous empty", and "possibly simultaneous empty", are set on the edge within 1 minute, 15 minutes, and 60 minutes based on the visit scanning time. Next, a start label is added. In fact, when processing personnel vertices, confirmed personnel have already been labeled with "whether confirmed". Here, these personnel vertices are marked as "risky" and the risk coefficient (i.e., node weight) is set to 1.0. Based on the relationship of nucleic acid test records, people who have tested negative for nucleic acid within 24 hours are marked as "risky" and the risk coefficient is 0. Next, the propagation coefficient (i.e., edge weight) of the edges is set. For example, the propagation coefficient of the edge with the contact relationship type of completely simultaneous space-time is set to 1.0, the propagation coefficient of the edge with the type of simultaneous space-time is set to 0.9, and the propagation coefficient of the edge with the type of possibly simultaneous space-time is set to 0.5; the propagation coefficient of the edge on the visit relationship between all people and the location is set to 0.5.
[0045] Step S52: After setting the initial labels and weights, the data is fed into the label propagation algorithm. This algorithm, briefly described, uses the initially labeled nodes and their weights in conjunction with the edge weights of the incoming directions to assign the label "risky" to the endpoint node of the direction edge with a certain probability (calculated from the weights). The endpoint node calculates its own probability of being labeled "risky" based on the probability values transmitted from multiple incoming directions; this is its own "risky" label risk coefficient. This algorithm repeats this calculation multiple times, refreshing the risk coefficients of each node until the calculation results converge or reach the set maximum iteration coefficient (100 in this embodiment).
[0046] Step S53: Finally, update the graph database with the calculation results according to the vertex VID.
[0047] Since the risk coefficient calculation is a full-graph calculation, it is time-consuming to execute on a distributed cluster. Therefore, it is executed periodically. In this embodiment, it is executed once a day. Except for the first time and for newly diagnosed individuals, which require adding initial labels and weights to vertices, the calculations of each subsequent day can inherit the results of the previous calculation.
[0048] Step S6: Use the visual query and analysis interface to query the propagation path, risk factors, and set thresholds to trigger risk warning alerts.
[0049] The web-based interactive application primarily provides functions such as finding close and secondary close contacts of confirmed cases within a period of time prior to diagnosis (parameters can be controlled, such as 3 days); identifying suspected close contacts who visited the same location within a certain time frame (parameters can be adjusted by scanning time, such as within 10 minutes after a confirmed case scans the code); finding individuals with a risk level higher than a certain threshold; and setting risk thresholds and activating early warning alerts through designated channels.
[0050] Based on the query requirements of the web interface, we first developed a REST API for querying the graph database. For example, using the confirmed person's ID number and parameters from the days prior to diagnosis, we can obtain all the information needed for graph visualization, including vertices of close contacts and secondary close contacts, vertices of places visited, vertices of means of transportation used, as well as edges of contact relationships and visit records. Similarly, using the person's ID number, we can obtain vertices of their vaccination and nucleic acid test results, along with edges related to vaccination and nucleic acid testing. Likewise, using any person's ID number, date range, and spatiotemporal intersection time period (e.g., 10 minutes), we can obtain all locations visited by that person within a given date range, as well as vertices and edges of all suspected close contacts who visited the same locations within 10 minutes. In addition, there are many other query interfaces generated based on business needs, which are not listed here.
[0051] The web-based interactive interface visualizes the returned data through a graph data query interface, displaying the parameters input and selected by the user. Vertices and edges in the graph can be selected for detailed attribute display (e.g., for personnel vertices, basic information such as name, phone number, current address, and additional risk coefficients calculated by the system can be queried). Users can also explore any selected vertex, enabling queries on the extensional relationship subgraph centered on any vertex. This includes querying close and secondary close relationships through confirmed diagnosis, such as... Figure 8 As shown.
[0052] The risk warning function also first uses a graph data query interface. Given a threshold, it returns all vertices with risk coefficients higher than the threshold and the edges between them. It also provides an interface to return the top 100 individuals and locations with high risk coefficients by type. After finding a suitable threshold, this threshold and an alert method (such as email, DingTalk robot, or WeChat Work robot) can be set. Each time the risk coefficient is refreshed, a script is triggered to query through the interface, and then the results are pushed to staff via the set alert method, indicating newly added high-risk individuals and locations.
[0053] It should be noted that, in this document, the terms “comprising,” “including,” or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus.
[0054] Finally, it should be noted that the above description is merely a preferred embodiment of the present invention and is only used to illustrate the technical solution of the present invention, and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention are included within the scope of protection of the present invention.
Claims
1. A system for tracing the transmission chain and providing early warning of infectious diseases based on graph data, characterized in that, It includes a data source module, a business data storage module, a graph data processing module, a graph data service module, and a functional application module; The data source module includes an epidemiological investigation module, a venue code module, and an external data collection module. The epidemiological investigation module inputs epidemiological investigation data, the venue code module inputs venue code scanning log data, venue code scanning personnel data, and venue code data, and the external data collection module inputs vaccination and nucleic acid testing data. The business data storage module includes a relational database RDS and a message queue MQ. The relational database RDS is used to store epidemiological investigation data, external structured data, venue code scanning personnel and venue code data, and the message queue MQ is used to store irrevocable venue code scanning log data. The graph data processing module includes offline and real-time ETL data processing components and a graph computing algorithm engine. The offline and real-time ETL data processing components clean and integrate data from the business data storage module, while the graph computing algorithm engine processes and calculates node risk coefficients from the distributed graph database, writing the results back to the distributed graph database. The graph computing algorithm engine reads data from the distributed graph database through the graph database Spark data reading component, preprocesses the data according to the label propagation algorithm, updates the risk coefficient values by calling the graph label propagation classification algorithm, and finally updates the data in the distributed graph database through the graph database Spark data export component. The preprocessing includes... Add a start tag and specify the propagation coefficient for edge types: Only personnel vertices and location vertices are used as targets for risk coefficient calculation. Only edges of visit relationships within the past 24 hours are taken. Based on the visit records, an edge of contact relationship is added between two personnel vertices that have visited the same location. Based on the visit scanning time, the propagation coefficients are set to "completely simultaneous", "simultaneous", and "possibly simultaneous" within 1 minute, 15 minutes, and 60 minutes, respectively, with corresponding edge propagation coefficients of 1.0, 0.9, and 0.
5. The propagation coefficient on the edges of all personnel's visit relationships to the location is set to 0.
5. Confirmed personnel vertices are marked as "at risk" with a risk coefficient of 1.0, and people who tested negative for nucleic acid within 24 hours are marked as "at risk" with a risk coefficient of 0. The graph data service module includes a distributed graph database and a graph data query interface. The distributed graph database stores the data processed by the graph data processing module and the data processed by the algorithm. The graph data query interface provides a read-only REST API interface for use by the functional application modules. The functional application module allows users to query the propagation path and risk factors through a visual query and analysis interface, and set thresholds to trigger risk warnings and alerts.
2. The infectious disease transmission link tracing and risk early warning system based on graph data according to claim 1, characterized in that, The epidemiological investigation data includes basic information on the case and close and secondary close contacts, data on the places visited by the case, and contact information with the case; the venue code scanning log data is the data of citizens checking in by scanning the venue code QR code at the places they visited, including the citizen's identity, the place visited, and the time of visit.
3. The infectious disease transmission link tracing and risk early warning system based on graph data according to claim 1, characterized in that, The graph data processing module uses a Spark cluster for offline data processing and writes the data to a distributed graph database, and uses Spark Streaming for real-time data processing and writes the data to a distributed graph database.
4. A method for tracing the transmission chain and providing risk warning of infectious diseases based on graph data, characterized in that, Based on the system implementation as described in any one of claims 1-3, the method includes the following steps: Epidemiological investigation data is accessed through the epidemiological investigation module, and vaccination and nucleic acid testing data are accessed through the external data acquisition module and stored in the relational database RDS. The venue code module accesses venue code scanning log data, venue code scanning personnel and venue code data. The venue code scanning log data is stored in a message queue (MQ), and the venue code scanning personnel and venue code data are stored in a relational database (RDS). Cleaning and integrating data from relational database RDS and message queue MQ through offline and real-time ETL data processing components; Import the processed data into a distributed graph database according to the graph data model; The graph computing algorithm engine is used to process the graph data in the distributed graph database and calculate the node risk coefficient. The interactive visual query and analysis interface allows users to query the propagation path, risk factors, and set thresholds to trigger risk warnings.
5. The method for tracing the transmission chain of infectious diseases and providing early warning of risks based on graph data according to claim 4, characterized in that, The process of accessing epidemiological investigation data through an epidemiological investigation module, accessing vaccination and nucleic acid testing data through an external data acquisition module, and storing the data in a relational database (RDS) includes: First, the disease control department enters the information of confirmed cases into the epidemiological investigation module to form an epidemiological investigation case of a confirmed case. Then, the epidemiological investigators accept this epidemiological investigation case through the epidemiological investigation module and carry out epidemiological investigation work on close contacts, secondary close contacts and locations, and record the information in the epidemiological investigation module. When an epidemiologist completes an epidemiological investigation case, the epidemiological investigation data from the epidemiological investigation module will be transmitted to the relational database RDS through the real-time synchronization service DTS. Meanwhile, the vaccination and nucleic acid testing data from the external data acquisition module are written to the relational database RDS through the DataX offline data transfer component. The process of accessing venue code scanning log data, venue code scanning personnel, and venue code data through the venue code module, storing the venue code scanning log data in a message queue (MQ), and storing the venue code scanning personnel and venue code data in a relational database (RDS) includes: Citizens can scan the QR code of a venue using Alipay, WeChat, or the municipal APP. The first scan will register their identity information and complete real-name authentication. Subsequent scans will automatically combine the unique venue ID, the unique ID of the person scanning the code, and the scan time to create a record of the person's visit to the venue. This record will be pushed to the message queue (MQ) for storage in JSON format. In addition, the data of the person scanning the venue code and the venue code data will be synchronized to the relational database RDS in real time using DTS.
6. The method for tracing the transmission chain of infectious diseases and providing early warning of risks based on graph data according to claim 4, characterized in that, The offline ETL data processing process includes: First, Spark is used to periodically read data from the relational database RDS to form an internal Spark dataset. Then, the key fields are validated to ensure they conform to the specifications. Regular expressions are used to filter and clean the key field data, resulting in cleaned datasets. The address information from epidemiological investigation data and location code data is combined into a union set using standard address unique identification IDs to form an address dataset. By associating the identity information of individuals in epidemiological investigation data, venue code scanning personnel, vaccination data, and nucleic acid test data with ID card numbers and mobile phone numbers, the union of the data and duplicate data are taken to form a personnel dataset. Based on address datasets and personnel datasets, the event and relation data from each data source are processed to generate triplet information, namely subject-relation-subject. The real-time ETL data processing process includes: First, Spark Streaming is used to read streaming message data from the message queue MQ. Then, the key field data is cleaned, and the entity information in the original message data is replaced by the left-associative dimension table to obtain its attribute information. Finally, the visit relationship triplet information is generated, namely, person-visit time-visit location.
7. The method for tracing the transmission chain of infectious diseases and providing risk early warning based on graph data according to claim 4, characterized in that, The graph data model uses people, locations, means of transportation, vaccines, and nucleic acid tests as vertices, and relationships between people, between people and locations, between people and means of transportation, between people and nucleic acid tests, and between people and vaccinations as edges.
Citation Information
Patent Citations
Graph database for outbreak tracking and management
CN112368782A
Analysis method and system for epidemic propagation
CN113312581A