The present invention relates to a retrieval system for retrieving medical care data.
As a background art of this technical field, there is Patent Literature 1. Patent Literature 1 discloses a retrieval system for a chemical compound having a tree structure. In this retrieval system, a tree structure formed by nodes corresponding to atoms and edges corresponding to interatomic bonds is represented and a partial structure of a chemical compound is converted into a character string on the basis of the tree structure to facilitate retrieval.
Patent Literature 1: JP-A-2007-323182
Since medical care data is high dimensional and relationship among data is complicated, it is necessary to divide data items into a plurality of tables and manage the data items. Therefore, when a data set serving as an analysis target is prepared, it is necessary to combine the plurality of tables. In general, the table combination has a large load. When a large amount of data is treated, a processing time for the data is a problem. In particular, medical care data has a large data amount and has a complicated table structure. Therefore, table combination in the medical care data has a large load. Efficiency of retrieval is a problem.
An object of the invention is to provide a retrieval system that makes it possible to perform table combination at high speed and achieve improvement of efficiency of retrieval in medical care data having a complicated table structure.
In order to achieve the object, for example, a configuration described in claims is adopted. This application includes a plurality of means for solving the problems. As an example of the means, there is provided a medical care data retrieval system including: a storage device including a medical care data database in which medical care contents for symptoms of patients are stored and a medical care pattern database in which relations between the symptoms and the medical care contents are stored; and a graph processing unit that creates, on the basis of the medical care data database and the medical care pattern database, a graph including a root node representing the symptom, at least one intermediate node representing a name of the medical care content, and at least one leaf node representing a reference number of the medical care content. When there are a plurality of the graphs concerning a certain symptom, the graph processing unit integrates redundant portions of the intermediate node among the plurality of graphs.
According to the invention, even in medical care data having a complicated table structure, it is possible to perform table combination at high speed and it is possible to achieve improvement of efficiency of retrieval.
Further characteristics related to the invention will become clear from the description of this specification and the accompanying drawings. Problems, configurations, and effects other than those explained above are made clear from the following explanation of embodiments.
Embodiments of the invention are explained below with reference to the accompanying drawings. Note that the accompanying drawings show specific embodiments conforming to the principle of the invention. However, the accompanying drawings are for understanding of the invention and are not used to limitedly interpret the invention.
The retrieval-expression analyzing unit 101 analyzes a retrieval sentence (e.g., a SQL sentence described in
In drawing up the retrieval execution plan, the retrieval-expression analyzing unit 101 refers to a graph (a reference tree) 108 present on a memory and looks for a position of a record matching retrieval conditions of the retrieval sentence. The graph 108 is generated by the graph processing unit 104 on the basis of the medical care data DB 105 and the medical care pattern DB 106.
The medical care DB 105 is a database in which medical care contents for episodes of patients are recorded. The episode means development of a certain symptom. The medical care contents include a medical practice for a patient, a drug administered to the patient, and contents of an examination for the patient. Information of the medical care data DB 105 is provided from a data provider such as a medical institution. The medical care pattern DB 106 is a database that defines relations between symptoms and medical care contents. The medical care pattern DB 106 stores knowledge known in the medical field.
The medical-care-pattern managing unit 107 is a processing unit for storing input various data in the medical care pattern DB 106. A data administrator can appropriately edit and manage the information of the medical care pattern DB 106 via the medical-care-pattern managing unit 107.
A hardware system configuration for realizing
The medical care data retrieval system is realized by executing a program in a computer 2601 such as a data center or a server. For example, the retrieval-expression analyzing unit 101, the retrieval-expression executing unit 102, the retrieval output unit 103, the graph processing unit 104, and the medical-care-pattern managing unit 107 can be realized by a processing interpreting and executing programs for realizing functions of the units.
The computer 2601 is configured from a CPU 2602, which is an arithmetic unit that executes programs and processes data, a management terminal 2603, an input/output interface 2604 that configures an interface with the management terminal 2603, a memory 2605 that stores the programs, the data, and the like, a communication interface 2606 that configures an interface with the outside, an external storage device 2607 (the DBs 105 and 106 in
The management terminal 2603 includes an input unit such as a mouse or a keyboard and an output unit such as a display. An operator can input various kinds of input information via the input unit. The input information, a retrieval result, and the like are displayed on the output unit.
A data configuration treated by the system is explained below.
For example, the target episode table 300 is created by the data administrator operating the management terminal 2603. The target episode table 300 may be stored in the medical care data DB 105 via the retrieval-expression analyzing unit 101 and the retrieval-expression executing unit 102 using a retrieval sentence (SQL) for data writing. The data administrator creates the target episode table 300 and designates a target of data to be collected.
A plurality of examinations are sometimes carried out concerning one specimen examination. Therefore, a plurality of records are sometimes present concerning the same order number.
For example, the data of
A related table 900 includes information indicating relations between episodes of patients and medical care contents and information indicating relations among the medical care contents carried out on the patients. The related table 900 includes, as constituent items, a related number 901, which is a serial number of an individual entry, a patient ID 902 for identifying a patient, an episode number 903 for referring to an episode serving as a target from the episode table in
In this example, when 904 and 906 are a “target episode”, the reference numbers are the target episode number 504 in
As shown in
The diagnostic treatment knowledge 1000 includes, as constituent items, a state section 1001 representing a symptom (“strong chest pain”, etc.) of a patient, an examination section 1002 representing an examination normally performed in the case of the symptom and a disease name determined from a result of the examination, a medical care content section 1003 representing first medical care content performed on the patient in the state, and a medical care content section 1004 representing second medical care content performed on the patient in the state.
In the examination section 1002, conditions 1005 (CK>197, troponin>0.25, AND . . . ) for determining a disease name from an examination result are defined. Therefore, when the conditions 1005 for the test result are satisfied, a disease name is specified. In this example, a portion of the disease name is associated with the target episode number 302 of the target episode table 300 in
In the medical care content section 1003, drug names such as “aspirin” and “morphine” administered to the patient are defined. In the medical care content section 1004, medical practice names such as “intracardiac catheter” normally performed in the state are defined. Note that (1) and (2) of Action (1) of the medical care content section 1003 and Action (2) of the medical care content section 1004 indicate time order. In this example, it is indicated that the medical care content section 1003 has to be carried out before the medical care content section 1004.
These kinds of diagnostic treatment knowledge are knowledge that is a widely-recognized established theory in the medical field. The data administrator stores such knowledge for various symptoms in the medical care pattern DB 106 in advance via the medical-care-pattern managing unit 107 using, for example, the management terminal 2603. The diagnostic treatment knowledge is used to create a reference tree. Note that the medical care pattern DB 106 is managed in the external storage device 2607.
Note that, as in
The medical care pattern serial number management table 1300 defines relations between names at the time when nodes are medical care patterns and numbers for replacing the names. The medical care pattern serial number management table 1300 includes, as constituent items, a root disease name 1301, a number 1302 representing a serial number, and a medical care pattern 1303 representing a medical care pattern name. In an example shown in
The structure of nodes is explained. Reference numeral 1701 denotes an area for storing a value of a node and 1702 and 1703 are areas for storing pointers of the next nodes. In the figure, “myocardial infarct” is set as a root node. The root node is linked to an intermediate node 1704 of “intracardiac catheter” by the pointer 1702. Similarly, the root node is linked to an intermediate node 1705 of “aspirin” by the pointer 1703.
Leaf nodes 1706 and 1707 respectively store reference numbers of records of tables related to the intermediate nodes 1704 and 1705 higher in order than the leaf nodes 1706 and 1707. For example, information concerning the order number 601 of the medical practice table 600 is stored in the leaf node 1706. Information concerning the prescription number 801 of the prescription table 800 is stored in the leaf node 1707.
Like
There are two cases concerning a medical practice of the medical practice node; a case in which prescription of the prescription node is carried out after the medical practice and a case in which the prescription is not carried out. In the graph structure shown in
Therefore, in this embodiment, when a plurality of intermediate nodes are associated by a link representing temporal anteriority and posteriority, second intermediate nodes representing a pattern of a combination of medical care contents of the plurality of intermediate nodes are created under the intermediate nodes. Leaf nodes representing reference numbers of the pattern of the combination of the medical care contents are created under the second intermediate nodes.
As shown in
A reference number of the leaf node 1803 of “intracardiac catheter/aspirin” is “0005”. For example, in the medical practice table 600, a record of the “intracardiac catheter” in the case in which the aspirin is not prescribed thereafter and a record of the “intracardiac catheter” in the case in which the aspirin is prescribed thereafter could be present. In the leaf node 1803, a reference number of the record of the “intracardiac catheter” in the case in which the aspirin is prescribed is stored.
On the other hand, a name of the second intermediate node 1804 is “intracardiac catheter”, which indicates that there is no prescription related to the link 1801 after the medical practice of the “intracardiac catheter”. A reference number of the leaf node 1805 in this case is “0002”, which is a reference number of the “intracardiac catheter” in the case in which the aspirin is not prescribed. By providing such second intermediate nodes 1802 and 1804, it is possible to realize, as graph representation, the AND condition in the case in which the link is present between the nodes.
The serial number management tables shown in
First, in step 201, the graph processing unit 104 creates the related table 900. This step is explained with reference to
In step 2401, the graph processing unit 104 reads records one by one from the examination-adapted disease table 1100 and acquires the disease name 1101 and the examination name 1102. The graph processing unit 104 searches for the examination name 703 of the examination result table 700 on the basis of the acquired examination name 1102. If a matching record is present in the examination result table 700, the graph processing unit 104 acquires the order number 701, the patient ID 702, and the examination date 707 of the record.
Subsequently, the graph processing unit 104 searches for the patient ID 502 and the state name 503 in the episode table 500 on the basis of the acquired patient ID and the acquired disease name. If a matching record is present in the episode table 500, the graph processing unit 104 focuses on the start date 505 of the record. The graph processing unit 104 compares the acquired examination date and the start date.
For example, in some case, a plurality of disease names are diagnosed and a plurality of examinations are carried out on a certain patient. In this case, it is necessary to determine which disease names and which examinations are associated. If a certain disease name is diagnosed and an examination is carried out temporally after a result of the diagnosis, it is determined that the disease name and the examination may be associated. Note that other determination conditions may be used. A determination condition that an examination date is included in a range of a predetermined period based on the acquired start date may be used.
In this example, if the acquired examination date is temporally after the start date 505, the graph processing unit 104 acquires the episode number 501 and the target episode number 504 of the record. Thereafter, the graph processing unit 104 generates a new record in the related table 900. After incrementing the related number 901, the graph processing unit 104 records the acquired patient ID and the acquired episode number respectively in the patient ID 902 and the episode number 903. The graph processing unit 104 records the “target episode” concerning the table name 1 (904) and records the acquired target episode number” concerning the reference number 1 (905) of the table name 1 (904). The graph processing unit 104 records the “examination result” indicating the examination result table 700 concerning the table name 2 (906) and records the acquired order number concerning the reference number 2 (907).
In step 2402, the graph processing unit 104 reads records one by one from the drug-adapted disease table 1200 and acquires the disease name 1201 and the drug name 1202. The graph processing unit 104 searches for the drug name 803 of the prescription table 800 on the basis of the acquired drug name 1202. If a matching record is present in the prescription table 800, the graph processing unit 104 acquires the prescription number 801, the patient ID 802, and the prescription date 805 of the record.
Subsequently, the graph processing unit 104 searches for the patient ID 502 and the state name 503 in the episode table 500 on the basis of the acquired patient ID and the acquired disease name. If a matching record is present in the episode table 500, the graph processing unit 104 focuses on the start date 505 of the record. A reason for focusing on the start date is as explained above. If the acquired prescription date is temporally later than the start date 505, the graph processing unit 104 acquires the episode number 501 and the target episode number 504 of the record. Thereafter, the graph processing unit 104 generates a new record in the related table 900. After incrementing the related number 901, the graph processing unit 104 records the acquired patient ID and the acquired episode number respectively in the patient ID 902 and the episode number 903. The graph processing unit 104 records the “target episode” concerning the table name 1 (904) and records the acquired target episode number concerning the reference number 1 (905) of the table name 1 (904). The graph processing unit 104 records the “prescription” indicating the prescription table 800 concerning the table name 2 (906) and records the acquired prescription number concerning the reference number 2 (907).
In step 2403, the graph processing unit 104 generates a record of the related table 900 on the basis of the diagnostic treatment knowledge 1000 shown in
When the medical practice name is acquired, the graph processing unit 104 searches for the practice name 603 of the medical practice table 600 on the basis of the acquired medical practice name. If a matching record is present in the medical practice table 600, the graph processing unit 104 acquires the order number 601, the patient ID 602, and the start date 604 of the record.
The graph processing unit 104 searches for the patient ID 502 and the state name 503 in the episode table 500 on the basis of the acquired patient ID and the acquired disease name. If a matching record is present in the episode table 500, the graph processing unit 104 focuses on the start date 505 of the record. If the acquired start date 604 is temporally later than the start date 505, the graph processing unit 104 acquires the episode number 501 and the target episode number 504 of the record. Thereafter, the graph processing unit 104 generates a new record in the related table 900. After incrementing the related number 901, the graph processing unit 104 records the acquired patient ID and the acquired episode number respectively in the patient ID 902 and the episode number 903. The graph processing unit 104 records the “target episode” concerning the table name 1 (904) and records the acquired target episode number concerning the reference number 1 (905) of the table name 1 (904). The graph processing unit 104 records the “medical practice” indicating the medical practice table 600 concerning the table name 2 (906) and records the acquired order number concerning the reference number 2 (907).
In step 2404, the graph processing unit 104 checks a relation among the medical practice, the prescription, and the examination result on the basis of the diagnostic treatment knowledge 1000 shown in
First, the graph processing unit 104 focuses on the table name 2 (906) of a plurality of records having the same episode number 903 in the related table 900. When the table name 2 (906) is the “medical practice”, the graph processing unit 104 collates the reference number 2 (907) of the table name 2 (906) with the order number 601 of the medical practice table 600 and acquires the patient ID 602 and the practice name 603 of a matching record. Similarly, When the table name 2 (906) is the “prescription”, the graph processing unit 104 collates the reference number 2 (907) of the table name 2 (906) with the prescription number 801 of the prescription table 800 and acquires the patient ID 802 and the drug name 803 of a matching record. Similarly, when the table name 2 (906) is the “examination result”, the graph processing unit 104 collates the reference number 2 (907) of the table name 2 (906) with the order number 701 of the examination result table 700 and acquires the patient ID 702 and the examination name 703 of a matching record.
The graph processing unit 104 determines whether the practice name 603, the drug name 803, and the examination name 703 acquired in the processing explained above are present in the Action (1) of the medical care content section 1003 and the Action (2) of the medical care content section 1004 shown in
It is assumed that a pair of Actions in a certain diagnostic treatment knowledge 1000 is a drug name (corresponding to a prescription table) and an examination name (corresponding to an examination result table). It is assumed that the examination of the Action (2) has to be carried out after the prescription of the drug of the Action (1). After incrementing the related number 901, the graph processing unit 104 records the acquired patient ID and the acquired episode number respectively in the patient ID 902 and the episode number 903. The graph processing unit 104 records the “prescription” concerning the table name 1 (904) and records a prescription number concerning the reference number 1 (905) of the table name 1 (904). The graph processing unit 104 records the “examination result” concerning the table name 2 (906) and records an order number concerning the reference number 2 (907).
According to the processing flow shown in
Subsequently, in step 202, the graph processing unit 104 creates a graph on the basis of the related table 900 stored in the medical care data DB 105. First, the graph processing unit 104 captures records of the related table 900 in order, checks the episode number 903, groups a plurality of records having the same episode number 903. The graph processing unit 104 collects records, the table name (1) 904 of which is the “target episode”, in the records included in the group of the same episode number. Concerning the records, the table name (1) 904 of which is the “target episode”, the graph processing unit 104 acquires the reference number 1 (905) of the records.
Subsequently, the graph processing unit 104 searches for a record, the target episode number 302 of which coincides with the acquired reference number 1 (905), in the target episode table 300. The graph processing unit 104 acquires the state name 303 of the record having the target episode number 302 coinciding with the reference number 1 (905). Subsequently, the graph processing unit 104 acquires a table name and a reference number of the table name from the table name (2) 906 and the reference number (2) 907. For example, if the table name (2) 906 is the “prescription”, the graph processing unit 104 searches for a record having the proscription number 801 coinciding with the reference number (2) 907 in the prescription table 800 and acquires the drug name 803 concerning the reference number (2) 907. Note that the graph processing unit 104 performs the same processing when the table name (2) 906 is the “examination result” or the “medical practice”.
The graph processing unit 104 creates a connected graph shown in
In the related table 900, a record, in which a relation not directly related to a target episode is described, such as the “examination result” for checking a side effect concerning the “prescription” related to the drug name could be included. This is equivalent to a record in the case in which the table name (1) 904 and the table name (2) 906 in the related table 900 are a combination of two selected from the “medical practice”, the “prescription”, and the “examination result”.
In this case, the graph processing unit 104 acquires, from a table corresponding to the table name (1) 904, a practice name, a drug name, or an examination name on the basis of the reference number 1 (905) and creates a node of the acquired practice name, drug name, or examination name. Similarly, the graph processing unit 104 creates nodes corresponding to the table name (2) 906 and the reference number 2 (907). To link the node concerning the table name (1) 904 to the node concerning the table name (2) 906, the former node retains a pointer of the latter node.
Subsequently, the graph processing unit 104 creates leaf nodes in which the reference number 1 (905) and the reference number (2) 907 are stored. Higher-order intermediate nodes retain pointers to the leaf nodes to thereby generate a link. That is, the intermediate node 1704 of the “intracardiac catheter” is linked to the leaf node 1706. The intermediate node 1705 of the “aspirin” is linked to the leaf node 1707.
Subsequently, in step 203, the graph processing unit 104 generates second intermediate nodes (relay nodes) in the graph created in step 202. Specifically, as shown in
For example, it is assumed that the graph created in step 202 is in the state shown in
Subsequently, in step 204, the graph processing unit 104 searches for redundant portions in the graph group generated in step 203 and integrates the graph group. When there are a plurality of graphs concerning a certain symptom generated in step 203, the graph processing unit 104 integrates redundant portions of intermediate nodes among the plurality of graphs.
Processing of the integration is explained with reference to two graphs of a graph 1901 shown in
Subsequently, in step 205, the graph processing unit 104 performs serial number generation for the node names in order to replace the node names of the nodes other than the leaf nodes with serial numbers in the graphs in which the processing in step 204 is performed. As a policy for giving serial numbers, when there are redundant practice names, drug names, examination names, or medical care patterns (combinations of medical practices, drugs, and examinations) in different target episodes, the serial numbers are allocated preferentially from the target episodes such that numbers of the target episodes are as close as possible. This is a device for reducing a difference values to be as small as possible in order to improve efficiency of compression in differential compression processing performed in the subsequent step 208 and step 209.
Processing performed when nodes of practice names, drug names, examination names, or medical care patterns (combinations of medical practices, drugs, and examinations) are redundant in graphs concerning different target episodes is explained. When there are a plurality of graphs concerning different target episodes (symptoms), the graph processing unit 104 gives numbers preferentially from graphs including more redundant intermediate nodes among the plurality of graphs.
For example, it is assumed that a graph including a state name A (a target episode A) as a root node includes a drug 1 and a medical practice 1, a graph including a state name B (a target episode B) as a root node includes the drug 1 and a medical practice 2, and a graph including a state name C (a target episode C) as a root node includes the drug 1, the medical practice 2, and a medical practice 3. In this case, two intermediate nodes are redundant between the target episode B and the target episode C. On the other hand, one intermediate node is redundant between the target episode A and the target episode B. Therefore, the serial number allocation in the target episodes B and C including a large number of redundant portions is prioritized. Therefore, the graph processing unit 104 allocates serial numbers “1”, “2”, and “3” respectively to the drug 1, the medical practice 2, and the medical practice 3.
Subsequently, the graph processing unit 104 allocates a serial number “4” to the medical practice 1 of the target episode A. In the target episode A, a difference between the drug 1 and the medical practice 1 is as large as 3. However, concerning the target episodes B and C, all differences are as small as 1. If the serial number allocation for the target episode A is performed after serial number allocation for other target episodes different from the target episodes B and C, the difference between the drug 1 and the medical practice 1 is a value larger than 3. Therefore, when there are redundant portions (practice names, drug names, examination names, or medical care patterns) in the graph, serial numbers are preferentially allocated from target episodes including the redundant portions. In the case of the example explained above, after the serial number allocation ends in the target episodes B and C, the serial number allocation to the target episode A is performed. Consequently, it is possible to allocate the serial numbers such that the numbers are as close as possible. It is possible to reduce difference values among the nodes. As a result, values of the difference values explained below are reduced as a whole. Short code words are allocated in the subsequent encoding. Therefore, it is possible to reduce a data amount of a graph (a reference trees) managed on the memory.
The serial numbers allocated by the procedure explained above are recorded in forms of serial number management tables shown in
Specifically, when a node is a medical care pattern, the graph processing unit 104 creates records in the medical care pattern serial number management table 1300. A state name serving as a root node of the graph is recorded in the root disease name 1301, a serial number is recorded in the number 1302, and a name of the medical care pattern is recorded in the medical care pattern 1303. When a node is an examination name, the graph processing unit 104 creates records in the examination serial number management table 1400. The examination name is recorded in the examination name 1401 and a serial number is recorded in the number 1402. When a node is a drug name, the graph processing unit 104 creates records in the drug serial number management table 1500. The drug name is recorded in the drug name 1501 and a serial number is recorded in the number 1502. Similarly, when a node is a practice name of a medical practice, the graph processing unit 104 creates records in the medical practice serial number management table 1600. The practice name is recorded in the practice name 1601 and a serial number is recorded in the number 1602.
Subsequently, in step 206, the graph processing unit 104 replaces names of the nodes other than the leaf nodes in the graph with the numbers of the serial number management tables shown in
Subsequently, in step 207, concerning the graph after the processing in step 206 is performed, the graph processing unit 104 sorts the leaf nodes such that the reference numbers of the leaf nodes in the graph increase from the left to the right. This is for the purpose of, when a difference value is calculated, reducing the value of the difference to as small a value as possible. An effect of this is to reduce the data amount after the encoding as explained above. For example,
Subsequently, in step 208, the graph processing unit 104 calculates a difference between nodes adjacent to each other in the horizontal direction (i.e., nodes adjacent to each other in the same layer in the graph) in the graph after the processing in step 207 is performed and replaces the serial number or the reference number with a value of the difference. In the example shown in
Specifically, concerning the nodes adjacent to each other in the horizontal direction, the graph processing unit 104 calculates a difference value by subtracting a serial number of the node on the left side from a serial number of the node on the right side. The graph processing unit 104 calculates a difference value “1” by subtracting a serial number “1” of the node 2102 from a serial number “2” of the node 2101. The difference value “1” is substituted in the node 2101 on the right side. Similarly, the graph processing unit 104 calculates difference values of the other nodes. Note that, since a difference cannot be calculated for the root node, the root node retains the original value. In each of the layers, a difference cannot be calculated for a node on the leftmost side. Therefore, the node retains the original value. FIG. 22 shows an example in which differences are calculated concerning the nodes shown in
Subsequently, in step 209, the graph processing unit 104 performs predetermined encoding on the difference values of the intermediate nodes calculated in step 208.
The graph 108 is created by the processing explained above. The graph processing unit 104 may store the graph 108 in the external storage device in advance. The graph 108 is read onto the memory during retrieval processing explained below. By using the graph created in this embodiment for the retrieval processing, efficiency of retrieval is improved even in medical care data having a complicated table structure.
In the past, an SQL optimizer often adopts hash combination in table combination including a large amount of data. If a hash table is stored on a memory, speed is high. However, if the memory is short, there is a problem in that speed is low to the contrary. On the other hand, with the graph 108 created in this embodiment, the data mount of the graph 108 is reduced as a whole. It is possible to manage the data even with a small memory amount compared with the past.
In step 2501, the retrieval-expression analyzing unit 101 receives an SQL sentence and performs an analysis of a WHERE phrase. Subsequently, in step 2502, the retrieval-expression analyzing unit 101 determines whether an expression concerning the episode table 500 is included in the WHERE phrase. When the expression concerning the episode table 500 is included, the retrieval-expression analyzing unit 101 proceeds to step 2504. Otherwise, the retrieval-expression analyzing unit 101 proceeds to step 2503.
Subsequently, in step 2504, the retrieval-expression analyzing unit 101 determines whether an expression concerning at least one of the medical practice table 600, the examination result table 700, and the prescription table 800 is included in the WHERE phrase. When the expression concerning the predetermined tables is included, the retrieval-expression analyzing unit 101 proceeds to step 2505. Otherwise, the retrieval-expression analyzing unit 101 proceeds to step 2503. In this way, the retrieval-expression analyzing unit 101 determines whether the table in the medical care data DB 105 is included in the retrieval conditions (WHERE phrase) and determines whether the graph 108 on the memory can be referred to. Consequently, the graph is prevented from being uselessly referred to.
Note that, when proceeding to step 2503, the retrieval-expression analyzing unit 101 determines to perform the retrieval processing without using the graph 108 on the memory and passes the SQL sentence to the retrieval-expression executing unit 102. The retrieval-expression executing unit 102 executes the passed SQL sentence and passes a retrieval result to the retrieval output unit 103.
In step 2505, the retrieval-expression analyzing unit 101 searches through the graph 108 on the memory from a connection relation of the episode table 500 and at least one table of the medical practice table 600, the examination result table 700, and the prescription table 800. Processing of the retrieval-expression analyzing unit 101 is explained below.
The processing is explained on the basis of a SQL sentence described below.
sql*from episode table, prescription table, examination result table where episode table. state name=‘myocardial infarct’, medical practice table. practice name=‘intracardiac catheter’;
First, concerning episode table. state name=‘myocardial infarct’, the retrieval-expression analyzing unit 101 collates the state name 303 of the target episode table 300 and the “myocardial infarct” and acquires the serial number 301 corresponding to the “myocardial infarct”. In the case of this example, the serial number 301 is “2”. Subsequently, the retrieval-expression analyzing unit 101 finds a graph, a root node of which is “2”, from a plurality of graphs 108 on the memory.
The processing is explained with reference to the medical practice table 600 as an example. However, the same applies to the examination result table 700 and the prescription table 800. Concerning medical practice table. practice name=“intracardiac catheter”, the retrieval-expression analyzing unit 101 collates the practice name 1601 of the medical practice serial number management table 1600 and the “intracardiac catheter” and acquires a serial number corresponding to the “intracardiac catheter”. The retrieval-expression analyzing unit 101 checks whether the serial number appears in the nodes while traversing the graph (the graph, the root node of which is “2”) and returning a delta-encoded node to the original serial number.
Subsequently, in step 2506, the retrieval-expression analyzing unit 101 determines presence of a node in step 2105. If a serial number of the “intracardiac catheter” is present in the node, the retrieval-expression analyzing unit 101 acquires a reference number concerning the medical practice from the leaf nodes and proceeds to step 2507. If the serial number is not present in the node, the retrieval-expression analyzing unit 101 proceeds to step 2503.
Subsequently, in step 2507, the retrieval-expression analyzing unit 101 searches for, on the basis of the reference number acquired in step 2506, records corresponding to the reference number in the target tables (the medical practice table 600, the examination result table 700, and the prescription table 800). Consequently, it is possible to search for positions of records matching the retrieval conditions (the WHERE phrase) of the SQL sentence.
In step 2508, the retrieval-expression analyzing unit 101 passes a retrieval result in step 2507 to the retrieval output unit 103.
In this embodiment, processing for encrypting the data of the medical care data DB 105 is added to the processing in the first embodiment. This embodiment is explained with reference to
In
In this embodiment, a system of the encryption is not limited. However, all the records of the tables are encrypted by one common key. Consequently, security such as privacy protection for medical care data on a storage medium is improved.
In step 2805 in
The invention is useful as a technique for improving efficiency of hospital management while improving the quality of diagnostic treatment by analyzing medical care data.
Note that the invention is not limited to the embodiments explained above. Various modifications are included in the invention. The embodiments are explained in detail in order to clearly explain the invention and are not always limited to embodiments including all the explained components. Further, a part of the components of a certain embodiment can be replaced with the components of another embodiment. The components of another embodiment can be added to the components of a certain embodiment. Other components can be added to, deleted from, and replaced with a part of the components of the embodiments.
A processor may realize, with software, the functions, the processing means, and the like of the medical care data retrieval system by interpreting and executing programs for realizing the functions, the processing means, and the like of the medical care data retrieval system. Information such as the programs, tables, and files for realizing the functions can be stored in storage devices such as a memory, a hard disk, and an SSD (Solid State Drive) or recording media such as an IC card, an SD card, and a DVD. The functions, the processing means, and the like of the medical care data retrieval system explained above may be realized with hardware by, for example, designing a part or all of the functions, the processing means, and the like as integrated circuits.
Control lines and information lines in the drawings considered to be necessary for explanation are shown. All control lines and information lines are not always shown in terms of a product. All the components may be connected to one another.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2014/064822 | 6/4/2014 | WO | 00 |