Modelling Patient Choice in Healthcare Systems: Development and Application of a Discrete Event Simulation with Agent-Based Functionality.