The Medibase application (offered by the company of the same name) consists of integrated databases of drug interactions, made available e.g. through a website, intended for use by physicians and medical institutions as well as by pharmacists and pharmacies. The application is based on a simple principle: a physician picks from the list a set of drugs to prescribe to the patient, and the application checks in its databases whether there are undesirable interactions between them and whether they do not mutually worsen the side effects of one another. If so, a physician will be able to use the suggestion to replace such a medication with a different one or to change the recommended dose.
When planning the development of this solution, the management board of this young company, not wishing to invest in the hardware platform and IT competence, assumed that the solution would be made available in the software as a service (SaaS) model.
With these assumptions, Medibase turned to All for One Software Factory, ordering both the programming of the application and development of the concept of its maintenance in the All for One Data Centers.
The strength of BCC (now All for One Poland) is the combination of the competence of the team of IT architects and developers who have extensive experience in building business applications for the customer in the most popular technologies with a wide range of managed hosting and IT administration services. The complete set of services – from the idea through the implementation and further development to the provision of a service in the SaaS model – from a single provider is of great value for the customer.
Project meetings
Before the work started, a series of project meetings of BCC developers and MediBase representatives were organized. During those meetings, the scope, specification as well as functional and non-functional requirements for the application were determined. And then, developers translated the customer’s business idea into the technical language by implementing some basic assumptions:
- Possibility to import, merge, update and verify the data from many sources, supplied in different formats (XML, Excel, or PDF files) and in different time intervals,
- Possibility to integrate the existing external medical and pharmaceutical systems, allowing their controlled access to the Medibase data,
- Access to the full functionality of the system from the level of a dedicated Web application (a website).
The first version in three weeks
It was very important for the customer to obtain subsequent versions of the solution in the shortest possible time. At the same time, wanting to best fit the solution to user requirements, Medibase reserved the right to make changes in the project on a current basis in order to improve future versions of the application. Therefore, it was decided to split the programming work into several stages and organize the work environment in such a way that the time interval between successive versions of the application did not exceed 2-3 weeks.
The assumed goal was achieved. Already after three weeks from the start of the work, the first version of the application was made available for testing, and after two months from the first project meeting the productive medibase.pl application was made available on the Internet.
Choosing a development platform
Based on the functional and non-functional requirements collected from the customer, it was decided to implement the project using the Microsoft technology, and more specifically, .NET Framework 4.5, ASP.NET MVC 4 and SQL Server 2012. This decision was largely influenced by positive experiences with the use of these technologies in commercial applications implemented for other BCC customers.
The API layer was developed based on ServiceStack.net, which is a popular alternative to the Windows Communication Foundation and Entity Framework technologies, offering better performance than WCF and EF. This directly translates into reduced requirements for hardware resources, and thus the cost of the application hosting. ServiceStack.net also allows you to provide a ready solution in a much shorter time than the rest of the analysed tools of this type.
Strength of medibase.pl
The strength of medibase.pl is the integrated databases of drug interactions that have been developed by Medibase specialists in cooperation, among others, with the Karolinska Institute and the Drug Registration Office in Stockholm and belong to the largest databases in the world. More than 1500 updates are made to the databases per year. In addition to the version available as a website, the solution is integrated with leading applications supporting the work of physicians, for example in keeping patient records or in issuing prescriptions.
Outsourcing of applications in the All for One Data Centers
The solution is physically located in the All for One Data Centers that provide a complete set of maintenance services and ensure performance, availability, and support. The service is provided on the basis of SLA defining the technical parameters and response times.
The basis for the provision of the service is locating it in on a high availability hardware platform in the VMware virtualization technology. The data stored in arrays has a multi-level protection. All of this, in conjunction with redundant Internet connections, guarantees availability of the service at the level of 99,999 % per year.
To ensure the safety, a FrontEnd solution based on NGINX, which automatically cuts off the application from attempted attacks from the Internet, was used.
The entire application, database and operating system is supported by the All for One Outsourcing Center, which is responsible for ensuring the continuity of operation, provides a single point of contact for service requests and measurability of the quality of services.
The technical concept of the application, including the choice of a technology and service delivery model for the end user, implemented by a single provider ensures a synergistic effect and consistency of the solution. When designing the solution, developer