Clinical Trial Management System
CTMS allows clinicians and research assistants to conduct clinical trials and track patients data. Custom forms are built by the study coordinator (Empower) using a form editor. Subjects are then provided with login information and proceed to fill the forms.
Thus CTMS is a product and a service at the same time. Some features are designed for all studies and some features are done on a consulting basis and are available for specific studies only.
- Develop new features + maintain the existing code
- Manage the full software cycle (analyze specs, assign tickets, manage developers, review code, test, deploy, deal with client feedback etc.)
Tasks & Examples
- Optimized the processing and rendering by integrating memcache into Propel (ORM) reducing the time users had to wait
- Implemented several algorithms to calculate a score based on a subject’s input
- Migrated the code from SVN to Git and built the continuous integration system
- Implemented & maintained features such as electronic signatures, auditing, approvals, reviews, notifications etc.
Software development began around 2008 and I joined the project in 2009.
|Year||Author||Commits (%)||Next top 5||Number of authors|
|2012||Hassen Ben Tanfous||422 (52.75% of 800)||Hassen Tanfous, Jon Robinson, Travis Gerhardt, Jason Hanley, JasonHanley||8|
|2011||Hassen Ben Tanfous||386 (72.28% of 534)||Jon Robinson, Jason Hanley, Travis Gerhardt, Ahmed Memom, Dave Lahn||6|
|2010||Hassen Ben Tanfous||352 (63.54% of 554)||Jason Hanley, Travis Gerhardt||3|
|2009||Jason Hanley||278 (34.71% of 801)||Travis Gerhardt, Hassen Ben Tanfous, Jon Robinson, ssids||5|
|2008||Jason Hanley||476 (52.25% of 911)||Travis Gerhardt, Jon Robinson, Brian Hanley, ssids||5|
|Author||Commits (%)||Insertions (+)||Deletions (-)||First commit||Last commit||Age||Active days||# by commits|
|Hassen Ben Tanfous||1379 (38.83%)||256556||57682||2009-05-25||2012-09-19||1213 days, 3:58:44||476||1|
Form instance a subject has to fill
Screenshots are posted with permission. Any screenshots related to the form builder have been removed as requested.
The project helped people get real work done. Even though I did not use the software in my personal life, it matched my philosophy and often felt like I was creating value and helping users.
It was a change from previous contracts (different domain/field)
We had weekly milestones and delivered something every week. We then accelerated things even further by switching to daily deployments with Git
Clients were objective, educated and experts in their respective fields. They had their users best interest in mind and collaborated very closely with developers.
Empower owned the product. Syllogistic was hired as a consulting company to develop the product. Due to their lack of technical expertise, they often asked for our input when writing specs. However, they owned the final decision.
In my opinion, the nature of our partnership limited the product. Necessary tasks to improve the product had to be budgeted and explained to the client.
It was difficult to distinguish between the features clients requested for the good of the product in general vs the features they requested to satisfy specific clients.
We often ended up modifying functionality to satisfy client X and in the process break working functionality. Those changes rarely made any sense and were only visible to specific clients.
I understand the financial realities of doing business but this created a needless amount of bugs (by patching up a clean design)
Lack of automated testing
We had basic tests but due to the large code base and changing specifications, it was difficult to write automated tests
Things I learned
Collaborating with clients, designing the features, implementing, testing, verifying, deploying, logging and tracking and improving features.
Through this project, I’ve covered every aspect of developing software
Assigning tickets, doing code reviews, mentoring junior developers + new hires and delivering on every milestone.
blog comments powered by Disqus