Web Applications / Integrations & APIs
Helping a pharmacy team modernize an outdated tool
Clinicians use this system to ask the pharmacy's drug-information team about medications and interactions. We took over a decade-old app and rebuilt it on modern Symfony on top of the same database, so no data had to move.
- Working with the team
- Since 2020
Overview
Clinicians ask, pharmacists research, everyone learns.
When a doctor or colleague has a question about a drug or an interaction, they submit it through the portal. The drug-information team triages each request and assigns a researcher. The researcher starts from the team's existing research, then does new research where it's needed, so the clinician gets a well-grounded answer.
Every answer is kept, so the library of past consults grows with each question.
The Challenge
A decade-old app with years of data in it.
The application was written by another vendor who had stepped away from the project. We took over maintenance, but the code was more than ten years old, on a framework long past support, and needed more work and security fixes than it was worth patching.
Years of consults, responses and references lived in its database. Replacing the app couldn't mean losing or re-entering any of that.
Our Solution
A new application on the existing database.
We used the old app as the specification and built a new one on Symfony 6.4, pointed at the same SQL Server database. No major data migration was needed: we added what the new features required and cleaned up data in place, such as de-duplicated lookup values and merged duplicate requester records.
Sign-in goes through the institution's directory, so there are no passwords to manage, only access and roles for requesters, researchers and administrators. We kept the behaviors staff relied on, including older consults with incomplete records, and improved search so one query matches across fields. Static analysis runs at its strictest level.
The Results
Same data, a much better tool.
The team moved to the new system with every past consult in place. It is better laid out and easier to use, pages load faster, and staff find the information they're looking for more quickly.
The security debt is gone, password management is gone with it, and the code is on a current, supported framework the institution can keep up to date.
Screenshots



Technology used
- Symfony 6.4
- PHP 8
- SQL Server
- Doctrine
- LDAP
