Designing Software for Clinical Environments