A hands-free speech-based natural language processing clinical decision support (CDS) system configured to operate in conjunction with a stationary or mobile base device speech system to receive voice commands from a user. A dialog may be conducted with the user in multiple turns, where each turn comprises user speech and a speech response by the speech system. The user speech in any given dialog turn may be provided from the base device. This speech system dialog is directed by a computer program finite state engine. Rule data for the state engine is retrieved from an internet cloud database by a computer program function and is applied to the speech dialog system in order to prompt the user for specific information. This user supplied information is used as inputs to the computer program that in turn refine the speech dialog and requests for additional information. Once all information required to make the CDS recommendation have been received, the computer program applies an algorithm to generate a set of recommendations from which the user can select the best option for their patient.