After a quick review I think Moodle covers the majority (80%) of your requirements. However, it does look like you will have to invest a lot of work into setup and configuration.
Lets say the other 10%-20% you may need to create custom code which I suspect will be the case with any learning system.
You may also want to look into Moodle Themes.
You may also want to confirm the privacy and security issues with a lawyer.