Medical data processing method, electronic equipment and readable storage medium

By building a target index file and using the encoding characteristics in the word forest to determine the target encoding range and data file blocks of medical data query, the problem of inability to meet the multi-level storage and query of medical data in the existing technology is solved, and efficient data is achieved Storage and query.

CN119396776APending Publication Date: 2025-02-07WINNING HEALTH TECHNOLOGY GROUP CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411552699.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-01
Publication Date
2025-02-07

AI Technical Summary

Technical Problem

The prior art cannot meet the multi-level data storage and query needs of medical data, and traditional synonym processing methods increase storage demand space and reduce data reading efficiency.

Method used

Through the pre-constructed target index file, the target encoding range of the query keywords entered by the user is determined, and the data records to be output are obtained based on the encoding range and the target data file block query. This method uses the characteristics of the same semantics or similar keywords in the word forest to encode adjacent adjacent codes to realize fuzzy query and improve query efficiency through chunked storage.

Benefits of technology

It realizes efficient storage and query of multi-level medical data, reduces storage demand space, improves data reading efficiency, and meets the storage and query needs of multi-level data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119396776A_ABST
    Figure CN119396776A_ABST
Patent Text Reader

Abstract

The invention provides a medical data processing method, electronic equipment and a readable storage medium, and the method comprises the steps: receiving query information input by a user, the query information comprises a query keyword, and determining a target coding range of the query keyword according to a pre-constructed target index file, a coding range corresponding to each keyword in a word forest is stored in the target index file, and in the word forest, codes of a plurality of keywords with the same or similar semantics are adjacent, determining at least one target data file block, and querying to obtain at least one to-be-output data record according to the target coding range and each target data file block, and outputting the at least one to-be-output data record. By searching the coding range and pre-storing the data into the multi-layer data file blocks, the data query efficiency can be improved, the time consumed in the data query transmission process is shortened, better compression is realized, and the storage space of storage hardware is saved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of data storage technology, and in particular to a medical data processing method, an electronic device, and a readable storage medium. Background Art

[0002] With the continuous improvement of medical information construction, clinical medical data such as electronic medical records have been widely used. How to store massive clinical medical data has become an urgent problem to be solved.

[0003] In the prior art, column storage methods are commonly used to achieve data storage and data query. However, column storage methods cannot meet the storage and query requirements of multi-level data such as medical data. In addition, the traditional storage method that meets the synonym processing will store the synonyms of each word together, which greatly increases the storage space required and reduces the data reading efficiency. Summary of the invention

[0004] The purpose of this application is to provide a medical data processing method, electronic device and readable storage medium to address the deficiencies in the above-mentioned prior art, so as to solve the problem that the prior art cannot meet the needs of multi-level data storage and query.

[0005] To achieve the above objectives, the technical solutions adopted in this application are as follows:

[0006] In a first aspect, the present application provides a medical data processing method, the method comprising:

[0007] Receiving query information input by a user, the query information including: query keywords;

[0008] Determine the target coding range of the query keyword according to a pre-constructed target index file, wherein the target index file stores the coding range corresponding to each keyword in the word forest, and in the word forest, the codings of multiple keywords with the same or similar semantics are adjacent;

[0009] Determine at least one target data file block, and query and obtain at least one data record to be output according to the target encoding range and each of the target data file blocks;

[0010] The at least one data record to be output is output.

[0011] Optionally, determining the target coding range of the query keyword according to the pre-constructed target index file includes:

[0012] Searching the target record where the query keyword is located from the target index file;

[0013] The range formed by the minimum code and the maximum code in the target record is used as the target code range of the query keyword.

[0014] Optionally, the target index file construction process includes:

[0015] Acquire multiple related keywords with the same or similar semantics and the codes of each of the related keywords from the word forest;

[0016] Sorting the codes of the relevant keywords to obtain the relevant minimum code and the relevant maximum code;

[0017] Each of the related keywords is traversed, and for the current related keyword traversed, the current related keyword, the related minimum code and the related maximum code are added as a record to the target index file.

[0018] Optionally, the query information further includes: a query type;

[0019] The determining of at least one target data file block comprises:

[0020] According to the query type, the target data file block corresponding to the query type is determined.

[0021] Optionally, determining at least one target data file block includes:

[0022] The data file blocks containing the codes within the target coding range are respectively taken as the target data file blocks.

[0023] Optionally, querying and obtaining at least one to-be-output data record according to the target coding range and each of the target data file blocks includes:

[0024] Determine at least one target data record in the target data file block, an associated data file block, and associated data records in each of the associated data file blocks according to the target coding range and an index in each data record in the target data file block;

[0025] The at least one target data record and each of the associated data records are used as the data records to be output.

[0026] Optionally, determining at least one target data record in the target data file block, an associated data file block, and associated data records in each of the associated data file blocks according to the target coding range and an index in each data record in the target data file block comprises:

[0027] Searching for current data records whose codes are within the target coding range from the target data file block, and taking each of the current data records found as a target data record;

[0028] Obtaining each current index in each current data record;

[0029] According to each current index in each current data record, an associated data file block and an associated data record in each associated data file block are determined.

[0030] Optionally, determining the associated data file block and the associated data record in each associated data file block according to each current index in each current data record includes:

[0031] If the value of the current index is a first preset value, the data file block corresponding to the current index is used as an associated data file block, and the data record containing the current index in the associated data file block is used as the associated data record, wherein the first preset value is used to represent the user's identification.

[0032] In a second aspect, the present application provides a medical data processing device, the device comprising:

[0033] A receiving module, configured to receive query information input by a user, wherein the query information includes: query keywords;

[0034] A determination module, for determining a target coding range of the query keyword according to a pre-constructed target index file, wherein the target index file stores a coding range corresponding to each keyword in the word forest, and in the word forest, the codings of multiple keywords with the same or similar semantics are adjacent;

[0035] A query module, used to determine at least one target data file block, and query to obtain at least one data record to be output according to the target encoding range and each of the target data file blocks;

[0036] An output module is used to output the at least one data record to be output.

[0037] Optionally, the determining module is specifically used to:

[0038] Searching the target record where the query keyword is located from the target index file;

[0039] The range formed by the minimum code and the maximum code in the target record is used as the target code range of the query keyword.

[0040] Optionally, the determining module is further used for:

[0041] Acquire multiple related keywords with the same or similar semantics and the codes of each of the related keywords from the word forest;

[0042] Sorting the codes of the relevant keywords to obtain the relevant minimum code and the relevant maximum code;

[0043] Each of the related keywords is traversed, and for the current related keyword traversed, the current related keyword, the related minimum code and the related maximum code are added as a record to the target index file.

[0044] Optionally, the query information further includes: a query type;

[0045] The query module is specifically used for:

[0046] According to the query type, the target data file block corresponding to the query type is determined.

[0047] Optionally, the query module is specifically used to:

[0048] The data file blocks containing the codes within the target coding range are respectively taken as the target data file blocks.

[0049] Optionally, the query module is specifically used to:

[0050] Determine at least one target data record in the target data file block, an associated data file block, and associated data records in each of the associated data file blocks according to the target coding range and an index in each data record in the target data file block;

[0051] The at least one target data record and each of the associated data records are used as the data records to be output.

[0052] Optionally, the query module is specifically used to:

[0053] Searching for current data records whose codes are within the target coding range from the target data file block, and taking each of the current data records found as a target data record;

[0054] Obtaining each current index in each current data record;

[0055] According to each current index in each current data record, an associated data file block and an associated data record in each associated data file block are determined.

[0056] Optionally, the query module is specifically used to:

[0057] If the value of the current index is a first preset value, the data file block corresponding to the current index is used as an associated data file block, and the data record containing the current index in the associated data file block is used as the associated data record, wherein the first preset value is used to represent the user's identification.

[0058] In a third aspect, the present application provides an electronic device comprising: a processor, a storage medium and a bus, wherein the storage medium stores machine-readable instructions executable by the processor, and when the electronic device is running, the processor communicates with the storage medium via the bus, and the processor executes the machine-readable instructions to perform the steps of the method described in the first aspect above.

[0059] In a fourth aspect, the present application provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the steps of the method described in the first aspect are executed.

[0060] The beneficial effects of the present application are as follows: first, the target coding range of the query keyword input by the user is determined according to the pre-constructed target index file, and then after the target data file block is determined, at least one data record to be output is obtained by querying according to the target coding range and the target data file block. Among them, since the codes of multiple keywords with the same or similar semantics in the target index file are adjacent, fuzzy query of the query keyword can be realized according to the target coding range corresponding to the query keyword. After determining the target data file block, querying based on the target coding range can improve data query efficiency and reduce the time consumed in the data query transmission process compared to querying the entire database. In addition, by storing different types of data in the target data file blocks respectively, better compression can be achieved, saving storage space while meeting the storage and query requirements of multi-level data. BRIEF DESCRIPTION OF THE DRAWINGS

[0061] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the embodiments will be briefly introduced below. It should be understood that the following drawings only show certain embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.

[0062] Figure 1 It is a flowchart of a medical data processing method provided in an embodiment of the present application;

[0063] Figure 2 This is a schematic diagram of a query interaction interface provided by an embodiment of the present application;

[0064] Figure 3This is a schematic diagram of a target index file construction process provided by an embodiment of the present application;

[0065] Figure 4 It is a flow chart of a method for determining a target data record, an associated data file block, and an associated data record provided by an embodiment of the present application;

[0066] Figure 5 is a flowchart of another medical data processing method provided in an embodiment of the present application;

[0067] Figure 6 is a structural schematic diagram of a medical data processing device provided in an embodiment of the present application;

[0068] Figure 7 It is a structural schematic diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0069] To make the purpose, technical scheme and advantages of the embodiments of the present application clearer, the technical scheme in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. It should be understood that the drawings in the present application only serve the purpose of explanation and description and are not used to limit the scope of protection of the present application. In addition, it should be understood that the schematic drawings are not drawn in real proportion. The flowchart used in this application shows the operations implemented according to some embodiments of the present application. It should be understood that the operations of the flowchart can be implemented out of sequence, and the steps without logical context can be reversed in order or implemented simultaneously. In addition, those skilled in the art can add one or more other operations to the flowchart under the guidance of the content of the present application, or remove one or more operations from the flowchart.

[0070] In addition, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. The components of the embodiments of the present application described and shown in the drawings here can be arranged and designed in various configurations. Therefore, the following detailed description of the embodiments of the present application provided in the drawings is not intended to limit the scope of the application claimed for protection, but merely represents the selected embodiments of the present application. Based on the embodiments of the present application, all other embodiments obtained by those skilled in the art without making creative work belong to the scope of protection of the present application.

[0071] It should be noted that the term "comprising" will be used in the embodiments of the present application to indicate the existence of the features declared thereafter, but does not exclude the addition of other features.

[0072] The column storage method used in the prior art cannot meet the storage and query requirements of multi-level data such as medical data. In addition, traditional systems that can process synonyms, such as the ElasticSearch system, need to store the synonyms of each word together, which greatly increases the storage space required and reduces data reading efficiency.

[0073] Based on this, the present application proposes a medical data processing method, which determines the target coding range corresponding to the query keyword in the query information input by the user according to the pre-constructed target index file, wherein the keywords stored in the target index file have the same or similar semantics, and the codes are adjacent, and the target coding range corresponding to the query keyword is used to search for keywords with the same or similar semantics as the query keyword, thereby reducing the storage space required and improving data reading efficiency. Then, according to the target coding range and the determined target data file block, the data record to be output is queried and output, wherein a single data type is stored in a data file block, and the data between each data file block has a corresponding relationship, thereby meeting the multi-level data storage requirements of medical data.

[0074] Figure 1 is a flowchart of a medical data processing method provided by an embodiment of the present application. Next, refer to Figure 1 The process of medical data processing method is introduced.

[0075] S101. Receive query information input by a user, where the query information includes: query keywords.

[0076] Among them, users can enter query information in the medical data query interface.

[0077] Optionally, the query information may include a single query keyword or multiple query keywords. If the query information includes multiple query keywords, the search is performed according to each query keyword, and all data records containing any query keyword are output. This embodiment is described as if the query information contains a single query keyword.

[0078] Exemplarily, the query keywords may be headache, nausea, vomiting, etc.

[0079] S102, determining a target coding range of the query keyword according to a pre-constructed target index file, wherein the target index file stores a coding range corresponding to each keyword in the word forest, and in the word forest, the codes of multiple keywords with the same or similar semantics are adjacent.

[0080] Specifically, according to the pre-constructed target index file, the maximum code and the minimum code of the query keyword are determined, and the target code range of the query keyword is determined according to the maximum code and the minimum code.

[0081] Optionally, the target index file may exist in the form of a table or multiple sub-files. Among them, the table may record multiple records respectively, and each record includes a keyword and the minimum code and maximum code corresponding to the keyword, or may include multiple keywords with the same or similar semantics and the corresponding minimum code and maximum code.

[0082] Exemplarily, if the target index file exists in the form of a table and stores the coding ranges of keywords one by one, its content may be the following Table 1:

[0083] Table 1

[0084]

[0085]

[0086] If the target index file exists in the form of a table and stores multiple keywords with the same or similar semantics and their coding ranges, its content may be the following Table 2:

[0087] Table 2

[0088] serial number Keywords Minimal coding Maximum encoding 1 Headache 1101101 1101103 2 Vomit 1101203 1101211 …… …… …… ……

[0089] If the target index file is in the form of multiple sub-files, each sub-file is equivalent to a record, and each record respectively includes a file number, a keyword, the maximum code and the minimum code corresponding to the keyword.

[0090] It should be noted that the target index file is constructed based on the Word Forest. The Word Forest records multiple keywords and the codes corresponding to the keywords, and the codes of keywords with the same or similar semantics are adjacent. Exemplarily, the Word Forest records synonyms including person, gentleman, figure, personage, people and candidate, and their codes are 1101401, 1101402, 1101403, 1101404 and 1101405 respectively.

[0091] Optionally, if the code of a keyword in the Word Forest is a letter, the letter part of the code is converted into a number and stored in the target index file.

[0092] S103. Determine at least one target data file block, and query at least one data record to be output according to the target coding range and each target data file block.

[0093] Optionally, the data file block is used to store the original data according to the columnar storage structure. The original data may be original medical data. The original data has a multi-level data structure. Exemplarily, the original data may be as follows:

[0094]

[0095]

[0096] In the above example, user information and symptoms corresponding to each user information are included. Symptoms include symptom name and onset time. Therefore, the above raw data can be stored in three data file blocks, respectively, storing user information, symptom name and onset time in column format. For each data file, large-scale nested column storage can be implemented based on the Parquet storage format, thereby reducing the storage space waste caused by the Json schema storage format. In addition, storage based on the Parquet storage format can be connected to a variety of computing components, making it scalable.

[0097] As an optional implementation, each data file block may be compressed based on the Zlib compression algorithm, thereby saving storage space.

[0098] Optionally, at least one target data file block may be determined based on the query information input by the user, and the target data file block includes data records encoded within the target encoding range. It is worth noting that the data record in the data file block may include a long sentence, and the long sentence includes multiple keywords, so the codes corresponding to the multiple keywords are recorded in the data record. Exemplarily, a data record in the data file block may be "headache" converted to "vomiting", then "headache" and "vomiting" are both keywords in this data record.

[0099] As an optional implementation, the target data file block and the associated data file block are determined according to the target coding range, and at least one data record to be output is obtained by querying according to the target coding range, the target data file block and the associated data file block.

[0100] The data record to be output may include the entire data record related to the query keyword input by the user. For example, if the query keyword in the query information input by the user is headache, the data record to be output may be "Mr. Wang, headache, 2024-03-03".

[0101] S104: Output at least one data record to be output.

[0102] Specifically, the data records to be output can be output in the query interaction interface.

[0103] For example, Figure 2 Schematic diagram of a query interaction interface provided by an embodiment of the present application. Figure 2As shown, the user can enter query information in the input bar, and the query information can be, for example, headache. After clicking the query, all the data records to be output are output. Specifically, the data records to be output can be counted according to preset requirements, and the preset requirements can be, for example, data year, number of patients, and number of visits. Each data record to be output may include a sequence number, visit type, gender, age, visit date, symptoms and details, etc. The query interaction interface can also perform gender and age statistics according to the data content in all the data records to be output.

[0104] In this embodiment, the target coding range of the query keyword input by the user is first determined according to the pre-constructed target index file, and then after the target data file block is determined, at least one data record to be output is obtained by querying according to the target coding range and the target data file block. Among them, since the codes of multiple keywords with the same or similar semantics in the target index file are adjacent, fuzzy query of the query keyword can be achieved according to the target coding range corresponding to the query keyword. After determining the target data file block, querying based on the target coding range can improve data query efficiency and reduce the time consumed in the data query transmission process compared to querying the entire database. In addition, by storing different types of data in the target data file block, better compression can be achieved, saving storage space while meeting the storage and query requirements of multi-level data.

[0105] As an optional implementation, the specific implementation steps of determining the target coding range of the query keyword according to the pre-built target index file in the above step S102 are as follows.

[0106] Optionally, the target record where the query keyword is located is searched from the target index file.

[0107] As an optional implementation, each keyword in the target index file is traversed, and for the current keyword traversed, it is determined whether the current keyword is a query keyword. If so, the record of the current keyword is used as the target record where the query keyword is located.

[0108] The target record includes a keyword and a maximum code and a minimum code corresponding to the keyword.

[0109] Optionally, a range formed by the minimum code and the maximum code in the target record is used as a target code range of the query keyword.

[0110] The minimum code in the target record is the code corresponding to the keyword with the smallest code among the synonymous keywords in the target record, and the maximum code in the target record is the code corresponding to the keyword with the largest code among the synonymous keywords in the target record.

[0111] In this embodiment, by searching the target record where the query keyword is located from the target index file, and taking the range formed by the maximum code and the minimum code in the target record as the target code range of the query keyword, fuzzy search for synonyms of the query keyword is achieved.

[0112] In the above process, refer to Figure 3 , the process of building the target index file includes the following steps. Among them, Figure 3 It is a schematic diagram of a target index file construction process provided in an embodiment of the present application.

[0113] S301, acquiring a plurality of related keywords with the same or similar semantics and the codes of the related keywords from Cilin.

[0114] As an optional implementation, a word forest can be selected according to the type of the original data. For example, if the original data is medical data, a word forest related to medical data is selected, and the keywords included in the word forest are related to medical data. If the original data is engineering data, a word forest related to engineering data is selected, and the keywords included in the word forest are related to engineering data.

[0115] S302, sorting the codes of the relevant keywords to obtain the relevant minimum code and the relevant maximum code.

[0116] Exemplarily, if the relevant keywords include person, scholar, character, personage, candidate and surname, and their codes are 1101401, 1101402, 1101403, 1101405 and 1101404 respectively, the relevant keywords are sorted according to the codes, and the smallest code is taken as the relevant minimum code, and the largest code is taken as the relevant keyword maximum code.

[0117] If there is only one keyword that does not have a keyword with the same or similar semantics, the code of the keyword is used as both the relevant minimum code and the relevant maximum code.

[0118] S303, traversing each related keyword, and for the current related keyword traversed, adding the current related keyword, the related minimum code, and the related maximum code as a record to the target index file.

[0119] As an optional implementation, the target index file may be divided according to the type of keyword, for example, related keywords related to symptoms are added adjacently to the target index file, thereby improving the efficiency of determining the target coding range of the query keyword.

[0120] In this embodiment, by obtaining relevant keywords and their codes with the same or similar semantics from the word forest, and obtaining the relevant minimum codes and relevant maximum codes of multiple relevant keywords, each relevant keyword, relevant minimum code and relevant maximum code is finally used as a record of the target index file. By constructing the target index file, a large number of keywords can be integrated, so that the efficiency can be improved when determining the data records to be output corresponding to the search keywords, and the integrity of the output data can be guaranteed.

[0121] Furthermore, the query information input by the user may include a query type and a query keyword, or may only include a query keyword. For example, the query information input by the user may be: "symptom: headache" or "headache". The symptom is the query type.

[0122] As an optional implementation, if the query information includes a query type and a query keyword, the method for determining at least one target data block is: according to the query type, determining a target data file block corresponding to the query type.

[0123] It is worth noting that each target data file block has a type attribute, such as user information, symptom name, and onset time.

[0124] Specifically, each data file block is traversed, and for the traversed current data file block, if the type attribute of the current data file block is consistent with the query type, the current data file block is used as the target data file block.

[0125] In this embodiment, by determining the target data file block corresponding to the query type according to the query type, the data record of the target data file block can be retrieved efficiently and accurately, which is suitable for data query at the super large data level.

[0126] As another optional implementation, if the query information only includes the query keyword, the method for determining at least one target data block is: taking each data file block containing the code within the target coding range as a target data file block.

[0127] Specifically, the encodings of the keywords in each data file block are traversed, and for the encoding of the current keyword of the traversed current data file block, if the encoding of the current keyword is within the target encoding range, the current data file block is taken as a target data file block.

[0128] It is worth noting that if the query information only includes the query keyword, multiple target data file blocks corresponding to different types of attributes can be retrieved. For example, if the query keyword in the query information is "vomiting" and the target code range is 1101203-1101211, the target data file blocks corresponding to the symptom name and the target data file blocks corresponding to the adverse reaction name can be retrieved according to the target code range.

[0129] As an optional implementation, each data file block may correspond to a file block coding range, and the file block coding range is composed of the minimum and maximum codes of each keyword in the data file block. In the process of determining the target data file block, at least one candidate data file block is first determined according to the target coding range and the file block coding range, and the file block coding range of the candidate data file block includes the codes in the target coding range. Then, the candidate data file blocks including the codes in the target coding range are respectively used as target data file blocks. This implementation is more efficient than directly searching in each data file block according to the codes in the target coding range.

[0130] In this embodiment, if the query information only includes the query keyword, the data file block containing the code within the target code range is taken as a target data file block, so that all data file blocks are globally searched according to the query keyword to achieve comprehensive data query.

[0131] Next, a specific implementation method of querying and obtaining at least one data record to be output according to the target coding range and each target data file block in the above step S103 is introduced.

[0132] Optionally, at least one target data record in the target data file block, an associated data file block and associated data records in each associated data file block are determined according to the target coding range and the index in each data record in the target data file block.

[0133] In the process of storing the original data into multiple data file blocks, different data file blocks are first divided according to different type attributes, and then the associated data in the original data is stored in different data file blocks based on the indexes with the associated relationship. For example, if the original data is as follows:

[0134]

[0135]

[0136] Then two data file blocks are generated according to the above original data, namely the data file block of user information and the data file block of symptom name. The data stored in the data file block of user information can be as shown in Table 3 below:

[0137] Table 3

[0138]

[0139]

[0140] The data stored in the data file block of the symptom name can be entered into the following Table 4:

[0141] Table 4

[0142] Symptom Name index Headache 0 Headache 2 Headache 1 Vomit 2 fever 3 Weakness in limbs 2 Vomit 2 Headache 4

[0143] Among them, Mr. Li and headache are associated with each other, so Mr. Li's index is 0, and the index of Mr. Li's first symptom name headache in the symptom name data file block is 0, and the index of Mr. Li's other symptom names is 2. In order to make the indexes of other users' symptom names different, the index of each user's first symptom name is not 2. For example, taking Mr. Zhang as an example, Mr. Zhang's index is 2, and the index of Mr. Zhang's first symptom name in the symptom name data file block is 3, and the indexes of Mr. Zhang's other symptom names are all 2.

[0144] As an optional implementation, the index value of the non-first data record in the associated data file block corresponding to each data record can be set to the index preset value, so that the index value of each current data record is the same as the index value of the first data record associated with the current data record in the associated data file block.

[0145] Optionally, each data record in each data file block has a code, and the codes of each data record in the target data file block are traversed. For the current code traversed, it is determined whether the current code is a code in the target code range. If so, the data record corresponding to the current code is used as the target data record. And the associated data file block and the associated data records in each associated data file block are determined according to the current index in the target data record.

[0146] Optionally, at least one target data record and each associated data record are used as data records to be output.

[0147] As an optional implementation, at least one target data record and each associated data record are integrated according to a preset format, and the integrated data is used as the data record to be output.

[0148] In this embodiment, the target data record, the associated data file block and the associated data record are determined according to the target coding range and the index in each data record in the target data file block, thereby obtaining the data record to be output. By determining the target data record in each target data file block, and the target data file block is only single-level data, it is avoided to determine the target data record in global data such as the original data, thereby improving the data search efficiency and reducing the resource waste caused by the input and output process of the program during the query process.

[0149] Furthermore, if Figure 4 As shown, the specific steps of determining at least one target data record in the target data file block, the associated data file block, and the associated data records in each associated data file block according to the target coding range and the index in each data record in the target data file block are as follows. Figure 4 It is a flow chart of a method for determining target data records, associated data file blocks and associated data records provided by an embodiment of the present application.

[0150] S401, searching for current data records whose codes are within a target coding range from a target data file block, and taking each of the found current data records as a target data record.

[0151] The current data record may be any data record in the target data file block whose encoding is within the target encoding range.

[0152] S402: Obtain each current index in each current data record.

[0153] The current data record may have multiple current indexes to correspond to different associated data file blocks. For example, the current data record in the data file block of the symptom name may have multiple current indexes, which are used to associate the data file block of the user information, the data file block of the symptom time, and the data file block of the adverse reaction.

[0154] S403: Determine associated data file blocks and associated data records in each associated data file block according to each current index in each current data record.

[0155] The associated data file block is determined according to the value of each current index in each current data record and the preset index association relationship, and the associated data record in the associated data file block is determined according to the value of each current index. The preset index association relationship may be a relationship between an index and a data file block. For example, if the indexes are A1 and B3, they correspond to a data file block numbered A and a data file block numbered B.

[0156] In this embodiment, the current data record is found from the target data file block, and the associated data file blocks and the associated data records in each associated data file block are determined according to each current index in the current data record, so as to quickly find the data records related to the query keyword and reduce the file scanning time during the input and output process of the search.

[0157] Furthermore, in the above steps, the process of determining the associated data file blocks and the associated data records in each associated data file block according to each current index in each current data record is specifically as follows.

[0158] Optionally, if the value of the current index is a first preset value, the data file block corresponding to the current index is used as an associated data file block, and the data record containing the current index in the associated data file block is used as an associated data record, wherein the first preset value is used to represent the user's identification.

[0159] The index in the data record in the data file block has a preset index association relationship with other data file blocks, so that the associated data file block can be determined according to the value of the current index.

[0160] Optionally, if the value of the current index is a first preset value, the value of the index of the current data record is the same as the value of the index of the associated data record in the associated data file block associated with the current data record.

[0161] As an optional implementation, if the value of the current index is a preset index value, then the data record before the current data record in the current data file block, whose index value is not the preset index value, is determined, and based on the index contained in the data record, the data record containing the index in the associated data file block is determined as the associated data record. Exemplarily, the index of Mr. Li in the user information is 0, the index of Mr. Wang is 1, the index of Mr. Li's first symptom in the symptom name is 0, and the index of the second symptom is A, where A is the preset index value, and the index of Mr. Wang's first symptom is 1. If the current index is A, then find the index that is not A before the current index, that is, index 0 corresponding to Mr. Li's first symptom, and determine the data record containing index 0 in the user information based on index 0, that is, Mr. Li.

[0162] In this embodiment, by judging whether the value of the current index is the first preset value, the key data file blocks and the associated data records are determined, and the codes and indexes corresponding to the keywords in each data file block are queried to achieve a fast search process in massive data.

[0163] As an optional implementation, Figure 5 FIG. 1 is a flow chart of another medical data processing method provided in an embodiment of the present application. Figure 5As shown, the original data is stored in advance as multiple data file blocks of Parquet structure, each data file block contains at least one data record, and the data record includes keywords and the codes corresponding to the keywords. And the target index file is pre-built, the process includes obtaining multiple related keywords with the same or similar semantics and the codes of the related keywords from the word forest, and then sorting the codes of the related keywords, and adding the traversed current related keywords, the related minimum code and the related maximum code as a record to the target index file. In the query process, after receiving the query information input by the user, the target code range of the query keyword is determined according to the target index file, and then multiple data file blocks are queried according to the target code range to obtain at least one data record to be output and output it.

[0164] Based on the same inventive concept, a medical data processing device corresponding to the medical data processing method is also provided in the embodiment of the present application. Since the principle of solving the problem by the device in the embodiment of the present application is similar to the above-mentioned medical data processing method in the embodiment of the present application, the implementation of the device can refer to the implementation of the method, and the repeated parts will not be repeated.

[0165] Reference Figure 6 As shown, it is a structural schematic diagram of a medical data processing device provided in an embodiment of the present application, the device includes: a receiving module 601, a determining module 602, a query module 603 and an output module 604; wherein:

[0166] The receiving module 601 is used to receive query information input by a user, where the query information includes: query keywords;

[0167] The determination module 602 is used to determine the target coding range of the query keyword according to the pre-built target index file, wherein the target index file stores the coding range corresponding to each keyword in Cilin, and in Cilin, the codings of multiple keywords with the same or similar semantics are adjacent;

[0168] A query module 603 is used to determine at least one target data file block, and query to obtain at least one data record to be output according to the target encoding range and each target data file block;

[0169] The output module 604 is used to output at least one data record to be output.

[0170] Optionally, the determination module 602 is specifically configured to:

[0171] Find the target record where the query keyword is located from the target index file;

[0172] The range formed by the minimum code and the maximum code in the target record is used as the target code range of the query keyword.

[0173] Optionally, the determination module 602 is further configured to:

[0174] Acquire multiple related keywords with the same or similar semantics and the codes of each related keyword from Cilin;

[0175] Sort the codes of the relevant keywords to obtain the relevant minimum code and the relevant maximum code;

[0176] Each related keyword is traversed, and for the current related keyword traversed, the current related keyword, the related minimum code, and the related maximum code are added as a record to the target index file.

[0177] Optionally, the query information further includes: a query type; the query module 603 is specifically used to:

[0178] According to the query type, a target data file block corresponding to the query type is determined.

[0179] Optionally, the query module 603 is specifically used for:

[0180] The data file blocks containing the codes within the target coding range are respectively regarded as a target data file block.

[0181] Optionally, the query module 603 is specifically used for:

[0182] Determine at least one target data record in the target data file block, an associated data file block, and associated data records in each associated data file block according to the target coding range and the index in each data record in the target data file block;

[0183] At least one target data record and each associated data record are used as data records to be output.

[0184] Optionally, the query module 603 is specifically used for:

[0185] Searching for current data records whose codes are within the target code range from the target data file block, and taking each of the current data records found as a target data record;

[0186] Get each current index in each current data record;

[0187] According to each current index in each current data record, an associated data file block and an associated data record in each associated data file block are determined.

[0188] Optionally, the query module 603 is specifically used for:

[0189] If the value of the current index is a first preset value, the data file block corresponding to the current index is used as an associated data file block, and the data record containing the current index in the associated data file block is used as an associated data record, wherein the first preset value is used to represent the user's identifier.

[0190] For descriptions of the processing flow of each module in the device and the interaction flow between each module, reference may be made to the relevant descriptions in the above method embodiment, which will not be described in detail here.

[0191] The present application also provides an electronic device, such as Figure 7 , which is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application, includes: a processor 701, a memory 702 and a bus. The memory 702 stores machine-readable instructions executable by the processor 701 (for example, Figure 6 The device receives the execution instructions corresponding to the module 601, the determination module 602, the query module 603 and the output module 604, etc.), when the computer device is running, the processor 701 communicates with the memory 702 through a bus, and when the machine-readable instructions are executed by the processor 701, the processing of the above-mentioned method is performed.

[0192] An embodiment of the present application also provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the above-mentioned method are executed.

[0193] Those skilled in the art can clearly understand that, for the convenience and simplicity of description, the specific working process of the system and device described above can refer to the corresponding process in the method embodiment, and will not be repeated in this application. In the several embodiments provided in this application, it should be understood that the disclosed system, device and method can be implemented in other ways. The device embodiments described above are merely schematic. For example, the division of the modules is only a logical function division. There may be other division methods in actual implementation. For example, multiple modules or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some communication interfaces, indirect coupling or communication connection of devices or modules, which can be electrical, mechanical or other forms.

[0194] In addition, each functional unit in each embodiment of the present application can be integrated into a processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention is essentially or part of the technical solution that contributes to the prior art or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, RandomAccess Memory), disk or optical disk and other media that can store program code.

[0195] The above are only specific implementation methods of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be covered by the protection scope of the present application.

Claims

1. A medical data processing method, characterized in that: The method comprises: Receiving query information input by a user, the query information including: query keywords; Determine the target coding range of the query keyword according to a pre-constructed target index file, wherein the target index file stores the coding range corresponding to each keyword in the word forest, and in the word forest, the codings of multiple keywords with the same or similar semantics are adjacent; Determine at least one target data file block, and query and obtain at least one data record to be output according to the target encoding range and each of the target data file blocks; The at least one data record to be output is output.

2. The medical data processing method according to claim 1, characterized in that: Determining the target coding range of the query keyword according to the pre-built target index file includes: Searching the target record where the query keyword is located from the target index file; The range formed by the minimum code and the maximum code in the target record is used as the target code range of the query keyword.

3. The medical data processing method according to claim 1, characterized in that: The process of constructing the target index file includes: Acquire multiple related keywords with the same or similar semantics and the codes of each of the related keywords from the word forest; Sorting the codes of the relevant keywords to obtain the relevant minimum code and the relevant maximum code; Each of the related keywords is traversed, and for the current related keyword traversed, the current related keyword, the related minimum code and the related maximum code are added as a record to the target index file.

4. The medical data processing method according to claim 1, characterized in that: The query information also includes: query type; The determining of at least one target data file block comprises: According to the query type, the target data file block corresponding to the query type is determined.

5. The medical data processing method according to claim 1, characterized in that: The determining of at least one target data file block comprises: The data file blocks containing the codes within the target coding range are respectively taken as the target data file blocks.

6. The medical data processing method according to claim 1, characterized in that: The querying and obtaining at least one data record to be output according to the target coding range and each of the target data file blocks comprises: Determine at least one target data record in the target data file block, an associated data file block, and associated data records in each of the associated data file blocks according to the target coding range and an index in each data record in the target data file block; The at least one target data record and each of the associated data records are used as the data records to be output.

7. The medical data processing method according to claim 6, characterized in that: The step of determining, according to the target coding range and the index in each data record in the target data file block, at least one target data record in the target data file block, an associated data file block, and associated data records in each of the associated data file blocks comprises: Searching for current data records whose codes are within the target coding range from the target data file block, and taking each of the current data records found as a target data record; Obtaining each current index in each current data record; According to each current index in each current data record, an associated data file block and an associated data record in each associated data file block are determined.

8. The medical data processing method according to claim 7, characterized in that: The determining, according to each current index in each current data record, an associated data file block and an associated data record in each associated data file block comprises: If the value of the current index is a first preset value, the data file block corresponding to the current index is used as an associated data file block, and the data record containing the current index in the associated data file block is used as the associated data record, wherein the first preset value is used to represent the user's identification.

9. An electronic device, characterized in that: include: A processor and a memory, wherein the memory stores machine-readable instructions executable by the processor, and when the electronic device is running, the processor executes the machine-readable instructions to perform the steps of the medical data processing method as described in any one of claims 1 to 8.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the medical data processing method as described in any one of claims 1 to 8 are executed.