A method of generating structured report data from a medical text report (202, 402), the method comprising: acquiring a medical text report (202, 402) comprising a plurality of natural language statements, each natural language statement comprising one or more words; analysing, using a computer implemented text analysis process, the medical text report (202, 402) to determine, for each natural language statement of the plurality of natural language statements of the medical text report, one or more labels (208, 214, 216, 410) for the natural language statement, the labels comprising classifications of medical findings; generating structured report data comprising the one or more labels (208, 214, 216, 410) determined for each of the plurality of natural language statements of the medical text report, each in association with natural language data (210, 218), the natural language data comprising the natural language statement or data derived from the natural language statement to which the label (208, 214, 216, 410) corresponds; storing the structured report data in a structured database (506, 510) such that the one or more labels (208, 214, 216, 410) are each stored in association with the natural language data (210, 218) to which the label (208, 214, 216, 410) corresponds; and performing or directing a computer implemented search for said natural language data (210, 218) stored in the structured database (506, 510) based on one or more of the labels (208, 214, 216, 410), wherein the search is conducted among the classifications, and the search comprises a search for medical text reports indicating a particular classification of a medical finding, wherein the computer implemented text analysis process comprises, for each natural language statement: determining, for each of the one or more words of the natural language statement, and using word embeddings, a vector representing the word; encoding, by a text classification model, each of the one or more vectors into a vector representing the natural language statement; and mapping, by the text classification model, the vector representing the natural language statement on to the one or more labels (208, 214, 216, 410), thereby determining the one or more labels (208, 214, 216, 410) associated with the natural language statement. acquiring a medical text report (202, 402) comprising a plurality of natural language statements, each natural language statement comprising one or more words; analysing, using a computer implemented text analysis process, the medical text report (202, 402) to determine, for each natural language statement of the plurality of natural language statements of the medical text report, one or more labels (208, 214, 216, 410) for the natural language statement, the labels comprising classifications of medical findings; generating structured report data comprising the one or more labels (208, 214, 216, 410) determined for each of the plurality of natural language statements of the medical text report, each in association with natural language data (210, 218), the natural language data comprising the natural language statement or data derived from the natural language statement to which the label (208, 214, 216, 410) corresponds; storing the structured report data in a structured database (506, 510) such that the one or more labels (208, 214, 216, 410) are each stored in association with the natural language data (210, 218) to which the label (208, 214, 216, 410) corresponds; and performing or directing a computer implemented search for said natural language data (210, 218) stored in the structured database (506, 510) based on one or more of the labels (208, 214, 216, 410), wherein the search is conducted among the classifications, and the search comprises a search for medical text reports indicating a particular classification of a medical finding, wherein the computer implemented text analysis process comprises, for each natural language statement: determining, for each of the one or more words of the natural language statement, and using word embeddings, a vector representing the word; encoding, by a text classification model, each of the one or more vectors into a vector representing the natural language statement; and mapping, by the text classification model, the vector representing the natural language statement on to the one or more labels (208, 214, 216, 410), thereby determining the one or more labels (208, 214, 216, 410) associated with the natural language statement. determining, for each of the one or more words of the natural language statement, and using word embeddings, a vector representing the word; encoding, by a text classification model, each of the one or more vectors into a vector representing the natural language statement; and mapping, by the text classification model, the vector representing the natural language statement on to the one or more labels (208, 214, 216, 410), thereby determining the one or more labels (208, 214, 216, 410) associated with the natural language statement.