Software developers are incredibly poor at gathering requirements. The best choice for gathering those requirements is to have a management consultant who does nothing but study business process and document the current clinical process. Once that's documented then you can discuss what needs to change from that document to extract the core requirements. Having a software person shadow a medical professional will only…
Customers are also often incredibly poor at defining their requirements, at least in my experience. Like having undocumented routines which are only recalled by that one employee once they have to actually perform them, once a year or so.
Of course it's usually a really critical, time-sensitive issue when they discover that the routine they never told us about hasn't been implemented and thus cannot be done... almost never fails that.