Intelligent early warning platform for zoonosis epidemiological monitoring multi-source data

CN122800296APending Publication Date: 2026-09-22SHANDONG PROVINCIAL CENT FOR ANIMAL DISEASE CONTROL & PREVENTION
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611000399.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-07-07
Publication Date
2026-09-22

AI Technical Summary

Technical Problem

[0003]现有方法基于数据源独立阈值预警,分别对人类传染病报告数据、动物疫病报告数据和环境样本检测数据设定各自的预警阈值,当某一数据源的报告数量超过对应阈值时触发该数据源的独立预警,这种方式将三类数据割裂处理,无法捕捉不同来源数据在时间和空间上的交叉关联关系,人畜共患病的跨种传播往往首先表现为人类病例、动物疫情和环境阳性样本在同一时段、同一区域内的同步出现,而非单一数据源在数量上的增长,单一数据源独立预警丢弃了多源数据之间的时空同步信息

Benefits of technology

本发明通过将三类异常事件条目集合合并为全源集合,按发生时间窗口序号进行分组,在同一时间组内通过计算空间网格单元的行列坐标间距判定彼此是否紧邻,将同一时间窗口内空间上彼此紧邻的异常事件条目合并为同步异常事件群聚簇,每一个同步异常事件群聚簇的形成过程均可按条目逐条追溯;

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122800296A_ABST
    Figure CN122800296A_ABST
Patent Text Reader

Abstract

The application discloses a zoonosis flow monitoring multi-source data intelligent early warning platform and relates to the technical field of public health monitoring, which comprises the following steps: acquiring human infectious disease report data, animal epidemic disease report data and environmental sample detection data, generating a human abnormal event item set, an animal abnormal event item set and an environmental abnormal event item set based on the three types of data, and classifying abnormal event items with the same occurrence time window serial number and adjacent spatial grid units in the three abnormal event item sets into the same synchronous abnormal event cluster; for each synchronous abnormal event cluster, counting the number of cross-correlation pairs and the total number of abnormal event items; based on the clustering closeness, marking the synchronous abnormal event cluster as a cross-source clustering cluster, and issuing a warning for the cross-source clustering cluster. The abnormal event items are combined into a synchronous abnormal event clustering cluster, and the formation process of each synchronous abnormal event clustering cluster can be traced back item by item.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of public health monitoring technology, specifically to an intelligent early warning platform for multi-source data on epidemiological investigation and monitoring of zoonotic diseases. Background Technology

[0002] Zoonotic diseases are infectious diseases that can be naturally transmitted between humans and vertebrates. Their outbreaks and epidemics pose a serious threat to public health and livestock production. Early warning of zoonotic diseases relies on the comprehensive analysis of multi-source monitoring information, such as human infectious disease reporting data, animal disease reporting data, and environmental sample testing data. When there is a synchronous clustering of increased human cases, animal epidemics, and environmental pathogen detection within a certain time and space, it indicates a potential risk of cross-species transmission. How to automatically identify multi-source synchronous abnormal clustering events from monitoring data of different sources and different time frequencies is the core technical problem currently facing the field of zoonotic disease monitoring and early warning.

[0003] Existing methods rely on independent threshold warnings for data sources, setting separate warning thresholds for human infectious disease reports, animal disease reports, and environmental sample testing data. When the number of reports from a particular data source exceeds the corresponding threshold, an independent warning for that data source is triggered. This approach treats the three types of data in isolation, failing to capture the temporal and spatial cross-correlation relationships between data from different sources. Cross-species transmission of zoonotic diseases often manifests first as the synchronous appearance of human cases, animal outbreaks, and positive environmental samples in the same time period and region, rather than an increase in the number of reports from a single data source. Independent warnings for a single data source discard the spatiotemporal synchronization information between multiple data sources. Summary of the Invention

[0004] Existing methods rely on a single data source for independent early warning, which results in the loss of multi-source spatiotemporal synchronization information. To address the shortcomings of existing technologies, this invention provides an intelligent early warning platform based on multi-source data for the epidemiological investigation and monitoring of zoonotic diseases.

[0005] To achieve the above objectives, the present invention provides the following technical solution: an intelligent early warning platform for multi-source data on epidemiological investigation and monitoring of zoonotic diseases, specifically comprising: Anomaly Entry Generation Module: Acquires human infectious disease report data, animal disease report data, and environmental sample detection data, and generates sets of human abnormal event entries, animal abnormal event entries, and environmental abnormal event entries based on the three types of data respectively; Abnormal event cluster generation module: Groups abnormal event entries with the same occurrence time window number and adjacent spatial grid cells from three abnormal event entry sets into the same synchronous abnormal event cluster; Association Entry Statistics Module: For each synchronous exception event cluster, count the number of cross-association pairs between exception event entries from different event type codes, as well as the total number of exception event entries; Early warning module: Determines the cluster density based on the number of cross-association pairs and the total number of abnormal event entries, marks synchronous abnormal event clusters as cross-source clusters, and issues early warnings for cross-source clusters.

[0006] Preferably, the abnormal entry generation module acquires human infectious disease report data, which includes multiple human case records, each containing the date of diagnosis and the geographical coordinates of the location where the case occurred; Obtain animal disease report data, which contains multiple animal disease records. Each animal disease record includes the date of disease discovery and the geographical coordinates of the disease occurrence location. The environmental sample testing data includes multiple environmental sample records. Each environmental sample record includes the sample collection date, the geographical coordinates of the sampling point, and the sample testing results, which include positive and negative results. The monitoring period is defined as the monitoring start date, the latest case diagnosis date, and the time period from the monitoring start date to the monitoring end date. The monitoring start date is obtained from all human case records in the human infectious disease reporting data. The monitoring period is divided into several consecutive time windows at equal intervals. Adjacent time windows are connected end to end without overlapping. Each time window is assigned a window number according to the chronological order, and the window numbers are sequentially increased from the first number. Obtain the geographic coordinates of the occurrence locations of all human cases in the human infectious disease reporting data, and calculate the longitude difference between the maximum and minimum longitude values ​​and the latitude difference between the maximum and minimum latitude values ​​among all the geographic coordinates of the occurrence locations of the cases. Divide the longitude difference by the number of grid divisions in the first grid to obtain the longitude step size, and divide the latitude difference by the number of grid divisions in the second grid to obtain the latitude step size; Starting from the minimum longitude and minimum latitude, and using the longitude step size and latitude step size as the step size, the monitoring area is divided into several rectangular spatial grid units, and each spatial grid unit is assigned a unique grid unit number according to the row and column order. For each human case record, extract the case diagnosis date from the human case record, determine which time window the case diagnosis date falls into, and use the window number of the time window into which the case diagnosis date falls as the occurrence time window number of the human case record. Extract the geographical coordinates of the location of the case from the human case record, determine which spatial grid cell the geographical coordinates of the case location fall within, and use the grid cell number of the spatial grid cell into which the case location falls as the spatial location code of the human case record. The first event type code is used as the event type code in the human case record. The event type code, spatial location code, and occurrence time window number are combined into a human abnormal event entry. All human abnormal event entries are summarized to form a human abnormal event entry set. For animal disease reporting data, the disease discovery date and geographical coordinates of the disease occurrence location are extracted for each animal disease record. The disease discovery date is mapped to the occurrence time window number, the geographical coordinates of the disease occurrence location are mapped to the spatial location code, and the second event type code is used as the event type code. These are combined into an animal abnormal event entry. All animal abnormal event entries are summarized to form an animal abnormal event entry set. For environmental sample testing data, extract each environmental sample record with a positive test result from the environmental sample testing data, map the sample collection date to the occurrence time window sequence number, map the geographical coordinates of the sampling point to the spatial location code, and use the third event type code as the event type code to combine them into an environmental abnormal event entry. Summarize all environmental abnormal event entries to form an environmental abnormal event entry set.

[0007] Preferably, the abnormal event cluster generation module merges the human abnormal event entry set, the animal abnormal event entry set, and the environmental abnormal event entry set into a full-source abnormal event entry set; From the set of all-source abnormal event entries, group them according to the occurrence time window number, and group abnormal event entries with the same occurrence time window number into the same time group; For each time group, obtain the spatial location code of all abnormal event entries in the time group, and convert the spatial location code into row and column grid coordinates, which include row number and column number. For any two abnormal event entries within the same time group, calculate the absolute value of the difference between the row number and the absolute value of the difference between the column number. When the absolute value of the difference between the row number does not exceed the first adjacent value and the absolute value of the difference between the column number does not exceed the second adjacent value, the spatial grid cells of the two abnormal event entries are determined to be adjacent to each other. Abnormal event entries that are spatially adjacent to each other within the same time group are grouped into the same group. If an abnormal event entry is spatially adjacent to at least one abnormal event entry in the same group, the abnormal event entry is retained in that group. Each group obtained after merging is considered as a synchronous abnormal event cluster.

[0008] Preferably, the associated entry statistics module counts the total number of abnormal event entries contained in the current synchronization abnormal event cluster, and uses the statistical result as the total number of abnormal event entries in the synchronization abnormal event cluster. Extract a list of all event type codes that appear within the synchronization exception event cluster; For each type pair consisting of two different event type codes in the category list, within the synchronous abnormal event cluster, retrieve the entry pairs where the spatial grid cells are adjacent to each other and one abnormal event entry has the event type code of the first event type code in the type pair, and the other abnormal event entry has the event type code of the second event type code in the type pair. Count the number of entry pairs that meet the conditions, and use this number as the number of cross-association pairs of that type pair. The number of cross-association pairs corresponding to each of the two different event type codes is summed one by one, and the summation result is used as the number of cross-association pairs of the synchronous exception event cluster.

[0009] Preferably, the early warning module divides the number of cross-association pairs of the current synchronous abnormal event cluster by the total number of abnormal event entries, and uses the resulting ratio as the cluster density value of the synchronous abnormal event cluster. Extract all human abnormal event entries with the event type code of the first event type code from the full-source abnormal event entry set. Only use all the extracted human abnormal event entries to re-execute the operation of grouping abnormal event entries with the same occurrence time window number and adjacent spatial grid cells into the same synchronous abnormal event cluster, to obtain the human internal cluster set. For each human internal cluster in the human internal cluster set, count the number of cross-association pairs between anomalous event entries from different event type codes within the human internal cluster and the total number of anomalous event entries within the human internal cluster. Divide the number of cross-association pairs by the total number of anomalous event entries to obtain the cluster density value of the human internal cluster. Compare the cluster density values ​​of all human internal clusters and take the maximum value as the maximum cluster density value of human internal clusters. Extract all animal abnormal event entries with the second event type code from the full-source abnormal event entry set. Then, re-execute the operation of grouping abnormal event entries with the same occurrence time window number and adjacent spatial grid cells into the same synchronous abnormal event cluster using only the extracted animal abnormal event entries to obtain the animal internal cluster set. For each animal intracluster in the set of animal intraclusters, count the number of cross-association pairs between anomalous event entries from different event type codes within the animal intracluster and the total number of anomalous event entries within the animal intracluster. Divide the number of cross-association pairs by the total number of anomalous event entries to obtain the cluster density value of the animal intracluster. Compare the cluster density values ​​of all animal intraclusters and take the maximum value as the maximum cluster density value of the animal intracluster. Extract all environmental abnormal event entries with the event type code of the third event type from the full-source abnormal event entry set. Only use all the extracted environmental abnormal event entries to re-execute the operation of grouping abnormal event entries with the same occurrence time window number and spatial grid cells that are adjacent to each other into the same synchronous abnormal event cluster, and obtain the set of internal environmental clusters. For each internal cluster in the set of internal clusters, count the number of cross-correlation pairs between abnormal event entries from different event type codes within the internal cluster and the total number of abnormal event entries within the internal cluster. Divide the number of cross-correlation pairs by the total number of abnormal event entries to obtain the cluster density value of the internal cluster. Compare the cluster density values ​​of all clusters within the environment, and take the maximum value as the maximum cluster density value within the environment. The maximum cluster density values ​​among humans, animals, and the environment are compared, and the maximum value among these three values ​​is taken as the maximum cluster density value of the same origin. The cluster density value of the synchronous abnormal event cluster is compared with the maximum cluster density value of the same source. When the cluster density value of the synchronous abnormal event cluster is greater than or equal to the maximum cluster density value of the same source, the synchronous abnormal event cluster is marked as a cross-source cluster. For each cluster of synchronization anomalies marked as a cross-source cluster, extract the occurrence time window number corresponding to the cross-source cluster, look up the corresponding date range based on the occurrence time window number, and use the corresponding date range as the warning period. Extract the spatial location codes of all abnormal event entries within the cross-source cluster. After deduplicating all extracted spatial location codes, determine the latitude and longitude range covered by the spatial grid cells corresponding to these spatial location codes in the monitoring area, and use the latitude and longitude range covered in the monitoring area as the early warning area. Extract the combination of all event type codes that appear in the cross-source cluster, and determine the cross-source event types involved in the cross-source cluster based on the combination of types. The cross-source event types are used to indicate which sources of abnormal events have appeared simultaneously in the cross-source cluster. The warning period, warning area, and cross-source event type are summarized to generate a warning message, which is then output to the warning message display interface.

[0010] This invention provides an intelligent early warning platform for multi-source data on epidemiological investigation and monitoring of zoonotic diseases, which has the following beneficial effects: This invention merges three types of abnormal event entries into a full source set, groups them according to the occurrence time window number, and determines whether they are adjacent by calculating the row and column coordinate spacing of the spatial grid cells within the same time group. Abnormal event entries that are spatially adjacent to each other within the same time window are merged into synchronous abnormal event clusters. The formation process of each synchronous abnormal event cluster can be traced back item by item. This invention counts the number of cross-correlation pairs between different event type codes and the total number of anomalous event entries within each synchronous anomalous event cluster. The cluster density value is obtained by dividing the number of cross-correlation pairs by the total number of anomalous event entries. The cluster density value comprehensively reflects the spatial cross-correlation density between anomalous events from different sources within the synchronous anomalous event cluster. The maximum cluster density value is calculated separately, and the maximum value of the maximum cluster density value within three single sources is taken as the maximum cluster density value of the same source. The maximum cluster density value of the same source is used as the comparison benchmark for judging cross-source clustering. When the cluster density of a multi-source synchronous cluster reaches or exceeds the maximum cross-correlation density that any single source can achieve, it indicates that a multi-source cross-clustering phenomenon exceeding the normal clustering level within a single source has occurred in the spatiotemporal range. Attached Figure Description

[0011] Figure 1 This is a platform flowchart of the present invention; Figure 2 This is a flowchart illustrating the cluster density of the present invention. Detailed Implementation

[0012] 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.

[0013] Please see Figures 1-2 This invention provides an intelligent early warning platform for multi-source data on epidemiological investigation and monitoring of zoonotic diseases, comprising: Anomaly Entry Generation Module: Acquires human infectious disease report data, animal disease report data, and environmental sample detection data, and generates sets of human abnormal event entries, animal abnormal event entries, and environmental abnormal event entries based on the three types of data respectively; In this embodiment of the invention, it should be noted that the abnormal entry generation module obtains human infectious disease report data, which includes multiple human case records. Each human case record includes the date of diagnosis and the geographical coordinates of the location where the case occurred. Obtain animal disease report data, which contains multiple animal disease records. Each animal disease record includes the date of disease discovery and the geographical coordinates of the disease occurrence location. The environmental sample testing data includes multiple environmental sample records. Each environmental sample record includes the sample collection date, the geographical coordinates of the sampling point, and the sample testing results, which include positive and negative results. The monitoring period is defined as the monitoring start date, the latest case diagnosis date, and the time period from the monitoring start date to the monitoring end date. The monitoring start date is obtained from all human case records in the human infectious disease reporting data. The monitoring period is divided into several consecutive time windows at equal intervals. Adjacent time windows are connected end to end without overlapping. Each time window is assigned a window number according to the chronological order, and the window numbers are sequentially increased from the first number. Obtain the geographic coordinates of the occurrence locations of all human cases in the human infectious disease reporting data, and calculate the longitude difference between the maximum and minimum longitude values ​​and the latitude difference between the maximum and minimum latitude values ​​among all the geographic coordinates of the occurrence locations of the cases. Divide the longitude difference by the number of grid divisions in the first grid to obtain the longitude step size, and divide the latitude difference by the number of grid divisions in the second grid to obtain the latitude step size; Starting from the minimum longitude and minimum latitude, and using the longitude step size and latitude step size as the step size, the monitoring area is divided into several rectangular spatial grid units, and each spatial grid unit is assigned a unique grid unit number according to the row and column order. For each human case record, extract the case diagnosis date from the human case record, determine which time window the case diagnosis date falls into, and use the window number of the time window into which the case diagnosis date falls as the occurrence time window number of the human case record. Extract the geographical coordinates of the location of the case from the human case record, determine which spatial grid cell the geographical coordinates of the case location fall within, and use the grid cell number of the spatial grid cell into which the case location falls as the spatial location code of the human case record. The first event type code is used as the event type code in the human case record. The event type code, spatial location code, and occurrence time window number are combined into a human abnormal event entry. All human abnormal event entries are summarized to form a human abnormal event entry set. For animal disease reporting data, the disease discovery date and geographical coordinates of the disease occurrence location are extracted for each animal disease record. The disease discovery date is mapped to the occurrence time window number, the geographical coordinates of the disease occurrence location are mapped to the spatial location code, and the second event type code is used as the event type code. These are combined into an animal abnormal event entry. All animal abnormal event entries are summarized to form an animal abnormal event entry set. For environmental sample testing data, extract each environmental sample record with a positive test result from the environmental sample testing data, map the sample collection date to the occurrence time window sequence number, map the geographical coordinates of the sampling point to the spatial location code, and use the third event type code as the event type code to combine them into an environmental abnormal event entry. Summarize all environmental abnormal event entries to form an environmental abnormal event entry set.

[0014] It should be noted that the specific operation steps of the exception entry generation module are as follows: The data source for obtaining human infectious disease reporting data can be the information system of disease prevention and control institutions, the infectious disease network direct reporting system, or other human infectious disease surveillance data storage platforms. The obtained human infectious disease reporting data contains multiple human case records. Each human case record corresponds to a confirmed human infectious disease case and includes two pieces of information: the date of case diagnosis and the geographical coordinates of the case location. The date of case diagnosis is recorded in the form of year, month, and day, and the geographical coordinates of the case location are recorded in the form of longitude and latitude values.

[0015] Animal disease report data can be obtained from information systems of animal disease prevention and control institutions, veterinary epidemic reporting platforms, or other animal disease monitoring and data storage platforms. The obtained animal disease report data contains multiple animal disease records. Each animal disease record corresponds to a confirmed animal epidemic event and includes two pieces of information: the date of disease discovery and the geographical coordinates of the disease occurrence location.

[0016] The third data source for obtaining environmental sample testing data can be the laboratory information management system of the environmental monitoring agency, the environmental sample testing database, or other environmental monitoring data storage platforms. The obtained environmental sample testing data contains multiple environmental sample records. Each environmental sample record corresponds to an environmental sample that has been collected and tested. It includes three pieces of information: sample collection date, geographical coordinates of the sampling point, and sample testing result. The selectable values ​​for the sample testing result are positive and negative. A positive result indicates that the target pathogen was detected in the environmental sample, while a negative result indicates that it was not detected.

[0017] After obtaining human infectious disease reporting data, the monitoring period is determined based on the time distribution of human case records, and time windows are divided. All human case records in the human infectious disease reporting data are traversed, and the case diagnosis date is extracted from each human case record. After summarizing all case diagnosis dates, the earliest and latest case diagnosis dates are found. The earliest case diagnosis date is used as the monitoring start date, and the latest case diagnosis date is used as the monitoring end date. The continuous time period between the monitoring start date and the monitoring end date is determined as the monitoring period, which covers the time distribution range of all cases in the human infectious disease reporting data.

[0018] After determining the monitoring period, the monitoring period is divided into equal intervals. The total number of days between the monitoring start date and the monitoring end date is calculated. The total number of days is divided by a preset total number of time windows. The integer value of the quotient is rounded up and used as the equal number of days for each time window. The total number of time windows is a preset positive integer used to determine the granularity of the time division.

[0019] The first time window is divided by taking the monitoring start date as its start date and the number of days plus the equal length minus one day as its end date. For the second time window, the start date is the end date of the first time window plus one day, and so on, until all time windows are divided until the entire monitoring period is covered. Adjacent time windows are connected end to end, and the start date of the next time window is the end date of the previous time window plus one day. Each time window is assigned a window number according to its position on the timeline, with the window numbers increasing sequentially from the first number.

[0020] Iterate through all human case records in the human infectious disease reporting data, extract the geographical coordinates of the case occurrence location from each human case record, summarize all the geographical coordinates of the case occurrence locations, find the maximum and minimum longitude values, calculate the difference between the maximum and minimum longitude values, and use the difference as the longitude difference. Find the maximum and minimum latitude values, calculate the difference between the maximum and minimum latitude values, and use the difference as the latitude difference.

[0021] Obtain the pre-set first grid division number and second grid division number. The first grid division number determines the number of grid columns in the longitude direction, and the second grid division number determines the number of grid rows in the latitude direction. Divide the longitude difference by the first grid division number and use the quotient as the longitude step size. Divide the latitude difference by the second grid division number and use the quotient as the latitude step size.

[0022] The spatial grid is divided starting from the minimum longitude and minimum latitude. The starting longitude plus the longitude step is the dividing longitude of the first grid column, and the starting latitude plus the latitude step is the dividing latitude of the first grid row. This process is repeated to divide the monitoring area into rectangular spatial grid units with several rows and columns. Each spatial grid unit has the same longitude span (i.e., longitude step) and latitude span (i.e., latitude step). Each spatial grid unit is assigned a unique grid unit number according to the row and column order. The grid unit number can be generated by combining the row number and column number, for example, by multiplying the row number by the total number of grid columns and then adding the column number, or by concatenating the row and column coordinates as strings.

[0023] After completing the time window division and spatial grid division, the transformation operation was performed on each human case record in the human infectious disease reporting data.

[0024] For the current human case record being processed, extract the case diagnosis date contained in the human case record, compare the case diagnosis date with the date range of all time windows divided in step two one by one, and determine which time window's start and end date range the case diagnosis date falls into. When a time window containing the case diagnosis date is found, extract the window number of that time window, and use the extracted window number as the occurrence time window number of the human case record.

[0025] Extract the geographical coordinates of the case location from the human case records. The geographical coordinates of the case location include a longitude value and a latitude value. Compare the longitude and latitude values ​​of the geographical coordinates of the case location with the longitude and latitude range of all spatial grid cells one by one to determine which spatial grid cell the geographical coordinates of the case location fall within. When a spatial grid cell containing the geographical coordinates of the case location is found, extract the grid cell number of that spatial grid cell and use the extracted grid cell number as the spatial location code of the human case record.

[0026] Obtain the pre-defined first event type code. The first event type code is a standardized code used to identify that an abnormal event originates from a human case, such as a string code or a number. Use the first event type code as the event type code for that human case record.

[0027] The above three parts of information are combined into a single data structure: the event type code, spatial location code, and occurrence time window number are combined into a single human abnormal event entry. This human abnormal event entry completely maps the human case record into a standardized abnormal event under a unified time and space coding system.

[0028] For all human case records in the human infectious disease reporting data, perform all the above extraction, judgment and combination operations one by one, convert each human case record into a human abnormal event entry, summarize all the converted human abnormal event entries into a data set, and determine the summarized data set as the human abnormal event entry set.

[0029] After generating the set of human abnormal event entries, a transformation operation is performed on the animal disease report data. Each animal disease record in the animal disease report data is traversed. For each animal disease record being processed, the disease discovery date contained in the animal disease record is extracted. The disease discovery date is compared with the date range of all time windows one by one to determine which time window's start and end date range the disease discovery date falls into. When a time window containing the disease discovery date is found, the window number of that time window is extracted and used as the occurrence time window number of the animal disease record.

[0030] Extract the geographical coordinates of the disease occurrence location from the animal disease records. Compare the longitude and latitude values ​​of the geographical coordinates of the disease occurrence location with the longitude and latitude range of all spatial grid cells one by one to determine which spatial grid cell the geographical coordinates of the disease occurrence location fall into. When a spatial grid cell containing the geographical coordinates of the disease occurrence location is found, extract the grid cell number of that spatial grid cell and use the extracted grid cell number as the spatial location code of the animal disease record.

[0031] Obtain the pre-defined second event type code. The second event type code is a standardized code that is different from the first event type code. It is used to identify that the abnormal event originates from an animal disease. Use the second event type code as the event type code for the animal disease record.

[0032] The second event type code, spatial location code, and occurrence time window number are combined into an animal abnormal event entry. The above transformation operation is performed on all animal disease records in the animal disease report data one by one, and each animal disease record is transformed into an animal abnormal event entry. All the transformed animal abnormal event entries are summarized into a data set, and the summarized data set is determined as the animal abnormal event entry set.

[0033] After generating the set of animal abnormal event entries, a transformation operation is performed on the environmental sample detection data. First, the environmental sample detection data is filtered by traversing each environmental sample record and extracting the value of the sample detection result field contained in each environmental sample record. The value of the sample detection result field is compared with the positive result identifier. Environmental sample records with positive sample detection results are filtered out, while environmental sample records with negative sample detection results are discarded without processing.

[0034] For each environmental sample record with a positive test result, a transformation operation is performed to extract the sample collection date from the environmental sample record. The sample collection date is then compared with the date range of all time windows to determine which time window the sample collection date falls into. When a time window containing the sample collection date is found, the window number of that time window is extracted and used as the occurrence time window number of the environmental sample record.

[0035] Extract the geographic coordinates of the sampling points contained in the environmental sample record. Compare the longitude and latitude values ​​of the geographic coordinates of the sampling points with the longitude and latitude range of all spatial grid cells one by one to determine which spatial grid cell the geographic coordinates of the sampling points fall into. When a spatial grid cell containing the geographic coordinates of the sampling points is found, extract the grid cell number of the spatial grid cell and use the extracted grid cell number as the spatial location code of the environmental sample record.

[0036] Obtain the pre-defined third event type code. The third event type code is a standardized code that is different from both the first and second event type codes. It is used to identify that the abnormal event originates from a positive environmental sample. The third event type code is used as the event type code for the environmental sample record.

[0037] The third event type code, spatial location code, and occurrence time window number are combined into an environmental anomaly event entry. For all environmental sample records with positive test results, the above transformation operation is performed one by one, and each selected environmental sample record is transformed into an environmental anomaly event entry. All the transformed environmental anomaly event entries are summarized into a data set, and the summarized data set is determined as the environmental anomaly event entry set.

[0038] It should be noted that the first grid division number refers to a pre-set positive integer representing how many grid units the monitoring area is divided into along the longitude direction. The first grid division number determines the total number of columns of spatial grid units along the longitude direction.

[0039] The second grid division number refers to a pre-defined positive integer representing how many grid units the monitoring area is divided into in the latitudinal direction. The second grid division number determines the total number of rows of spatial grid units in the latitudinal direction.

[0040] Abnormal event cluster generation module: Groups abnormal event entries with the same occurrence time window number and adjacent spatial grid cells from three abnormal event entry sets into the same synchronous abnormal event cluster; In this embodiment of the invention, it should be noted that the abnormal event cluster generation module merges the human abnormal event entry set, the animal abnormal event entry set, and the environmental abnormal event entry set into a full-source abnormal event entry set. From the set of all-source abnormal event entries, group them according to the occurrence time window number, and group abnormal event entries with the same occurrence time window number into the same time group; For each time group, obtain the spatial location code of all abnormal event entries in the time group, and convert the spatial location code into row and column grid coordinates, which include row number and column number. For any two abnormal event entries within the same time group, calculate the absolute value of the difference between the row number and the absolute value of the difference between the column number. When the absolute value of the difference between the row number does not exceed the first adjacent value and the absolute value of the difference between the column number does not exceed the second adjacent value, the spatial grid cells of the two abnormal event entries are determined to be adjacent to each other. Abnormal event entries that are spatially adjacent to each other within the same time group are grouped into the same group. If an abnormal event entry is spatially adjacent to at least one abnormal event entry in the same group, the abnormal event entry is retained in that group. Each group obtained after merging is considered as a synchronous abnormal event cluster.

[0041] It should be noted that the specific operation steps of the exception event cluster generation module are as follows: It receives a set of human abnormal event entries, a set of animal abnormal event entries, and a set of environmental abnormal event entries. These three sets of abnormal event entries store abnormal event entries with event type codes of the first event type code, the second event type code, and the third event type code, respectively.

[0042] Create an empty containment set. Iterate through all human abnormal event entries in the human abnormal event entry set, and take out each human abnormal event entry one by one and put it into the containment set. Then iterate through all animal abnormal event entries in the animal abnormal event entry set, and take out each animal abnormal event entry one by one and put it into the containment set. Iterate through all environmental abnormal event entries in the environmental abnormal event entry set, and take out each environmental abnormal event entry one by one and put it into the containment set.

[0043] After all the abnormal event entries from the three sources are placed into the containment set, the containment set contains all abnormal event entries from the three data sources of humans, animals and environment. The containment set is determined as the set of all-source abnormal event entries. In the set of all-source abnormal event entries, each abnormal event entry still retains its own event type code, spatial location code and occurrence time window number.

[0044] After obtaining the full set of abnormal event entries, the abnormal event cluster generation module performs a grouping operation on all abnormal event entries in the full set of abnormal event entries according to the occurrence time window sequence number.

[0045] This set of all distinct occurrence time window numbers appears in the complete set of exception event entries. For each distinct occurrence time window number, a time group container corresponding to that occurrence time window number is created.

[0046] Iterate through each exception event entry in the full-source exception event entry set, extract the occurrence time window number of the exception event entry, and put the exception event entry into the time group container corresponding to the occurrence time window number based on the extracted occurrence time window number.

[0047] After the traversal is complete, all exception event entries in the full-source exception event entry set are assigned to time groups corresponding to different occurrence time window numbers. The exception event entries contained in each time group have the same occurrence time window number, indicating that the original records corresponding to these exception event entries occurred within the same time window. Different time groups are independent of each other according to the order of occurrence time window numbers.

[0048] For each time group, perform a conversion operation from spatial location code to row and column grid coordinates for each abnormal event entry within the time group.

[0049] Obtain the mapping relationship between the spatial location code and the row and column grid coordinates established in the exception entry generation module. The spatial location code is the grid cell number. The grid cell number is assigned sequentially according to the row and column order when dividing the spatial grid. Therefore, there is a fixed conversion relationship between the grid cell number and the row and column numbers.

[0050] For an abnormal event entry within the current time group, the spatial location code of the abnormal event entry is extracted. The abnormal event cluster generation module converts the extracted spatial location code into the corresponding row number and column number according to the conversion relationship between the spatial location code and the row and column grid coordinates. The row number indicates the arrangement order of the spatial grid cell from south to north in the latitudinal direction, and the column number indicates the arrangement order of the spatial grid cell from west to east in the longitude direction. The row number and column number are combined to form the row and column grid coordinates of the abnormal event entry.

[0051] For all abnormal event entries within the current time group, perform the above spatial location code extraction and row and column grid coordinate transformation operations one by one to generate corresponding row and column grid coordinates for each abnormal event entry.

[0052] After completing the row and column grid coordinate transformation of all abnormal event entries in the current time group, perform a spatial proximity determination operation on the abnormal event entries in the time group.

[0053] Obtain a pre-defined first adjacent value and a second adjacent value. The first adjacent value is used to limit the maximum row number spacing that is determined to be adjacent in the row direction, and the second adjacent value is used to limit the maximum column number spacing that is determined to be adjacent in the column direction. Both the first adjacent value and the second adjacent value are pre-defined positive integers.

[0054] Traverse all pairs of abnormal event entries within the current time group. For any two abnormal event entries, the abnormal event cluster generation module reads the row and column grid coordinates of the first abnormal event entry and extracts its row and column numbers. It then reads the row and column grid coordinates of the second abnormal event entry and extracts its row and column numbers.

[0055] Calculate the difference between the row numbers of the two exception event entries, take the absolute value of the row number difference, and calculate the difference between the column numbers of the two exception event entries. Take the absolute value of the column number difference, and calculate the absolute value of the column number difference.

[0056] The absolute value of the row number difference is compared with the first adjacent value, and the absolute value of the column number difference is compared with the second adjacent value. If the absolute value of the row number difference does not exceed the first adjacent value, and the absolute value of the column number difference does not exceed the second adjacent value, the spatial grid cells of these two abnormal event entries are determined to be adjacent. If the absolute value of the row number difference exceeds the first adjacent value, or the absolute value of the column number difference exceeds the second adjacent value, the spatial grid cells of these two abnormal event entries are determined to be non-adjacent.

[0057] The results of each determination are recorded to form a record of the spatial adjacency relationship between each pair of abnormal event entries in the time group. After the spatial adjacency determination of all abnormal event entries in the current time group is completed, a group merging operation is performed based on the spatial adjacency relationship to form a synchronous abnormal event cluster.

[0058] Treat all abnormal event entries within the current time group as several initial independent nodes. Traverse all spatially adjacent records. For each record that displays two adjacent abnormal event entries, group these two abnormal event entries into the same group. If one of the abnormal event entries already belongs to an existing group during merging, then the other abnormal event entry is also grouped into the same existing group. If both abnormal event entries already belong to different existing groups, then the two existing groups are merged into a larger group.

[0059] The above merging operation continues until all spatially adjacent records in the current time group have been processed and no more group merging operations occur. After merging, the abnormal event entries in the current time group are divided into one or more groups that are not connected to each other. Any abnormal event entry in each group is spatially adjacent to at least one other abnormal event entry in the same group, and the entire group forms a spatially connected region through the adjacent relationship. Each group obtained after merging is determined as a synchronous abnormal event cluster.

[0060] It should be noted that the first adjacent value refers to the numerical limit used to determine whether two spatial grid cells are adjacent in the row direction. When the absolute value of the difference between the row numbers of two spatial grid cells does not exceed the first adjacent value, it is determined that the two spatial grid cells are adjacent or overlap in the north-south direction.

[0061] The second adjacent value refers to the numerical limit used to determine whether two spatial grid cells are adjacent in the column direction. When the absolute value of the difference between the column numbers of two spatial grid cells does not exceed the second adjacent value, it is determined that the two spatial grid cells are adjacent or coincident in the east-west direction.

[0062] Association Entry Statistics Module: For each synchronous exception event cluster, count the number of cross-association pairs between exception event entries from different event type codes, as well as the total number of exception event entries; In this embodiment of the invention, it should be noted that the associated entry statistics module counts the total number of abnormal event entries contained in the current synchronization abnormal event cluster, and uses the statistical result as the total number of abnormal event entries in the synchronization abnormal event cluster. Extract a list of all event type codes that appear within the synchronization exception event cluster; For each type pair consisting of two different event type codes in the category list, within the synchronous abnormal event cluster, retrieve the entry pairs where the spatial grid cells are adjacent to each other and one abnormal event entry has the event type code of the first event type code in the type pair, and the other abnormal event entry has the event type code of the second event type code in the type pair. Count the number of entry pairs that meet the conditions, and use this number as the number of cross-association pairs of that type pair. The number of cross-association pairs corresponding to each of the two different event type codes is summed one by one, and the summation result is used as the number of cross-association pairs of the synchronous exception event cluster.

[0063] It should be noted that the specific operation steps of the associated item statistics module are as follows: Receive each synchronization exception event cluster. For the current synchronization exception event cluster being processed, perform a statistical operation on the total number of exception event entries. Traverse all exception event entries contained in the current synchronization exception event cluster. The associated entry statistics module sets a counter with an initial value of zero. Starting from the first exception event entry in the current synchronization exception event cluster, read each exception event entry one by one. For each exception event entry read, increment the counter value by one.

[0064] After traversing all exception event entries within the current synchronization exception event cluster, the final count value of the counter is the total number of exception event entries contained in the current synchronization exception event cluster. The final count value of the counter is used as the total number of exception event entries in the current synchronization exception event cluster and is associated with the cluster identifier of the current synchronization exception event cluster.

[0065] The total number of abnormal event entries directly reflects the overall size of the current synchronous abnormal event cluster. The larger the total number of abnormal event entries, the more abnormal events are detected in the spatial cluster area within the time window corresponding to the synchronous abnormal event cluster.

[0066] After counting the total number of abnormal event entries, extract the list of event type codes from the current synchronous abnormal event cluster, create an empty category temporary set, traverse all abnormal event entries in the current synchronous abnormal event cluster, and for each abnormal event entry, extract the event type code contained in the abnormal event entry. Compare the extracted event type code with the existing event type codes in the category temporary set one by one. If there is no code with the same event type code in the category temporary set, add the extracted event type code to the category temporary set. If the event type code already exists in the category temporary set, skip it and do not add it again.

[0067] After traversing all exception event entries within the current synchronization exception event cluster, the category temporary storage set stores all distinct event type codes appearing within the current synchronization exception event cluster. All event type codes stored in the category temporary storage set are retrieved one by one and arranged in any fixed order to form a category list of event type codes.

[0068] The category list reflects the composition of event source types involved in the current synchronization anomaly event cluster. For example, if the current synchronization anomaly event cluster only contains human anomaly event entries and animal anomaly event entries, then the category list only contains two types of event type codes: first event type code and second event type code. If the current synchronization anomaly event cluster contains anomaly event entries from three sources: human, animal, and environment, then the category list contains three types of event type codes: first event type code, second event type code, and third event type code.

[0069] After obtaining the list of event type codes, for each type pair consisting of two different event type codes in the list, the number of cross-association pairs of that type pair is retrieved and counted one by one.

[0070] Extract all pairs of distinct event type codes from the category list to form a type pair list. Each type pair in the type pair list consists of two distinct event type codes. For each type pair, one event type code is designated as the first event type code, and the other event type code is designated as the second event type code. The order of the first and second event type codes in the type pair does not affect the statistical results of cross-related entries.

[0071] For a type pair currently being processed, retrieve entry pairs within the current synchronization exception event cluster that satisfy all of the following conditions: Condition 1: The entry pair contains two exception event entries, and these two exception event entries are two different exception event entries within the current synchronization exception event cluster. Condition 2: The spatial grid cells of these two exception event entries are adjacent to each other. The method for determining whether spatial grid cells are adjacent to each other is to obtain the row and column grid coordinates of each of the two exception event entries, calculate the absolute value of the difference between the row number and the absolute value of the difference between the column number, and determine that the spatial grid cells of these two exception event entries are adjacent to each other when the absolute value of the difference between the row number does not exceed the first adjacent value and the absolute value of the difference between the column number does not exceed the second adjacent value. Condition 3: Among the two exception event entries, the event type code of one exception event entry is equal to the first event type code, and the event type code of the other exception event entry is equal to the second event type code.

[0072] Iterate through all pairwise combinations between the two types of exception event entries that satisfy condition three above within the current synchronization exception event cluster. For each pair, check whether condition one and condition two are satisfied. The associated entry statistics module sets a counter with an initial value of zero. For each pair of entries that satisfies all three conditions, increment the counter by one.

[0073] After retrieving all pairwise combinations corresponding to the current type pair, the final count value of the counter is the number of cross-association pairs for that type pair. The number of cross-association pairs for that type pair is associated with the combination identifier of that type pair. The above retrieval and statistical operations are performed one by one for all type pairs in the type pair list to obtain the number of cross-association pairs corresponding to each type pair.

[0074] After completing the count of cross-association pairs for all type pairs, an addition operation is performed to sum the counts of cross-association pairs for each type pair. The total count obtained after the summation is the count of cross-association pairs for the current synchronization anomaly event cluster.

[0075] The number of cross-association pairs of the current synchronization anomaly event cluster is associated with the cluster identifier of the current synchronization anomaly event cluster. At this point, the processing of the current synchronization anomaly event cluster is completed. For all synchronization anomaly event clusters, all the above operations are performed one by one. For each synchronization anomaly event cluster, the total number of anomaly event entries and the number of cross-association pairs are counted. The total number of anomaly event entries and the number of cross-association pairs of all synchronization anomaly event clusters will be used as the final output of the association entry statistics module.

[0076] It should be noted that the event type code category list refers to the list formed by extracting all the different event type codes from a synchronization exception event cluster and listing these different event type codes one by one. The possible values ​​of the event type code include the first event type code, the second event type code, and the third event type code. Each element in the category list corresponds to one event source type that appears in the synchronization exception event cluster. The length of the category list is the number of event source types involved in the synchronization exception event cluster.

[0077] Early warning module: Determines the cluster density based on the number of cross-association pairs and the total number of abnormal event entries, marks synchronous abnormal event clusters as cross-source clusters, and issues early warnings for cross-source clusters.

[0078] In this embodiment of the invention, it should be noted that the early warning module divides the number of cross-association pairs of the current synchronous abnormal event cluster by the total number of abnormal event entries, and uses the resulting ratio as the cluster density value of the synchronous abnormal event cluster. Extract all human abnormal event entries with the event type code of the first event type code from the full-source abnormal event entry set. Only use all the extracted human abnormal event entries to re-execute the operation of grouping abnormal event entries with the same occurrence time window number and adjacent spatial grid cells into the same synchronous abnormal event cluster, to obtain the human internal cluster set. For each human internal cluster in the human internal cluster set, count the number of cross-association pairs between anomalous event entries from different event type codes within the human internal cluster and the total number of anomalous event entries within the human internal cluster. Divide the number of cross-association pairs by the total number of anomalous event entries to obtain the cluster density value of the human internal cluster. Compare the cluster density values ​​of all human internal clusters and take the maximum value as the maximum cluster density value of human internal clusters. Extract all animal abnormal event entries with the second event type code from the full-source abnormal event entry set. Then, re-execute the operation of grouping abnormal event entries with the same occurrence time window number and adjacent spatial grid cells into the same synchronous abnormal event cluster using only the extracted animal abnormal event entries to obtain the animal internal cluster set. For each animal intracluster in the set of animal intraclusters, count the number of cross-association pairs between anomalous event entries from different event type codes within the animal intracluster and the total number of anomalous event entries within the animal intracluster. Divide the number of cross-association pairs by the total number of anomalous event entries to obtain the cluster density value of the animal intracluster. Compare the cluster density values ​​of all animal intraclusters and take the maximum value as the maximum cluster density value of the animal intracluster. Extract all environmental abnormal event entries with the event type code of the third event type from the full-source abnormal event entry set. Only use all the extracted environmental abnormal event entries to re-execute the operation of grouping abnormal event entries with the same occurrence time window number and spatial grid cells that are adjacent to each other into the same synchronous abnormal event cluster, and obtain the set of internal environmental clusters. For each internal cluster in the set of internal clusters, count the number of cross-correlation pairs between abnormal event entries from different event type codes within the internal cluster and the total number of abnormal event entries within the internal cluster. Divide the number of cross-correlation pairs by the total number of abnormal event entries to obtain the cluster density value of the internal cluster. Compare the cluster density values ​​of all clusters within the environment, and take the maximum value as the maximum cluster density value within the environment. The maximum cluster density values ​​among humans, animals, and the environment are compared, and the maximum value among these three values ​​is taken as the maximum cluster density value of the same origin. The cluster density value of the synchronous abnormal event cluster is compared with the maximum cluster density value of the same source. When the cluster density value of the synchronous abnormal event cluster is greater than or equal to the maximum cluster density value of the same source, the synchronous abnormal event cluster is marked as a cross-source cluster. For each cluster of synchronization anomalies marked as a cross-source cluster, extract the occurrence time window number corresponding to the cross-source cluster, look up the corresponding date range based on the occurrence time window number, and use the corresponding date range as the warning period. Extract the spatial location codes of all abnormal event entries within the cross-source cluster. After deduplicating all extracted spatial location codes, determine the latitude and longitude range covered by the spatial grid cells corresponding to these spatial location codes in the monitoring area, and use the latitude and longitude range covered in the monitoring area as the early warning area. Extract the combination of all event type codes that appear in the cross-source cluster, and determine the cross-source event types involved in the cross-source cluster based on the combination of types. The cross-source event types are used to indicate which sources of abnormal events have appeared simultaneously in the cross-source cluster. The warning period, warning area, and cross-source event type are summarized to generate a warning message, which is then output to the warning message display interface.

[0079] It should be noted that the specific operating steps of the early warning module are as follows: Receive each synchronization anomaly event cluster, as well as the number of cross-association pairs and the total number of anomaly event entries corresponding to each synchronization anomaly event cluster. For the synchronization anomaly event cluster currently being processed, obtain the value of the number of cross-association pairs and the value of the total number of anomaly event entries for the synchronization anomaly event cluster. Divide the number of cross-association pairs by the total number of anomaly event entries, that is, use the value of the number of cross-association pairs as the dividend and the value of the total number of anomaly event entries as the divisor, perform the division operation, and use the quotient as the cluster density value of the synchronization anomaly event cluster.

[0080] The calculated cluster density value is associated with the cluster identifier of the current synchronization anomaly event cluster and stored. For all the output synchronization anomaly event clusters, the above division operation is performed one by one to calculate the corresponding cluster density value for each synchronization anomaly event cluster.

[0081] After calculating the cluster density of all synchronous abnormal event clusters, the maximum cluster density value within each individual event source is calculated one by one. First, the maximum cluster density value within humans is calculated. From the set of all-source abnormal event entries, all human abnormal event entries with the event type code of the first event type code are extracted. The extraction operation is as follows: traverse each abnormal event entry in the set of all-source abnormal event entries, read the event type code field of the abnormal event entry, compare the value of the event type code field with the first event type code for string consistency, and extract the abnormal event entries that are consistent to form a subset of human abnormal event entries.

[0082] Using only all extracted human anomalous event entries, the complete operation of grouping anomalous event entries with the same occurrence time window number and whose spatial grid cells are adjacent to each other into the same synchronous anomalous event cluster is re-executed. The specific operations to be re-executed include: grouping human anomalous event entries into time groups according to their occurrence time window number; converting spatial location codes into row and column grid coordinates; calculating the absolute value of the difference between row number and column number for any two human anomalous event entries in the same time group; determining that they are spatially adjacent when the absolute value of the difference between row number and column number does not exceed the first adjacent value and the absolute value of the difference between column number does not exceed the second adjacent value; grouping spatially adjacent human anomalous event entries into the same group; and taking each group obtained after merging as a human internal cluster. After completing the above operations, a set of human internal clusters is obtained.

[0083] For each human internal cluster in the human internal cluster set, perform the following operations: count the total number of anomalous event entries contained in the human internal cluster as the total number of anomalous event entries; extract a list of all event type codes appearing in the human internal cluster (since there is only the first event type code at this time, the list of types contains only one type); count the number of cross-association pairs of type pairs composed of different event type codes in the human internal cluster; divide the number of cross-association pairs by the total number of anomalous event entries to obtain the cluster density value of the human internal cluster.

[0084] After summarizing the cluster density values ​​of all human internal clusters in the human internal cluster set, the values ​​are compared, and the largest value is selected as the maximum cluster density value of human internal clusters.

[0085] After calculating the maximum cluster density value within humans, the maximum cluster density value within animals is calculated in the same way. From the set of all-source abnormal event entries, all animal abnormal event entries with the event type code of the second event type code are extracted to form a subset of animal abnormal event entries.

[0086] Using only all extracted animal abnormal event entries, the complete operation of grouping abnormal event entries with the same occurrence time window number and spatial grid cells that are adjacent to each other into the same synchronous abnormal event cluster is re-executed. This includes all sub-steps such as grouping by occurrence time window number, row and column grid coordinate transformation, spatial adjacency determination, and group merging, to obtain the set of animal internal clusters.

[0087] For each animal intracluster in the set of animal intraclusters, the total number of anomalous event entries and the number of cross-association pairs are counted. The number of cross-association pairs is divided by the total number of anomalous event entries to obtain the cluster density value of the animal intracluster.

[0088] The cluster density values ​​of all animal internal groups are compared, and the maximum value is taken as the maximum cluster density value of the animal internal group. After the maximum cluster density value of the animal internal group is calculated, the maximum cluster density value of the environment is calculated in the same way.

[0089] From the full set of abnormal event entries, extract all environmental abnormal event entries with the event type code of the third event type, forming a subset of environmental abnormal event entries. Using only all the extracted environmental anomaly event entries, the complete operation of grouping anomaly event entries with the same occurrence time window number and adjacent spatial grid cells into the same synchronous anomaly event cluster is re-executed to obtain the set of internal environmental clusters.

[0090] For each internal cluster in the set of internal clusters, the total number of abnormal event entries and the number of cross-association pairs are counted. The number of cross-association pairs is divided by the total number of abnormal event entries to obtain the cluster density value of the internal cluster. The cluster density values ​​of all internal clusters are compared and the maximum value is taken as the maximum cluster density value of the internal cluster.

[0091] After calculating the maximum cluster density values ​​within humans, animals, and the environment, the operation to determine the maximum cluster density value of the same origin is performed. The three values ​​are compared, and the largest value is selected as the maximum cluster density value of the same origin.

[0092] After determining the maximum cluster density value of the same source, the early warning module performs a cross-source judgment operation for each synchronous abnormal event cluster. For the currently processed synchronous abnormal event cluster, the cluster density value is read and compared with the maximum cluster density value of the same source. When the cluster density value of the synchronous abnormal event cluster is greater than or equal to the maximum cluster density value of the same source, the synchronous abnormal event cluster is marked as a cross-source cluster. When the cluster density value of the synchronous abnormal event cluster is less than the maximum cluster density value of the same source, the synchronous abnormal event cluster is not marked as a cross-source cluster.

[0093] Perform the above comparison and marking operations on each of the synchronization anomaly event clusters to identify all synchronization anomaly event clusters marked as cross-source clusters. For each synchronization anomaly event cluster marked as a cross-source cluster, extract the necessary information for early warning.

[0094] Extract the occurrence time window sequence number corresponding to the cross-source cluster. All abnormal event entries in the cross-source cluster have the same occurrence time window sequence number. By reading the occurrence time window sequence number of any abnormal event entry, the time window sequence number of the cross-source cluster can be obtained. Based on the mapping relationship between the occurrence time window sequence number and the date range, the start date and end date of the date range corresponding to the occurrence time window sequence number are looked up. The date range obtained by looking up is used as the warning period of the cross-source cluster.

[0095] Extract the spatial location codes of all abnormal event entries within the cross-source cluster. Traverse all abnormal event entries within the cross-source cluster, reading the spatial location code of each abnormal event entry one by one. Remove duplicate spatial location codes, retaining only the unique ones. Based on the mapping relationship between spatial location codes and the latitude and longitude ranges of spatial grid units, determine the longitude and latitude ranges of the spatial grid units corresponding to each deduplicated spatial location code. Take the minimum and maximum longitude and latitude values ​​of all these spatial grid units. The rectangular latitude and longitude range enclosed by the minimum longitude, maximum longitude, minimum latitude, and maximum latitude is the latitude and longitude range commonly covered by these spatial grid units in the monitoring area. This latitude and longitude range is used as the early warning area for the cross-source cluster.

[0096] Extract all event type codes appearing within the cross-source cluster. Traverse all abnormal event entries within the cross-source cluster, reading the event type code of each abnormal event entry one by one. Deduplicate all the read event type codes to obtain the combination of different event type codes appearing within the cross-source cluster. Determine the cross-source event type involved in the cross-source cluster based on the combination of ...

[0097] The early warning module aggregates three pieces of information—the warning period, the warning area, and the type of cross-source event—to generate a single early warning message. The early warning message also includes the time and spatial scope of the cross-source clustering and the types of abnormal events involved.

[0098] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0099] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0100] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0101] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0102] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of protection of the described technical solution.

Claims

1. An intelligent early warning platform for multi-source data on epidemiological investigation and monitoring of zoonotic diseases, characterized in that, include: Anomaly Entry Generation Module: Acquires human infectious disease report data, animal disease report data, and environmental sample detection data, and generates sets of human abnormal event entries, animal abnormal event entries, and environmental abnormal event entries based on the three types of data respectively; Abnormal event cluster generation module: Groups abnormal event entries with the same occurrence time window number and adjacent spatial grid cells from three abnormal event entry sets into the same synchronous abnormal event cluster; Association Entry Statistics Module: For each synchronous exception event cluster, count the number of cross-association pairs between exception event entries from different event type codes, as well as the total number of exception event entries; Early warning module: Determines the cluster density based on the number of cross-association pairs and the total number of abnormal event entries, marks synchronous abnormal event clusters as cross-source clusters, and issues early warnings for cross-source clusters.

2. The intelligent early warning platform for multi-source data of zoonotic disease epidemiological investigation and monitoring according to claim 1, characterized in that, The abnormal entry generation module obtains human infectious disease report data, which contains multiple human case records. Each human case record includes the date of diagnosis and the geographical coordinates of the location where the case occurred. Obtain animal disease report data, which contains multiple animal disease records. Each animal disease record includes the date of disease discovery and the geographical coordinates of the disease occurrence location. The environmental sample testing data includes multiple environmental sample records. Each environmental sample record includes the sample collection date, the geographical coordinates of the sampling point, and the sample testing results, which include positive and negative results. The monitoring period is defined as the monitoring start date, the latest case diagnosis date, and the time period from the monitoring start date to the monitoring end date. The monitoring start date is obtained from all human case records in the human infectious disease reporting data. The monitoring period is divided into several consecutive time windows at equal intervals. Adjacent time windows are connected end to end without overlapping. Each time window is assigned a window number according to the chronological order, and the window numbers are sequentially increased from the first number. Obtain the geographic coordinates of the occurrence locations of all human cases in the human infectious disease reporting data, and calculate the longitude difference between the maximum and minimum longitude values ​​and the latitude difference between the maximum and minimum latitude values ​​among all the geographic coordinates of the occurrence locations of the cases. Divide the longitude difference by the number of grid divisions in the first grid to obtain the longitude step size, and divide the latitude difference by the number of grid divisions in the second grid to obtain the latitude step size; Starting from the minimum longitude and minimum latitude, and using the longitude step size and latitude step size as the step size, the monitoring area is divided into several rectangular spatial grid units, and each spatial grid unit is assigned a unique grid unit number according to the row and column order.

3. The intelligent early warning platform for multi-source data of zoonotic disease epidemiological investigation and monitoring according to claim 2, characterized in that, For each human case record, extract the case diagnosis date from the human case record, determine which time window the case diagnosis date falls into, and use the window number of the time window into which the case diagnosis date falls as the occurrence time window number of the human case record. Extract the geographical coordinates of the location of the case from the human case record, determine which spatial grid cell the geographical coordinates of the case location fall within, and use the grid cell number of the spatial grid cell into which the case location falls as the spatial location code of the human case record. The first event type code is used as the event type code in the human case record. The event type code, spatial location code, and occurrence time window number are combined into a human abnormal event entry. All human abnormal event entries are summarized to form a human abnormal event entry set. For animal disease reporting data, the disease discovery date and geographical coordinates of the disease occurrence location are extracted for each animal disease record. The disease discovery date is mapped to the occurrence time window number, the geographical coordinates of the disease occurrence location are mapped to the spatial location code, and the second event type code is used as the event type code. These are combined into an animal abnormal event entry. All animal abnormal event entries are summarized to form an animal abnormal event entry set. For environmental sample testing data, extract each environmental sample record with a positive test result from the environmental sample testing data, map the sample collection date to the occurrence time window sequence number, map the geographical coordinates of the sampling point to the spatial location code, and use the third event type code as the event type code to combine them into an environmental abnormal event entry. Summarize all environmental abnormal event entries to form an environmental abnormal event entry set.

4. The intelligent early warning platform for multi-source data of zoonotic disease epidemiological investigation and monitoring according to claim 1, characterized in that, The abnormal event cluster generation module merges the human abnormal event entry set, the animal abnormal event set, and the environmental abnormal event set into a full-source abnormal event entry set; From the set of all-source abnormal event entries, group them according to the occurrence time window number, and group abnormal event entries with the same occurrence time window number into the same time group; For each time group, obtain the spatial location code of all abnormal event entries within the time group, and convert the spatial location code into row and column grid coordinates, which include the row number and column number.

5. The intelligent early warning platform for multi-source data of zoonotic disease epidemiological investigation and monitoring according to claim 4, characterized in that, For any two abnormal event entries within the same time group, calculate the absolute value of the difference between the row number and the absolute value of the difference between the column number. When the absolute value of the difference between the row number does not exceed the first adjacent value and the absolute value of the difference between the column number does not exceed the second adjacent value, the spatial grid cells of the two abnormal event entries are determined to be adjacent to each other. Abnormal event entries that are spatially adjacent to each other within the same time group are grouped into the same group. If an abnormal event entry is spatially adjacent to at least one abnormal event entry in the same group, the abnormal event entry is retained in that group. Each group obtained after merging is considered as a synchronous abnormal event cluster.

6. The intelligent early warning platform for multi-source data of zoonotic disease epidemiological investigation and monitoring according to claim 1, characterized in that, The associated entry statistics module counts the total number of abnormal event entries contained in the current synchronization abnormal event cluster, and uses the statistical result as the total number of abnormal event entries in the synchronization abnormal event cluster. Extract a list of all event type codes that appear within the synchronization exception event cluster; For each type pair consisting of two different event type codes in the category list, within the synchronous abnormal event cluster, retrieve the entry pairs where the spatial grid cells are adjacent to each other and one abnormal event entry has the event type code of the first event type code in the type pair, and the other abnormal event entry has the event type code of the second event type code in the type pair. Count the number of entry pairs that meet the conditions, and use this number as the number of cross-association pairs of that type pair. The number of cross-association pairs corresponding to each of the two different event type codes is summed one by one, and the summation result is used as the number of cross-association pairs of the synchronous exception event cluster.

7. The intelligent early warning platform for multi-source data of zoonotic disease epidemiological investigation and monitoring according to claim 1, characterized in that, The early warning module divides the number of cross-association pairs of the current synchronous abnormal event cluster by the total number of abnormal event entries, and uses the resulting ratio as the cluster density value of the synchronous abnormal event cluster. Extract all human abnormal event entries with the event type code of the first event type code from the full-source abnormal event entry set. Only use all the extracted human abnormal event entries to re-execute the operation of grouping abnormal event entries with the same occurrence time window number and adjacent spatial grid cells into the same synchronous abnormal event cluster, to obtain the human internal cluster set. For each human internal cluster in the human internal cluster set, count the number of cross-association pairs between anomalous event entries from different event type codes within the human internal cluster and the total number of anomalous event entries within the human internal cluster. Divide the number of cross-association pairs by the total number of anomalous event entries to obtain the cluster density value of the human internal cluster. Compare the cluster density values ​​of all human internal clusters and take the maximum value as the maximum cluster density value of human internal clusters. Extract all animal abnormal event entries with the second event type code from the full-source abnormal event entry set. Then, re-execute the operation of grouping abnormal event entries with the same occurrence time window number and adjacent spatial grid cells into the same synchronous abnormal event cluster using only the extracted animal abnormal event entries to obtain the animal internal cluster set. For each animal intracluster in the set of animal intraclusters, count the number of cross-association pairs between anomalous event entries from different event type codes within the animal intracluster and the total number of anomalous event entries within the animal intracluster. Divide the number of cross-association pairs by the total number of anomalous event entries to obtain the cluster density value of the animal intracluster. Compare the cluster density values ​​of all animal intraclusters and take the maximum value as the maximum cluster density value of the animal intracluster. Extract all environmental abnormal event entries with the event type code of the third event type from the full-source abnormal event entry set. Only use all the extracted environmental abnormal event entries to re-execute the operation of grouping abnormal event entries with the same occurrence time window number and spatial grid cells that are adjacent to each other into the same synchronous abnormal event cluster, and obtain the set of internal environmental clusters. For each internal cluster in the set of internal clusters, count the number of cross-correlation pairs between abnormal event entries from different event type codes within the internal cluster, as well as the total number of abnormal event entries within the internal cluster. Divide the number of cross-correlation pairs by the total number of abnormal event entries to obtain the cluster density value of the internal cluster.

8. The intelligent early warning platform for multi-source data of zoonotic disease epidemiological investigation and monitoring according to claim 7, characterized in that, Compare the cluster density values ​​of all clusters within the environment, and take the maximum value as the maximum cluster density value within the environment. The maximum cluster density values ​​among humans, animals, and the environment are compared, and the maximum value among these three values ​​is taken as the maximum cluster density value of the same origin. The cluster density value of the synchronous abnormal event cluster is compared with the maximum cluster density value of the same source. When the cluster density value of the synchronous abnormal event cluster is greater than or equal to the maximum cluster density value of the same source, the synchronous abnormal event cluster is marked as a cross-source cluster.

9. The intelligent early warning platform for multi-source data of zoonotic disease epidemiological investigation and monitoring according to claim 8, characterized in that, For each cluster of synchronization anomalies marked as a cross-source cluster, extract the occurrence time window number corresponding to the cross-source cluster, look up the corresponding date range based on the occurrence time window number, and use the corresponding date range as the warning period. Extract the spatial location codes of all abnormal event entries within the cross-source cluster. After deduplicating all extracted spatial location codes, determine the latitude and longitude range covered by the spatial grid cells corresponding to these spatial location codes in the monitoring area, and use the latitude and longitude range covered in the monitoring area as the early warning area. Extract the combination of all event type codes that appear in the cross-source cluster, and determine the cross-source event types involved in the cross-source cluster based on the combination of types. The cross-source event types are used to indicate which sources of abnormal events have appeared simultaneously in the cross-source cluster. The warning period, warning area, and cross-source event type are summarized to generate a warning message, which is then output to the warning message display interface.