1. A method for encoding free-text data, comprising: (A) receiving free-text data, wherein said free-text data includes: words, a grammar, a syntax and a semantic relationship between said words; (B) checking for synonyms of said words within said received free-text data; (C) checking spelling of said words within said received free-text data; (D) parsing said syntax of said received free-text data; (E) transforming said grammar of said received free-text data; (F) inferring concepts from said received free-text data, using a probabilistic system, wherein said probabilistic system further comprises a Bayesian network for managing one or more probabilistic calculations for use in slotting said words of said free-text data for translation to said inferred concept; (G) creating an encoded representation of said received free-text data; and (H) writing said encoded representation into a database.