Client required a web based health care system that could manage the patient data entirely starting from patient admission to patient discharge. The app should include recording of patient data, money collection, bill generation, scheduling, pharmacy purchase and sale, stores management, laboratory and radiology management, blood bank etc.
The application should be web based and should be accessible from any location and should not require any installation. MVC architecture to be used to take the load of the huge patient data. Management of user’s rights and accessibility should be done by assigning appropriate user roles.
List of modules:
- Appointment scheduling
- Out patient management
- In patient management
- Radiology Management
- Laboratory Management
- Operation theatre management
- Pharmacy Management
- Stores Management
- Billing (Cash and Credit)
- Account And Receivables
- Contract Management
- Security and Administration
- MIS and Department Reports
- Medical Reports
- Blood Bank
- Bio Medical and Maintenance
- Personnel and Payroll
The team faced the following challenges
- A system that could deliver high performance and speed while efficiently handling hospital
patient records as well as multi user access.
- The system should extract data from the old hospital system that was used by the client.
- Integration with laboratory equipments and output to be saved into database at runtime.
- All hospital modules to be user friendly and should be a single point of access for all hospital users.
- Safe and secure transfer of data.
|Operating System & Server Management||Windows OS/Windows Mobile ,Multi-Server Architecture with Staging & Production Environment through Version Controlling releases, Server Optimization, Security & SSL Implementation, Scheduler for Back-ups,Alert Monitoring System Integration, Server Performance Tuning at regular intervals, Software Firewall Configuration & Maintenance|
|Development Tools & Environments||ASP.Net, MVC, C#, SSRS etc.|
|Database||MSSQL Database Server (Web), Symbian Native Database (Mobile), DB Clustering, DB Optimization, Master Slave Replication, Query Optimization, Scheduler for Backups|
|Quality Assurance Testers||2|
Taking into consideration the functionality of the application, the following development approach was followed:
- Web server with HTTP protocol for web browser
- System level windows services were developed for data capture from lab equipments.
- To ensure that the equipment exported data as inserted in the database, a desktop
executable needed to be developed.
- Requirement gathering done onsite and development work done offsite.
- Reporting was complex.
A three tier architecture was used with Presentation Layer (PL), Business Access Layer (BAL) and Data Access Layer (DAL).
Business Access Layer: contains business logic, validation that is related to the data.
Data Access Layer: contains logic for the business layer to connect to the data and be able to perform required actions like insert, delete and update.
Presentation Layer: contains .asp or HTML and forms the user interface or giving output from the system or taking inputs from user.
Windows Server 2008 was used with IIS 7. MVC architecture was followed.
The benefits of MVC architecture are:
- MVC architecture provides full control over the rendered HTML.
- Soc – provides clean separation of controls
- TDD – provides test driven development
- Follows the design of stateless nature of the web.
- Restful URLs
- No View-State and Post-Back events.
- It provides RAD development.
- Easy development models for developers those coming from WinForm development.
The system was capable of handling all hospital management data and provided ease of access for everyone. The system was well designed as enough research and proper requirement gathering was done at project initiation. All modules were integrated along with proper control over user access. Laboratory equipment data was easily transferred to the database and displayed to the user on the web interface. The entire site was controlled by an administrator who could set up new users, user roles, as well as assign page level access to these user roles.