A master index management system and an identity recognition method

By combining the improved snowflake algorithm and attribute association analysis with an attention mechanism, a master index number is assigned to each patient, weights are dynamically adjusted, and similarity is calculated using a Siamese network. This solves the problems of accuracy and efficiency in patient identification on multi-hospital platforms, and achieves efficient data management and identification.

CN120804101BActive Publication Date: 2026-05-19KAIENTAI (NANJING) TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
KAIENTAI (NANJING) TECH CO LTD
Filing Date
2025-08-28
Publication Date
2026-05-19

AI Technical Summary

Technical Problem

Existing technologies cannot effectively solve the problems of accuracy and efficiency in patient identification across multiple hospital platforms, especially the difficulties in identification caused by differences in data records between different hospital systems, and lack dynamic weight adjustment and automatic merging mechanisms.

Method used

An improved snowflake algorithm is used to assign a master index number with retention function to each patient. Combined with attribute association analysis and attention mechanism, attribute weights are dynamically allocated, similarity is calculated using Siamese network, and personal interval values ​​and dynamic decision buffers are set. The results are automatically merged or pushed to the doctor for judgment.

Benefits of technology

It improves the accuracy of patient data identification and management efficiency, ensures data uniqueness and traceability, enhances the system's flexibility and intelligence, and ensures data integrity and consistency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120804101B_ABST
    Figure CN120804101B_ABST
Patent Text Reader

Abstract

The application discloses a kind of main index management system and identity recognition method, belong to data management technical field, it specifically includes: through the main index number with the function of keeping number of each patient is allocated by improved snowflake algorithm, and patient attribute information and main index number are distributedly stored in main index archive, construct patient basic archives;Attribute correlation analysis is used in conjunction with attention mechanism, dynamically allocate attribute weight, for newly collected patient data, in main index archive one by one identification is carried out, and improved similarity algorithm is used in conjunction with dynamic attribute weight, calculate multidimensional similarity;Set attribute personal interval value, judge similarity result and personal interval value comprehensively, similarity threshold value is determined as same person, suspected case is pushed to doctor end, and is updated to main index archive, improve the accuracy of patient data identification and management efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of data management technology, specifically a master index management system and identity recognition method. Background Technology

[0002] With the development of medical informatization, multiple hospital platforms have accumulated a large amount of patient medical data. However, due to the relatively independent information systems of different hospitals, the recording methods of patient information vary across different systems, resulting in the same patient potentially having different identifiers in different hospitals. This poses significant challenges to the sharing, analysis, and utilization of medical data. For example, patient names may contain homophones or nicknames; ID numbers may be incomplete or inaccurate due to input errors or lack of accurate information provided by the patient; and birth dates may also be recorded incorrectly. Therefore, accurately identifying patient identities across multiple hospital platform data and establishing a unified master index archive has become an urgent problem to be solved in the field of medical data processing.

[0003] For example, Chinese patent CN106295182B discloses a method for patient identification based on biometric information, including: obtaining the similarity weight between the patient data to be identified and any other data in the patient identity database through social attribute feature matching; obtaining the similarity between the patient data to be identified and any other data in the patient identity database through biometric attribute feature matching; calculating the comprehensive similarity between the patient data to be identified and any other data in the patient identity database by weighting the similarity weight and the similarity; comparing the comprehensive similarity with a set threshold; if the comprehensive similarity is greater than the set threshold, then the two data are considered to belong to the same person, thereby realizing patient identification. This technical solution can improve the efficiency and success rate of patient master index identification.

[0004] The existing technologies mentioned above have the following problems: they cannot dynamically adjust key attributes based on data characteristics, such as the matching weight of different attributes; suspected cases require manual verification throughout the process, which is time-consuming and prone to errors; they also lack a forced merging mechanism and cannot handle data conflicts or special cases confirmed by doctors. Summary of the Invention

[0005] To address the shortcomings of existing technologies, this invention proposes a master index management system and identity recognition method. An improved snowflake algorithm assigns a master index number with retention functionality to each patient, and patient attribute information and the master index number are distributed and stored in the master index archive to construct a basic patient profile. Attribute association analysis combined with an attention mechanism is used to dynamically allocate attribute weights. For newly collected patient data, each patient is identified in the master index archive, and an improved similarity algorithm combined with dynamic attribute weights is used to calculate multi-dimensional similarity. Personal attribute interval values ​​are set, and the similarity results are combined with these personal interval values ​​for judgment. If the similarity exceeds a threshold, the patient is identified as the same person, and suspected cases are pushed to the doctor's end and updated in the master index archive, thus improving the accuracy of patient data identification and management efficiency.

[0006] To achieve the above objectives, the present invention provides the following technical solution:

[0007] An identity recognition method, comprising:

[0008] Step S1: Obtain patient data from multiple hospital platforms, assign a master index number to each patient using the improved snowflake algorithm, associate the master index number with the patient's attribute information, and distribute and store them in the master index archive; the master index number has a number retention function;

[0009] Step S2: Use attribute association analysis combined with attention mechanism to perform dynamic attribute weight allocation. For newly collected patient data, identify them one by one in the main index archive based on attribute values, and use Siamese network combined with dynamic attribute weight to calculate the similarity between the newly collected patient data and the existing patient data in the main index archive.

[0010] Step S3: Set the individual interval value for each attribute, make a comprehensive judgment based on the similarity results and the individual interval value, combined with the preset dynamic decision buffer range, and automatically merge or push the results to the backend doctor's end based on the comprehensive judgment results;

[0011] Step S4: After receiving the pushed data in the background, the doctor adds or merges the data according to the actual situation, and updates the merged data or newly added patient records to the main index archive; the self-merging includes normal merging and forced merging.

[0012] Specifically, step S1 includes the following steps:

[0013] S1.1: Based on the multi-hospital platform architecture, assign a unique data center ID to each hospital platform, and within each data center, assign a unique worker machine ID to different business modules;

[0014] S1.2: Set the serial number bit length and timestamp encoding rules, and encode the data center ID and worker machine ID into binary to obtain the first index number and the second index number;

[0015] The timestamp encoding rule uses a combination of millisecond and microsecond timestamps.

[0016] S1.3: Initialize the serial number, acquire patient data from multiple hospital platforms, and perform preprocessing;

[0017] S1.4: Process each patient record sequentially from the preprocessed patient data:

[0018] Encode the current time into binary according to the timestamp encoding rules, and use it as the third index number;

[0019] The third index number, the first index number, the second index number, and the sequence number are concatenated in order, and the concatenated binary number is converted into a decimal number to serve as the patient's main index number.

[0020] Within the same microsecond segment, the sequence number is incremented by 1 for each primary index number generated. If the sequence number reaches the maximum number of digits, the system waits for the next microsecond segment to generate a new primary index number and then resets the sequence number to zero.

[0021] Specifically, step S1 further includes the following steps:

[0022] S1.5: Extract patient attribute information from the preprocessed patient data one by one, traverse each attribute, and use the attribute name as the key and the corresponding attribute value and the main index number generated in S1.4 as the value to form a set of key-value pairs;

[0023] S1.6: Construct an empty information association table in the master index archive, and insert the master index number generated in S1.4 and the key-value pairs in the key-value pair set generated in S1.5 into the empty information association table row by row;

[0024] S1.7: Read the patient data records in the information association table line by line, obtain the main index number of each patient data record, and use the modulo hash function to calculate the hash value of the main index number;

[0025] S1.8: Based on the calculated hash value of the primary index number, allocate patient data records to the corresponding partitions; the number of partitions is the maximum value of the hash value of the primary index number.

[0026] S1.9: In the main index archive, create a separate partition table for each partition and an index for each partition table;

[0027] S1.10: Write the patient data records allocated to each partition in S1.8 into the corresponding partition table to obtain the master index archive after partition storage.

[0028] Specifically, step S2 includes the following steps:

[0029] S2.1: Retrieve existing patient data D from the partitioned master index archive according to the partition number. history And acquire new patient data in real time. new ;

[0030] S2.2: According to D history and D new This forms an attribute set A = {a1, ..., a...} n}, where a n This represents the nth attribute, where n represents the number of attribute categories;

[0031] S2.3: For each pair of attributes (a) in attribute set A i ,a j ), i≠j, using the chi-square test method, based on D history Patient data calculation in (a i ,a j The degree of attribute association g) ij And construct an attribute association matrix, where i and j represent attribute indices;

[0032] S2.4: Based on the attribute types in attribute set A, set the attribute encoding rules and assign D... history and D new Converting the data into vector form according to attribute encoding rules yields the patient data vector set V from the archive. history and new patient data vector v new Each patient's data corresponds to an n-dimensional vector, and the i-th dimension of the vector represents attribute a. i The encoded value;

[0033] S2.5: For v new The i-th attribute dimension Calculate its attention score c using an attention mechanism. i After normalization, the weight w of each attribute is obtained. i .

[0034] Specifically, step S2 further includes the following steps:

[0035] S2.6: Load the pre-trained Siamese network; the Siamese network contains two sub-networks with shared weights; the sub-networks take patient data vectors as input and feature vectors as outputs;

[0036] S2.7: Transfer the new patient data vector v new and V history Each patient data vector in the archive The inputs are fed into two subnetworks of a pre-trained Siamese network to obtain the feature vector f1 of the new patient data and the feature vector set of the patient data in the archive. in, Let N represent the feature vector of the Nth patient data in the database, where N represents the number of feature vectors of the patient data in the database, and k represents the index of the patient data vector in the database, and k∈[1,N];

[0037] S2.8: For f1 and F history Feature vector of each patient data in the archive The feature vector f1 of the new patient data and the feature vector of the patient data of each archive are calculated using Euclidean distance. The similarity d between k .

[0038] Specifically, the steps in S2.3 include:

[0039] S2.31: Retrieve existing patient data D from the master index archive after partition storage, according to the partition number. history And confirm that each attribute in attribute set A exists in D. history middle;

[0040] S2.32: For each pair of attributes (a i ,a j The observed values ​​are extracted and constructed into a two-dimensional contingency table; the rows of the contingency table represent a. i The different values ​​of a are represented in the column. j Different values ​​of ;

[0041] S2.33: Calculate the statistics for each combination (a) i =B,a j =C) The number of times it appears, and fill it into the corresponding cell of the contingency table, where B and C represent two attribute values;

[0042] S2.34: Based on attribute a in the contingency table i The number of samples with value B and attribute a j The expected frequency E of each cell is obtained by multiplying the number of samples with a value of C by the total number of samples. BC ;

[0043] S2.35: Based on the observation frequency O BC and expected frequency E BC Square the difference, then divide by E BCThe quotients obtained by division are summed to obtain the chi-square statistic, which is then used as attribute a. i and a j Attribute correlation g ij The summation is performed based on all cells in the contingency table.

[0044] S2.36: Calculate the degrees of freedom df = (row-1) × (col-1) based on the number of rows and columns in the contingency table;

[0045] S2.37: Use the chi-square distribution table to find the critical value p based on the degrees of freedom;

[0046] S2.38: If g ij If the value is greater than p, then attribute a is determined. i and a j If a significant correlation exists, then attribute a is considered to be significantly correlated; otherwise, attribute a is considered to be significantly correlated. i and a j There is no significant correlation between them;

[0047] S2.39: For each pair of attributes (a i ,a j The calculated attribute correlation degree is filled into a preset empty attribute correlation matrix to obtain the attribute correlation matrix, and the dimension of the attribute correlation matrix is ​​the number of attributes in the attribute set A.

[0048] Specifically, step S3 includes the following steps:

[0049] S3.1: Define a personal interval value range for each attribute, and define a dynamic decision buffer range based on the personal interval value range; the dynamic decision buffer range is ±10% of the personal interval value range;

[0050] S3.2: Obtain the similarity between the newly collected patient data in step S2 and the existing patient data in the master index archive;

[0051] S3.3: For each newly collected patient data point, check whether its attribute values ​​fall within the individual interval range;

[0052] If all attribute values ​​of the newly collected patient data fall within the individual's range, it is determined that they belong to the same person, and the newly collected patient data is merged with the existing patient data in the main index archive based on the main index number.

[0053] If an attribute value is outside the individual's range, but the similarity result is within the preset dynamic decision buffer range, it is determined that they are the same person. The missing attribute association is then completed using a knowledge graph. At the same time, the completed patient data is merged with the existing patient data in the main index archive.

[0054] If an attribute value is outside the individual's range and the similarity result is outside the preset dynamic decision buffer range, the newly collected patient data will be pushed to the doctor's end for background viewing and judgment.

[0055] Specifically, step S4 includes the following steps:

[0056] S4.1: After receiving the pushed data in the background, the doctor generates the corresponding combination based on the actual situation and compares the newly collected patient data with the existing patient data in the main index archive.

[0057] S4.2: Determine whether the newly collected patient data belongs to the same person as the existing patient data in the master index archive;

[0058] If it is determined that the patient is not the same person, a new patient record is generated and entered into the system.

[0059] If the data is determined to be from the same person, the newly collected patient data will be merged with the existing patient data in the main index archive based on the main index number.

[0060] S4.3: Update the merged patient data or newly added patient records to the main index archive.

[0061] A master index management system includes: an index allocation module, an identification module, a judgment and decision module, and a doctor-side module;

[0062] The index allocation module is used to collect patient data from multiple hospital platforms, assign a unique master index number to each patient, and store patient attribute information and master index number in the master index archive.

[0063] The identification module uses attribute association analysis combined with an attention mechanism to dynamically allocate attribute weights and calculate the multi-dimensional similarity between newly collected patient data and existing patient data in the main index archive.

[0064] The judgment and decision module is used to make a comprehensive judgment based on the similarity calculation results and the individual interval value, and decide whether to determine that they are the same person or to push the data to the doctor's end for background viewing and judgment.

[0065] In the doctor-side module, after receiving the data pushed from the backend, the doctor can add or merge data according to the actual situation and save the updated data to the main index archive.

[0066] Compared with the prior art, the beneficial effects of the present invention are:

[0067] 1. This invention proposes an identity recognition method that assigns a master index number with retention function to each patient through an improved snowflake algorithm, and distributes patient attribute information and master index number to form a unified and efficient basic patient archive. This not only ensures the uniqueness and traceability of patient data, but also improves the efficiency and accuracy of data management. At the same time, it utilizes attribute association analysis combined with attention mechanism for dynamic attribute weight allocation, and an improved similarity algorithm to calculate multi-dimensional similarity, enabling newly collected patient data to be accurately matched with existing patient data in the master index archive, effectively improving the accuracy and efficiency of patient identity recognition.

[0068] 2. This invention proposes an identity recognition method that makes a comprehensive judgment by setting individual range values ​​for each attribute, and pushes the results to the doctor's end for background viewing and judgment when the similarity is the same or when a suspected case occurs, thereby further enhancing the reliability and flexibility of patient identity recognition. Doctors can generate corresponding combinations according to the actual situation to add new patient records or merge existing patient data, ensuring the integrity and consistency of patient data. Attached Figure Description

[0069] Figure 1 This is a schematic diagram of an identity recognition method according to the present invention;

[0070] Figure 2 This is a flowchart illustrating the principle of an identity recognition method according to the present invention;

[0071] Figure 3 This is a flowchart of the main index generation process for an identity recognition method according to the present invention;

[0072] Figure 4 This is a diagram illustrating the architecture of a master index management system according to the present invention. Detailed Implementation

[0073] Example 1:

[0074] Please see Figure 1 and Figure 2 The present invention provides an embodiment of an identity recognition method, comprising the following steps:

[0075] Step S1: Obtain patient data from multiple hospital platforms, assign a master index number to each patient using the improved snowflake algorithm, associate the master index number with the patient's attribute information, and distribute and store them in the master index archive; the master index number has a number retention function;

[0076] Step S2: Use attribute association analysis combined with attention mechanism to perform dynamic attribute weight allocation. For newly collected patient data, identify them one by one in the main index archive based on attribute values, and use Siamese network combined with dynamic attribute weight to calculate the similarity between the newly collected patient data and the existing patient data in the main index archive.

[0077] Step S3: Set the individual interval value for each attribute, make a comprehensive judgment based on the similarity results and the individual interval value, combined with the preset dynamic decision buffer range, and automatically merge or push the results to the backend doctor's end based on the comprehensive judgment results;

[0078] Step S4: After receiving the pushed data in the background, the doctor adds or merges the data according to the actual situation, and updates the merged data or newly added patient records to the main index archive; the self-merging includes normal merging and forced merging.

[0079] In summary, the system achieves unified management and efficient sharing of patient data across multiple hospital platforms. The improved Snowflake algorithm ensures the uniqueness and traceability of patient data, while the attention mechanism and attribute association analysis improve the accuracy and efficiency of patient identification. In particular, the system's intelligence and practicality are further enhanced by supplementing missing attribute associations through knowledge graphs and machine learning inference algorithms. Furthermore, the manual judgment process at the doctor's end ensures both the accuracy of the results and the flexibility of the system.

[0080] Example 2:

[0081] Please see Figure 3 In this embodiment, step S1 specifically includes the following steps:

[0082] S1.1: Based on the multi-hospital platform architecture, assign a unique data center ID to each hospital platform, and within each data center, assign a unique worker machine ID to different business modules;

[0083] S1.2: Set the serial number bit length and timestamp encoding rules, and encode the data center ID and worker machine ID into binary to obtain the first index number and the second index number;

[0084] The timestamp encoding rule uses a combination of millisecond and microsecond timestamps.

[0085] Furthermore, the specific steps in S1.2 include:

[0086] S1.21: Pre-determine the number of digits in the serial number based on system requirements and data volume;

[0087] S1.22: Uses a timestamp encoding rule that combines millisecond and microsecond levels;

[0088] S1.23: Encode the data center ID and worker machine ID into binary form. Assuming that the data center ID and worker machine ID are both integers, directly convert them into binary form. For example, if the data center ID is 123 in decimal and the worker machine ID is 45 in decimal, then their binary codes are 1111011 and 101101, respectively.

[0089] S1.24: Use the binary code of the data center ID as the first index number and the binary code of the worker machine ID as the second index number.

[0090] S1.3: Initialize the serial number, acquire patient data from multiple hospital platforms, and perform preprocessing; the patient data includes, but is not limited to, name, ID number, medical insurance number, date of birth, gender, address, and medical record attribute information;

[0091] S1.4: Process each patient record sequentially from the preprocessed patient data:

[0092] Encode the current time into binary according to the timestamp encoding rules, and use it as the third index number;

[0093] The third index number, the first index number, the second index number, and the sequence number are concatenated in order, and the concatenated binary number is converted into a decimal number to serve as the patient's main index number.

[0094] Within the same microsecond segment, the sequence number is incremented by 1 for each primary index number generated. If the sequence number reaches the maximum number of digits, the system waits for the next microsecond segment to generate a new primary index number and then resets the sequence number to zero.

[0095] S1.5: Extract patient attribute information from the preprocessed patient data one by one, traverse each attribute, and use the attribute name as the key and the corresponding attribute value and the main index number generated in S1.4 as the value to form a set of key-value pairs;

[0096] S1.6: Construct an empty information association table in the master index archive, and insert the master index number generated in S1.4 and the key-value pairs in the key-value pair set generated in S1.5 into the empty information association table row by row;

[0097] S1.7: Read the patient data records in the information association table line by line, obtain the main index number of each patient data record, and use the modulo hash function to calculate the hash value of the main index number;

[0098] Furthermore, the specific steps in S1.7 include:

[0099] S1.71: Use database query language to read patient data records row by row from the information association table, where each patient data record should contain the patient's primary index number and its attribute information;

[0100] S1.72: Extract the patient's primary index number from the currently read row;

[0101] S1.73: Input the extracted patient's primary index number into the modulo hash function to obtain the hash value Value of the primary index number, and record it. The formula for the hash value Value of the primary index number is Value = HashFunction(X) mod M, where X represents the extracted patient's primary index number, M represents a positive integer, defines the target range of the hash value, HashFunction(·) represents the modulo hash function, and mod represents the modulo operator.

[0102] S1.8: Based on the calculated hash value of the primary index number, allocate patient data records to the corresponding partitions; the number of partitions is the maximum value of the hash value of the primary index number.

[0103] S1.9: In the main index archive, create a separate partition table for each partition and an index for each partition table;

[0104] Furthermore, in S1.9, the number of partitions to be created is determined based on the range of hash values ​​of the calculated master index number. For example, if the range of hash values ​​is 0 to 999, then 1000 partitions are selected to be created.

[0105] Creating an index for each partitioned table refers to creating a hash index on each partitioned table. This mainly involves using commands provided by the database management system to perform the operation of creating a hash index on the selected columns of the partitioned table. Specifically, the creation process of a hash index mainly uses a hash function to map the values ​​of the indexed columns to a hash table for fast lookup. The hash table is an array or linked list array used to store hash values ​​and corresponding data record pointers. During a query, the database system calculates the hash value of the query conditions and looks up the corresponding record pointer in the hash table, thereby achieving fast access.

[0106] S1.10: Write the patient data records allocated to each partition in S1.8 into the corresponding partition table to obtain the master index archive after partition storage.

[0107] The specific steps of step S2 include:

[0108] S2.1: Retrieve existing patient data D from the partitioned master index archive according to the partition number. history And acquire new patient data in real time. new ;

[0109] S2.2: According to D history and D new This forms an attribute set A = {a1, ..., a...} n}, where a n This represents the nth attribute, where n represents the number of attribute categories;

[0110] It should be noted that attribute a i To satisfy: or The condition is given, and i∈[1,n], where i represents the attribute index.

[0111] S2.3: For each pair of attributes (a) in attribute set A i ,a j ), i≠j, using the chi-square test method, based on D history Patient data calculation in (a i ,a j The degree of attribute association g) ij And construct an attribute association matrix, where i and j represent attribute indices;

[0112] S2.4: Based on the attribute types in attribute set A, set the attribute encoding rules and then assign them to D. history and D new Converting the data into vector form according to attribute encoding rules yields the patient data vector set V from the archive. history and new patient data vector v new Each patient's data corresponds to an n-dimensional vector, and the i-th dimension of the vector represents attribute a. i The encoded value, each dimension represents an attribute, that is, the vector dimension is the attribute dimension;

[0113] Furthermore, the attribute types in attribute set A include, but are not limited to, strings, numbers, and dates. In this invention, string attributes use one-hot encoding, number attributes directly use their values, and date attributes are converted to the number of days from a preset base date. The base date is an arbitrarily set fixed date. One-hot encoding is existing technology in this field and is not an inventive solution of this application, so it will not be described in detail here.

[0114] S2.5: For v new The i-th attribute dimension Calculate its attention score c using an attention mechanism. i After normalization, the weight w of each attribute is obtained. i ;

[0115] Furthermore, the specific steps of S2.5 include:

[0116] S2.51: Obtain the new patient data vector v new ;

[0117] S2.52: Initialize a trainable attention weight vector for each attribute dimension;

[0118] S2.53: For each attribute dimension in the new patient data vector, use an attention mechanism to calculate its attention score, specifically by performing a dot product between the attribute dimension value and the attention weight vector;

[0119] S2.54: The calculated attention score is normalized using the softmax function to obtain the weight of each attribute. The softmax function is prior art in this field and is not an inventive solution of this application, so it will not be described in detail here.

[0120] S2.54: The normalized weights are output as the final weights for each attribute dimension.

[0121] S2.6: Load the pre-trained Siamese network; the Siamese network contains two sub-networks with shared weights; the sub-networks take patient data vectors as input and feature vectors as outputs;

[0122] Specifically, when loading the pre-trained Siamese network, the Siamese network architecture is loaded first, and then trained using patient data from the main index archive to obtain the trained Siamese network. The specific steps include:

[0123] S2.61: Define the architecture of the Siamese network, which consists of two subnetworks sharing weights. These two subnetworks receive a pair of inputs and output corresponding feature vectors.

[0124] S2.62: Load the pre-trained Siamese network model parameters. Loading the pre-trained Siamese network model parameters involves reading the model's weights and biases from a file and assigning these parameters to the corresponding layers of the Siamese network. The Siamese network model pre-training process includes:

[0125] From the patient data vector set V in the archive history Randomly selected paired patient data vectors (v l1 ,v l2 The data is generated by labeling V with its actual similarity (1 for similarity and 0 for dissimilarity), and then using l1 and l2 to represent V. history Vector index of patient data in the Chinese archives;

[0126] The Siamese network architecture is trained using training data, and the network parameters are optimized using a contrastive loss function to obtain a trained Siamese network.

[0127] S2.7: Transfer the new patient data vector v new and V history Each patient data vector in the archive The inputs are fed into two subnetworks of a pre-trained Siamese network to obtain the feature vector f1 of the new patient data and the feature vector set of the patient data in the archive. in, Let N represent the feature vector of the Nth patient data in the database, where N represents the number of feature vectors of the patient data in the database, and k represents the index of the patient data vector in the database, and k∈[1,N];

[0128] S2.8: For f1 and F history Feature vector of each patient data in the archive The feature vector f1 of the new patient data and the feature vector of the patient data of each archive are calculated using Euclidean distance. The similarity d between k The Euclidean distance calculation formula is existing technology in this field and is not an inventive solution of this application, so it will not be described in detail here.

[0129] The specific steps in S2.3 include:

[0130] S2.31: Retrieve existing patient data D from the master index archive after partition storage, according to the partition number. history And confirm that each attribute in attribute set A exists in D. history middle;

[0131] S2.32: For each pair of attributes (a i ,a j The observed values ​​are extracted and constructed into a two-dimensional contingency table; the rows of the contingency table represent a. i The different values ​​of a are represented in the column. j Different values ​​of ;

[0132] S2.33: Calculate the statistics for each combination (a) i =B,a j =C) The number of times it appears, and fill it into the corresponding cell of the contingency table, where B and C represent two attribute values;

[0133] For example, suppose a i For gender attributes, a j If the symptoms are male or female, then B could be male or female, and C could be headache or abdominal pain, etc. Therefore, (a) i =B,a j=C) may indicate that the gender is male and the symptom is abdominal pain.

[0134] S2.34: Based on attribute a in the contingency table i The number of samples with value B and attribute a j The expected frequency E of each cell is obtained by multiplying the number of samples with a value of C by the total number of samples. BC Among them, attribute a i The number of samples with a value of B also represents attribute a. i The sum of the observation frequencies of all cells in the row with value B, attribute a j The number of samples with a value of C also represents attribute a. j The sum of the observation frequencies of all cells in the column with value C;

[0135] S2.35: Based on the observation frequency O BC and expected frequency E BC Square the difference, then divide by E BC The quotients obtained by division are summed to obtain the chi-square statistic, which is then used as attribute a. i and a j Attribute correlation g ij The summation is performed based on all cells in the contingency table.

[0136] The observation frequencies are obtained through a contingency table. Each cell in the contingency table contains the observation frequencies for the corresponding category combination. For example, in S2.33, the observation frequency for headaches in males is 10.

[0137] S2.36: Calculate the degrees of freedom df = (row-1) × (col-1) based on the number of rows and columns in the contingency table;

[0138] S2.37: Use the chi-square distribution table to find the critical value p based on the degrees of freedom;

[0139] The chi-square distribution table lists the critical values ​​for different degrees of freedom and significance levels; the significance level is a preset value, and this invention selects a significance level of 0.05.

[0140] S2.38: If g ij If the value is greater than p, then attribute a is determined. i and a j If a significant correlation exists, then attribute a is considered to be significantly correlated; otherwise, attribute a is considered to be significantly correlated. i and a j There is no significant correlation between them;

[0141] S2.39: For each pair of attributes (a i ,a jThe calculated attribute correlation degree is filled into a preset empty attribute correlation matrix to obtain the attribute correlation matrix, and the dimension of the attribute correlation matrix is ​​the number of attributes in the attribute set A.

[0142] The specific steps of step S3 include:

[0143] S3.1: Define a personal interval value range for each attribute, and define a dynamic decision buffer range based on the personal interval value range; the dynamic decision buffer range is ±10% of the personal interval value range;

[0144] S3.2: Obtain the similarity between the newly collected patient data in step S2 and the existing patient data in the master index archive;

[0145] S3.3: For each newly collected patient data point, check whether its attribute values ​​fall within the individual interval range;

[0146] If all attribute values ​​of newly collected patient data fall within the individual's range, it is determined that they belong to the same person, and the newly collected patient data is merged with the existing patient data in the master index archive based on the master index number.

[0147] If an attribute value is outside the individual's range, but the similarity result is within the preset dynamic decision buffer range, it is determined that they are the same person. The missing attribute association is then completed using a knowledge graph. At the same time, the completed patient data is merged with the existing patient data in the main index archive.

[0148] The specific steps for completing missing attribute associations using knowledge graphs include:

[0149] S3.31: Construct a knowledge graph using the graph database Neo4j, wherein the graph database Neo4j is prior art in this field and is not an inventive solution of this application, and will not be described in detail here;

[0150] S3.32: If the patient is determined to be the same person, check whether there are any missing attribute values ​​in the newly collected patient data by comparing the newly collected patient data with the existing patient data in the master index archive.

[0151] S3.33: If there are missing attribute values, then for the missing attribute, search for the nodes and edges related to the missing attribute in the knowledge graph;

[0152] S3.34: Based on the query results, use an inference algorithm to complete the missing attribute associations and update the completed data in the patient records, including:

[0153] Use a query statement to extract patient data containing missing attributes from the patient record database;

[0154] Select the attributes associated with the missing attributes as features, and perform standardized preprocessing on these features;

[0155] Load a pre-trained random forest regression model. The random forest regression model is existing technology in this field and is not an inventive solution of this application. It will not be described in detail here.

[0156] The preprocessed features are input into a pre-trained random forest regression model for inference and prediction to obtain the estimated value of the missing attribute. For example, for each record with a missing attribute, the model is used to predict the value of attribute_x.

[0157] The predicted missing attribute values ​​are updated to the patient records using SQL update statements. The SQL update statements are existing technology in this field and are not an inventive solution of this application, so they will not be described in detail here.

[0158] If an attribute value is outside the individual's range and the similarity result is outside the preset dynamic decision buffer range, or if a suspected case occurs, the newly collected patient data will be pushed to the doctor's end for background viewing and judgment.

[0159] Among the suspected cases are:

[0160] The patient's symptom combination is uncommon in common diseases or does not completely match the symptom combination of known diseases, indicating the presence of new diseases or complications;

[0161] By comparing the newly collected data with the patient's historical data, significant changes or inconsistencies were found, indicating that the patient's condition had changed or new problems had emerged.

[0162] The newly collected patient data contained outliers or data points that did not conform to the usual pattern.

[0163] The specific steps of step S4 include:

[0164] S4.1: After receiving the pushed data in the background, the doctor generates the corresponding combination based on the actual situation and compares the newly collected patient data with the existing patient data in the main index archive.

[0165] S4.2: Determine whether the newly collected patient data belongs to the same person as the existing patient data in the master index archive;

[0166] If it is determined that the patient is not the same person, a new patient record is generated and entered into the system.

[0167] If the data is determined to be from the same person, the newly collected patient data will be merged with the existing patient data in the main index archive based on the main index number.

[0168] S4.3: Update the merged patient data or newly added patient records to the main index archive.

[0169] Example 3:

[0170] Please see Figure 4 Another embodiment of the present invention provides: a master index management system, comprising:

[0171] Index allocation module, recognition module, judgment and decision module, doctor-side module;

[0172] The index allocation module is used to collect patient data from multiple hospital platforms, assign a unique master index number to each patient, and store patient attribute information and master index number in the master index archive.

[0173] The identification module uses attribute association analysis combined with an attention mechanism to dynamically assign attribute weights and calculate the multi-dimensional similarity between newly collected patient data and existing patient data in the main index archive.

[0174] The judgment and decision module is used to make a comprehensive judgment based on the similarity calculation results and the individual's interval value, and decide whether to determine that they are the same person or to push the data to the doctor's end for backend viewing and judgment.

[0175] In the doctor's module, after receiving the data pushed from the backend, the doctor adds or merges the data according to the actual situation and saves the updated data to the main index archive.

[0176] The index allocation module includes: a data collection unit, an index allocation unit, and a data storage unit;

[0177] The data collection unit is used to collect patient data from multiple hospital platforms;

[0178] An index allocation unit is used to assign a primary index number with number retention function to each patient using an improved snowflake algorithm;

[0179] The data storage unit is used to distribute and store the patient's attribute information and master index number in the master index archive to form the patient's basic file.

[0180] The identification module includes: a weight allocation unit and a similarity calculation unit;

[0181] The weight allocation unit uses attribute association analysis combined with an attention mechanism to dynamically allocate attribute weights; the similarity calculation unit is used to identify each data point in the main index archive based on the attribute values, and uses an improved similarity algorithm combined with dynamic attribute weights to calculate the multi-dimensional similarity between newly collected patient data and existing patient data in the archive.

[0182] The embodiments of the present invention have been described above with reference to the accompanying drawings. However, the present invention is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make changes, modifications, substitutions and variations to the above embodiments under the guidance of the present invention without departing from the spirit and scope of the present invention. All of these variations are within the protection scope of the present invention.

[0183] If the technical solution disclosed herein involves personal information, the product using this technical solution has clearly informed the user of the personal information processing rules and obtained the user's voluntary consent before processing the personal information. If the technical solution disclosed herein involves sensitive personal information, the product using this technical solution has obtained the user's separate consent before processing the sensitive personal information, and also meets the requirement of "express consent". For example, at personal information collection devices such as cameras, clear and prominent signs are set up to inform users that they have entered the scope of personal information collection and that personal information will be collected. If an individual voluntarily enters the collection scope, it is deemed that they have agreed to the collection of their personal information; or on the personal information processing device, with clear signs / information informing users of the personal information processing rules, authorization is obtained from the individual through pop-up information or by asking the individual to upload their personal information; wherein, the personal information processing rules may include information such as the personal information processor, the purpose of personal information processing, the processing method, and the types of personal information processed.

Claims

1. An identity recognition method, characterized in that, include: Step S1: Obtain patient data from multiple hospital platforms, assign a master index number to each patient using the improved snowflake algorithm, associate the master index number with the patient's attribute information, and distribute and store them in the master index archive; the master index number has a number retention function; Step S2: Use attribute association analysis combined with attention mechanism to perform dynamic attribute weight allocation. For newly collected patient data, identify them one by one in the main index archive based on attribute values, and use Siamese network combined with dynamic attribute weight to calculate the similarity between the newly collected patient data and the existing patient data in the main index archive. Step S3: Set the individual interval value for each attribute, make a comprehensive judgment based on the similarity results and the individual interval value, combined with the preset dynamic decision buffer range, and automatically merge or push the results to the backend doctor's end based on the comprehensive judgment results; Step S4: After receiving the pushed data in the background, the doctor adds or merges the data according to the actual situation, and updates the main index archive with the merged data or newly added patient records; the self-merging includes normal merging and forced merging; the specific steps of step S2 include: S2.1: Retrieve existing patient data from the partitioned master index archive according to the partition number. And acquire new patient data in real time. ; S2.2: According to and , forming an attribute set ,in, This represents the nth attribute, where n represents the number of attribute categories; S2.3: For each pair of attributes in attribute set A Using the chi-square test method, based on Patient data calculation Attribute correlation And construct an attribute association matrix, where i and j represent attribute indices; S2.4: Based on the attribute types in attribute set A, set the attribute encoding rules, and... and Converting the data into vector form according to attribute encoding rules yields a set of patient data vectors from the archive. and new patient data vector Each patient's data corresponds to an n-dimensional vector, and the i-th dimension of the vector represents an attribute. The encoded value; the specific steps of S2.3 include: S2.31: Retrieve existing patient data from the master index archive after partition storage, according to the partition number. And confirm that each attribute in attribute set A exists middle; S2.32: For each pair of attributes The observed values ​​are extracted and constructed into a two-dimensional contingency table; the rows of the contingency table represent... The different values ​​can be represented in the column. Different values ​​of ; S2.33: Calculate the statistics for each combination The number of occurrences is recorded and filled into the corresponding cells of the contingency table, where B and C represent two attribute values; S2.34: Based on attributes in the contingency table The number of samples and attributes with a value of B The expected frequency of each cell is obtained by multiplying the number of samples with a value of C by the total number of samples. ; S2.35: Based on observation frequency and expected frequency Square the difference, then divide by The quotients obtained by division are summed to obtain the chi-square statistic, which is then used as an attribute. and Attribute correlation The summation is performed based on all cells in the contingency table. S2.36: Calculate the degrees of freedom based on the number of rows (row) and columns (col) in the contingency table. ; S2.37: Use the chi-square distribution table to find the critical value p based on the degrees of freedom; S2.38: If Then determine the attribute. and There is a significant correlation between them; otherwise, determine the attribute. and There is no significant correlation between them; S2.39: For each pair of attributes The calculated attribute correlation degree is filled into a preset empty attribute correlation matrix to obtain the attribute correlation matrix, and the dimension of the attribute correlation matrix is ​​the number of attributes in the attribute set A.

2. The identity recognition method as described in claim 1, characterized in that, The specific steps of step S1 include: S1.1: Based on the multi-hospital platform architecture, assign a unique data center ID to each hospital platform, and within each data center, assign a unique worker machine ID to different business modules; S1.2: Set the serial number bit length and timestamp encoding rules, and encode the data center ID and worker machine ID into binary to obtain the first index number and the second index number; The timestamp encoding rule uses a combination of millisecond and microsecond timestamps. S1.3: Initialize the serial number, acquire patient data from multiple hospital platforms, and perform preprocessing; S1.4: Process each patient record sequentially from the preprocessed patient data: Encode the current time into binary according to the timestamp encoding rules, and use it as the third index number; The third index number, the first index number, the second index number, and the sequence number are concatenated in order, and the concatenated binary number is converted into a decimal number to serve as the patient's main index number. Within the same microsecond segment, the sequence number is incremented by 1 for each primary index number generated. If the sequence number reaches the maximum number of digits, the system waits for the next microsecond segment to generate a new primary index number and then resets the sequence number to zero.

3. The identity recognition method as described in claim 2, characterized in that, The specific steps of step S1 also include: S1.5: Extract patient attribute information from the preprocessed patient data one by one, traverse each attribute, and use the attribute name as the key and the corresponding attribute value and the main index number generated in S1.4 as the value to form a set of key-value pairs; S1.6: Construct an empty information association table in the master index archive, and insert the master index number generated in S1.4 and the key-value pairs in the key-value pair set generated in S1.5 into the empty information association table row by row; S1.7: Read the patient data records in the information association table line by line, obtain the main index number of each patient data record, and use the modulo hash function to calculate the hash value of the main index number; S1.8: Based on the calculated hash value of the primary index number, allocate patient data records to the corresponding partitions; the number of partitions is the maximum value of the hash value of the primary index number. S1.9: In the main index archive, create a separate partition table for each partition and an index for each partition table; S1.10: Write the patient data records allocated to each partition in S1.8 into the corresponding partition table to obtain the master index archive after partition storage.

4. The identity recognition method as described in claim 3, characterized in that, The specific steps of step S2 also include: S2.5: For The i-th attribute dimension The attention score is calculated using an attention mechanism. After normalization, the weight of each attribute is obtained. .

5. The identity recognition method as described in claim 4, characterized in that, The specific steps of step S2 also include: S2.6: Load the pre-trained Siamese network; the Siamese network contains two sub-networks with shared weights; the sub-networks take patient data vectors as input and feature vectors as outputs; S2.7: Vectorize new patient data and Each patient data vector in the archive The data is fed into two subnetworks of a pre-trained Siamese network to obtain the feature vectors of the new patient data. The feature vector set of patient data in the archive ,in, Let represent the feature vector of the Nth patient data in the database, where N represents the number of feature vectors in the database, and k represents the index of the patient data vector in the database. ; S2.8: For and Feature vector of each patient data in the archive Use Euclidean distance to calculate the feature vector of new patient data and the feature vector of patient data in each archive similarity between .

6. The identity recognition method as described in claim 5, characterized in that, The specific steps of step S3 include: S3.1: Define a personal interval value range for each attribute, and define a dynamic decision buffer range based on the personal interval value range; the dynamic decision buffer range is ±10% of the personal interval value range; S3.2: Obtain the similarity between the newly collected patient data in step S2 and the existing patient data in the master index archive; S3.3: For each newly collected patient data point, check whether its attribute values ​​fall within the individual interval range; If all attribute values ​​of newly collected patient data fall within the individual's range, it is determined that they belong to the same person, and the newly collected patient data is merged with the existing patient data in the master index archive based on the master index number. If an attribute value is outside the individual's range, but the similarity result is within the preset dynamic decision buffer range, it is determined that they are the same person. The missing attribute association is then completed using a knowledge graph. At the same time, the completed patient data is merged with the existing patient data in the main index archive. If an attribute value is outside the individual's range and the similarity result is outside the preset dynamic decision buffer range, the newly collected patient data will be pushed to the doctor's end for background viewing and judgment.

7. The identity recognition method as described in claim 6, characterized in that, The specific steps of step S4 include: S4.1: After receiving the pushed data in the background, the doctor generates the corresponding combination based on the actual situation and compares the newly collected patient data with the existing patient data in the main index archive. S4.2: Determine whether the newly collected patient data belongs to the same person as the existing patient data in the master index archive; If it is determined that the patient is not the same person, a new patient record is generated and entered into the system. If the data is determined to be from the same person, the newly collected patient data will be merged with the existing patient data in the main index archive based on the main index number. S4.3: Update the merged patient data or newly added patient records to the main index archive.

8. A master index management system for implementing the identity recognition method according to any one of claims 1-7, characterized in that, include: Index allocation module, recognition module, judgment and decision module, doctor-side module; The index allocation module is used to collect patient data from multiple hospital platforms, assign a unique master index number to each patient, and store patient attribute information and master index number in the master index archive. The identification module uses attribute association analysis combined with an attention mechanism to dynamically allocate attribute weights and calculate the multi-dimensional similarity between newly collected patient data and existing patient data in the main index archive. The judgment and decision module is used to make a comprehensive judgment based on the similarity calculation results and the individual interval value, and decide whether to determine that they are the same person or to push the data to the doctor's end for background viewing and judgment. In the doctor-side module, after receiving the data pushed from the backend, the doctor can add or merge data according to the actual situation and save the updated data to the main index archive.