I was asked this question in HLD round for Zepto for SDE3:
Design a health consultation app
- The user can login in the app
- The user can book an appointment for a doctor
- A doctor will be assigned after from a pool of doctors available.
- The assignment is at runtime, that is it is assigned right after an appointment is created
- Once a doctor is assigned. He cannot be assigned to anyone else till the appointment is closed/canceled
- The user and doctor can converse/meet using chat or video.
- The doctor can generate prescriptions.
- The doctor can close the appointment, or refer someone else, or appoint himself for a later date.
Please share some thoughts how this can be solved in comments!
Can't find a similar system design solution online so if anyone knows please post in comments!
Thanks in advance!