Add Spring Data JPA support. We should not remove any existing DAOs yet, but create alternative Spring Data DAOs.
As part of this issue create one DAO to set an example. If we agree we want to follow that path, we can create more issues and implement all other DAOs.
When implementing a new DAO you do not have to try to keep old method signatures. In fact some methods e.g. getEncounters would benefit if we changed the signature to accept one parameter object. See some discussion about good practices http://stackoverflow.com/questions/2432443/best-practice-for-passing-many-arguments-to-method