Method and apparatus for automated medical diagnosis using decision tree analysis
FIELD OF THE INVENTION 
     The present invention relates in general to an automated or computerized diagnosic system and technique for diagnosising a medical condition. In one particular embodiment, the present invention relates to a dermatopathological diagnosis based on observations of a biopsy and the selection of one option from among a set of sequentially presented options called from a forwardly linked data base. 
     BACKGROUND OF THE INVENTION 
     In the medical field in particular, there is a need for automating a diagnosis of a medical condition based on certain observations, test results and characteristics of the patient. For example, many medical diagnoses are made based on information obtained from examination of the patient, including diagnostic tests, and based on information received directly from the patient. 
     Computerized diagnostic systems are known and are the subject of many patents, for example: U.S. Pat. Nos. to Sinay 4,290,114 and to Coli 4,315,309. In addition, other U.S. patents disclose computerized systems for obtaining medical information, for example: U.S. Pat. Nos. to Haessler et al 4,130,881; Yasaka et al 3,970,996; Zonneveld et al 3,829,844; McCormick et al 3,794,982; and Worthington et al 3,566,370. 
     However, these systems do not provide a simple, yet reliable, interactive method of presenting data from a data base to a knowledgeable operator with the flexibility of revisions and modifications. Generally, the difficulties of the systems lie in the arrangement of the data base, the classification of the information in the data bases, and the ability to progress through the data base. 
     SUMMARY OF THE INVENTION 
     The method and system of the present invention utilize a general purpose, programmable and programmed digital microcomputer to make a diagnosis of a condition based on the responses to a series of choice menus sequentially presented to the operator. While the presently preferred embodiment of the present invention is used for providing a diagnosis in dermatopathology, the present invention can be utilized in any particular area in which there are a plurality of conditions which can be grouped into a plurality of levels with each level having a greater degree of specificity or particularity. Each level is comprised of a number of sets and the entire level covers the universe of the subject. 
     In a particular embodiment of the present invention, an operator is presented with a set containing a number of changes to select. When the operator indicates the selection in a particular set, the selection is tied through an accompanying pointer or indicator to a succeeding set of changes to select located in a lower or further level. Finally, the classification is performed when the last selection in a chain is reached, which selection is identified by a particular identificaton means. 
     The present invention provides both a tool for classification of an item and an instructional aid for use in training and education. The present invention finds particular application in those areas that are amenable to a systemic approach. One such area as mentioned above is dermatopathology. As used herein, diagnosis means the determination of the condition of a biopsy based on an evaluation of a set of observed conditions and findings. A differential diagnosis refers to the presentation of a number of possible diagnoses which could possibly result from the selected conditions. 
     Thus, the present invention is directed to the retrieval of information stored in a data base that can be conceptualized as being arranged in an ordered set of levels or columns. In a preferred embodiment of the present invention, the data in each level is linked in both directions to a previous level and to a subsequent level. Thus, the data base is arranged in a particular hierarchy. 
     The present invention can be conceptualized as both an interactive, automated method utilizing a computer system for performing a differential diagnosis based on characteristics or changes in the condition of a patient, including a biopsy or other specimen or test result, and as an interactive computerized system for performing a differential diagnosis based on characteristics or changes. 
     A method according to the present invention utilizes a computer system having a memory means for storing an array of sets of changes and diagnoses, an output means for presenting a plurality of selected changes or diagnoses to an operator, an input means for entering operator selected responses, and a processor means for receiving the selected responses, for retrieving a set of changes or diagnoses stored in the memory means, and for providing the retrieved set to the output means. The method comprises the steps of presenting a first set of medical changes on said output means, each change having a linkage or a pointer to a further, unique set of changes; selecting a change from the presented first set and entering the selected change with the input means; and retrieving from the memory means a set of further changes identified by the linkage associated with the selected change, each further change having a linkage to a still further unique set of changes. The identified set of further changes is then presented on the output means and one of the presented changes is selected and entered with the input means. The retrieving, presenting, selecting and entering steps are repeated until an identifiable final selection is obtained, the final selection including means for identifying it as being a final selection. 
     In a particular embodiment of the present invention directed to the field of dermathopathology, the particular embodiment includes an interactive computerized system for performing a differential diagnosis of a biopsy based on the characteristics or changes of the biopsy product. The system comprises an output means for presenting a set of a plurality of selected histopathological changes to an operator, an input means for entering operator selected responses, a memory means, and a processor means under program control. The memory means is for storing a hierarchical data base and the processor means is for responding to the operator selected responses for retrieving further data stored in the memory means to the output means. The data base is comprised of a plurality of downwardly linked files, each file comprised of a header record and a plurality of data records where the operator selected response corresponds to one of the data records. The header record is comprised of a file identification field and each of the data records is comprised of a linking identifier field and a data field. The data field contains a histopathological change when the identifier field contains an entry of a file identifier that points to a data record located below in the hierarchy, and the data field contains a differential diagnosis when the identifier field does not contain such a file identifier. Other objects, advantages and aspects of the present invention are set forth in or are apparent from the detailed description of the presently preferred embodiment set forth hereinbelow. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a perspective view of a microcomputer useable in performing the method of the present invention. 
     FIG. 2 is a diagrammatic representation of a data file depicting the data records and fields. 
     FIG. 3 is a schematic diagram of part of a decision tree hierarchical arrangement of data in a data base. 
     FIG. 4 is a schematic block diagram of part of the decision tree, depicted in a different form than that depicted in FIG. 1, and showing the data base arranged in eight levels. 
     FIG. 5 is a schematic flowchart of a computer program for creating the data base shown in FIGS. 3 and 4. 
     FIG. 6 is a schematic flowchart of a computer program according to one embodiment of the present invention. 
     FIGS. 7a through 7e are reproductions of data displayed on a terminal according to the present invention in which one diagnosis in dermal pathology is made. 
     FIGS. 8a through 8e depict the various data files as stored in the data base according to the present invention and from which the corresponding components of FIG. 4 are generated by the computer program. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     With reference now to the figures wherein like numerals represent like elements throughout the several views, and in particular with reference to FIG. 1, a general purpose, programmed microcomputer 10 is depicted. Microcomputer 10 is housed in a cabinet 12 and includes a keyboard 14 for entering data into the computer, a CRT 16 for displaying output data, and two floppy disks drives 18 and 20. A printer, not shown, is also mounted inside cabinet 12 and produces a hard copy output on paper that exits through a slot 22 located at the top of cabinet 12. Keyboard 14 is generally divided into three sections, an alphabetic section 24, a numeric key pad 26, and a plurality of function keys, generally shown at 28. 
     The electronics of microcomputer 10 are conventional and include a microprocessor, interface circuitry, internal ROM memory and RAM memory, and an electrical power supply (all not shown). 
     The present invention, however, is directed to a data base stored in the computer memory or on floppy diskettes and the sequential, ordered presentation of that data to an operator by microcomputer 10 programmed with a computer program. Depending upon size, the data base is usually stored on two or more floppy diskettes mounted on disk drives 18 and 20. However, for very large data bases, other disk drives can be connected to microcomputer 10 as needed. An operating system program can be stored on the ROM memory, and the applications computer program for creating the data base and/or for retrieving and presenting the data can also be stored on ROM, or on a floppy diskette. 
     The data base is comprised of a plurality of questions or statements about a characteristic of an item, such as a biopsy of a human patient&#39;s skin. Related questions are grouped into a set, which normally has from two to nine questions. Related sets are figuratively grouped into a column or level, and the data base is comprised of a plurality of levels. The data base also is comprised of other data which provides information about a set or is used as a pointer to link one set to another. 
     In a specific embodiment of a data base according to the present invention, listed in Table I, the area of dermatopathology is covered. Each question in the data base is directed to a diagnostic change in a dermatopathological biopsy. Each set of questions presents a group of related changes, one of which is to be selected by the operator. Each level in the data base of the present invention essentially covers the entire universe or realm of possible changes at a particular state of specificity. An an initial specific example, which is described in greater detail below, the initial or first level presents three choices to the operator; epidermal, dermal or subcutaneous and the operator selects one of them. Thus these three choices cover the entire realm of changes in a dermatopathological biopsy. 
     The data base according to the present invention is arranged in the form of a decision tree. The data base is comprised of a plurality of relatively located data files that normally are accessed in a predetermined sequence, or alternatively can be randomly accessed. The data files, in turn, are comprised of a plurality of fixed length data records, and each data record is comprised of two fixed length fields. 
     A data file is diagrammatically depicted at 48 in FIG. 2. The file is comprised of a first program or header record 50 followed sequentially by up to nine data records 52 (only seven data records being depicted). Each data file 48 is identified by &#34;name&#34;, which in the present embodiment consists of a decimal number diagrammatically indicated in a box at 54 and represented by &#34;FFF&#34;. As is well known, the names of data files are stored by a compiler computer program in a look-up table and are keyed there to the address of the data field in the data base. Thus a file name does not appear in the data file itself. 
     Header record 50 contains two fields, a TOTAL field 56 and an antecedent field 58. TOTAL field 56 is a one or two character wide field that contains the number of data records 52 contained in the particular file. Antecedent field 58 is three characters wide and contains the backward or upward file pointer or linkage to the file that called the present file. All files except the first file or initial file in the data base have an antecedent pointer, which is the numerical name of the field. 
     Each data record 52 is comprised of two fields separated by a comma, a first field 60 and a second field 62. First field 60 extends from character number one through character number four, and second field 62 begins at character position six and extends through character position thirty-four. Thus, first data field 60 is four characters long and second data field 62 is twenty-eight characters long. First data field 60 contains a three character long subfield 64 which contains a pointer or subsequent file linkage and a one character long diagnostic indicator subfield 66. Normally, file linkage subfield 64 contains the file identification of the next immediate lower file in the hierarchical data base. However, when the particular file contains diagnostic information and thus is the bottom file in the particular linkage chain, subfield 64 is empty. This condition is used by the computer program to ascertain that the particular file is a diagnostic file. In most cases, diagnosis indicator subfield 66 is empty. However, in the next to the last file in the linkage chain, subfield 66 may contain the identity of the data record in the last file in the linkage chain which contains the probable diagnosis. As discussed below, the computer program detects the presence of an entry in subfield 66 and causes the linked data field to flash on CRT 16. 
     The hierarchical data base is schematically represented through three levels or columns in FIG. 3 for a presently preferred embodiment of the present invention directed to dermatopathological diagnosis. As can be clearly seen from FIG. 3, the data base is arranged in the form of a decision tree 90. Tree 90 has a trunk 92 that encompasses all histopathological changes known to involve any layer of the skin. Trunk 92 is divided into three branches, a first branch 94, a second branch 96, and a third branch 98. As the tree develops with progressively smaller branches being connected to the three major branches, more and more branches are located in a given level or column. Each column comprises an entire set of possible changes or possibilities at a predetermined degree of specificity. Each branch gives rise to further branches through an indicated node that represents a new file. The branches from the node correspond to the records in that file. Thus, it can be seen that each record is linked to a subsequent file which corresponds to the next node of the decision tree. Consequently, the subsequent files progressively divide and subdivide the data contained in the data base. Furthermore, the total number of changes increases from a higher level or more general column to a lower level or more specific column until diagnoses are reached. Once a diagnosis is reached, the chain is terminated at that column. 
     In FIG. 3, branch 94 represents changes occurring in the epidermal part of the skin, branch 96 represents the changes occurring in the dermal part of the skin, and branch 98 represents changes occurring in the subcutaneous layer of the skin. Epidermal branch 94 terminates in node 100, dermal branch 96 terminates in node 102 and subcutaneous branch 98 terminates in node 104. Nodes 100, 102 and 104 each contain from five to eight branches, and each branch is further subdivided (not shown in FIG. 3) into yet further branches at particular nodes. 
     At the bottom of FIG. 3, the particular data or numbers located on the various branches are labelled by the corresponding part of the data base. Thus, trunk 92 corresponds to file number one, record numbers one, two, and three correspond to data records 52 of FIG. 2. Each data record, in turn, is comprised of a text field and a numeric field, the numeric field appearing at nodes 100, 102 and 104. The record number with a text field appearing on a branch and terminating in a numeric field appearing at a node is replicated from each of nodes 100, 102 and 104. The hierarchical data base continues until all of the possibilities are exhausted. FIG. 8 contains selected portions of the data base, and reference may be made to Table Ia to see more of the data base, and will be referred to for specific examples hereinbelow. 
     With reference now to FIG. 4, a diagrammatic representation of a data base 120 is depicted. Data base 120 is a hierarchical data base that is linked in a decision tree configuration, and represents the actual data base for the area of dermatopathology. An entire data base 120 is depicted, in Table Ia, while part of the actual data base arranged in a file and record presentation is depicted in FIGS. 8a through 8e. The numbers in the boxes in FIG. 4 correspond to the file &#34;names&#34; or numbers depicted in FIGS. 8a through 8e, and stored in a file name table (not shown). However, because of the problems of space, FIG. 4 does not encompass all of the files depicted in Table Ia. 
     Data base 120 is entered through an entry point diagrammatically shown at 122. Progression through data base 120 proceeds from entry point 122 to an initial or first file 124, which also comprises column I of data base 120. Data base 120 can be conceptually thought of as being arranged into eight levels or columns of files. Each file is numbered and the corresponding number with the appropriate entries can be found in FIGS. 8a through 8e. Each file containing a change or characteristic is indicated by a single rectangular box and each file containing a decision is indicated by a double rectangular box. For example, from entry point 122, selections could be made such that the progression through the data base would go through initial file 124 where data base file 3 was selected, then data base file 14 was selected, and then a selection had to be made from data base files 59, 60, 61, or 62. If data base file 59 were selected, progression would proceed. However, if data base file 61 were selected, then progression would terminate in column 4 of the data base upon the presentation of three choices for a diagnosis. In data base 120, the first file of diagnoses is not reached until column 4. Thus, data base 120 proceeds exponentially to level or column 4 where the rate of increase of further choices begins to decrease. Consequently, the largest data base column is column 5, which contains a number of diagnoses files, which as mentioned above, terminate the progression through the data base. Columns 6, 7, and 8 are thus progressively smaller. In effect, data base 120 can be conceptualized as having either a rough diamond configuration or a rough bell-shaped curve, depending upon how the columns are stacked. 
     DATA BASE CREATION 
     With reference now to FIG. 5, a computer program is depicted in a schematic flowchart for creating data base 120, a current embodiment of which is depicted in Table Ia as an edited alphnumeric dump from memory. Table Ib is a sequential dump of the first file in hexadecimal with alphanumeric equivalents. Data base 120 is also shown diagrammatically in FIG. 4. A computer program for creating data base 120 is depicted in Table II. This computer program is written in TI Extended BASIC, a programming language for the Texas Instrument home computer Model 99/4 that is described in Texas Instruments Incorporated publications. 
     The decision tree filling computer program begins in a start terminal 200 and proceeds to display box 202 whereby the computer displays a file menu. An abbreviated file menu is depicted in line 220 in Table II. The operator makes a selection from the file menu which is shown in FIG. 5 by decision diamond 204. The corresponding parts in Table II are line 230 and 240. 
     Assuming the operator selects the &#34;create&#34; choice, the program proceeds to input box 206, which also corresponds in Table II to lines 250 and 260. The program checks whether an error has been made and if the file number is read as a &#34;0&#34;, then the program branches in decision box 208 to terminal 210 where the program terminates. Alternatively, and as depicted in Table II, the program can simply branch back to display box 202. A further choice would be to have the program display an error menu. 
     Assuming that the file number is correct, the program proceeds to process box 212 where a new file is opened. The opening of the new file is indicated in Table II at lines 270 through 330. The new file is essentially opened by the program proceeding from process box 212 through an input box 214 where the antecedent file number is received and written to the record by I/O box 216. The antecedent file number is the number of the preceding file in the decision tree. For example, with reference to FIG. 4 and Table Ia, the antecedent of file 61 is the number 14, which represents the file name of file 14. The antecedent of file 14, in turn, is the number 3, which is the name of file 3. 
     From I/O box 216, the program proceeds in a loop whereby the numerical field is received by input box 218 and the text field is received by input box 220. The numerical field represents the pointer or linkage to the next proceeding file should that selection that appears in text field 220 be selected by the operator. 
     From input box 220, the program proceeds to decision box 222 where it asks if the variable &#34;TEXT$&#34; is a null field. The variable TEXT$ is defined in the program depicted in Table II at line 400 and represents the alphanumeric entry having a maximum length of 28 characters and representing the characteristic to be displayed on the screen. For example, with reference to FIG. 4, in file 14 (in column II), the numerical field would be the numbers 59, 60, 61, or 62 and the text fields would be, for example for the number 62, the following words &#34;Nonsclerosing Nonpolypoid&#34;. While the text field can have any length, by the program depicted in Table II at line 400, the maximum size is set at 28 characters. This selection is chosen as a compromise between the maximum amount of data desired on the one hand, and the realistic size of the data storage medium. If a hard disk is used, instead of floppy disks, for storage of the data base, then obviously the file sizes can be much larger, thereby permitting the record size which contains the variable &#34;TEXT$&#34; to be larger. 
     In decision box 222, the program checks whether the variable &#34;TEXT$&#34; is a null, that is, there is no entry. As seen in Table II at lines 400 and 450, if the operator has not made an entry the program branches to I/O box 224 where the number of records in the file is written in record number 0. Then, the program branches back to the input box 206 to resume the loop. On the other hand, if the variable &#34;TEXT$&#34; has a value, then the program branches to I/O box 226 where the next record is written and then the program loops back to input box 218 where an additional record is received. 
     The operation of decision box 222 in the program can be seen with reference to file 14 in column II of FIG. 4. As a result of entries made to fill file 14, the program would branch at decision diamond 222 a total of four times through I/O box 226 to the top of input box 218 and then would branch to I/O box 224 to accept a new file number at input box 206. 
     The program in the file create mode continues looping until the file number is printed as a &#34;0&#34; and the program ends at terminal 210. 
     The decision tree filing program depicted in FIG. 5 also permits, by operator selection at decision diamond 204, either modification of an existing file or the printing of a file. If the print mode is selected, the program branches from decision diamond 204 to a process box 230 where a &#34;FOR NEXT&#34; operation is performed to print from the first file to the last file. The &#34;FOR NEXT&#34; loop comprises a process box 232 in which the program opens a file, an I/O box 234 where an input record is retrieved from memory and stored in the active computer memory, and a print box 236 whereby a hard copy of the record is printed. The program then proceeds to a decision diamond 238 where the program checks whether it is the end of the file. If the file contains more records, the program branches back to the top of I/O box 234. The program continues to loop until the last file in the record is received and then the program branches to decision diamond 240. In decision diamond 240, the program ascertains whether the completed file was the last file as indicated in the &#34;FOR NEXT&#34; loop. If the last file has been printed, then the program proceeds to terminal 242 where the program ends. On the other hand, if the file is not the last one, then the program branches from decision diamond 240 back to the top of processing box 232 where a new file is opened. 
     An existing file can be modified by the procedures depicted in the branch from decision diamond 204 to a processing box 250. In processing box 250, the program opens an existing, indicated file and proceeds to I/O box 252 where the program retrieves a record from a file stored in memory. The program then proceeds to display box 254 where the retrieved menu is displayed on the terminal. From display box 254, the program proceeds to a decision diamond 256 where the program asks if the record is the last record in the open file. If it is not, the program branches back to the top of I/O box 252 where another record is retrieved from memory. The program proceeds in the loop until all of the records of the open file have been displayed. Then, the program branches to a subroutine in pre-defined process box 258. In pre-defined process box 218, the program executes a subroutine to display a choice on the terminal for the operator to select. If the operator selects an &#34;add or change&#34;, the program proceeds to input box 260 where the program receives a numerical input. From input box 260, the program proceeds through a further input box 262 where the text is received and then to I/O box 264 where the new record is written. Form I/O box 264, the program proceeds to a decision diamond 266 in which the program asks if there are any more modifications. If there are no further modifications, the program branches to process box 268 where the &#34;total&#34; field in the header record of the opened file is corrected to reflect the addition or changed record. From process box 268, the program proceeds to terminal 270 where the program ends. 
     If the operator selects an option indicating that the last record has been corrected, the program proceeds from pre-defined process box 258 to an I/O box 272 where the last record is retrieved from memory. Form I/O box 272, the program proceeds to processing box 274 where the record is written over the deleted record in memory and the program then proceeds to the top of decision diamond 266, where the program again asks if there are any further modifications. 
     DIFFERENTIAL DIAGNOSIS GENERATION 
     With reference now to FIG. 6, a flowchart of a computer program for generating a differential diagnosis and printing a biopsy report utilizing a data base according to the present invention is depicted. Part of the actual computer program, again written in TI extended BASIC is depicted in Table III. 
     The program begins at start terminal 300 and proceeds to a process box 310 in which the program initializes a number of variables used in the program and also dimensions a number of arrays and strings. Process box 310 is essentially representative of lines 190 and 260 of the program in Table III. From process box 310, the program proceeds to an I/O box 312 in which the program receives information for printing a report through interaction with an operator. A sample of an actual report generated by an embodiment of the present invention and the program depicted in Table III is shown in Table IV. I/O box 312 corresponds to lines 210 through 240 in Table III. From I/O box 312, the program proceeds to a decision diamond 314 in which the program determines whether the operator wishes to continue or to terminate the particular program. If the operator selects to terminate the program, the program branches to on-line storage box 316 in which the sorted accessions are copied, then to print box 318 which makes a hard copy print out of the activity, and finally to stop terminal 320, at which point the program terminates. 
     If the program determines at decision diamond 314 that the operator desires to continue, the program proceeds to process box 322 where a file is opened. Process box 322 roughly corresponds to lines 280 through 340 in Table III. From process box 322, the program proceeds to process box 324 in which the program determines the operator selected record and retrieves it from memory. From process box 324, the program proceeds to a decision diamond 326 in which the program determines whether the operator has indicated that the record is complete. This roughly corresponds to lines 420 and 430 in Table III (but the actual modification subroutine is not included in Table III). If the record is not complete, the program branches to process box 328 in which modifications can be made to the record and then the program returns to the top of process box 322. The ability to modify a record, while provided for in this computer program depicted in FIG. 5, is also provided for in this program of FIG. 6 for the convenience of the operator. The modification of the record proceeds quite similarly to that described above with respect to FIG. 5. 
     If the record is complete and no modification is desired, the program proceeds from decision diamond 326 to decision diamond 328. Decision diamond 328 corresponds to line 425 in the computer program depicted in Table III. Essentially, the program determines whether a diagnosis has been reached by asking whether there is an entry in the first data field 60 of a data record 52 as depicted in FIG. 2. Stated another way, the program is asking whether, for example, there is a number preceding the text in file 12 (see FIG. 8c). In the case of file 12, all four records have a numeric entry in the field. Therefore, the result of any selection made from the choices supplied by file 12 and as ascertained by decision diamond 328 in FIG. 6 would be negative and the program would branch to process box 330. In process box 330, the program stores the selected text description in an array, called &#34;D$(D)&#34; in the computer program depicted in Table III. Line 470 of the computer program in Table III corresponds to process box 330. From process box 330, the program proceeds to process box 332 where the program reads the number of the next file from the chosen data record. In essence, the program identifies a variable by the number located in first data field 60 of the chosen data record 52 (see FIG. 2). Line 480 in Table III is essentially the equivalent of process box 332. From process box 332, the program loops back to the beginning of process box 332 where the identified file is opened. 
     If the program determines that there is a null field in first data field 60, then the program branches from decision diamond 328 to a further decision diamond 334. An example of a null field is shown in FIG. 8e in file 163. 
     An alternative method of determining when a diagnosis has been reached is to assign a particular series of numbers to all of the fields containing diagnoses. For example, all such fields could have a file number greater than 800. Yet another method of determining whether the identified file contains only diagnoses is to insert a code into the data field. Such a code could be a letter or a unique number. Still other methods or procedures for determining when a diagnosis is reached would be obvious to those skilled in the art. 
     From decision diamond 334, the program determines whether there is an error and if there is, the program proceeds to display box 336. Decision diamond 334 corresponds to line 330 in the computer program depicted in Table III and display box 336 corresponds to line 2020 in Table III. In display box 336, the number of the file containing the error is displayed and the program proceeds to display box 338 where the type of error is displayed. Then the program proceeds to stop terminal 340 in which the program terminates pending correction of the error. 
     If no error is detected in decision box 334, the program branches to process box 342 in which the differential diagnosis is stored in an array and the program proceeds to decision box 344 where an accession number is generated. The accession number generated in process box 344 is a number assigned to the particular biopsy case and in the present embodiment is simply the next numerical number in the sequence of biopsies previously performed. Alternatively, other report numbers could be generated which would have an accounting or medical meaning. 
     From process box 344, the program proceeds to decision diamond 346 where the program determines whether the particular storge diskette is full. Obviously, this program is designed to run on a system using floppy diskettes as a storage medium to contain the generated reports. If the diskette is full, the program branches to storage box 316. If the diskette is not full, the program branches to process box 348 and the heading of the present report is added to a data base containing sorted lists of previous lists. From process box 348, the program proceeds to process boxes 350, 352, and 354 where the program reads the arrays, prints the report, and runs a financial subroutine to take care of the appropriate billing. From process box 354, the program branches back to the beginning at decision diamond 314 where the operator is asked whether the program should be continued. 
     DISPLAYS 
     Reference is now made to FIGS. 7 and 8 in which a differential diagnosis of a biopsy has been made. FIGS. 7a through 7e depict the display appearing on the terminal and from which the operator makes the appropriate selections. The selection made by the operator is depicted under the word &#34;choice&#34;. FIGS 8a through 8e depict corresponding boxes showing the information as it is depicted in the data base, with the exception as noted above that the &#34;file number&#34; does not actually appear in the data base. As mentioned above, the file number is really the name of the file and indicates the address at which the data is stored. Not shown in FIG. 8 but shown Table Ib at the top is the TOTAL field 58 which indicates to the computer the total number of data records contained in that file (which is 3). 
     FIGS. 7 and 8 can also be used to describe the operation of the present invention. When the program depicted in FIG. 6 is loaded, the first screen to be presented to the operator by process box 322 in FIG. 6 is that shown in FIG. 7a. In essence, the operator is asked to select a number from 0 through 4 with the record at number &#34;0&#34; representing a selection of the antecedent file number and the number &#34;4&#34; is a call to a modification subroutine represented by decision diamond 326 and process box 328 of FIG. 6. 
     As a result of observations from the biopsy and as a result of the detected changes, the operator has decided that the changes occur in the dermal layer of the biopsy and thus has selected the number 2 and pressed that number on keyboard 14 (FIG. 1). As shown in FIG. 8a, the selection of choice &#34;2&#34; is translated by the computer to file number &#34;3&#34; and the program closes file 1, the initially presented file, and proceeds to open up file 3 which is depicted in FIG. 8b. This translation step is essentially an aid to the operator so as to avoid confusion. It can be seen that it is easier for an operator to always select a number from 0 through 9 rather than the particular file number. On the other hand, the file numbers are used by the computer to open the designated file by retrieving it from memory. 
     Returning to FIG. 7, and in particular FIG. 7b, the next display which is shown to the operator is depicted. As mentioned above, this display results from the selection of choice 2 from the menu presented in FIG. 7a. As shown in FIG. 4, the operator is proceeding through the data base from column I with the selection of the appropriate record to column II. The operator then selects the choice presented in FIG. 7b by pressing the appropriate number on keyboard 14. In the particular example, the operator chose the number 3, which by reference to FIG. 8b, represents the selection of file 12. The program then proceeds to column 3 in FIG. 4 and the data depicted in FIG. 7c is next presented to the operator. 
     By observing the biopsy, the operator has selected choice 3 and made that input on keyboard 14. Selection 3 in FIG. 7c corresponds to file 55 in FIG. 8c. 
     Not shown by the parts of FIG. 7, the operator has determined that the file depicted in FIG. 8c should be modified and has accordinly modified it as indicated in FIG. 7c. The added selections 5 through 8 would be given unique file numbers. As mentioned above, the operator makes the modification be selecting choice 9. 
     In the present example, as mentioned above, the operator has chosen selection 3 which corresponds to a request to the computer to retrieve file number 55. The data in file 55 is depicted on a screen to the operator and is shown in FIG. 7d. In the present example, the operator has next selected choice number 1 which corresponds to the first data record. Referring to FIG. 8d, it can be seen that for the first time the number in the numeric field is a four digit number. This four digit number is broken up by the computer into a first file linkage or pointer subfield, such as subfield 64 in FIG. 2, and a diagnosis indicator subfield of a single digit, such as subfield 66 in FIG. 2. The codes in the subfields of the selected penultimate file are used by the program to indicate the most appropriate diagnosis. The number of the selected diagnosis in the ultimate file is flashed on the screen as a result of processing lines 580 and 590 of the program depicted in Table III. The corresponding display is shown in FIG. 7e.  It is also noted that file 163 is determined to contain diagnoses by the absence of a number in the numeric field, as shown in FIG. 8e. 
     The present invention has now been described with respect to a presently preferred embodiment thereof. Obviously, the data base will vary with respect to the particular field being investigated. However, so long as a computer program such as that depicted in FIG. 5 is used to create the data base, the computer program as depicted in FIG. 6 can be used to make the sequential choices and achieve a suggested diagnosis. In the aforedescribed example, the program proceeded only through level 5. However, as shown in FIG. 4, a different set of files could be selected such that all 8 levels would be traversed. This can be seen by referring to FIG. 4 and comparing it with the data in Table I for the following example of selected records: 3, 12, 53, 156, 280, 346, and 376. 
     Other changes and modifications to the present invention would be obvious to those of ordinary skill in the art. ##SPC1##