Patient Management System-A Sample Flask App

Patient Management system is a useful online app for a clinic or a small hospital to stay in touch with its patients. The patients can book their appointments and have a view on diagnosis and suggestions by the doctor. They can also see their medical test reports.

This concept is a suitable topic for a final year projects since it challenges coding skills in different ways. The basic tasks implemented in this sample project are-

  • Patient Registration
  • Booking an appointment by patient
  • Uploading documents by patient like previous prescriptions, medical reports or images related to disease
  • Visit/communication with a doctor
  • Doctor prescribing medical tests
  • Medical test results updating by lab technician
  • Medical test results viewed by doctor and patient
  • Doctor’s diagnosis, prescription and suggestions
  • Patients’ view of his treatment history

The online Patient Management system involves different aspects of a hospital where the data passes through one user to another-

  • When a patient books an appointment, she chooses a department and the doctor. The chosen doctor must be able to see the list of patients who are going to visit him on a specific day. So, patient appointment data is passed on to doctor’s dashboard.
  • When a doctor recommends a test to be done for a patient, it must be visible to the Lab Test operator to know which patients are coming to the lab for medical tests samples. When test reports are ready they must be updated in the patient’s record to be seen by doctor and the patient.
  • A patient can upload any documents or images associated with her disease so that doctor can study them when the patient visits him. This way the patient will not carry any documents while visiting the doctor.


The following tables are used in the creating the application in Python Flask and PostgreSQL.

  • Department- DepartmentID, DepartmentName
  • Designation-DesignationID, Designation
  • Speciality=SpecialityID, SpecialityName
  • DoctorDetails- doctorID, DoctorName, DesignationID , departmentID, specialtyID, timings
  • Tests- testid, testname, TestCategory, price
  • PatientDetails- PatientID, Name, FatherHusbandname, DOB, HNo, address, city,  state, mobile, email, occupation
  • PatientFiles- PatientID, uploaddate, fileLink
  • Appointment- patientid, date, time, departmentID, doctorID
  • PatientVisits patientID, visitDate, Doctorid, Symptoms, diagnosis, suggestions
  • Patienttest- patientid , testid, testdate, results, doctorid
  • Users- userID, userName, password, userType

Interface of Patient Management System

Patient Management System opens in browser and presents a user login/ registration form.

Patient Management System - Login screen

The patients need to register themselves before they can book an appointment, visit a doctor or see their medical history.

Patient Register Screen

A different dashboard is presented to a user according to his user type- Doctor, Patient, Admin, Operator etc. All users can click the LOGOUT button on right panel to exit from the Dashboard. Logout will open the home page of the App so that it can be used for logging in by some other user.

Admin user has the rights to add records in the master files of the Patient Management System. Admin of this system can add master records like a Department, Specialty, Designation, Medical Test, Doctor and Hospital Staff User Other users of Hospital staff like Doctor, Lab Technician, and Operator are created by the Admin user.

Admin Dashboard

Admin Dashboard of Patient Management System

Doctor Dashboard

Doctor Dashboard

Patient Dashboard

Patient Dashboard

Operator Dashboard

Operator Dashboard

This is a complete working project. If you need the complete code of the Patient Management System along with the database and setup instructions, please drop a mail at

Be First to Comment

Leave a Reply

Your email address will not be published.