DEVELOPING SUPERIOR PATIENT PLATFORMS: A OVERVIEW TO SOFTWARE DEVELOPMENT