You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a website that enables patients to have a consultation with doctors remotely. The patient can choose a doctor to have a consultation by name and specialization and get the medical record that involves advisement or treatment from the doctor that has consulted with because some of the cases can be treated without going to the hospital. In the time of the Covid 19 situation, the hospital has become one of the most dangerous places. This website will be suitable for "New Normal" because it prevents oneself from having close contact with others.
Functionality
There are 3 user type, patient, doctor and staff. All registered user can login to the system and unregistered user can register as patient.
The patient can select and search for the doctor that they want to consult with and be able to search by type of doctor specialization and by name.
After the patient has selected the doctor to consult. They can request a video consultation to that doctor.
During the consultation, the doctor can view their patient’s recent medical records and use them for diagnosis. Medical record is a document that explains all details about the patient's history.
After the consultation, patient will get the medical record that involve advisement or treatment from the doctor that have consult with.
The doctor can view, edit and delete past medical records for only the patient that they have consulted with.
All registered user can view and edit their profile.
Staff role is to manage the doctor in the system.
Technology
React and TailwindCSS are use to build the client Frontend of the website.
Node.js and Express are use for the backend server and RESTful API
Socket.io is use to implement an Online/Offline feature for doctor. Doctor that have login to the system and doesn't have a consultation at the moment will be consider as Online (available for patient). Doctor that have sign out, close the brower tab or in a current consultation will be consider as offline (not available for patient). These features are implement by socket.io room that use to manage the room for consultation.
Their are 2 main socket.io room :
General doctor room (Doctors that are in this room mean that the doctor is Online and available for patient)
Individual doctor room (Room for consultation)
WebRTC and PeerJS are use to create a video consultation feature. WebRTC is for video and media transfer and PeerJS is use for Peer-to-Peer connection.
MongoDB is use for the NoSQL Database and use with Mongoose library.
To run this project
First you need to add config.env file that store the environment variables to use with the backend in the backend directory.
Get medical record that match the doctorID and patientID
/api/v1/doctor/123456,213123
Get the information of the two doctors
Sorting
Example
Result
/api/v1/medicalRecord?sort=date
Medical Record sort by date
/api/v1/patient?sort=-name
Patient sort by name in descending order
Field Limiting
Example
Result
/api/v1/patient?fields=name,email
Show only patient name
Pagination
Example
Result
/api/v1/doctor?page=2&limit=5
Get the information in page 2 and have 5 doctor per page
Snapshots:
Dashboard overview showing the main interface of the Medical Consultation System with patient information and navigation options.Patient view when no doctors are currently available online for consultation, displaying an empty doctors list with appropriate messaging.Patient's view of available doctors with detailed information including specialization, experience, and contact options for initiating a video consultation.Alternative view of the patient's homepage showing online doctors available for immediate consultation with their credentials and call buttons.Incoming call notification on the doctor's interface with options to accept or decline the patient's consultation request.Live video consultation in progress between doctor and patient with both video feeds visible, demonstrating the real-time communication capabilities of the platform.
About
Online medical consultation system made using MERN stack to interact with doctor live.