About the Client - StatLink MD (SLMD) provides web-based software called Med DataLink for medical testing companies to help them manage their test data, reports from interpreting physicians.
Project requirements: The SLMD's internal team were looking for a technology partner to develop a web-based application for their business objectives when they approached BluEnt. The client provided us the wire frames, User Interface Guidelines containing the design or usability, Functional Specification Document (FSD) and HTML Prototyping Guidelines to begin the discovery phase.
- It had to be the go-to resource for clients.
- It had to be built on a stable platform to include future expansion.
- It had to provide secure data transfer and storage.
- It had to provide HIPAA-compliant exchange of information.
- It had to be a high-performance software product.
- It had to be simple and easy-to-use.
- It had to be fully documented.
- It had to beat market competition with superior functionalities.
Detailed Features List
We divided the requirements into the following modules:
1. User's management - This is one of the most important aspects of any information portal. Multiple layers of security were incorporated and strict roles were defined. We assigned different roles of users based on their permission to access the various sections of the application
Users were defined as administrators, technicians, support staff User were allowed to decide and customize the information he/she wanted to display. An administrator (i.e. administrator of the MED DataLink clients) was given privileges to change and define levels of permission to different sections of the application for other users.
2. Records Management - Each company had its own patient and appointment related information. Each record had different types of dynamic generated data elements. Users could dynamically create text box, text area, checkbox, radio button, dropdown and store the records in the system.
3. Notifications Management - Whenever a new patient's appointment record was created or an existing patient's information was updated, then a notification was triggered to the users based on their notification permission. These notifications were sent via email with user's home page screen. Users could enable/disable the notifications sent to them based on different actions performed in the application.
4. Business Partner Management - The client had multiple dynamically generated business partners. Each business partner has his own company information, his users along with the current, past and future contracts.
5. Contract Management - Each contract of a business partner had services, additional fees like data storage fee, last payment overdue fees, etc. Also, each service had its own defined fee. Each contract had a Start and End date along with its trial period.
6. Places of Service Management - Each patient record had a place of service. The place of service had it name, address and other information. Each business partner could create/edit his own places of service. Each place of service has multiple associations of users.
- Create invoice for each business partner by selecting the records of that business partner and applying the service, additional fee etc.
- Create an automatic invoice to each business partner at a specified date in a month. Client can define the different dates for each business partner to create this automatic invoice.
8. Adjustment on Invoices - A client can apply the adjustment to any invoice. An adjustment can be made on pre-generated invoice or it can be applied in the future generated invoice.
9. Payment on Invoice - Payments on invoices are done through credit cards via the authorized .net payment gateway. If a user pays any extra amount with an invoice, then an auto adjustment is created for the balance amount that is deducted from the future invoice of that business partner.
10. Invoice due Notification - If a business partner (MED DataLink's partner) did not pay the invoice within the due date, then after 30, 60 or (defined days), an email notification would be sent to the business partner.
11. Data Element Management - A client can create dynamic data elements like text box, text area, radio button, file data element, date type data element, or form data element. Data element form has different types of its own data element like text boxes, text area, radio button, or inherited data element. We created different sets of permission on the data element i.e. the accessing of data elements via the different role users.
12. File Management on Server through Rack Space - A client can directly manage/upload/download through the Rack Space API instead of moving the file to server and then to Rack Space.
13. Physician Report Generator - The software product was given the functionality of report generation through the LaTex PDF creation software with the Smarty templates. For instance, a physician generates a comprehensive report. The report would have various sections and contain all-important records.
Project Challenges - The application was required to run on multiple servers located in separate cites. This setup had to be fault tolerant i.e., where a server, or an entire city becomes unreachable, or becomes partially reachable, the system had to be able to keep the application online for some defined ratio of the user base (or the entire user base, if possible). It had to be able to reunite with the failed system, all without manual intervention.
The application was required to run on multiple servers located in separate cites. This setup had to be fault tolerant i.e., where a server, or an entire city becomes unreachable, or becomes partially reachable, the system had to be able to keep the application online for some defined ratio of the user base (or the entire user base, if possible). It had to be able to reunite with the failed system, all without manual intervention.
The BluEnt Approach
Our Project Manager, Solutions Architects, and Sr. Programmers reviewed and analyzed the documents received from the client. Team BluEnt reviewed the existing technology platforms and recommended LAMP technology stack to increase the scalability and robustness of the existing web platform.
We had several rounds of discussions with the client and scheduled weekly meetings to understand the objectives, finalize the requirements and decide the delivery approach.
Design and Development Phase - The software project was divided into Phase-in Plans where the clients slowly introduced a small percentage of their clients to the software in order to receive feedback, make user experience improvements, and defect fixes before migrating all users and their data to the new software. We developed Cloud based application to run on multiple servers in separate cites.
Data Migration Process - BluEnt developed a secured and reliable data migration plan to move existing customers and their data to the new software. We developed a reverse-migration plan just in case if there were any unexpected errors.
Quality Assurance (QA) Plan - BluEnt developed a Quality Assurance Plan to test for software defects. BluEnt developed and distributed this QA plan to all team members and set their QA responsibilities and overall schedule.
Users Manual Development - BluEnt developed a comprehensive documentation of the code and platform used to build the software application. Step-by-step instructions were listed in the "Application Developer Guide". Each step was explained in detail in the corresponding section of the template.
The final result was a software product that allowed StatLink MD to channel information effectively and efficiently. Currently, we are also responsible for the maintenance of this medical software product.
BluEnt used LAMP Stack (Linux, Apache, MySql, PHP), CakePHP, Smarty, LaTex for PDF creation