Adding pan/cons/random choices for the web app

And making patient creation transactional

Fixes #157