FileMD Project

Project was done for a private company specializing in providing IT services for medical centers which have main goal – automation of routine operations, storing files with detailed information about patients, their histories and surgeries, allergies and medications taken and providing quick data search and access capabilities.

Specifics of this project is that already existing “thick client” solution with existing central storage needed to be ported to use “light client” concept to provide fast and easy access, effectively requiring only WEB browser installed on client systems, and redistribute workload from client systems to server side, enhance the entire usability, look and feel, maintain entire system security and still provide all features provided by previously existing system.

Since previously existing storage needed to be used, the team had restrictions on DB redesign, but needed to optimize its performance to avoid too high server side systems performance requirements. This needed to be done for both MS SQL and Oracle database engines since system needed to support both of them.


The proposed system is Internet based solution. It provides remote access to administrative and client functions and allows authenticated users to input, view and edit various patient information, maintain various lookups like types of allergies and surgeries, list of medications and physicians, perform quick and detailed searches, sort and filter search results by various criteria.

The application provides different access levels for different user roles. There are 2 user roles in the application: Normal user and Administrator. Application user interface is seamless for both user roles with only exception that administrators have permissions to manipulate with lookups (add, edit, remove items, organize lookup items to groups) while normal users only can use these lookup values to specify values of corresponding fields in patient profiles. Both user roles have permissions to work with patient files.

The entire system functionality was retained, new minor features were added based on user experience and to improve system usability. User friendly look and feel was created by professional designer to make each page of the system look attractive.

Because of obvious reasons, the proposed solution consists of several logically separated tires to provide application maintainability, scalability, security and possibility to reuse each part of the system.


The application consists of several logical modules:

Database is used to store all information about users, patients, lookups, maintain data integrity and optimize data access performance.

Data access layer is middle tier between database and application logic.

Business logic manages logic of the application, user authentication, access restriction.

Front end is responsible for displaying application pages. It is separated from business logic in order to provide flexible and easy way to improve application appearance without addressing application logic.

Tools and Technologies

  • J2EE
  • JSP
  • JSF
  • AJAX
  • JavaScript
  • MyEclipse
  • JUnitXML
  • JavaDoc
  • Microsoft SQL Server
  • Oracle


The proposed solution is designed using “light client” concept, improves general system functionality, usability and look and feel;

Clients do not need to install additional software to their computers in order to operate the system;
The system is platform independent, meaning server side of the system as well as clients my run in various environments and operating systems;

The provided delivery package contains all requested deliverables: compiled binaries, source code, unit sets, code documentation, project functional specification, deployment instructions, build environment configuration requirements.