A Hospital Management System (HMS) is a software application that helps manage the information related to health care and track patients through their treatment journey. On the scale of a country as large and diverse as India, the problem requires innovative, scalable solutions. Creating a network of approved hospitals, HMS will provide the ability to manage all the records in one place, visualize a patient’s medical history, allow doctors to manage patients better by automating manual workflows (example, automating the generation of medical bills and preparing the medicines in the hospital’s dispensary based on doctor’s appointment conclusion).
- Highly Scalable hospital management system based on microservices
- Efficient use of databases and schemas for storing sensitive health related information
- Highly suitable for multi chained hospital
- Used GitHub Actions for CI/CD
- Done Integration and Unit Testing
- API Documentation
- Git.
- Node & npm (version 12 or greater).
- MongoDB
- MySQL
- Jest
backend:
├── REST
│ ├── bill
│ │ ├── controllers
│ │ │ └── bill.controllers.js
│ │ ├── index.js
│ │ ├── models
│ │ │ └── bill.js
│ │ ├── package.json
│ │ └── routes
│ │ └── bill.routes.js
│ ├── doctor
│ │ ├── config
│ │ │ └── sequelize.js
│ │ ├── controllers
│ │ │ └── doctor.controller.js
│ │ ├── index.js
│ │ ├── models
│ │ │ └── doctor.js
│ │ ├── package.json
│ │ └── routes
│ │ └── doctor.routes.js
│ ├── doctorId
│ │ ├── config
│ │ │ └── sequelize.js
│ │ ├── controllers
│ │ │ └── doctorId.controller.js
│ │ ├── index.js
│ │ ├── models
│ │ │ └── doctorId.js
│ │ ├── package.json
│ │ └── routes
│ │ └── doctorId.routes.js
│ ├── hospital
│ │ ├── config
│ │ │ └── sequelize.js
│ │ ├── controllers
│ │ │ └── Hospital.controller.js
│ │ ├── index.js
│ │ ├── models
│ │ │ └── Hospital.js
│ │ ├── package.json
│ │ └── routes
│ │ └── Hospital.routes.js
│ ├── hospitalId
│ │ ├── config
│ │ │ └── sequelize.js
│ │ ├── controllers
│ │ │ └── hospitalId.controller.js
│ │ ├── index.js
│ │ ├── models
│ │ │ └── hospitalId.js
│ │ ├── package.json
│ │ └── routes
│ │ └── hospitalId.routes.js
│ ├── inventory
│ │ ├── controllers
│ │ │ └── inventory.controllers.js
│ │ ├── index.js
│ │ ├── models
│ │ │ └── inventory.js
│ │ ├── package.json
│ │ └── routes
│ │ └── inventory.routes.js
│ ├── opd
│ │ ├── controllers
│ │ │ └── opd.contollers.js
│ │ ├── index.js
│ │ ├── models
│ │ │ └── opd.js
│ │ ├── package.json
│ │ └── routes
│ │ └── opd.routes.js
│ ├── patient
│ │ ├── config
│ │ │ └── sequelize.js
│ │ ├── controllers
│ │ │ └── patient.controller.js
│ │ ├── index.js
│ │ ├── models
│ │ │ └── patient.js
│ │ ├── package.json
│ │ └── routes
│ │ └── patient.routes.js
│ ├── prescription
│ │ ├── controllers
│ │ │ └── prescription.controllers.js
│ │ ├── index.js
│ │ ├── models
│ │ │ └── prescription.js
│ │ ├── package.json
│ │ └── routes
│ │ └── prescription.routes.js
│ └── report
│ ├── controllers
│ │ └── report.controllers.js
│ ├── index.js
│ ├── models
│ │ └── report.js
│ ├── package.json
│ └── routes
│ └── report.routes.js
└── services
├── Doctor
│ ├── controllers
│ │ └── doctor.controllers.js
│ ├── index.js
│ ├── package.json
│ └── routes
│ └── doctor.routes.js
├── Hospital
│ ├── controllers
│ │ └── hospital.controllers.js
│ ├── index.js
│ ├── package.json
│ └── routes
│ └── hospital.routes.js
└── Patient
├── controllers
│ └── patient.controllers.js
├── index.js
├── package.json
└── routes
└── patient.routes.js
Currently, we are sharing the databases based on the DocID and NHID, similarly, we can distribute the database based on the geographical locations of the patients and hospitals involved in the system. Interactive and Customisable visualizations can be incorporated for the patient's medical history and the live hospital statistics. Error Monitoring and Data Recovery methodologies need to be integrated as medical records contain extremely sensitive and crucial information.